⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Jul 20, 2006:

10:30 PM Changeset in webkit [15551] by aliceli1
  • 2 edits
    1 add in trunk/WebCore

Reviewed by Tim Omernick.

Fixed <rdar://problem/4621649> repro crash: Upload link causes crash on pages.google.com in Frame::nodeForWidget
added manual test because there is no way to change the value of an <input type=file> via the DOM. It's not supported because it's a security risk.

  • manual-tests/remove-input-file-onchange.html: Added.
  • platform/mac/FileButtonMac.mm: (-[WebFileChooserButton chooseFilename:]): swapped the calls to changeFilename and bridgeForWidget because changeFilename will destroy the widget that is accessed in bridgeForWidget
10:18 PM Changeset in webkit [15550] by aliceli1
  • 5 edits
    3 adds in trunk/WebCore

Reviewed by Adele.

Fixed <rdar://problem/4532113> REGRESSION (NativeTextField): Crash occurs after modifying field then reloading page -[FormDelegate frameLayoutHasChanged:]
added a manual test because of the need to use AutoFill.

  • dom/Node.h: (WebCore::Node::aboutToUnload): added virtual function prototype
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::aboutToUnload): added implementation that sends textFieldDidEndEditing notification
  • html/HTMLInputElement.h: added virtual function prototype
  • manual-tests/input-type-file-autocomplete-frame-1.html: Added.
  • manual-tests/input-type-file-autocomplete-frame-2.html: Added.
  • manual-tests/input-type-file-autocomplete-refresh.html: Added.
  • page/Frame.cpp: (WebCore::Frame::stopLoading): before unloading, call aboutToUnload on the current focused node
8:11 PM Changeset in webkit [15549] by mjs
  • 5 edits in trunk/LayoutTests

Reviewed by Beth and John.


  • fix recently broken layout tests that need updated results or test changes:

For these three, the selection ranges changed (for the better) due to my input
editing fix.


  • editing/selection/3690703-2-expected.txt:
  • editing/selection/3690703-expected.txt:
  • fast/text/textIteratorNilRenderer-expected.txt:

For this one, DumpRenderTree no longer shows resize corners by default, so turned
it on via style.


  • fast/css/resize-corner-tracking.html:
6:16 PM Changeset in webkit [15548] by beidson
  • 3 edits in trunk/WebCore

Reviewed by Maciej

fixed <rdar://problem/4611303> REGRESSION: repro crash in WebCore::EventTargetNode::dispatchWindowEvent at aeropostale.com
There was an attempt to deref an EventListener that got cleaned up in GC. Changing Document's EventListener list from
vanilla ptrs to refptrs to prevent GC, following EventTargetNode's proven example.

  • dom/Document.cpp: (WebCore::Document::Document): (WebCore::Document::clear): (WebCore::Document::handleWindowEvent): (WebCore::Document::getHTMLWindowEventListener): (WebCore::Document::removeHTMLWindowEventListener): (WebCore::Document::removeWindowEventListener): (WebCore::Document::hasWindowEventListener): Changed all of the list iterators to work with RefPtrs instead of vanilla ptrs
  • dom/Document.h: Changed the EventListener list to be a vanilla pointer list to a refptr list
6:07 PM Changeset in webkit [15547] by sullivan
  • 7 edits in trunk

WebCore:

Reviewed by Maciej

  • WebCore part of fix for: <rdar://problem/4557386> REGRESSION (419.3-521.19): repro Safari world leak involving closing tabs after clicking in a web page


  • bridge/mac/WebCoreFrameBridge.h: (-[WebCoreFrameBridge textViewWasFirstResponderAtMouseDownTime:]) renamed to be more specific (formerly wasFirstResponderAtMouseDownTime:)
  • bridge/mac/FrameMac.mm: (WebCore::FrameMac::passMouseDownEventToWidget): updated for name change

WebKit:

Reviewed by Maciej

  • WebKit part of fix for: <rdar://problem/4557386> REGRESSION (419.3-521.19): repro Safari world leak involving closing tabs after clicking in a web page
  • WebCoreSupport/WebFrameBridge.m: (-[WebFrameBridge textViewWasFirstResponderAtMouseDownTime:]): renamed to be more specific (formerly wasFirstResponderAtMouseDownTime:)


  • WebView/WebHTMLViewInternal.h:
  • WebView/WebHTMLView.m: (-[WebTextCompleteController dealloc]): updated for name change (-[NSArray _setMouseDownEvent:]): Now only retains the first responder if it's a textView, since that's the only case that the only client actually cares about. This avoids a reference cycle caused by retaining self. This is the only substantive part of the patch; all the rest is just renaming for clarity, and comments. (-[NSArray mouseDown:]): updated for name change (-[WebHTMLView _textViewWasFirstResponderAtMouseDownTime:]): renamed to be more specific (formerly _wasFirstResponderAtMouseDownTime:)
2:52 PM Changeset in webkit [15546] by sfalken
  • 2 edits in trunk/JavaScriptCore

2006-07-20 Steve Falkenburg <sfalken@apple.com>

Fix the build

  • kjs/function.cpp: (KJS::escapeStringForPrettyPrinting):
2:23 PM Changeset in webkit [15545] by andersca
  • 1 edit in trunk/WebCore/ChangeLog

Fix an old typo

12:20 PM Changeset in webkit [15544] by ap
  • 9 edits
    1 add in trunk/WebCore

Reviewed by Darin.

Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8272
Use of window.open & window.close can cause crash

  • platform/PlatformMouseEvent.h: (WebCore::PlatformMouseEvent::PlatformMouseEvent):
  • platform/mac/PlatformMouseEventMac.mm: (WebCore::PlatformMouseEvent::PlatformMouseEvent): The default constructor now creates a "zero" event, and a new one was added to create the "current" one.
  • bridge/mac/FrameMac.mm: (WebCore::FrameMac::handleMouseMoveEvent):
  • rendering/RenderFormElement.cpp: (WebCore::RenderFormElement::clicked): Updated for the above changes.
  • platform/gdk/MouseEventGdk.cpp:
  • platform/gdk/TemporaryLinkStubs.cpp: (PlatformMouseEvent::PlatformMouseEvent):
  • platform/win/MouseEventWin.cpp:
  • platform/win/TemporaryLinkStubs.cpp: (PlatformMouseEvent::PlatformMouseEvent): Trying not to break other platforms.
  • manual-tests/invalid-mouse-event.html: Added.
2:03 AM Changeset in webkit [15543] by mjs
  • 2 edits in trunk/WebCore

Reviewed by Anders.

  • delete line that I only commented in the last patch - meant to do this before landing
  • html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::close):
1:47 AM Changeset in webkit [15542] by mjs
  • 2 edits in trunk/WebCore

Reviewed by Geoff.

  • fixed <rdar://problem/4634484> REGRESSION: Project Change Request form should have vertical scroll bar, but doesn't


I couldn't figure out how to make an automated test case for this,
or even a manual one. It seems to be timing-related in some way.

  • html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::close): detach the child frame from its element, not the frame containing this element.
12:49 AM Changeset in webkit [15541] by andersca
  • 2 edits in trunk/WebCore

2006-07-20 Anders Carlsson <acarlsson@apple.com>

Reviewed by Darin.

  • bridge/mac/FrameMac.mm: (WebCore::FrameMac::nextKeyViewInFrame): Hold a ref to the node in case it gets destroyed by an event handler.

Jul 19, 2006:

10:11 PM Changeset in webkit [15540] by thatcher
  • 1 edit in tags/Safari-521.19/JavaScriptCore/Info.plist

Versioning

10:02 PM Changeset in webkit [15539] by thatcher
  • 3 edits in tags/Safari-521.19

Versioning

9:58 PM Changeset in webkit [15538] by thatcher
  • 16 edits
    3 copies
    17 deletes in tags/Safari-521.19

Rolled out changes that CCC denied.

<rdar://problem/4404312> REGRESSION: KOI8-U encoding no longer supported (4195)
<rdar://problem/4613467> REGRESSION: RegEx seems broken for hex escaped non breaking space (8395)
<rdar://problem/4613948> REGRESSION: Check Spelling does not work in textarea elements (9658)
<rdar://problem/4616595> REGRESSION: Problems with world clock widget clock hand motion on 9A211 + 4604574
<rdar://problem/4638376> lots of transparent 1x1 drawing in page load test (Image::checkSolidColor failing?)

9:15 PM Changeset in webkit [15537] by mjs
  • 5 edits in trunk/LayoutTests

Reviewed by Adele.


  • fixed layout test results that were affected by editing input paste patch -- new results are actually more correct, handling text fields properly as a replaced element.
  • editing/selection/3690703-2-expected.txt:
  • editing/selection/3690703-expected.txt:
  • fast/events/div-focus-expected.txt:
  • fast/text/textIteratorNilRenderer-expected.txt:
7:01 PM Changeset in webkit [15536] by bdakin
  • 3 edits in trunk/WebCore

Reviewed by Darin.

http://bugzilla.opendarwin.org/show_bug.cgi?id=10021
Bug 10021: REGRESSION: Stack overflow due to infinite recursion in
Image::checkForSolidColor

  • platform/Image.cpp: (WebCore::Image::cacheFrame): Don't call checkForSolidColor unless the frame was decoded successfully.
5:59 PM Changeset in webkit [15535] by thatcher
  • 1 copy in tags/Safari-521.19

new tag

5:47 PM Changeset in webkit [15534] by tomernic
  • 2 edits in trunk/WebKit

Reviewed by Darin.

<rdar://problem/4523432> safari crashed right after disabling "block pop up windows" (or other WebPreferences changes)

  • Plugins/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView viewWillMoveToSuperview:]): Stop the plug-in when it is removed from its superview. It is not sufficient to do this in -viewWillMoveToWindow:nil, because the WebView might still has a hostWindow at that point, which prevents the plug-in from being destroyed. There is no need to start the plug-in when moving into a superview. -viewDidMoveToWindow takes care of that.
4:56 PM Changeset in webkit [15533] by ggaren
  • 2 edits in trunk/JavaScriptGlue

Fixed by Darin & Maciej, reviewed by me.


  • Fixed <rdar://problem/4638934> Leopard 9A227: Installer crashes right after LCA and while preparing Installation

Compile release/production with NDEBUG set, to ensure binary compatibility
between JavaScriptGlue and JavaScriptCore. In debug builds, JavaScriptCore
includes an extra debug data member in HashSet.


  • JavaScriptGlue.xcodeproj/project.pbxproj:
4:54 PM Changeset in webkit [15532] by adele
  • 14 edits in trunk/WebCore

Reviewed by Maciej.

<rdar://problem/4614181> REGRESSION: Crash in WebCore::RenderTextField::text() when quoting post at the Ars Technica forum (9707)
http://bugzilla.opendarwin.org/show_bug.cgi?id=9707

Needs an http test. (http://bugzilla.opendarwin.org/show_bug.cgi?id=10020)

These bugs were both cases where focus() was called on an element which didn't have a renderer yet because stylesheets hadn't finished loading yet.
Now, we detect this case and let setFocusNode be called. And when the stylesheet finishes loading, and the element attaches, a timer will fire,
which will cause the correct selection & scrolling behavior to occur.

This fix removes selection and scrolling behavior from the focus method. This code is now in a new method, updateFocusAppearance.
updateFocusAppearance can now be called directly from focus(), but it can also be called when a timer fires. This timer gets set
up when an element attaches, and its already been focused by the focus method. We have to use a timer, because updateFocusAppearance can cause
a layout to happen, and we don't want that to happen in the middle of attach().

  • bindings/objc/DOM.mm: (-[DOMElement isFocused]): Added SPI for autofill.
  • bindings/objc/DOMPrivate.h:
  • dom/Element.cpp: (WebCore::Element::Element): Initializes timer and needFocusAppearanceUpdate bool. (WebCore::Element::attach): Checks needsFocusAppearanceUpdate, and if the node is focused, then starts the timer. (WebCore::Element::focus): Updated to check supportsFocus before calling setFocusNode, and only requiring the element to be focusable now before updating focus appearance. (WebCore::Element::updateFocusAppearance): Added. Separates the selection, and the scrolling from focusing the node. (WebCore::Element::updateFocusAppearanceTimerFired): Stops the timer, and if the element is focusable, calls updateFocusAppearance. (WebCore::Element::stopUpdateFocusAppearanceTimer): Cancels timer, and setsNeedsFocusAppearanceUpdate(false). (WebCore::Element::detach): Calls stopUpdateFocusAppearanceTimer. (WebCore::Element::blur): ditto.
  • dom/Element.h: (WebCore::Element::needsFocusAppearanceUpdate): Added so the timer only fires when focus() methods have caused an element to be focused. (WebCore::Element::setNeedsFocusAppearanceUpdate): Added so focus methods can set this flag.
  • dom/Node.h: (WebCore::Node::supportsFocus): Added. Base class just calls isFocusable.
  • html/HTMLAnchorElement.h: Added supportsFocus.
  • html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::supportsFocus): Added. Checks for the case where stylesheets haven't loaded yet, so we can still focus the node without a renderer, and when it gets a renderer, we'll update the focus appearance.
  • html/HTMLGenericFormElement.h: (WebCore::HTMLGenericFormElement::supportsFocus): ditto.
  • html/HTMLGenericFormElement.cpp: Removed include of Document.h since this is now in the header.
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::focus): Updated to check supportsFocus before calling setFocusNode, and only requiring the element to be focusable now before updating focus appearance. (WebCore::HTMLInputElement::updateFocusAppearance): Added. Separates the selection, and the scrolling from focusing the node.
  • html/HTMLInputElement.h:
  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::focus): Updated to check supportsFocus before calling setFocusNode, and only requiring the element to be focusable now before updating focus appearance. (WebCore::HTMLTextAreaElement::updateFocusAppearance): Added. Separates the selection, and the scrolling from focusing the node.
  • html/HTMLTextAreaElement.h:
3:55 PM Changeset in webkit [15531] by justing
  • 10 edits
    4 adds in trunk

LayoutTests:

Reviewed by levi


<rdar://problem/4631972>
REGRESSION: Mail crashes when pasting entire contents of http://www.apple.com/support/ into a new mail message

  • editing/pasteboard/4631972-expected.checksum: Added.
  • editing/pasteboard/4631972-expected.png: Added.
  • editing/pasteboard/4631972-expected.txt: Added.
  • editing/pasteboard/4631972.html: Added.
  • editing/selection/drag-to-contenteditable-iframe-expected.txt:
  • editing/selection/replaced-boundaries-3-expected.checksum:
  • editing/selection/replaced-boundaries-3-expected.txt:
  • editing/selection/select-box-expected.txt:

WebCore:

Reviewed by levi


<rdar://problem/4631972>
REGRESSION: Mail crashes when pasting entire contents of http://www.apple.com/support/ into a new mail message

  • dom/Position.cpp: (WebCore::Position::upstream): Deployed isBlock and enclosingBlock. (WebCore::Position::downstream): Ditto.
  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Ditto.
  • editing/htmlediting.cpp: (WebCore::canHaveChildrenForEditing): Added !iframe. (WebCore::isBlock): Added, returns !node->renderer()->isInline() (WebCore::enclosingBlock): Added.
  • editing/htmlediting.h:
3:32 PM Changeset in webkit [15530] by andersca
  • 3 edits
    2 adds in trunk

WebCore:

2006-07-19 Anders Carlsson <acarlsson@apple.com>

Reviewed by Adele.

<rdar://problem/4631272> REGRESSION: Crash tabbing out of hostname field at autorestore.apple.com


  • bridge/mac/FrameMac.mm: (WebCore::FrameMac::nextKeyViewInFrame): Take into account that focus handlers can cause a node to be destroyed.

LayoutTests:

2006-07-19 Anders Carlsson <acarlsson@apple.com>

Reviewed by Adele.

<rdar://problem/4631272> REGRESSION: Crash tabbing out of hostname field at autorestore.apple.com


  • fast/forms/display-none-in-onchange-keyboard-expected.txt: Added.
  • fast/forms/display-none-in-onchange-keyboard.html: Added.
2:49 PM Changeset in webkit [15529] by hyatt
  • 5 edits in trunk/WebCore

Fix for 4638376. The 1x1 solid color image optimization was broken when
I re-architected image. This patch restores the optimization for CG. Cairo
will still need the optimization.

Reviewed by darin

WARNING: NO TEST CASES ADDED OR CHANGED (need test cases still)

  • platform/Image.cpp: (WebCore::Image::Image): (WebCore::Image::invalidateData): (WebCore::Image::cacheFrame):
  • platform/Image.h: (WebCore::Image::setIsPDF):
  • platform/cairo/ImageCairo.cpp: (WebCore::Image::checkForSolidColor):
  • platform/mac/ImageMac.mm: (WebCore::Image::initNativeData): (WebCore::Image::invalidateNativeData): (WebCore::Image::checkForSolidColor): (WebCore::Image::draw): (WebCore::Image::drawTiled):
12:01 PM Changeset in webkit [15528] by justing
  • 3 edits
    4 adds in trunk

LayoutTests:

Reviewed by levi


<rdar://problem/4613519>
REGRESSION: Pasting text in native text area inserts text one character before it should (9527)

  • fast/forms/paste-into-textarea-expected.checksum: Added.
  • fast/forms/paste-into-textarea-expected.png: Added.
  • fast/forms/paste-into-textarea-expected.txt: Added.
  • fast/forms/paste-into-textarea.html: Added.

WebCore:

Reviewed by levi


<rdar://problem/4613519>
REGRESSION: Pasting text in native text area inserts text one character before it should (9527)

  • editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply): Turn into an InsertLineBreakCommand instead of bailing if the enclosingBlockFlowElement doesn't have a parent.
11:30 AM Changeset in webkit [15527] by andersca
  • 3 edits in trunk/LayoutTests

2006-07-19 Anders Carlsson <acarlsson@apple.com>

  • fast/js/pretty-print-expected.txt: Update result.


  • fast/js/resources/pretty-print.js: Fix description string.
10:32 AM Changeset in webkit [15526] by andersca
  • 6 edits
    3 adds in trunk

JavaScriptCore:

2006-07-19 Anders Carlsson <acarlsson@apple.com>

Reviewed by Darin.

<rdar://problem/4620655> REGRESSION(10.4.7-10.5): preview button for a blogger.com post doesn't work


  • kjs/nodes2string.cpp: (StringNode::streamTo): Return the escaped string.


(RegExpNode::streamTo):
Use the correct syntax.


  • kjs/function.cpp: (KJS::escapeStringForPrettyPrinting):
  • kjs/function.h: Add escape function which escapes a string for pretty-printing so it can be parsed again.


  • wtf/unicode/icu/UnicodeIcu.h: (WTF::Unicode::isPrintableChar): New function.

LayoutTests:

2006-07-19 Anders Carlsson <acarlsson@apple.com>

Reviewed by Darin.

<rdar://problem/4620655> REGRESSION(10.4.7-10.5): preview button for a blogger.com post doesn't work


  • fast/js/pretty-print-expected.txt: Added.
  • fast/js/pretty-print.html: Added.
  • fast/js/resources/pretty-print.js: Added.
10:24 AM Changeset in webkit [15525] by harrison
  • 3 edits
    4 adds in trunk

LayoutTests:

<rdar://problem/4629307> -[DOMRange markupString] does not include the initial table element if it is at the beginning of the range
<rdar://problem/4062218> pasting in contents of web.apple.com strips off the <table> element from the first table

(this really only tests the symptoms of <rdar://problem/4062218>, because -[DOMRange markupString] is not testable)


  • editing/pasteboard/paste-table-003-expected.checksum: Added.
  • editing/pasteboard/paste-table-003-expected.png: Added.
  • editing/pasteboard/paste-table-003-expected.txt: Added.
  • editing/pasteboard/paste-table-003.html: Added.

WebCore:

Reviewed by Tim Hatcher.

<rdar://problem/4629307> -[DOMRange markupString] does not include the initial table element if it is at the beginning of the range
<rdar://problem/4062218> pasting in contents of web.apple.com strips off the <table> element from the first table


Better patch than previous checkin.

  • test: editing/pasteboard/paste-table-003.html


  • editing/markup.cpp: (WebCore::createMarkup): Make sure to include the table when including a tbody.
8:26 AM Changeset in webkit [15524] by thatcher
  • 6 edits in /

Versioning

7:50 AM Changeset in webkit [15523] by harrison
  • 2 edits in trunk/WebCore

Reviewed by Tim Hatcher.

<rdar://problem/4629307> -[DOMRange markupString] does not include the initial table element if it is at the beginning of the range

No test case as this can only be reproduced through ObjC APIs.

  • editing/markup.cpp: (WebCore::createMarkup): Adjust the range for ancestor markup handling when main loop skips first node.
12:06 AM Changeset in webkit [15522] by mjs
  • 4 edits
    3 adds in trunk

JavaScriptCore:

Reviewed by Adele Peterson.


<rdar://problem/4589530> REGRESSION: null character in JS string causes parse error (works in Tiger and in other browsers)

  • kjs/lexer.cpp: (Lexer::shift): (Lexer::lex): (Lexer::record16): (Lexer::scanRegExp):
  • kjs/lexer.h:

LayoutTests:

Reviewed by Adele Peterson.


Test case for:


<rdar://problem/4620646> REGRESSION(10.4.7-10.5): can't type into editing region when creating or editing a blogger.com post

  • fast/js/null-char-in-string-expected.txt: Added.
  • fast/js/null-char-in-string.html: Added.
  • fast/js/resources/null-char-in-string.js: Added.

Jul 18, 2006:

10:38 PM Changeset in webkit [15521] by thatcher
  • 4 edits in /

Adding versioning and markers from earlier.

9:39 PM Changeset in webkit [15520] by thatcher
  • 2 edits in tags/JavaScriptCore-521.18.1/JavaScriptCore

Fix hard wrap issue that I forogt to check in before submitting.

9:37 PM Changeset in webkit [15519] by thatcher
  • 1 copy in tags/JavaScriptCore-521.18.1/JavaScriptCore

New tag (part 2)

9:36 PM Changeset in webkit [15518] by thatcher
  • 1 add in tags/JavaScriptCore-521.18.1

new tag.

9:05 PM Changeset in webkit [15517] by hyatt
  • 4 deletes in trunk/LayoutTests/fast/css

Remove the font property compatibility test, since we no longer want to be compatible.

7:44 PM Changeset in webkit [15516] by ddkilzer
  • 2 edits in trunk/WebKitTools

WebKitTools:

Reviewed by Timothy.

  • Scripts/prepare-ChangeLog: Added --[no-]update switch.
5:32 PM Changeset in webkit [15515] by hyatt
  • 1 edit in trunk/WebCore/css/cssparser.cpp

Tweak a comment in cssparser.

5:16 PM Changeset in webkit [15514] by hyatt
  • 6 edits in trunk/WebCore

Fix for radar 4611287, make resizable text fields opt-in rather than
opt-out. Open source users will need to write the pref into their defaults
to see the resizers on textareas now.

Reviewed by mjs and adele

  • WebCore.xcodeproj/project.pbxproj:
  • bridge/mac/WebCoreSettings.mm: (-[WebCoreSettings setTextAreasAreResizable:]):
  • css/cssparser.cpp: (WebCore::CSSParser::parseValue):
  • css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty):
  • css/html4.css:
4:03 PM Changeset in webkit [15513] by thatcher
  • 12 edits in tags/Safari-521.18

Merging important fixes.

3:56 PM Changeset in webkit [15512] by tomernic
  • 2 edits in trunk/JavaScriptCore

Reviewed by Tim Hatcher.

Removed a misleading comment; we recently added support for the NPNVPluginElementNPObject
variable.

  • bindings/npapi.h:
3:09 PM Changeset in webkit [15511] by thatcher
  • 77 edits
    6 copies
    7 deletes in tags/Safari-521.18

Merged urgent fixes to a new tag.

1:43 PM Changeset in webkit [15510] by brmorris
  • 33 edits in S60/trunk/WebKit

2006-07-18 Bradley <bradley.morrison@nokia.com>

Reviewed by Sachin/Zalan.


Various fixes - see ChangeLogs for details.
Part 4 of 4.

1:38 PM Changeset in webkit [15509] by brmorris
  • 34 edits in S60/trunk/WebKit

2006-07-17 Bradley <bradley.morrison@nokia.com>

Reviewed by Sachin/Zalan.


Various fixes - see ChangeLogs for details.
Part 3 of 4.

1:31 PM Changeset in webkit [15508] by brmorris
  • 26 edits in S60/trunk/WebCore

2006-07-17 Bradley <bradley.morrison@nokia.com>

Reviewed by Sachin/Zalan.


Various fixes - see ChangeLogs for details.
Part 2 of 4.

1:22 PM Changeset in webkit [15507] by brmorris
  • 21 edits
    5 adds
    1 delete in S60/trunk

2006-07-17 Bradley <bradley.morrison@nokia.com>

Reviewed by Sachin/Zalan.

Various fixes - see ChangeLogs for details.
Part 1 of 4.

1:22 PM Changeset in webkit [15506] by andersca
  • 5 edits
    2 adds in trunk

WebCore:

2006-07-18 Anders Carlsson <acarlsson@apple.com>

Reviewed by Darin.

http://bugzilla.opendarwin.org/show_bug.cgi?id=9959
REGRESSION: iframes stop rendering after 200th one on successive reloads


  • html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::attach): (WebCore::HTMLFrameElement::close):
  • html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::insertedIntoDocument): (WebCore::HTMLIFrameElement::willRemove): Remove calls to incrementFrameCount and decrementFrameCount.


  • page/Frame.cpp: (WebCore::Frame::Frame): Call incrementFrameCount here.


(WebCore::Frame::~Frame):
Call disconnectOwnerElement.


(WebCore::Frame::disconnectOwnerElement):
Call decrementFrameCount here.


LayoutTests:

2006-07-18 Anders Carlsson <acarlsson@apple.com>

Reviewed by Darin.

http://bugzilla.opendarwin.org/show_bug.cgi?id=9959
REGRESSION: iframes stop rendering after 200th one on successive reloads

  • fast/frames/frame-limit-expected.txt: Added.
  • fast/frames/frame-limit.html: Added.
12:56 PM Changeset in webkit [15505] by ap
  • 3 edits
    1 add in trunk/WebCore

Reviewed by Darin.

Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9013
Let correct CSS custom cursor declarations parse

  • css/cssparser.cpp: (WebCore::CSSParser::parseValue): Ignore any values following a custom CSS cursor URI, instead of requiring that it is the only one in the list (which is actually illegal, according to the spec). This is only a temporary hack, with a real implementation to follow in bug 6001/6002.
  • manual-tests/custom-cursors.html: Added a test for this issue.
  • manual-tests/resources/helpCursor.tiff: A cursor image used in the test.
12:28 PM Changeset in webkit [15504] by thatcher
  • 2 edits in trunk/WebCore

Reviewed by Anders.


<rdar://problem/4636216> NetNewsWire fails to launch on 9A224 - missing symbols


WebCore needs to add -sub_library libobjc to maintain
backwards compatibility with binaries linked with WebKit
before JavaScriptCore moved out of WebKit.

  • WebCore.xcodeproj/project.pbxproj:
10:56 AM Changeset in webkit [15503] by thatcher
  • 1 copy in tags/Safari-521.18

New tag.

10:03 AM Changeset in webkit [15502] by darin
  • 5 edits
    4 deletes in trunk/LayoutTests

Reviewed by Alice.

  • convert a couple of tests to "dump as text" tests
  • fast/dom/css-selectorText-expected.checksum: Removed.
  • fast/dom/css-selectorText-expected.png: Removed.
  • fast/dom/css-selectorText-expected.txt: Replaced render tree results with text results.
  • fast/dom/css-selectorText.html: Added a call to layoutTestController.dumpAsText.
  • fast/dom/css-shortHands-expected.checksum: Removed.
  • fast/dom/css-shortHands-expected.png: Removed.
  • fast/dom/css-shortHands-expected.txt: Replaced render tree results with text results.
  • fast/dom/css-shortHands.html: Added a call to layoutTestController.dumpAsText.
9:01 AM Changeset in webkit [15501] by thatcher
  • 2 edits in trunk/JavaScriptCore

Made the following headers public:

  • JavaScriptCore.h
  • JSBase.h
  • JSContextRef.h
  • JSObjectRef.h
  • JSStringRef.h
  • JSValueRef.h
3:55 AM Changeset in webkit [15500] by ddkilzer
  • 3 edits
    4 adds in trunk

LayoutTests:

Reviewed by Justin. Patch by Mitz.

  • editing/selection/click-start-of-line-expected.checksum: Added.
  • editing/selection/click-start-of-line-expected.png: Added.
  • editing/selection/click-start-of-line-expected.txt: Added.
  • editing/selection/click-start-of-line.html: Added.

WebCore:

Reviewed by Justin. Patch by Mitz.

Test: editing/selection/click-start-of-line.html

  • rendering/RenderText.cpp: (WebCore::RenderText::positionForCoordinates): Changed to return downstream affinity if the x coordinate is to the left of the middle of the first character in the text box.
2:24 AM Changeset in webkit [15499] by andersca
  • 3 edits
    2 adds in trunk

WebCore:

2006-07-18 Anders Carlsson <acarlsson@apple.com>

Reviewed by Darin.

http://bugzilla.opendarwin.org/show_bug.cgi?id=9695
<rdar://problem/4614085>
TOT REGRESSION: NativeTextArea: Text area does not respond to Cmd-UpArrow/Cmd-DownArrow (9695)


  • editing/SelectionController.cpp: (WebCore::SelectionController::modifyExtendingRightForward): (WebCore::SelectionController::modifyMovingRightForward): (WebCore::SelectionController::modifyExtendingLeftBackward): (WebCore::SelectionController::modifyMovingLeftBackward): If the caret is inside an editable region, the beginning/end of the document should actually be the beginning/end of the editable region.

LayoutTests:

2006-07-18 Anders Carlsson <acarlsson@apple.com>

Reviewed by Darin.

http://bugzilla.opendarwin.org/show_bug.cgi?id=9695
<rdar://problem/4614085>
TOT REGRESSION: NativeTextArea: Text area does not respond to Cmd-UpArrow/Cmd-DownArrow (9695)


  • editing/selection/move-begin-end-expected.txt: Added.
  • editing/selection/move-begin-end.html: Added.

Jul 17, 2006:

9:55 PM Changeset in webkit [15498] by tomernic
  • 12 edits in trunk

WebCore:

Reviewed by Maciej.

<rdar://problem/4612079> need a way to prevent pages from scrolling to reveal elements that are focused
by script

  • bridge/mac/WebCoreFrameBridge.h:
  • bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge setProhibitsScrolling:]):
  • page/Frame.cpp: (WebCore::Frame::prohibitsScrolling): (WebCore::Frame::setProhibitsScrolling):
  • page/Frame.h:
  • page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate):
  • page/FrameView.cpp: (WebCore::FrameView::scrollPointRecursively): (WebCore::FrameView::setContentsPos):
  • page/FrameView.h:
  • platform/ScrollView.h:

WebKit:

Reviewed by Maciej.

<rdar://problem/4612079> need a way to prevent pages from scrolling to reveal elements that are focused
by script

  • WebView/WebViewPrivate.h:
  • WebView/WebView.m: (-[WebView setProhibitsMainFrameScrolling:]): New method. Prohibits scrolling in the WebView's main frame. Used to "lock" a WebView to a specific scroll position.
9:33 PM Changeset in webkit [15497] by ggaren
  • 19 edits in trunk/JavaScriptCore

Reviewed by Maciej.


  • Added automatic prototype creation for classes.


A class stores a weak reference to a prototype, which is cleared when
the prototype is garbage collected, to avoid a reference cycle.


We now have an attributes field in JSClassDefinition, that currently is
used only to override automatic prototype creation when you want to manage your
own prototypes, but can be extended in the future for other nefarious purposes.


Similarly, we have JSObjectMake and JSObjectMakeWithPrototype, the latter
allowing you to manage your own prototypes.


JSObjectMakeConstructor is more interesting now, able to make a constructor
on your behalf if you just give it a class.


  • Removed bogus old code from minidom.js.


  • Tweaked the headerdocs.


  • Added more GC testing, which caught some leaks, and tested more funny edge cases in lookup, which caught a lookup bug. Removed some testing we used to do with MyObject because it was redundant with the new, cool stuff.


While fixing the lookup bug I retracted this change:


"If a static setProperty callback returns 'false', to indicate that the
property was not set, we no longer forward the set request up the class
chain, because that's almost certainly not what the programmer expected."

Returning false when setting a static property is a little silly, but you can see
it being useful when shadowing a base class's static properties, and, regardless
of usefullness, this is the defined behavior of the setProperty callback.


  • Plus a little ASCII art, for the kids.
9:32 PM Changeset in webkit [15496] by mjs
  • 3 edits
    4 adds in trunk

LayoutTests:

Test cases not reviewed but the corresponding fix was.


  • editing/pasteboard/nested-blocks-with-text-area-expected.txt: Added.
  • editing/pasteboard/nested-blocks-with-text-area.html: Added.
  • editing/pasteboard/nested-blocks-with-text-field-expected.txt: Added.
  • editing/pasteboard/nested-blocks-with-text-field.html: Added.

WebCore:

Reviewed by Dave Harrison.


  • editing/htmlediting.cpp: (WebCore::editingIgnoresContent):
6:18 PM Changeset in webkit [15495] by justing
  • 2 edits in trunk/WebCore

Reviewed by levi


<rdar://problem/4621728>
REGRESSION: Selecting by dragging down creates selection in wrong direction, with certain steps
<rdar://problem/4604932>
REGRESSION: Dragging too far left on a line will select all lines above it.


No layout test because of 9980.

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForCoordinates): Don't return positions inside editable roots for coordinates outside those roots, except for coordinates outside a document that is entirely editable.
5:55 PM Changeset in webkit [15494] by thatcher
  • 2 edits in trunk/WebKit

Reviewed by Darin.


<rdar://problem/4635311> REGRESSION: WebKit should call windowScriptObjectAvailable before attaching the script debugger

  • WebCoreSupport/WebFrameBridge.m: (-[WebFrameBridge windowObjectCleared]):
5:48 PM Changeset in webkit [15493] by thatcher
  • 3 edits in trunk/WebCore

Reviewed by Darin.

<rdar://problem/4635281> JSCanvasRenderingContext2D::drawImage needs to initialize the exception code to zero

  • bindings/js/JSCanvasRenderingContext2DCustom.cpp: (WebCore::JSCanvasRenderingContext2D::drawImage): initialize ec to zero
  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::drawImage): initialize ec before earlier return
5:27 PM Changeset in webkit [15492] by thatcher
  • 20 edits
    1 copy
    2 moves
    1 add in trunk

JavaScriptCore:

Reviewed by Maciej.

<rdar://problem/4634874> WebScriptObject and WebUndefined are no longer defined by WebKit

Moves WebScriptObject and WebUndefined up to WebCore.
This change does create an upwards-dependancy on WebScriptObject existing
in the loaded process, but this code path in JavaScriptCore does not get used
unless it is through WebKit/WebCore. Moving all of the binding code out of
JavaScriptCore might make sense in the future.

  • JavaScriptCore.exp:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bindings/objc/WebScriptObject.h: Replaced.
  • bindings/objc/WebScriptObject.mm: Removed.
  • bindings/objc/WebScriptObjectPrivate.h: Removed.
  • bindings/objc/objc_class.h:
  • bindings/objc/objc_instance.h:
  • bindings/objc/objc_instance.mm: (ObjcInstance::~ObjcInstance):
  • bindings/objc/objc_runtime.h:
  • bindings/objc/objc_runtime.mm: (convertValueToObjcObject):
  • bindings/objc/objc_utility.mm: (KJS::Bindings::convertValueToObjcValue): (KJS::Bindings::convertObjcValueToValue): (KJS::Bindings::createObjcInstanceForValue):

WebCore:

Reviewed by Maciej.

<rdar://problem/4634874> WebScriptObject and WebUndefined are no longer defined by WebKit

Moves WebScriptObject and WebUndefined to WebCore.

  • WebCore.exp:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/objc/DOM.mm:
  • bindings/objc/DOMCore.h:
  • bindings/objc/DOMInternal.mm:
  • bindings/objc/DOMUtility.mm:
  • bindings/objc/WebScriptObject.mm: Added. (+[WebUndefined allocWithZone:]): (-[WebUndefined initWithCoder:]): (-[WebUndefined encodeWithCoder:]): (-[WebUndefined copyWithZone:]):
  • bindings/objc/WebScriptObjectPrivate.h: Added.
  • bridge/mac/FrameMac.mm:
  • bridge/mac/WebCoreScriptDebugger.mm:

WebKit:

Reviewed by Maciej.

<rdar://problem/4634874> WebScriptObject and WebUndefined are no longer defined by WebKit

Copy WebScriptObject.h from WebCore's private headers, not JavaScriptCore.

  • WebKit.xcodeproj/project.pbxproj:
3:29 PM Changeset in webkit [15491] by andersca
  • 1 edit
    1 add in trunk/LayoutTests

2006-07-17 Anders Carlsson <acarlsson@apple.com>

Reviewed by Darin.

Add Apache 2 config file.


  • http/conf/apache2-httpd.conf: Added.
3:18 PM Changeset in webkit [15490] by hyatt
  • 2 edits in trunk/WebCore

Back out the fix for 5564, since it turns out font:x-small; is a pretty
prominent IE-specific CSS hack. Because Web sites rely on IE's incorrect
font parsing as a means of also correcting IE's incorrect font size rules.

This fixes Yahoo.com.

Reviewed by darin

  • css/cssparser.cpp: (WebCore::CSSParser::parseFont):
3:05 PM Changeset in webkit [15489] by sullivan
  • 2 edits in trunk/WebKit

Reviewed by Tim Omernick.


  • fixed <rdar://problem/4604366> Orange Find highlight displays text in wrong size on PDF pages if they're not at "actual size"


To match WebHTMLView, I made the methods that return attributed strings take the view's scale
factor into account.

  • WebView/WebPDFView.m: (-[WebPDFView _scaledAttributedString:]): new helper method, takes an attributed string and returns one that's scaled by the view's current scale factor (-[WebPDFView attributedString]): pass result through _scaledAttributedString: (-[WebPDFView selectedAttributedString]): ditto
2:54 PM Changeset in webkit [15488] by justing
  • 3 edits
    4 adds in trunk

LayoutTests:

Reviewed by levi


<rdar://problem/4618389> REGRESSION: After applying a link to the last word of a sentence, a new selection is created at the start of the sentence

  • editing/selection/replace-selection-1-expected.checksum: Added.
  • editing/selection/replace-selection-1-expected.png: Added.
  • editing/selection/replace-selection-1-expected.txt: Added.
  • editing/selection/replace-selection-1.html: Added.

WebCore:

Reviewed by levi


<rdar://problem/4618389> REGRESSION: After applying a link to the last word of a sentence, a new selection is created at the start of the sentence


  • dom/Document.cpp: (WebCore::Document::updateSelection):
12:38 PM Changeset in webkit [15487] by justing
  • 4 edits in trunk

LayoutTests:

Reviewed by levi

  • editing/selection/drag-to-contenteditable-iframe-expected.txt:
  • editing/selection/subframe-with-selection-expected.txt:

WebKit:

Reviewed by levi


Rolled the first fix for:
<http://bugzilla.opendarwin.org/show_bug.cgi?id=9642>
GMail Editor: Operations that use drop down menus blow away the selection
back in and removed the call to _clearSelectionInOtherFrames from
-[WebHTMLView becomeFirstResponder] to fix the bug.

  • WebView/WebHTMLView.m: (-[NSArray maintainsInactiveSelection]): (-[NSArray becomeFirstResponder]):
  • WebView/WebView.m: (-[WebView maintainsInactiveSelection]):
8:19 AM Changeset in webkit [15486] by darin
  • 3 edits in trunk/JavaScriptCore
  • API/JSBase.h: Fix comment formatting where things used to be lined up but are now ragged. Got rid of spaces that attempted to line things up.
  • API/JSObjectRef.h: Ditto. Also add missing periods for a couple of comments.
4:50 AM Changeset in webkit [15485] by mjs
  • 4 edits
    2 adds in trunk

LayoutTests:

Reviewed by Beth.


<rdar://problem/4604946> REGRESSION: 'checkboxRef.checked = true' fires onchange event in Leopard

  • fast/events/programmatic-check-no-change-event-expected.txt: Added.
  • fast/events/programmatic-check-no-change-event.html: Added.

WebCore:

Reviewed by Beth.


<rdar://problem/4604946> REGRESSION: 'checkboxRef.checked = true' fires onchange event in Leopard

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setChecked): (WebCore::HTMLInputElement::preDispatchEventHandler):
  • html/HTMLInputElement.h:
3:49 AM Changeset in webkit [15484] by ggaren
  • 12 edits in trunk/JavaScriptCore

Reviewed by Maciej.


  • Removed the exception parameter from the initialize callback and, by extension, JSObjectMake. We have never had a need for exceptions when iniitializing, so the parameter seemed likely to "get in the way."


Also, an exception in JavaScript is thrown in response to input --
"invalid URL", "index not a number", etc., so it's the job of the
constructor function, not the initialize method, to throw.


If initialize *really* wants to throw, it can communicate the throw to
the constructor through the constructed object's private data (e.g., set
it to NULL, signaling to the consntructor that initialization failed.)


  • Added JSObjectMakeWithData, which enables a constructor to set private data on an object *before* it has been initialized. That way, the initialize methods can properly operate on the data.
  • API/JSNode.c: Moved ref into the initialize method, for better encapsulation, now that it's possible.
  • API/JSNodeList.c: ditto
  • API/minidom.c: (main): Do more aggressive garbage collection to test ref/deref and initialize/finalize.
  • API/minidom.js: store childNodes in a temporary so it doesn't get re-created like a thousand times. This makes debugging ref/deref easier
2:06 AM Changeset in webkit [15483] by ggaren
  • 8 edits in trunk/JavaScriptCore

Reviewed by Maciej.


  • Changed the initialize callback to run from least derived class (parent class) to most derived class. This enables C++ style initialization, and derived class overriding of member data.


  • Added excpetion propopgation to JSObjectMake, to support initialize exceptions, and generally round out our policy of making function signatures as long as possible.
  • API/JSCallbackObject.h: Use ExecState instead of ContextRef, cuz we're in C++ land now.
1:20 AM Changeset in webkit [15482] by ggaren
  • 16 edits in trunk/JavaScriptCore

Reviewed by Maciej.


  • Changed JSObjectMakeConstructor to JSObjectMakeConstructorWithCallback, to match JSObjectMakeFunctionWithCallback.


  • Added prototype parameter, so the generated constructor automatically works with hasInstance / instanceof


  • Moved hasInstance implementation from InternalFunctionImp to JSObject so that subclasses can inherit it without inheriting function-related baggage. More refactoring here would be good, but this seems like a good short-term solution.

(KJS::JSCallbackFunction::implementsHasInstance): override and return false,
because callback functions aren't constructors.

1:14 AM Changeset in webkit [15481] by mjs
  • 15 edits in trunk/JavaScriptCore

Reviewed by Geoff.


  • add a JSContextRef parameter to all JSValueRef, JSObjectRef, and JSContextRef operations; except JSObject{Get,Set}PrivateData which can be assumed to be simple pure accessors.


Also renamed the parameter "context" to "ctx" because it makes the code read better with this pervasive
but usually uninteresting parameter.

  • API/JSBase.cpp: (JSEvaluateScript): (JSCheckScriptSyntax): (JSGarbageCollect):
  • API/JSBase.h:
  • API/JSCallbackObject.cpp: (KJS::JSCallbackObject::JSCallbackObject): (KJS::JSCallbackObject::init): (KJS::JSCallbackObject::getOwnPropertySlot): (KJS::JSCallbackObject::put): (KJS::JSCallbackObject::deleteProperty): (KJS::JSCallbackObject::toNumber): (KJS::JSCallbackObject::toString):
  • API/JSContextRef.cpp: (JSGlobalContextCreate): (JSGlobalContextRetain): (JSGlobalContextRelease): (JSContextGetGlobalObject):
  • API/JSContextRef.h:
  • API/JSNode.c: (JSNodePrototype_appendChild): (JSNodePrototype_removeChild): (JSNodePrototype_replaceChild): (JSNode_getNodeType): (JSNode_getFirstChild): (JSNode_prototype):
  • API/JSNodeList.c: (JSNodeListPrototype_item): (JSNodeList_length): (JSNodeList_getProperty): (JSNodeList_prototype):
  • API/JSObjectRef.cpp: (JSObjectMake): (JSObjectMakeFunctionWithCallback): (JSObjectMakeConstructor): (JSObjectMakeFunction): (JSObjectGetPrototype): (JSObjectSetPrototype): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectGetPropertyAtIndex): (JSObjectSetPropertyAtIndex): (JSObjectDeleteProperty): (JSObjectIsFunction): (JSObjectCallAsFunction): (JSObjectIsConstructor): (JSObjectCallAsConstructor): (JSObjectCopyPropertyNames):
  • API/JSObjectRef.h:
  • API/JSStringRef.cpp:
  • API/JSValueRef.cpp: (JSValueGetType): (JSValueIsUndefined): (JSValueIsNull): (JSValueIsBoolean): (JSValueIsNumber): (JSValueIsString): (JSValueIsObject): (JSValueIsObjectOfClass): (JSValueIsEqual): (JSValueIsStrictEqual): (JSValueIsInstanceOfConstructor): (JSValueMakeUndefined): (JSValueMakeNull): (JSValueMakeBoolean): (JSValueMakeNumber): (JSValueMakeString): (JSValueToBoolean): (JSValueToNumber): (JSValueToStringCopy): (JSValueToObject): (JSValueProtect): (JSValueUnprotect):
  • API/JSValueRef.h:
  • API/minidom.c: (print):
  • API/testapi.c: (MyObject_getProperty): (MyObject_deleteProperty): (MyObject_callAsFunction): (MyObject_callAsConstructor): (MyObject_convertToType): (print_callAsFunction): (main):

Jul 16, 2006:

9:41 PM Changeset in webkit [15480] by ggaren
  • 11 edits in trunk/JavaScriptCore

Approved by Maciej, RS by Beth.


JSObjectMakeFunction -> JSObjectMakeFunctionWithCallback
JSObjectMakeFunctionWithBody -> JSObjectMakeFunction


because the latter is more common, and more fundamental, than the former.

  • API/APICast.h: (toJS):
  • API/JSBase.h:
  • API/JSCallbackObject.cpp: (KJS::JSCallbackObject::getOwnPropertySlot): (KJS::JSCallbackObject::put): (KJS::JSCallbackObject::deleteProperty): (KJS::JSCallbackObject::getPropertyNames): (KJS::JSCallbackObject::staticValueGetter): (KJS::JSCallbackObject::staticFunctionGetter):
  • API/JSClassRef.cpp: (OpaqueJSClass::OpaqueJSClass): (OpaqueJSClass::~OpaqueJSClass):
  • API/JSClassRef.h:
  • API/JSObjectRef.cpp: (JSClassCreate): (JSObjectMakeFunctionWithCallback): (JSObjectMakeFunction): (OpaqueJSPropertyNameArray::OpaqueJSPropertyNameArray): (JSObjectCopyPropertyNames):
  • API/JSObjectRef.h:
  • API/minidom.c: (main):
  • API/testapi.c: (main):
  • ChangeLog:
  • JavaScriptCore.exp:
9:21 PM Changeset in webkit [15479] by ddkilzer
  • 3 edits
    2 adds in trunk

LayoutTests:

Reviewed by Darin.

  • fast/dom/document-dir-property-expected.txt: Added.
  • fast/dom/document-dir-property.html: Added.

WebCore:

Reviewed by Darin.

Test: fast/dom/document-dir-property.html

  • bindings/js/kjs_html.cpp: (KJS::JSHTMLDocument::getValueProperty): Return an empty string instead of an undefined value for an unset document.dir property.
9:15 PM Changeset in webkit [15478] by ddkilzer
  • 8 edits in trunk

LayoutTests:

Reviewed by Darin.

  • fast/dynamic/move-node-with-selection-expected.checksum: Removed "No newline at end of file" that snuck in as part of the "apply patch" process.

WebCore:

Reviewed by Darin.

  • dom/NodeFilter.idl: Removed "No newline at end of file" that snuck in as part of the "apply patch" process.
  • manual-tests/input-empty-on-focus.html: Removed "Property changes" that snuck in as part of the "apply patch" process.

WebKitTools:

Reviewed by Darin.

  • BuildSlaveSupport/build.webkit.org-config/buildbot.css: Removed "No newline at end of file" that snuck in as part of the "apply patch" process.
  • GdkLauncher/mk: Removed "Property changes" that snuck in as part of the "apply patch" process.
8:59 PM Changeset in webkit [15477] by ddkilzer
  • 3 edits in trunk/WebKitTools

WebKitTools:

Reviewed by Darin.

  • Scripts/svn-apply: (addDirectoriesIfNeeded): Don't try to add a directory that's already in svn. (checksum): Added. (patch): Use patch(1) for non-binary additions and deletions.
  • Scripts/svn-unapply: (checksum): Added. (patch): Use patch(1) for reverting non-binary additions and deletions. (revertDirectories): Don't try to revert a directory that hasn't changed in svn.
8:59 PM Changeset in webkit [15476] by darin
  • 2 edits in trunk/JavaScriptCore
  • try to fix Windows build
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Added some recently added files, removed some recently removed.
7:51 PM Changeset in webkit [15475] by darin
  • 3 edits in trunk/LayoutTests
  • fixed a couple of files I checked in wrong
  • fast/html/body-offset-properties-expected.txt: Removed property cruft.
  • fast/html/body-offset-properties.html: Ditto.
7:00 PM Changeset in webkit [15474] by ggaren
  • 4 edits in trunk/JavaScriptCore

Reviewed by Maciej.


  • Change getProperty* to return undefined, rather than NULL, for missing properties, since that's what the spec says. Also added exception out parameters to the *Index functions, because they can call through to the regular functions, which can throw for custom objects.
  • API/JSObjectRef.cpp: (JSObjectGetProperty): (JSObjectGetPropertyAtIndex): (JSObjectSetPropertyAtIndex):
  • API/JSObjectRef.h:
  • API/testapi.c: (main):
6:48 PM Changeset in webkit [15473] by ggaren
  • 6 edits in trunk/JavaScriptCore

Reviewed by Maciej.


  • Properly document and handle NULL callbacks for static properties. We throw an exception in any case other than a ReadOnly property with a NULL setProperty callback, because a NULL callback almost certainly indicates a programming error. Also throw an exception if hasProperty returns true for a property that getProperty can't get.


  • If a static setProperty callback returns 'false', to indicate that the property was not set, we no longer forward the set request up the class chain, because that's almost certainly not what the programmer expected.
  • API/JSCallbackObject.cpp: (KJS::JSCallbackObject::getOwnPropertySlot): (KJS::JSCallbackObject::put): (KJS::JSCallbackObject::staticValueGetter): (KJS::JSCallbackObject::staticFunctionGetter): (KJS::JSCallbackObject::callbackGetter):
  • API/JSObjectRef.h:
  • API/minidom.js:
  • API/testapi.c: (MyObject_hasProperty):
  • API/testapi.js:
6:47 PM Changeset in webkit [15472] by mjs
  • 2 edits in trunk/LayoutTests
  • fixed typo in expected results
  • fast/js/for-in-avoid-duplicates-expected.txt:
5:37 PM Changeset in webkit [15471] by darin
  • 9 edits
    2 adds in trunk

LayoutTests:

Reviewed by John Sullivan (new test, not the changes to existing ones).

  • fast/html/body-offset-properties-expected.txt: Added.
  • fast/html/body-offset-properties.html: Added.
  • editing/execCommand/findString-2.html: Update to not depend on the buggy body.offseLeft/Top. Instead hardcode the default body margin of 8.
  • editing/pasteboard/drop-text-without-selection.html: Ditto.
  • editing/selection/click-before-and-after-table.html: Ditto.
  • editing/selection/mixed-editability-1.html: Ditto.
  • fast/table/click-near-anonymous-table.html: Ditto.
  • editing/selection/drag-to-contenteditable-iframe.html: Remove unnecessary use of body.offsetLeft/Top that are always 0.

WebCore:

Reviewed by John Sullivan.

The problem turns out to be the fact that body.offsetLeft is returning a non-zero value.
I have no idea why the menus worked in Tiger Safari, because body.offsetLeft behavior has not changed.
Presumably some other bug that we fixed had been compensating.

Test: fast/html/body-offset-properties.html

  • rendering/RenderObject.cpp: (WebCore::RenderObject::offsetLeft): Always return 0 for any object without an offsetParent. (WebCore::RenderObject::offsetTop): Ditto. (WebCore::RenderObject::offsetParent): Return 0 for the body (treat as a special case).
5:25 PM Changeset in webkit [15470] by bdakin
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

Fix for <rdar://problem/4616595> REGRESSION: Problems with world
clock widget clock hand motion on 9A211 + 4604574

The second hand on the widget was jiggling because the rotation was
messing up the use of the affine transformation matrix while
rounding to pixel boundaries in device space. We are mainly
concerned with rounding to pixel boundaries with the scale in mind,
so this patch extracts the scale to device space from the matrix,
and rounds to pixel boundaries using only the scale. This doesn't
seem like it is a perfect solution, but it definitely solves the
immediate problem. We will probably need to re-address what should
happen to avoid pixel cracks with rotations at non-integral scale
factors.

  • platform/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::roundToDevicePixels):
3:17 PM Changeset in webkit [15469] by ggaren
  • 10 edits in trunk/JavaScriptCore

Reviewed by Maciej.


  • Added names to functions.


  • Removed GetPrivate/SetPrivate from callbackFunctions and callbackConstructors. The private data idiom is that a JS object stores its native implementation as private data. For functions and constructors, the native implementation is nothing more than the callback they already store, so supporting private data, too, confuses the idiom. If you *really* want, you can still create a custom function with private data.
  • API/JSCallbackConstructor.cpp:
  • API/JSCallbackConstructor.h:
  • API/JSCallbackFunction.cpp: (KJS::JSCallbackFunction::JSCallbackFunction):
  • API/JSCallbackFunction.h:
  • API/JSCallbackObject.cpp: (KJS::JSCallbackObject::staticFunctionGetter):
  • API/JSObjectRef.cpp: (JSObjectMakeFunction): (JSObjectMakeFunctionWithBody): (JSObjectGetPrivate): (JSObjectSetPrivate):
  • API/JSObjectRef.h:
  • API/minidom.c: (main):
  • API/testapi.c: (main):
2:06 PM Changeset in webkit [15468] by mjs
  • 31 edits
    5 adds
    5 deletes in trunk

JavaScriptCore:

Reviewed by Darin.


  • switch property lists to be vector+set of Identifiers instead of list of References


This has the following benefits:


  • no duplicates in property lists
  • simplifies API calls
  • probably more efficient, since linked list is gone
  • entirely removed Reference, ReferenceList and ProtectedReference types from the API
  • kjs/PropertyNameArray.cpp: Added. (KJS::PropertyNameArray::add): Check set, if not already there, add to vector.
  • kjs/PropertyNameArray.h: Added. (KJS::PropertyNameArray::PropertyNameArray): Newly added type, combines a set and a vector to make a unique but ordered list of identifiers. (KJS::PropertyNameArray::begin): ditto (KJS::PropertyNameArray::end): ditto (KJS::PropertyNameArray::size): ditto (KJS::PropertyNameArray::operator[]): ditto
  • kjs/array_instance.h:
  • kjs/array_object.cpp: (ArrayInstance::getPropertyNames): renamed from getPropertyList, updated for PropertyNameArray (ArrayInstance::setLength): updated for PropertyNameArray (ArrayInstance::pushUndefinedObjectsToEnd): ditto
  • kjs/nodes.cpp: (ForInNode::execute): updated for PropertyNameArray
  • kjs/nodes.h:
  • kjs/object.cpp: (KJS::JSObject::getPropertyNames): renamed from getPropertyList, updated for PropertyNameArray
  • kjs/object.h:
  • kjs/property_map.cpp: (KJS::PropertyMap::getEnumerablePropertyNames): updated for PropertyNameArray (KJS::PropertyMap::getSparseArrayPropertyNames): ditto
  • kjs/property_map.h:
  • kjs/protected_reference.h: Removed.
  • kjs/reference.cpp: Removed.
  • kjs/reference.h: Removed.
  • kjs/reference_list.cpp: Removed.
  • kjs/reference_list.h: Removed.
  • kjs/scope_chain.cpp: (KJS::ScopeChain::print): Use PropertyNamesArray instead of ReferenceList.
  • kjs/string_object.cpp: (StringInstance::getPropertyNames): Updated for new approach.
  • kjs/string_object.h:
  • kjs/ustring.h:
  • API/APICast.h: (toJS): Added overload for PropertyNameAccumulatorRef / PropertyNameArray* (toRef): ditto
  • API/JSBase.h:
  • API/JSCallbackObject.cpp: (KJS::JSCallbackObject::getPropertyNames): Fixed for new API.
  • API/JSCallbackObject.h:
  • API/JSObjectRef.cpp: (JSPropertyNameArray::JSPropertyNameArray): Type used for a publicly vended JSPropertyNameArrayRef. (JSObjectCopyPropertyNames): New API call - renamed / refactored from JSObjectCreatePropertyList (JSPropertyNameArrayRetain): new retain call for JSPropertyNameArray. (JSPropertyNameArrayRelease): new release call for - " -. (JSPropertyNameArrayGetCount): Instead of having to use a stateful enumerator you can now get the count and items in any order. (JSPropertyNameArrayGetNameAtIndex): See above. (JSPropertyNameAccumulatorAddName): What you add properties to is now an opaque accumulator object.
  • API/JSObjectRef.h: Prototyped new functions, removed old ones
  • JavaScriptCore.exp: Updated exported symbols.
  • JavaScriptCore.xcodeproj/project.pbxproj: Added new files, removed old.
  • API/testapi.c: (MyObject_getPropertyNames): Renamed / fixed callback to fit new paradigm. (main): Updated for new API.

JavaScriptGlue:

Reviewed by Darin.

  • switch property lists to be vector+set of Identifiers instead of list of References


  • JSUtils.cpp: (KJSValueToCFTypeInternal): updated for JSC SPI changes
  • JSValueWrapper.cpp: (JSValueWrapper::JSObjectCopyPropertyNames): ditto
  • UserObjectImp.cpp: (UserObjectImp::getPropertyNames): ditto
  • UserObjectImp.h:

LayoutTests:

Reviewed by Darin.


  • new test case and updated results for property list changes
  • fast/js/for-in-avoid-duplicates-expected.txt: Added.
  • fast/js/for-in-avoid-duplicates.html: Added.
  • fast/js/kde/Array-expected.txt:
  • fast/js/resources/for-in-avoid-duplicates.js: Added.
Note: See TracTimeline for information about the timeline view.