14 years ago Add a test that currently crashes the Qt build.
lars [Tue, 13 Mar 2007 22:10:54 +0000 (22:10 +0000)]
    Add a test that currently crashes the Qt build.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20164 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reorder the call to allReferencesRemoved, since otherwise the live object...
hyatt [Tue, 13 Mar 2007 22:03:36 +0000 (22:03 +0000)]
    Reorder the call to allReferencesRemoved, since otherwise the live object size will become

        * loader/CachedResource.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20163 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by George.
lars [Tue, 13 Mar 2007 22:00:09 +0000 (22:00 +0000)]
    Reviewed by George.

        Don't try to load <object> tags with an invalid url.
        Fixes LayoutTests/fast/dom/object-plugin-hides-properties.html
        which hit an assertion in the frameloader.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20162 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
antti [Tue, 13 Mar 2007 21:41:49 +0000 (21:41 +0000)]

        Reviewed by Darin.

        REGRESSION: Typing tab key fails to insert a tab character in Google Docs editable area

        * editing/inserting/typing-tab-designmode-expected.txt: Added.
        * editing/inserting/typing-tab-designmode-forms-expected.checksum: Added.
        * editing/inserting/typing-tab-designmode-forms-expected.png: Added.
        * editing/inserting/typing-tab-designmode-forms-expected.txt: Added.
        * editing/inserting/typing-tab-designmode-forms.html: Added.
        * editing/inserting/typing-tab-designmode.html: Added.


        Reviewed by Darin.

        Fix http://bugs.webkit.org/show_bug.cgi?id=11083
        REGRESSION: Typing tab key fails to insert a tab character in Google Docs editable area

        Allow inserting tabs in designMode. Backtab behaves like before (matches FF).

        * page/EventHandler.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20159 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoFixes builds using buildit.
thatcher [Tue, 13 Mar 2007 21:31:18 +0000 (21:31 +0000)]
Fixes builds using buildit.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20158 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by .
kmccullo [Tue, 13 Mar 2007 20:25:24 +0000 (20:25 +0000)]
    Reviewed by .

        - Adding expected failures until the are truly fixed.
        - rdar://problem/5060302

        * tests/mozilla/expected.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20157 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Fix two counting errors in the decoded size of objects in the WebCore cache...
hyatt [Tue, 13 Mar 2007 20:18:51 +0000 (20:18 +0000)]
    Fix two counting errors in the decoded size of objects in the WebCore cache.  We need to explicitly
        destroy decoded data when clearing out a partially loaded image that had an error, since the destructor
        (although it does destroy the data) disconnects the observer so that the notification doesn't happen.

        Some CachedImages aren't in the cache (like image documents).  When the decoded size of such an image
        changes we should not notify the cache, since - newsflash - we aren't actually in it.

        Reviewed by ggaren

        * loader/CachedImage.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20156 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoSilly wrapping change for testing a post-commit hook change.
thatcher [Tue, 13 Mar 2007 19:33:00 +0000 (19:33 +0000)]
Silly wrapping change for testing a post-commit hook change.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20154 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoFix 99% of the crashes in the loader I've been seeing lately.
lars [Tue, 13 Mar 2007 19:20:34 +0000 (19:20 +0000)]
Fix 99% of the crashes in the loader I've been seeing lately.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20153 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Tim Hatcher and John Sullivan.
darin [Tue, 13 Mar 2007 18:22:43 +0000 (18:22 +0000)]
    Reviewed by Tim Hatcher and John Sullivan.

        - fix <rdar://problem/4915303> CrashTracer: 36 crashes in Safari at
          com.apple.AppKit: -[NSView getRectsBeingDrawn:count:] + 502

        * page/mac/FrameMac.mm: (WebCore::Frame::imageFromRect):
        This was calling drawRect: directly, but NSView's getRectsBeingDrawn:count:
        method was never really safe to call unless it was AppKit that called your
        drawRect: method. Changed it to call drawSingleRect: instead. A little ugly,
        but seems to work and will almost certainly fix the bug.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20152 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Maciej.
weinig [Tue, 13 Mar 2007 16:53:26 +0000 (16:53 +0000)]
    Reviewed by Maciej.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=12974
        Call forgetGenericContext in JSSVGPathSeg destructor, otherwhise
        we'll hit an ASSERT in a debug build, when running svg/custom/js-update-path-changes.svg
        a few dozen times in a single WebKit instance. The ASSERT is good and just warns that
        there was already a generic context pointer registered, and the new "to be registered"
        object already exists, but pointing to a different object. That's because garbage collection
        calls the JSSVGPathSeg destructor, but that didn't cleanup the generic context map.

        Only JSSVGPathSeg is hit by this problem, as it's the only non SVGAnimated* type
        using the generic context system while using a custom JSSVGPathSegList implementation.

        Also cleanup JSSVGPathSegListCustom code to call the static forgetGenericContext
        method instead of doing the same using custom code.

        * bindings/js/JSSVGPathSegListCustom.cpp:
        * bindings/scripts/CodeGeneratorJS.pm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20151 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago * fast/js/kde/RegExp-expected.txt: Fix the one other test affected by
darin [Tue, 13 Mar 2007 14:47:11 +0000 (14:47 +0000)]
    * fast/js/kde/RegExp-expected.txt: Fix the one other test affected by
        the js-test-pre.js change.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20149 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
darin [Tue, 13 Mar 2007 14:19:32 +0000 (14:19 +0000)]

        Reviewed by Adele.

        - test for http://bugs.webkit.org/show_bug.cgi?id=12595
          <rdar://problem/4722863> REGRESSION: Can't add item to cart at lnt.com
          (JS type error) (12595)

        * fast/forms/old-names-expected.txt: Added.
        * fast/forms/old-names.html: Added.

        - check in files that were somehow left out in the last check-in

        * fast/js/resources/js-test-pre.js: Improve the format of the failure message when
        both the real results and expected results are strings.
        * fast/dom/wrapper-classes-expected.txt: Changed back to use the new format.


        Reviewed by Adele.

        - fix http://bugs.webkit.org/show_bug.cgi?id=12595
          <rdar://problem/4722863> REGRESSION: Can't add item to cart at lnt.com
          (JS type error) (12595)

        Test: fast/forms/old-names.html

        * bindings/js/JSHTMLFormElementCustom.cpp:
        (WebCore::JSHTMLFormElement::canGetItemsForName): If the form collection has
        nothing for a given name, try the form's oldNamedElement function.
        (WebCore::JSHTMLFormElement::nameGetter): Ditto.

        * bindings/js/kjs_dom.h: Removed the DOMNamedNodesCollection. Instead we will use
        a class derived from NodeList.
        * bindings/js/kjs_dom.cpp: Ditto.

        * bindings/js/kjs_html.cpp:
        (KJS::VectorNodeList::VectorNodeList): Added. Constructor for a new class derived
        from NodeList to be used for the named items result from a collection -- uses a
        vector of node pointers.
        (KJS::VectorNodeList::length): Added.
        (KJS::VectorNodeList::item): Added.
        (KJS::JSHTMLCollection::getNamedItems): Use VectorNodeList and the existing wrapper
        for NodeList rather than a custom JavaScript class, DOMNamedNodesCollection.

        * dom/ChildNodeList.h:
        * dom/ChildNodeList.cpp:
        (WebCore::ChildNodeList::ChildNodeList): Updated to derive from TreeNodeList,
        since NodeList is now a simpler class.
        (WebCore::ChildNodeList::elementMatches): Updated for name and parameter change.

        * dom/NameNodeList.h:
        * dom/NameNodeList.cpp:
        (WebCore::NameNodeList::NameNodeList): Updated to derive from TreeNodeList,
        since NodeList is now a simpler class.
        (WebCore::NameNodeList::rootNodeAttributeChanged): Updated for name and
        parameter change.

        * dom/Node.h: Change register/unregister functions to take TreeNodeList.
        * dom/Node.cpp:
        (WebCore::TagNodeList::TagNodeList): Updated to derive from TreeNodeList,
        since NodeList is now a simpler abstract class.
        (WebCore::TagNodeList::elementMatches): Updated for name and parameter change.
        (WebCore::Node::registerNodeList): Changed type from NodeList to TreeNodeList.
        (WebCore::Node::unregisterNodeList): Ditto.

        * dom/NodeList.h: Broke NodeList into a simpler base class and a derived class
        with the machinery for iterating a tree, called TreeNodeList.
        * dom/NodeList.cpp:
        (WebCore::NodeList::~NodeList): Added.
        (WebCore::NodeList::itemWithName): Factored out of the old itemWithName.
        (WebCore::TreeNodeList::TreeNodeList): Renamed from NodeList.
        (WebCore::TreeNodeList::~TreeNodeList): Ditto.
        (WebCore::TreeNodeList::recursiveLength): Ditto.
        (WebCore::TreeNodeList::itemForwardsFromCurrent): Ditto.
        (WebCore::TreeNodeList::itemBackwardsFromCurrent): Ditto.
        (WebCore::TreeNodeList::recursiveItem): Ditto.
        (WebCore::TreeNodeList::itemWithName): Factored half of this into this function,
        the other half in NodeList::itemWithName.
        (WebCore::TreeNodeList::rootNodeAttributeChanged): Added. No longer inline.
        (WebCore::TreeNodeList::rootNodeChildrenChanged): Renamed from NodeList.

        * html/HTMLFormElement.h: Added formElementNameChanged and oldNamedElement
        fucntions, and a map called m_oldNames. Also removed m_boundary, which I
        thought I had already done.
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::HTMLFormElement): Initialize m_oldNames to 0.
        Switched the rest of the members to initialization syntax.
        (WebCore::HTMLFormElement::~HTMLFormElement): Delete m_oldNames.
        (WebCore::HTMLFormElement::formElementNameChanged): Added. Stores a reference
        to one element under each of its old names.
        (WebCore::HTMLFormElement::oldNamedElement): Added. Returns the old element
        that once had a given name.

        * html/HTMLGenericFormElement.h:
        * html/HTMLGenericFormElement.cpp:
        (WebCore::HTMLGenericFormElement::parseMappedAttribute): When the name
        attribute changes, tell the form about the old name.
        (WebCore::HTMLGenericFormElement::insertedIntoTree): When telling a form
        about an element, also store away the old name so that we can use it
        when the name changes later.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::parseMappedAttribute): Added a call to the
        base class in the nameAttr case, so the code in HTMLGenericFormElement
        above will get called in the input element case.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20148 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Lars.
weinig [Tue, 13 Mar 2007 14:17:32 +0000 (14:17 +0000)]
    Reviewed by Lars.

        Update text in tests to match expected output.

        * fast/dom/gc-6-expected.txt:
        * fast/dom/gc-6.html:
        * fast/dom/gc-7-expected.txt:
        * fast/dom/gc-7.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20147 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
antti [Tue, 13 Mar 2007 13:36:57 +0000 (13:36 +0000)]

        Reviewed by Alexey.

        Test for DOS using composed character.

        * fast/text/large-text-composed-char-dos-expected.txt: Added.
        * fast/text/large-text-composed-char-dos.html: Added.


        Reviewed by Alexey.

        Alexey spotted a DOS by using string of 64k unbreakable character in
        fix for http://bugs.webkit.org/show_bug.cgi?id=12833

        * dom/Text.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20146 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Tim H.
thatcher [Tue, 13 Mar 2007 12:54:03 +0000 (12:54 +0000)]
    Reviewed by Tim H.

        - fix test results for http://bugs.webkit.org/show_bug.cgi?id=13054
          Layout tests results require updates after JavaScript wrapper class name fixes

        * fast/dom/gc-6-expected.txt: Renamed DOMHTMLElement to HTMLElement.
        * fast/dom/gc-7-expected.txt: Ditto.
        * fast/dom/prototype-chain-expected.txt: Renamed DOMHTMLElementPrototype to HTMLElementPrototype.
        * fast/dom/undetectable-document-all-expected.txt: Renamed Collection to HTMLCollection.
        * fast/dom/wrapper-classes-expected.txt: Updated for change to output for string comparison failure
        in fast/js/resources/js-test-pre.js.
        * fast/events/mouseclick-target-and-positioning-expected.txt: Renamed DOMHTMLElement to HTMLElement.
        * fast/tokenizer/external-script-document-write-expected.checksum: Ditto.
        * fast/tokenizer/external-script-document-write-expected.png: Ditto.
        * fast/tokenizer/external-script-document-write-expected.txt: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20145 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoTweaked again.
ddkilzer [Tue, 13 Mar 2007 10:13:49 +0000 (10:13 +0000)]
Tweaked again.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20144 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoAdded bug references and a period.
ddkilzer [Tue, 13 Mar 2007 10:11:34 +0000 (10:11 +0000)]
Added bug references and a period.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20143 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoFix the Qt build.
lars [Tue, 13 Mar 2007 10:03:04 +0000 (10:03 +0000)]
Fix the Qt build.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20142 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-03-13 Mark Rowe <mrowe@apple.com>
bdash [Tue, 13 Mar 2007 09:21:41 +0000 (09:21 +0000)]
2007-03-13  Mark Rowe  <mrowe@apple.com>

        Reviewed by Maciej.

        Have the nightly launcher prefer Safari found in /Applications or ~/Applications
        if present, otherwise fall back on using LaunchServices to locate it elsewhere
        on the system.  The motivation for this is to make the behaviour of the nightly
        builds more predictable on machines with multiple copies of Safari present.

        * WebKitLauncher/main.m:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20141 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Darin.
rwlbuis [Tue, 13 Mar 2007 08:00:29 +0000 (08:00 +0000)]
    Reviewed by Darin.

        WebKit does not support xlink:show attributes

        Make an exception for non-empty targets, these should be opened
        in a new window, unless the value is _self.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20140 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Double the encoded size of images for now. We do this to account for a bug...
hyatt [Tue, 13 Mar 2007 07:32:07 +0000 (07:32 +0000)]
    Double the encoded size of images for now.  We do this to account for a bug in ImageIO where they hold
        a separate copy of image data.

        Reviewed by aroben

        * loader/CachedImage.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20139 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
harrison [Tue, 13 Mar 2007 04:24:28 +0000 (04:24 +0000)]

        Reviewed by Darin.

        <rdar://problem/4743256> ctrl-y key binding (yank) should do nothing when kill ring is empty

        * editing/pasteboard/emacs-cntl-y-001-expected.checksum:
        * editing/pasteboard/emacs-cntl-y-001-expected.png:
        * editing/pasteboard/emacs-cntl-y-001-expected.txt:
        * editing/pasteboard/emacs-cntl-y-001.html:


        Reviewed by Darin.

        <rdar://problem/4743256> ctrl-y key binding (yank) should do nothing when kill ring is empty

        Test updated:
        * editing/pasteboard/emacs-cntl-y-001.html:

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView yank:]):
        (-[WebHTMLView yankAndSelect:]):
        Do nothing if the killring is empty.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20138 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Not reviewed - gdk build fix.
kjk [Tue, 13 Mar 2007 04:05:41 +0000 (04:05 +0000)]
    Not reviewed - gdk build fix.

        * platform/gdk/TemporaryLinkStubs.cpp:
        (SearchPopupMenu::enabled): add missing stub.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20137 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebCore:
ddkilzer [Tue, 13 Mar 2007 03:52:09 +0000 (03:52 +0000)]

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13045
          REGRESSION: Blackboard CourseWare Error with Nightlies after Mar 8

        * html/HTMLFormElement.cpp:
        (WebCore::getUniqueBoundaryString): Speculative fix: remove dashes from
        the boundary prefix that appear after non-dash characters.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20136 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
ddkilzer [Tue, 13 Mar 2007 03:48:49 +0000 (03:48 +0000)]

        Reviewed by Anders.

        - test for http://bugs.webkit.org/show_bug.cgi?id=13015
          REGRESSION (r17233-r17241): Repro crash when leaving a page whose unload handler submits a form

        * fast/loader/onunload-form-submit-crash-2-expected.txt: Added.
        * fast/loader/onunload-form-submit-crash-2.html: Added.


        Reviewed by Anders.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13015
          REGRESSION (r17233-r17241): Repro crash when leaving a page whose unload handler submits a form

        Test: fast/loader/onunload-form-submit-crash-2.html

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::finishedLoading): Added null check.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20135 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoRemove conflict marker.
andersca [Tue, 13 Mar 2007 02:13:50 +0000 (02:13 +0000)]
Remove conflict marker.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20134 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Add expected results.
andersca [Tue, 13 Mar 2007 02:11:39 +0000 (02:11 +0000)]
    Add expected results.

        * fast/frames/frame-navigation-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20133 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
andersca [Tue, 13 Mar 2007 01:09:53 +0000 (01:09 +0000)]

        Reviewed by Darin.

        ASSERTION: Navigating 'back' in frameset: !_private->previousItem (6454)

        * fast/frames/frame-navigation.html: Added.
        * fast/frames/resources/frame-navigation-child.html: Added.


        Reviewed by Darin.

        ASSERTION: Navigating 'back' in frameset: !_private->previousItem (6454)

        Change back the behavior of checkLoadComplete to traverse the entire frame tree instead of
        just the parent frames of the current frame. This is needed in order to reset the previous history item
        for all frames when doing a frame navigation. (This was changed in revision 11819)

        * loader/FrameLoader.cpp:
        * loader/FrameLoader.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20132 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by darin
justing [Tue, 13 Mar 2007 00:53:38 +0000 (00:53 +0000)]
    Reviewed by darin

        REGRESSION: Gmail Editor: Dragging text into Reply (textarea) field results in a crash at WebCore::InsertNodeBeforeCommand::doApply()

        * editing/SelectionController.cpp:
        (WebCore::removingNodeRemovesPosition): Added.
        (WebCore::SelectionController::nodeWillBeRemoved): Clear the
        selection if it's inside a shadow tree.
        * page/DragController.cpp:
        (WebCore::setSelectionToDragCaret): Return false to signal to
        clients that a drop shouldn't be performed if the second attempt
        to set a selection ends up in non-editable content.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20131 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
darin [Tue, 13 Mar 2007 00:49:02 +0000 (00:49 +0000)]

        Reviewed by Tim Hatcher.

        - added a test that checks the classes of wrappers created by both
          the JavaScript binding and the Objective-C binding

        * fast/dom/wrapper-classes-expected.txt: Added.
        * fast/dom/wrapper-classes.html: Added.
        * fast/js/resources/js-test-pre.js: Improve the format of the failure message when
        both the real results and expected results are strings.


        Reviewed by Tim Hatcher.

        - fixed JavaScript wrapper classes to be correct for a variety of cases
          that a new test uncovered: was broken for at least 5 classes

        - fixed Objective-C wrapper classes to be correct for a variety of cases
          that a test case uncovered: was broken for ast least 50 classes

        - added missing DOM API for creating OverflowEvent and WheelEvent instances

        Test: fast/dom/wrapper-classes.html

        * DerivedSources.make: Added missing bindings: HTMLCanvasElement for ObjC,
        CDATASection, Comment, and EntityReference for JavaScript.
        * WebCore.xcodeproj/project.pbxproj: Added those new generated files.

        * bindings/js/JSHTMLElementWrapperFactory.cpp:
        (WebCore::createJSHTMLWrapper): Corrected the wrapper classes for <keygen>,
        which needs an HTMLSelectElement wrapper, and <xmp>, which needs an
        HTMLPreElement wrapper.

        * bindings/objc/DOMInternal.h: Updated for new naming scheme.
        Also moved createDOMWrapper from the KJS namespace to the WebCore namespace.
        * bindings/objc/DOMUtility.mm:
        (KJS::createDOMWrapper): Broke the core function into a separate one, and
        left it in the KJS namespace because Objective-C++ rules make it impossible
        for it to work in the WebCore namespace. Used a macro-based implementation
        to cut down on repeated code, and added missing cases for Counter,
        HTMLOptionsCollection, Range, XPathExpression, XPathResult, Event, RGBColor,
        Rect, Window, DOMImplementation, NodeIterator, TreeWalker, and HTMLCollection.
        (WebCore::createDOMWrapper): The other half of the function.

        * bindings/objc/DOM.mm:
        (WebCore::createElementClassMap): Corrected the wrapper classes for
        <canvas>, which needs a DOMHTMLCanvasElement wrapper, <del>, which needs
        a DOMHTMLModElement wrapper, <embed>, which needs a DOMHTMLEmbedElement
        wrapper, <ins>, which needs a DOMHTMLModElement wrapper, <th>, which needs
        a DOMHTMLTableCellElement wrapper, and <xmp>, which needs an
        DOMHTMLPreElement wrapper.
        (+[DOMNode _wrapNode:]): Updated for new naming scheme.
        (+[DOMNode _wrapEventTarget:]): Ditto.
        (+[DOMNodeFilter _wrapNodeFilter:]): Ditto.
        (ObjCNodeFilterCondition::acceptNode): Ditto.
        (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]): Ditto.
        (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]): Ditto.
        (WebCore::ObjCEventListener::handleEvent): Ditto.

        * dom/Document.cpp: (WebCore::Document::createEvent):
        Added cases for OverflowEvent and WheelEvent.

        * dom/OverflowEvent.h: Added empty constructor and initOverflowEvent.
        * dom/OverflowEvent.cpp:
        (WebCore::OverflowEvent::OverflowEvent): Added.
        (WebCore::OverflowEvent::initOverflowEvent): Added.
        * dom/OverflowEvent.idl: Added initOverflowEvent.

        * bindings/objc/PublicDOMInterfaces.h: Added initOverflowEvent.

        * bindings/objc/DOMCSS.mm:
        (+[DOMStyleSheet _wrapStyleSheet:]): Updated for new naming scheme.
        (+[DOMCSSRule _wrapCSSRule:]): Corrected wrapper for CSSUnknownRule.
        (+[DOMCSSValue _wrapCSSValue:]): Updated for new naming scheme.

        * bindings/js/kjs_css.h:
        (KJS::DOMRGBColor::impl): Added. Used when making an ObjC wrapper.
        (KJS::DOMRect::impl): Ditto.

        * bindings/js/kjs_dom.cpp: (KJS::toJS): Corrected the wrapper classes for
        CDATASection, Comment, and EntityReference.

        * bindings/js/kjs_html.cpp: Corrected the class name for HTMLElement
        (was "DOMHTMLElement") and HTMLCollection (was "Collection").

        * bindings/objc/DOMImplementationFront.h:
        * bindings/objc/DOMImplementationFront.cpp:
        (WebCore::implementationFront): Added new overload that returns a front given
        a JavaScript wrapper. Needed by the code that makes the Objective-C wrapper.

        * bindings/objc/WebScriptObject.mm:
        (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
        Updated since createDOMWrapper is now in the WebCore namespace.

        * bindings/scripts/CodeGeneratorObjC.pm: Update the naming scheme for the
        wrapper creation functions to use _wrapElement: rather then _elementWith:
        style. Removed now-unneeded special cases for things that needed to stay
        upper-case, since we don't have to do the whole lcfirst thing.

        * html/HTMLCanvasElement.idl: Added #if so we can successfully generate the
        Objective-C wrapper for this class, even though we can't yet handle the
        DOMObject return type.

        * html/HTMLOptionsCollection.idl: Added GenerateNativeConverter so we get
        an appropriate toJS function.

        * bindings/objc/DOMEvents.mm:
        (+[DOMEvent _wrapEvent:]):
        * bindings/objc/DOMHTML.mm:
        (-[DOMHTMLDocument createDocumentFragmentWithMarkupString:baseURL:]):
        (-[DOMHTMLDocument createDocumentFragmentWithText:]):
        * bindings/objc/DOMObject.mm:
        (-[DOMObject sheet]):
        * bindings/objc/DOMRGBColor.mm:
        (-[DOMRGBColor red]):
        (-[DOMRGBColor green]):
        (-[DOMRGBColor blue]):
        (-[DOMRGBColor alpha]):
        (+[DOMRGBColor _wrapRGBColor:]):
        * bindings/objc/DOMSVGPathSegInternal.mm:
        (+[DOMSVGPathSeg _wrapSVGPathSeg:]):
        * bindings/objc/DOMXPath.mm:
        (+[DOMNativeXPathNSResolver _wrapXPathNSResolver:]):
        * page/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge nodesFromList:]):
        (-[WebCoreFrameBridge elementWithName:inForm:]):
        (-[WebCoreFrameBridge formForElement:]):
        (-[WebCoreFrameBridge currentForm]):
        (-[WebCoreFrameBridge controlsInForm:]):
        (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
        (-[WebCoreFrameBridge convertNSRangeToDOMRange:]):
        (-[WebCoreFrameBridge markDOMRange]):
        (-[WebCoreFrameBridge markedTextDOMRange]):
        (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]):
        (-[WebCoreFrameBridge documentFragmentWithMarkupString:baseURLString:]):
        (-[WebCoreFrameBridge documentFragmentWithText:inContext:]):
        (-[WebCoreFrameBridge documentFragmentWithNodesAsParagraphs:]):
        (-[WebCoreFrameBridge replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]):
        (-[WebCoreFrameBridge replaceSelectionWithText:selectReplacement:smartReplace:]):
        (-[WebCoreFrameBridge increaseSelectionListLevel]):
        (-[WebCoreFrameBridge increaseSelectionListLevelOrdered]):
        (-[WebCoreFrameBridge increaseSelectionListLevelUnordered]):
        (-[WebCoreFrameBridge dragCaretDOMRange]):
        (-[WebCoreFrameBridge editableDOMRangeForPoint:]):
        (-[WebCoreFrameBridge characterRangeAtPoint:]):
        (-[WebCoreFrameBridge typingStyle]):
        (-[WebCoreFrameBridge rangeOfCharactersAroundCaret]):
        * platform/mac/ClipboardMac.mm:
        * platform/mac/PasteboardMac.mm:
        Updated for new naming scheme.


        Reviewed by Tim Hatcher.

        - update for the new naming scheme for the Objective-C wrapper-creation
          functions: _wrapElement: instead of _elementWith:, etc.

        * WebCoreSupport/WebEditorClient.mm:
        * WebCoreSupport/WebFrameLoaderClient.mm:
        * WebView/WebFrame.mm: (kit):
        Use the _wrapElement-style functions.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20130 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Darin.
thatcher [Tue, 13 Mar 2007 00:34:17 +0000 (00:34 +0000)]
    Reviewed by Darin.

        <rdar://problem/4990691> REGRESSION: Selecting text in Adium's Messages field causes horizontal shift

        Corrected the recursive point conversion and scrolling done in scrollPointRecursively to use the
        document view of each NSClipView.

        * platform/mac/ScrollViewMac.mm:
        (WebCore::ScrollView::scrollPointRecursively): Call convertPoint:fromView: on the document views,
        not the clip views as we encounter them. Then call constrainScrollPoint: on the converted point to
        constrain to the document view bounds. And finally call scrollPoint: on the document view, not the clip view.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20129 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Tim Hatcher.
darin [Tue, 13 Mar 2007 00:07:04 +0000 (00:07 +0000)]
    Reviewed by Tim Hatcher.

        - add a DumpRenderTree feature where you can get the Objective-C
          class name of a JavaScript object

        * DumpRenderTree/DumpRenderTree.m:
        (+[LayoutTestController isSelectorExcludedFromWebScript:]): Add the
        objCClassNameOf: selector.
        (+[LayoutTestController webScriptNameForSelector:]): Add the
        objCClassNameOf: selector, with the name "objCClassName".
        (-[LayoutTestController objCClassNameOf:]): Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20128 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
antti [Mon, 12 Mar 2007 23:57:56 +0000 (23:57 +0000)]

        Reviewed by Alexey

        Test that this works correctly with composed characters
        REGRESSION: Selecting text in 6.6MB txt file is sluggish as of the Feb 19th nightly

        * fast/text/large-text-composed-char-expected.checksum: Added.
        * fast/text/large-text-composed-char-expected.png: Added.
        * fast/text/large-text-composed-char-expected.txt: Added.
        * fast/text/large-text-composed-char.html: Added.


        Reviewed by Alexey.

        Fix http://bugs.webkit.org/show_bug.cgi?id=12833
        REGRESSION: Selecting text in 6.6MB txt file is sluggish as of the Feb 19th nightly

        Divide large text blocks (>64kB) over multiple text nodes. This limits linebox searches to
        a manageable subset.

        * dom/Text.cpp:
        * dom/Text.h:
        * html/HTMLParser.cpp:
        * loader/TextDocument.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20127 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Fix a regression in printing. Printer fonts need to be part of the
hyatt [Mon, 12 Mar 2007 23:48:55 +0000 (23:48 +0000)]
    Fix a regression in printing.  Printer fonts need to be part of the
        font cache key, since printer fonts have different glyph widths.
        (Integer antialiasing is used for screen fonts but not for printer fonts.)

        Reviewed by aroben

        * platform/FontCache.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20126 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Maciej.
andersca [Mon, 12 Mar 2007 23:07:51 +0000 (23:07 +0000)]
    Reviewed by Maciej.

        REGRESSION: Repro Crash in FrameLoader::frame loading about:blank in PLT

        Always get the web view from the current web frame, since the document loader's frame can have been zeroed out
        (for example when detaching the document loader).

        * WebCoreSupport/WebFrameLoaderClient.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20125 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago add missing symbol to fix the Qt build again.
lars [Mon, 12 Mar 2007 21:32:03 +0000 (21:32 +0000)]
    add missing symbol to fix the Qt build again.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20124 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Oliver.
adele [Mon, 12 Mar 2007 20:43:14 +0000 (20:43 +0000)]
    Reviewed by Oliver.

        Adding the ability to enable or disable a SearchPopupMenu.

        * platform/SearchPopupMenu.h:
        * platform/mac/SearchPopupMenuMac.mm: (WebCore::SearchPopupMenu::enabled):
        * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::showPopup):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20123 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Nikolas Zimmermann.
rwlbuis [Mon, 12 Mar 2007 20:17:49 +0000 (20:17 +0000)]
    Reviewed by Nikolas Zimmermann.

        SVG fails to correctly handle all link style selectors
        <text> elements ignore <a> children

        Allow <a> inside svg text and handle xlink:show.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20122 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by .
kmccullo [Mon, 12 Mar 2007 19:05:31 +0000 (19:05 +0000)]
    Reviewed by .

        - Actually update tests for new DST rules.

        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/Date/
        * tests/mozilla/ecma/jsref.js:
        * tests/mozilla/ecma_2/jsref.js:
        * tests/mozilla/ecma_3/Date/shell.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20121 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Oliver.
adele [Mon, 12 Mar 2007 18:49:33 +0000 (18:49 +0000)]
    Reviewed by Oliver.

        Add a missing parameter to the constructor.

        * platform/PlatformKeyboardEvent.h:
        * platform/win/KeyEventWin.cpp: (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20120 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by .
kmccullo [Mon, 12 Mar 2007 17:44:39 +0000 (17:44 +0000)]
    Reviewed by .

        - Update tests for new DST rules.

        * tests/mozilla/ecma/shell.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20118 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoJavaScriptCore:
ggaren [Mon, 12 Mar 2007 15:09:37 +0000 (15:09 +0000)]

        Reviewed by Oliver Hunt.

        Fixed <rdar://problem/4681051> Installer crashes in KJS::Collector::
        markOtherThreadConservatively(KJS::Collector::Thread*) trying to install
        iLife 06 using Rosetta on an Intel Machine

        The problem was that our thread-specific data destructor would modify the
        list of active JavaScript threads without holding the JSLock, corrupting
        the list. Corruption was especially likely if one JavaScript thread exited
        while another was starting up.

        * JavaScriptCore.exp:
        * kjs/JSLock.cpp: Don't conflate locking the JSLock with registering a
        thread, since the thread-specific data destructor needs to lock
        without registering a thread. Instead, treat thread registration as a
        part of the convenience of the JSLock object, and whittle down JSLock::lock()
        to just the bits that actually do the locking.
        * kjs/JSLock.h: Updated comments to mention the new behavior above, and
        other recent changes.
        * kjs/collector.cpp:
        (KJS::destroyRegisteredThread): Lock here.
        (KJS::Collector::registerThread): To match, assert that we're locked here.


        Reviewed by Oliver Hunt.

        Updated in light of fix for <rdar://problem/4681051> Installer crashes
        in KJS::Collector::markOtherThreadConservatively(KJS::Collector::Thread*)
        trying to install iLife 06 using Rosetta on an Intel Machine

        * JavaScriptGlue.cpp:
        (JSLockInterpreter): Ensure backwards compatibility by calling
        registerThread() when explicitly taking the JSLock. (This doesn't happen
        automatically anymore.) I doubt this actally matters, but in JavaScriptGlue
        territory, that kind of thinking will get you killed.


        Reviewed by Oliver Hunt.

        Beefed up --threaded mode in light of <rdar://problem/4681051> Installer
        crashes in KJS::Collector::markOtherThreadConservatively(KJS::Collector::Thread*)
        trying to install iLife 06 using Rosetta on an Intel Machine

        --threaded mode now runs a bunch of different JavaScript threads, randomly
        killing and respawning them. This was sufficient for reproducing the
        bug on my MacBook Pro.

        * DumpRenderTree/DumpRenderTree.m:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20115 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Fix the Qt build. I still get crashes though :/
lars [Mon, 12 Mar 2007 09:18:26 +0000 (09:18 +0000)]
    Fix the Qt build. I still get crashes though :/

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20112 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Not reviewed - gdk build fixes.
kjk [Mon, 12 Mar 2007 05:49:55 +0000 (05:49 +0000)]
    Not reviewed - gdk build fixes.

        * platform/gdk/EditorClientGdk.cpp:
        (WebCore::EditorClientGdk::respondToChangedSelection): add stub
        * platform/gdk/EditorClientGdk.h:
        * platform/gdk/FrameGdk.cpp:
        * platform/gdk/TemporaryLinkStubs.cpp:
        (Editor::markMisspellings): add stub

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20111 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Adele.
ap [Mon, 12 Mar 2007 05:39:34 +0000 (05:39 +0000)]
    Reviewed by Adele.

        W3C XPath test Text_Nodes.svg fails

        * xml/XPathStep.cpp:
        (WebCore::XPath::Step::nodeTestMatches): Revert the fix, as the behavior doesn't appear
        all that desirable as it did at first glance.

        * dom/svg/level3/xpath/Text_Nodes-expected.txt: This fails again.

        * fast/xpath/4XPath/Borrowed/kd_20010423-expected.txt:
        * fast/xpath/4XPath/Borrowed/kd_20010423.html:
        Brought the test back to its original form (in which Firefox passes).

        * fast/xpath/text-nodes-expected.txt: Added.
        * fast/xpath/text-nodes.html: Added.
        A new test for text nodes, verifying some more arcane cases.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20110 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-03-11 Oliver Hunt <oliver@apple.com>
oliver [Mon, 12 Mar 2007 05:34:38 +0000 (05:34 +0000)]
2007-03-11  Oliver Hunt  <oliver@apple.com>

        Reviewed by hyatt.

        Fix for <rdar://problem/5055690> ASSERTION failure on drop into
        editable element with content changed on drop

        After setting the selection for a drop into an editable region
        we make sure the we succeeded.  If we didn't we assume a focus handler
        or similar altered the element contents and try again, if the second
        attempt fails we bail out.

        * page/DragController.cpp:

        <rdar://problem/5055690> ASSERTION failure on drop into editable element with content changed on drop

        * fast/events/content-changed-during-drop-expected.txt: Added.
        * fast/events/content-changed-during-drop.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20109 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-03-11 Oliver Hunt <oliver@apple.com>
oliver [Mon, 12 Mar 2007 04:41:34 +0000 (04:41 +0000)]
2007-03-11  Oliver Hunt  <oliver@apple.com>

        Reviewed by Adele.
        Moving Frame{Mac}::respondToChangedSelection to Frame.cpp
        Added new EditorClient method to handle old bridge function

        * bridge/EditorClient.h:
           Added respondToChangedSelection to replace old bridge function
        * editing/Editor.cpp:
           Add client call to replace old bridge call from Frame::respondToChangedSelection
        * editing/SelectionController.cpp:
           No longer directly call Editor as Frame::respondToChangedSelection
           makes the call
        * page/Frame.cpp:
           Moved from FrameMac, replaced bridge call with call to Editor
        * page/mac/FrameMac.mm:
           Moved respondToChangedSelection to Frame.cpp
        * page/mac/WebCoreFrameBridge.h:
           Removed respondToChangedSelection from bridge
        * page/qt/FrameQt.cpp:
           Remove stub method for respondToChangedSelection
        Moved respondToChangedSelection from FrameBridge to EditorClient

        * WebCoreSupport/WebEditorClient.h:
        * WebCoreSupport/WebEditorClient.mm:
        * WebCoreSupport/WebFrameBridge.mm:
          Removed respondToChangedSelection from bridge
        Stub for EditorClientQt::respondToChangedSelection

        * WebCoreSupport/EditorClientQt.cpp:
        * WebCoreSupport/EditorClientQt.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20108 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Adele.
darin [Mon, 12 Mar 2007 03:24:45 +0000 (03:24 +0000)]
    Reviewed by Adele.

        - fix http://bugs.webkit.org/show_bug.cgi?id=12964
          <rdar://problem/5045717> REGRESSION: crash in -[WebBaseNetscapePluginStream _deliverData]
          at simpsonsmovie.com (12964)

        * Plugins/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
        At every place we call the plug-in, since it could destroy the stream, get pluginView into a local
        variable; it will be set to nil if the stream is destroyed.
        (-[WebBaseNetscapePluginStream _destroyStream]): Added calls to retain/release to handle the case where
        one of the calls to the plug-in destroys the stream. Added a call to cancelPreviousPerformRequestsWithTarget
        in case _deliverData has been scheduled but not yet delivered. Also get pluginView into a local variable
        as mentioned above, and check at strategic points and exit if the stream was already destroyed to avoid
        multiple calls to NPP_DestroyStream or NPP_URLNotify.
        (-[WebBaseNetscapePluginStream _deliverData]): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20107 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoFixed my name in the 2 ChangeLogs kjk just comitted
beidson [Mon, 12 Mar 2007 01:32:07 +0000 (01:32 +0000)]
Fixed my name in the 2 ChangeLogs kjk just comitted

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20106 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago WebCore:
kjk [Mon, 12 Mar 2007 01:09:17 +0000 (01:09 +0000)]

        Reviewed by Brady Edison.

        Linux/gdk fix.

        * loader/gdk/FrameLoaderClientGdk.cpp:
        (WebCore::FrameLoaderClientGdk::shouldGoToHistoryItem): return true so
        that FrameLoader:goBackOrForwards() works.


        Reviewed by Brady Edison.

        Add forward/backward/quit menus for easier testing.

        * GdkLauncher/main.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20105 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoJavaScriptCore:
ggaren [Sun, 11 Mar 2007 23:57:11 +0000 (23:57 +0000)]

        Reviewed by Darin Adler.

        Fixed <rdar://problem/4587763> PAC file: lock inversion between QT and
        JSCore causes a hang @ www.panoramas.dk

        With a PAC file, run-webkit-tests --threaded passes, the reported site
        works, and all the Quicktime/JavaScript and Flash/JavaScript examples
        I found through Google work, too.

        Any time JavaScript causes arbitrary non-JavaScript code to execute, it
        risks deadlock, because that code may block, trying to acquire a lock
        owned by a thread that is waiting to execute JavaScript. In this case,
        the thread was a networking thread that was waiting to interpret a PAC file.

        Because non-JavaScript code may execute in response to, well, anything,
        a perfect solution to this problem is impossible. I've implemented an
        optimistic solution, instead: JavaScript will drop its lock whenever it
        makes a direct call to non-JavaScript code through a bridging/plug-in API,
        but will blissfully ignore the indirect ways it may cause non-JavaScript
        code to run (resizing a window, for example).

        Unfortunately, this solution introduces significant locking overhead in
        the bridging APIs. I don't see a way around that.

        This patch includes some distinct bug fixes I saw along the way:

        * bindings/objc/objc_instance.mm: Fixed a bug where a nested begin() call
        would leak its autorelease pool, because it would NULL out _pool without
        draining it.

        * bindings/runtime_object.cpp:
        (RuntimeObjectImp::methodGetter): Don't copy an Identifier to ASCII only
        to turn around and make an Identifier from the ASCII. In an earlier
        version of this patch, the copy caused an assertion failure. Now it's
        just unnecessary work.
        (RuntimeObjectImp::getOwnPropertySlot): ditto

        * bindings/objc/objc_instance.h: Removed overrides of setVAlueOfField and
        getValueOfField, because they did exactly what the base class versions did.
        Removed overrides of Noncopyable declarations for the same reason.

        * bindings/runtime.h: Inherit from Noncopyable instead of rolling our own.
        * bindings/c/c_instance.h: ditto

        And the actual patch:

        * API/JSCallbackConstructor.cpp: Drop all locks when calling out to C.
        * API/JSCallbackFunction.cpp: ditto
        * API/JSCallbackObject.cpp: ditto

        * bindings/c/c_instance.cpp: Drop all locks when calling out to C.
        * bindings/c/c_runtime.cpp: Drop all locks when calling out to C.
        * bindings/jni/jni_objc.mm:
        (KJS::Bindings::dispatchJNICall): Drop all locks when calling out to Java.

        * bindings/objc/objc_instance.mm: The changes here are to accomodate the
        fact that C++ unwinding of DropAllLocks goes crazy when you put it inside
        a @try block. I moved all JavaScript stuff outside of the @try blocks, and
        then prefixed the whole blocks with DropAllLocks objects. This required some
        supporting changes in other functions, which now acquire the JSLock for
        themselves, intead of relying on their callers to do so.
        * bindings/objc/objc_runtime.mm: Same as above, except I didn't want to
        change throwError to acquire the JSLock for itself.
        * bindings/objc/objc_utility.mm: Supporting changes mentioned above.

        * kjs/JSLock.cpp:
        (1) Fixed DropAllLocks to behave as advertised, and drop the JSLock only
        if the current thread actually acquired it in the first place. This is
        important because WebKit needs to ensure that the JSLock has been
        dropped before it makes a plug-in call, even though it doesn't know if
        the current thread actually acquired the JSLock. (We don't want WebKit
        to accidentally drop a lock belonging to *another thread*.)
        (2) Used the new per-thread code written for (1) to make recursive calls
        to JSLock very cheap. JSLock now knows to call pthread_mutext_lock/
        pthread_mutext_unlock only at nesting level 0.
        * kjs/JSLock.h: Don't duplicate Noncopyable.

        * wtf/Assertions.h: Blind attempt at helping the Windows build.


        Reviewed by Darin Adler.

        Fixed <rdar://problem/4587763> PAC file: lock inversion between QT and
        JSCore causes a hang @ www.panoramas.dk

        See JavaScriptCore ChangeLog for details.

        * bindings/objc/WebScriptObject.mm:
        (_didExecute): Added helpful ASSERT.
        (+[WebScriptObject throwException:]): Added missing JSLock.


        Reviewed by Darin Adler.

        Fixed <rdar://problem/4587763> PAC file: lock inversion between QT and
        JSCore causes a hang @ www.panoramas.dk

        See JavaScriptCore ChangeLog for details.

        Drop the JSLock before making calls through the plug-in API from functions
        that may have been called by JavaScript.

        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView sendEvent:]):
        (-[WebBaseNetscapePluginView setWindowIfNecessary]):
        (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
        (-[WebBaseNetscapePluginView createPluginScriptableObject]):
        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
        (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
        (-[WebBaseNetscapePluginView loadPluginRequest:]):
        (-[WebBaseNetscapePluginView _printedPluginBitmap]):
        * Plugins/WebPluginController.mm:
        (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
        (-[WebPluginController startAllPlugins]):
        (-[WebPluginController stopAllPlugins]):
        (-[WebPluginController addPlugin:]):
        (-[WebPluginController destroyPlugin:]):
        (-[WebPluginController destroyAllPlugins]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20104 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Hyatt.
antti [Sun, 11 Mar 2007 11:14:34 +0000 (11:14 +0000)]
    Reviewed by Hyatt.

        Optimize linebox memory consumption:
        - move all bitfields to baseclass compacting them
        - make InlineTextBox::m_truncation unsigned short and make it relative to m_start
        - remove extremely rarely used EllipsisBox pointer from RootInlineBox and instead
          use a global hashmap to store it if needed
        - use minimum required number of bits to store BidiStatus enum variables in RootInlineBox
        - move overflow variables in RootInlineBox to a separate struct that is instantiated
          only if any of the variables is set to a value that can't trivially be derived from
          box x, y, width and height

        As a result line box objects shrink:
            InlineBox: 44 -> 44 bytes
            InlineTextBox: 68 -> 60 bytes
            InlineFlowBox: 68 -> 64 bytes
            RootInlineBox: 128 -> 88 bytes

        The optimizations possiblity was noticed when debugging http://bugs.webkit.org/show_bug.cgi?id=12833
        Bug 12833: REGRESSION: Selecting text in 6.6MB txt file is sluggish as of the Feb 19th nightly

        On that page the patch saves 11.5MB or some 21% of linebox memory consumption. It also
        actually improves selection performance somewhat by improving memory locality.

        * rendering/InlineBox.h:
        * rendering/InlineFlowBox.h:
        * rendering/InlineTextBox.cpp:
        * rendering/InlineTextBox.h:
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::Overflow::operator delete):
        * rendering/RootInlineBox.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20103 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Darin.
ap [Sun, 11 Mar 2007 08:21:13 +0000 (08:21 +0000)]
    Reviewed by Darin.

        A partial fix for http://bugs.webkit.org/show_bug.cgi?id=13021
        XPath can be very slow

        * xml/XPathExpression.cpp:
        (WebCore::XPathExpression::evaluate): Cache evaluationContext in a local variable.

        * xml/XPathExpressionNode.cpp:
        * xml/XPathExpressionNode.h:
        * xml/XPathFunctions.cpp:
        * xml/XPathFunctions.h:
        Made one-liners critical for performance inline.

        * xml/XPathGrammar.y: Fully parse NodeTests, so that strings are no longer passed for what is
        essentially an enum. Use LocationPath accessors to add steps, instead of directly manipulating
        internal data members.

        * xml/XPathParser.cpp:
        * xml/XPathParser.h:
        Added support methods for changes in XPathGrammar.y.

        * xml/XPathPath.cpp:
        (WebCore::XPath::Filter::evaluate): Cache evaluationContext in a local variable. Use swap() to avoid
        performing vector assignments.
        (WebCore::XPath::LocationPath::evaluate): Use swap() to avoid performing vector assignments.
        (WebCore::XPath::LocationPath::optimizeStepPair): This new method is called during LocationPath construction,
        to simplify the path as it's being built. Currently, the only optimized case is "//*" - it is a basis for
        important operations that cannot be efficiently written in XPath 1.0, but can be optimized with a little bit
        of XPath 2.0.
        (WebCore::XPath::LocationPath::appendStep): A new accessor that modifies m_steps and calls optimizeStepPair().
        (WebCore::XPath::LocationPath::insertFirstStep): Ditto.
        * xml/XPathPath.h:
        (WebCore::XPath::LocationPath::setAbsolute): A new accessor.

        * xml/XPathStep.h:
        Step::NodeTest is a new sub-class that represents a fully parsed NodeTest.
        New accessors that let optimizeStepPair() manipulate Step data.

        * xml/XPathStep.cpp:
        (WebCore::XPath::Step::Step): Use the new NodeTest class.
        (WebCore::XPath::Step::evaluate): Cache evaluationContext in a local variable. Use swap() to avoid
        performing unneeded vector assignments.
        (WebCore::XPath::Step::nodesInAxis): Cosmetic changes.
        (WebCore::XPath::Step::nodeTestMatches): Use NodeTest instead of parsing the test from string each time.
        Added a partial implementation of XPath 2.0 element() node test.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20102 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Darin.
ap [Sun, 11 Mar 2007 08:10:38 +0000 (08:10 +0000)]
    Reviewed by Darin.

        FCKeditor: <hr>, <ul> and <ol> have id="undefined"

        This fixes the attached reduction, but not the original issue.

        Test: editing/execCommand/default-parameters.html

        * dom/Document.h:
        * dom/Document.idl:
        Make second and third execCommand() parameters optional.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20101 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Maciej.
adele [Sat, 10 Mar 2007 23:37:15 +0000 (23:37 +0000)]
    Reviewed by Maciej.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=13028
        REGRESSION: textField:doCommandBySelector:inFrame: not being called properly

        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
          Before calling the base class defaultEventHandler, which will call handleKeypress, call doTextFieldCommandFromEvent.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20100 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
ddkilzer [Sat, 10 Mar 2007 22:46:31 +0000 (22:46 +0000)]

        Reviewed by Darin.

        - test for http://bugs.webkit.org/show_bug.cgi?id=13013
          REGRESSION: Selection box does not scroll to where the focus jumps when pressing an alphanumeric key

        * fast/forms/listbox-typeahead-scroll-expected.txt: Added.
        * fast/forms/listbox-typeahead-scroll.html: Added.


        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13013
          REGRESSION: Selection box does not scroll to where the focus jumps when pressing an alphanumeric key

        Test: fast/forms/listbox-typeahead-scroll.html

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::setSelectedIndex): Reordered to set the active selection's
        anchor and end before selecting the option, since the active selection is used to
        decide where to scroll when the selection is made.
        (WebCore::HTMLSelectElement::defaultEventHandler): Removed redundant check.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20099 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
ddkilzer [Sat, 10 Mar 2007 22:43:14 +0000 (22:43 +0000)]

        Reviewed by Darin.

        - test for http://bugs.webkit.org/show_bug.cgi?id=12973
          REGRESSION: Reproducible assert while loading this test file if css is already in the cache

        * fast/dom/css-cached-import-rule-expected.checksum: Added.
        * fast/dom/css-cached-import-rule-expected.png: Added.
        * fast/dom/css-cached-import-rule-expected.txt: Added.
        * fast/dom/css-cached-import-rule.html: Added.


        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=12973
          REGRESSION: Reproducible assert while loading this test file if css is already in the cache

        Test: fast/dom/css-cached-import-rule.html

        Replaced some direct calls to document->stylesheetLoaded() with calls to
        the sheet's checkLoaded(). The latter calls back to the element's sheetLoaded() --
        which notifies the document of the load -- and then updates the sheet's
        loadCompleted() flag, ensuring that it stays in sync with whether the stylesheet
        is still considered pending by the document.

        * dom/ProcessingInstruction.cpp:
        * dom/StyleElement.cpp:
        * html/HTMLLinkElement.cpp:
        * ksvg2/svg/SVGStyleElement.cpp:
        * ksvg2/svg/SVGStyleElement.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20098 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebCore:
ddkilzer [Sat, 10 Mar 2007 22:38:07 +0000 (22:38 +0000)]

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9609
          REGRESSION: Missing image icon needs to be moved back to WebKit

        * WebCore.exp: Export WebCore::Image::loadPlatformResource(const char*) for use in
        [WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:].


        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9609
          REGRESSION: Missing image icon needs to be moved back to WebKit

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
        Use WebCore::Image::loadPlatformResource(const char*) to load the missingImage image.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20097 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-03-10 Mark Rowe <mrowe@apple.com>
bdash [Sat, 10 Mar 2007 08:08:36 +0000 (08:08 +0000)]
2007-03-10  Mark Rowe  <mrowe@apple.com>

        Reviewed by John.

        <rdar://problem/5051827> HIWebView handling of kEventControlGetData is broken in 64-bit

        On Leopard the kEventParamControlDataBufferSize event parameter is of type typeByteCount.
        The 32-bit implementation of GetEventParameter will coerce between integer types and
        typeByteCount while the 64-bit version will return a failure. As typeByteCount is new
        in Leopard we must continue using typeSInt32 when building for Tiger.

        * Carbon/HIWebView.m:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20096 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebKitTools:
ddkilzer [Sat, 10 Mar 2007 00:41:48 +0000 (00:41 +0000)]

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13007
          svn-create-patch doesn't handle UTF files with BOMs as text

        Force diff to treat files that svn-create-patch thinks are text as text.

        * Scripts/svn-create-patch: Added -a switch to diff command.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20095 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Darin.
thatcher [Fri, 9 Mar 2007 22:58:02 +0000 (22:58 +0000)]
    Reviewed by Darin.

        <rdar://problem/4976254> Please get off _NSSoftLinkingGetFrameworkFuncPtr

        Use dlopen and dlsym to access the DCSShowDictionaryServiceWindow function.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _lookUpInDictionaryFromMenu:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20094 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago * blog/wp-content/themes/webkit/style.css: Removed rule for code since
darin [Fri, 9 Mar 2007 19:45:36 +0000 (19:45 +0000)]
    * blog/wp-content/themes/webkit/style.css: Removed rule for code since
        we want it to match pre, and the default font looks fine -- no need to
        ask for "Courier New" explicitly.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20093 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
darin [Fri, 9 Mar 2007 18:54:29 +0000 (18:54 +0000)]

        Reviewed by Justin.

        - test for http://bugs.webkit.org/show_bug.cgi?id=8928
          <rdar://problem/5045708> REPRODUCIBLE ASSERT: Cannot paste HTML into a
          contenteditable region in an XHTML document (8928)

        * editing/pasteboard/paste-xml-expected.checksum: Added.
        * editing/pasteboard/paste-xml-expected.png: Added.
        * editing/pasteboard/paste-xml-expected.txt: Added.
        * editing/pasteboard/paste-xml.xhtml: Added.


        Reviewed by Justin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8928
          <rdar://problem/5045708> REPRODUCIBLE ASSERT: Cannot paste HTML into a
          contenteditable region in an XHTML document (8928)

        Test: editing/pasteboard/paste-xml.xhtml

        * editing/markup.cpp: (WebCore::createFragmentFromMarkup): Added a check for 0
        here, since createContextualFragment can return 0 for XML documents that fail
        to parse. In my testing, callers all seem equipped to handle 0.


        Reviewed by Justin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8928
          <rdar://problem/5045708> REPRODUCIBLE ASSERT: Cannot paste HTML into a
          contenteditable region in an XHTML document (8928)

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _hasHTMLDocument]): Added.
        (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
        Don't call AppKit's conversion from the DOM to an attributed string if the document
        is not an HTML document, to work around an AppKit limitation (Radar 5052390).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20092 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
darin [Fri, 9 Mar 2007 16:19:18 +0000 (16:19 +0000)]
    * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20091 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
weinig [Fri, 9 Mar 2007 16:05:37 +0000 (16:05 +0000)]

        Reviewed by Darin.

        - test for http://bugs.webkit.org/show_bug.cgi?id=9929
          REGRESSION: crash on logging in on mijnpostbank.nl

        * http/tests/misc/onload-remove-iframe-crash-2-expected.txt: Added.
        * http/tests/misc/onload-remove-iframe-crash-2.html: Added.
        * http/tests/misc/resources/onload-remove-iframe-crash-2.html: Added.
        * http/tests/misc/resources/onload-remove-iframe.html: Added.


        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9929
          REGRESSION: crash on logging in on mijnpostbank.nl

        Test: http/tests/misc/onload-remove-iframe-crash-2.html

        The resulted from an iframe's load event handler removing the iframe
        from the document.

        * dom/Document.cpp:
        (WebCore::Document::implicitClose): Bail out early if an event handler
        removed the frame.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::checkCompleted): Protect the frame from deletion
        by event handlers.
        (WebCore::FrameLoader::detachFromParent): Schedule a completion check
        on the parent (in case the child is what has been keeping it from completing).
        * loader/FrameLoader.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20090 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoI forgot to commit my ChangeLog as part of r20028, sorry about that.
rwlbuis [Fri, 9 Mar 2007 12:35:46 +0000 (12:35 +0000)]
I forgot to commit my ChangeLog as part of r20028, sorry about that.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20089 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoRoll out r20078 as it's causing a crash during layout tests.
bdash [Fri, 9 Mar 2007 10:00:15 +0000 (10:00 +0000)]
Roll out r20078 as it's causing a crash during layout tests.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20088 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebCore:
ddkilzer [Fri, 9 Mar 2007 06:05:00 +0000 (06:05 +0000)]

        Reviewed by Beth.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13019
          REGRESSION (r20074): Forms don't submit on a variety of websites

        No tests added since LayoutTests/fast/forms/document-write.html was timing out
        and causing a layout test failure.

        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::submit): Removed stray code.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20084 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Not reviewed - gdk build fix.
kjk [Fri, 9 Mar 2007 04:55:44 +0000 (04:55 +0000)]
    Not reviewed - gdk build fix.

        * platform/graphics/cairo/ImageSourceCairo.cpp:
        (WebCore::ImageSource::frameIsCompleteAtIndex): add empty stub

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20083 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-03-08 Mark Rowe <mrowe@apple.com>
bdash [Fri, 9 Mar 2007 04:23:41 +0000 (04:23 +0000)]
2007-03-08  Mark Rowe  <mrowe@apple.com>

        Reviewed by Tim Hatcher.

        <rdar://problem/5051616> Mouse clicks and movement are ignored in HIWebView on 64-bit

        Mouse events are not being handled correctly as GetControlKind is returning an error
        on 64-bit.  The more modern HIObjectIsOfClass behaves correctly for this use.

        * Carbon/HIWebView.m:
        (WindowHandler): Use HIObjectIsOfClass in place of GetControlKind.
        (HIWebViewEventHandler): Don't leak the NSEvent.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20082 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-03-09 Mark Rowe <mrowe@apple.com>
bdash [Fri, 9 Mar 2007 04:06:10 +0000 (04:06 +0000)]
2007-03-09  Mark Rowe  <mrowe@apple.com>

        Unreviewed.  Use the new SVN URL on the buildbot.

        * BuildSlaveSupport/build.webkit.org-config/webkit/steps.py:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20081 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-03-09 Mark Rowe <mrowe@apple.com>
bdash [Fri, 9 Mar 2007 03:57:17 +0000 (03:57 +0000)]
2007-03-09  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Tim Hatcher.

        Sexy blog permalinks!

        * blog/.htaccess: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20080 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-03-08 MorganL <morganl.webkit@yahoo.com>
bdash [Fri, 9 Mar 2007 03:11:46 +0000 (03:11 +0000)]
2007-03-08  MorganL  <morganl.webkit@yahoo.com>

        Reviewed by Darin.

        Bug 13018: allow embedders to override the definition of CRASH.

        * wtf/Assertions.h: make it possible to override CRASH.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20079 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-03-08 Mitz Pettel <mitz@webkit.org>
bdash [Fri, 9 Mar 2007 03:08:35 +0000 (03:08 +0000)]
2007-03-08  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Brady.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13015
          REGRESSION (r17233-r17241): Repro crash when leaving a page whose unload handler submits a form

        Test: fast/loader/onunload-form-submit-crash-2.html

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::finishedLoading): Added null check.

2007-03-08  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Brady.

        - test for http://bugs.webkit.org/show_bug.cgi?id=13015
          REGRESSION (r17233-r17241): Repro crash when leaving a page whose unload handler submits a form

        * fast/loader/onunload-form-submit-crash-2-expected.txt: Added.
        * fast/loader/onunload-form-submit-crash-2.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20078 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-03-08 Bruce Q Hammond <bruceq@apple.om>
bdash [Fri, 9 Mar 2007 03:02:08 +0000 (03:02 +0000)]
2007-03-08  Bruce Q Hammond  <bruceq@apple.om>

        Reviewed by Darin.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=13009
        Console spews "CGContextGetType: invalid context" non-stop on web site

        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
        (-[WebBaseNetscapePluginView restorePortState:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20077 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-03-09 Mark Rowe <mrowe@apple.com>
bdash [Fri, 9 Mar 2007 02:37:56 +0000 (02:37 +0000)]
2007-03-09  Mark Rowe  <mrowe@apple.com>

        Reviewed by Adam.

        * building/checkout.html: Update repository URL.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20076 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
justing [Fri, 9 Mar 2007 02:37:26 +0000 (02:37 +0000)]

        Reviewed by harrison

        On particular page, Copy is so slow it seems like a hang

        Less messy DOM trees:
        * editing/deleting/delete-3857753-fix-expected.txt:
        * editing/inserting/insert-3786362-fix-expected.txt:
        * editing/inserting/insert-3907422-fix-expected.txt:
        * editing/pasteboard/display-block-on-spans-expected.txt:
        * editing/pasteboard/paste-4035648-fix-expected.txt:
        * editing/pasteboard/paste-4039777-fix-expected.txt:
        * editing/pasteboard/paste-line-endings-001-expected.txt:
        * editing/pasteboard/paste-line-endings-006-expected.txt:
        * editing/pasteboard/paste-list-001-expected.txt:
        * editing/pasteboard/paste-pre-001-expected.txt:
        * editing/pasteboard/paste-pre-002-expected.txt:
        * editing/pasteboard/paste-table-001-expected.txt:
        * editing/pasteboard/paste-table-002-expected.txt:
        * editing/pasteboard/paste-text-003-expected.txt:
        * editing/pasteboard/paste-text-011-expected.txt:
        * editing/pasteboard/paste-text-015-expected.txt:
        * editing/pasteboard/paste-text-016-expected.txt:
        * editing/pasteboard/paste-text-017-expected.txt:
        * editing/pasteboard/styled-element-markup-expected.txt:
        * editing/pasteboard/testcase-9507-expected.txt:
        * editing/style/smoosh-styles-001-expected.txt:
        * editing/style/smoosh-styles-002-expected.txt:
        * fast/lists/drag-into-marker-expected.txt:
        Styles from style sheets are now inlined:
        * webarchive/test-duplicate-resources-expected.txt:
        * webarchive/test-frameset-expected.txt:
        * webarchive/test-link-href-expected.txt:\
        Two levels of nesting are removed, but text nodes are no
        longer coalesced when they should be, investigating:
        * editing/pasteboard/block-wrappers-necessary-expected.txt:


        Reviewed by harrison

        On particular page, Copy is so slow it seems like a hang

        ~2x speedup copying:
        Also produces less bloated markup.

        * editing/markup.cpp:
        (WebCore::startMarkup): Don't wrap text nodes in style spans.
        For Elements, don't inline styles inherited from ancestors.
        (WebCore::createMarkup): No longer necessary to find
        the root's default style and pass it to startMarkup.
        Add a wrapper span around the markup with the styles
        that all nodes in the markup inherit (the inheritable
        styles from the common ancestor container's computed style).
        Added a FIXME about unecessary markup for inline ancestors
        up to the commonAncestorBlock.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20075 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Adele.
darin [Fri, 9 Mar 2007 02:25:25 +0000 (02:25 +0000)]
    Reviewed by Adele.

        - <rdar://problem/4470381> multipart/form-data boundary security vulnerability

        By making the form data boundary a string with some random data in it, we reduce
        the possibility that anyone could take advantage of it by creating a file that
        intentionally has the boundary string in it.

        * html/HTMLFormElement.h: Removed boundary(), setBoundary(), and m_boundary.
        Marked a lot more stuff private.
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::HTMLFormElement): Removed code to initialize
        (WebCore::randomNumber): Added. Function that returns a random number, including
        seeding the random number generator the first time it's called. For now, usees the more
        random function random() on Mac OS X and the more-standard rand() on other platforms.
        (WebCore::HTMLFormElement::formData): Take a parameter with the form boundary string,
        and use that instead of m_boundary.
        (WebCore::getUniqueBoundaryString): Added. Makes a boundary string using random numbers
        and base 64 encoding.
        (WebCore::HTMLFormElement::submit): Call getUniqueBoundaryString and pass the boundary
        string into formData for multipart form posts.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20074 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-03-08 Mark Rowe <mrowe@apple.com>
bdash [Fri, 9 Mar 2007 02:15:19 +0000 (02:15 +0000)]
2007-03-08  Mark Rowe  <mrowe@apple.com>

        Reviewed by Tim Hatcher.

        <rdar://problem/4561772> HIWebView does not exist for 64-bit

        Update HIWebView and friends to work without QuickDraw.

        Changes are gleaned from the 64-bit support inside HICocoaView.  The main
        fact of interest are that all Carbon windows must have compositing enabled
        so the code paths that aren't accessible are #ifdef'd out.  Conveniently
        these are the exact code paths that make use of QuickDraw.

        There are currently minor event-handling and invalidation issues running as
        64-bit that are not present in 32-bit.

        * Carbon/CarbonUtils.m:
        * Carbon/CarbonWindowAdapter.m:
        * Carbon/CarbonWindowFrame.m:
        * Carbon/HIViewAdapter.m:
        * Carbon/HIWebView.m:
        * WebKit.LP64.exp: Removed.
        * WebKit.xcodeproj/project.pbxproj: Always use WebKit.exp.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20073 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
mjs [Fri, 9 Mar 2007 02:12:43 +0000 (02:12 +0000)]

        Reviewed by Adele.

        <rdar://problem/4646563> REGRESSION: Unable to send text message from Verizon text message website: vtext.com (12588)

        Carefully revised which focus operations restore previous selection, which clear it, and which
        select the whole control contents, these test cases cover every focus call I could find.

        * fast/forms/focus-selection-input-expected.txt: Added.
        * fast/forms/focus-selection-input.html: Added.
        * fast/forms/focus-selection-textarea-expected.txt: Added.
        * fast/forms/focus-selection-textarea.html: Added.
        * fast/forms/onselect-textfield-expected.txt:


        Reviewed by Adele.

        <rdar://problem/4646563> REGRESSION: Unable to send text message from Verizon text message website: vtext.com (12588)

        Carefully revised which focus operations restore previous selection, which clear it, and which
        select the whole control contents.


        * dom/Element.cpp:
        * dom/Element.h:
        * html/HTMLInputElement.cpp:
        * html/HTMLInputElement.h:
        * html/HTMLLabelElement.cpp:
        * html/HTMLLabelElement.h:
        * html/HTMLLegendElement.cpp:
        * html/HTMLLegendElement.h:
        * html/HTMLTextAreaElement.cpp:
        * html/HTMLTextAreaElement.h:
        * page/FocusController.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20072 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
justing [Fri, 9 Mar 2007 00:33:32 +0000 (00:33 +0000)]

        Reviewed by harrison

        FCKeditor: Find dialog doesn't work

        * editing/execCommand/12244-expected.txt: Added.
        * editing/execCommand/12244.html: Added.
        * fast/dom/Window/window-properties-expected.txt:


        Reviewed by harrison

        FCKeditor: Find dialog doesn't work

        * bindings/js/kjs_window.cpp:
        (KJS::Window::find): Added.  This function doesn't yet
        support whole word searches, searching in subframes, or
        opening the find dialog.
        * bindings/js/kjs_window.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20071 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Fix regression from throwing away frames of large animated images. Alter
hyatt [Thu, 8 Mar 2007 23:58:11 +0000 (23:58 +0000)]
    Fix regression from throwing away frames of large animated images.  Alter
        animated images so that they refuse to advance the animation until the
        current displayed frame has been fully decoded.

        Reviewed by ggaren

        * platform/graphics/BitmapImage.cpp:
        * platform/graphics/ImageSource.h:
        * platform/graphics/cg/ImageSourceCG.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20070 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Fix 2% performance regression on the PLT. Increase the large animated
hyatt [Thu, 8 Mar 2007 23:33:43 +0000 (23:33 +0000)]
    Fix 2% performance regression on the PLT.  Increase the large animated
        image cutoff from 1MB to 5MB.

        In addition when pruning we will aggressively discard image sources.

        Reviewed by ggaren

        * platform/graphics/BitmapImage.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20069 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agogit-svn-id: https://svn.webkit.org/repository/webkit/trunk@20068 268f45cc-cd09-0410...
justing [Thu, 8 Mar 2007 22:42:16 +0000 (22:42 +0000)]
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20068 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebCore:
thatcher [Thu, 8 Mar 2007 22:16:07 +0000 (22:16 +0000)]

        Reviewed by John.

        <rdar://problem/4664697> highlighter SPI needs a node parameter to give more context

        Pass the RenderObject's node to customHighlightLineRect and paintCustomHighlight.

        * page/Frame.h:
        * page/mac/FrameMac.mm:
        * page/mac/WebCoreFrameBridge.h:
        * rendering/InlineTextBox.cpp:
        * rendering/RenderBox.cpp:
        * rendering/RootInlineBox.cpp:


        Reviewed by John.

        <rdar://problem/4664697> highlighter SPI needs a node parameter to give more context

        Added new methods to the WebHTMLHighlighter protocol that include the DOMNode being painted.

        * WebCoreSupport/WebFrameBridge.mm:
        (-[WebFrameBridge customHighlightRect:forLine:representedNode:WebCore::]):
        (-[WebFrameBridge paintCustomHighlight:forBox:onLine:behindText:entireLine:representedNode:WebCore::]):
        * WebKit.xcodeproj/project.pbxproj:
        * WebView/WebHTMLViewPrivate.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20067 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
justing [Thu, 8 Mar 2007 22:00:53 +0000 (22:00 +0000)]

        Reviewed by harrison

        Range.createContextualFragment is not supported

        * fast/dom/Range/13000-expected.txt: Added.
        * fast/dom/Range/13000.html: Added.


        Reviewed by harrison

        Range.createContextualFragment is not supported

        * dom/Range.cpp:
        (WebCore::Range::createContextualFragment): The
        "startContainer" may not be a container, if the
        range starts inside text.  In that case, look
        to the parent of the start node for an HTMLElement.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20066 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
justing [Thu, 8 Mar 2007 20:49:37 +0000 (20:49 +0000)]

        Reviewed by harrison

        Gmail Editor: With linked text, Remove Formatting doesn't always remove underline

        * editing/execCommand/5049671-expected.checksum: Added.
        * editing/execCommand/5049671-expected.png: Added.
        * editing/execCommand/5049671-expected.txt: Added.
        * editing/execCommand/5049671.html: Added.


        Reviewed by harrison

        Gmail Editor: With linked text, Remove Formatting doesn't always remove underline

        * editing/Editor.cpp:
        (WebCore::Editor::removeFormattingAndStyle): Clear removed
        anchors after the deletion.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20065 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoAttempt to fix the build.
thatcher [Thu, 8 Mar 2007 18:33:04 +0000 (18:33 +0000)]
Attempt to fix the build.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20064 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebCore:
ddkilzer [Thu, 8 Mar 2007 15:03:56 +0000 (15:03 +0000)]

        Reviewed by NOBODY (build fix).

        Added missing file for r20059:
        <rdar://problem/4708689> -- REGRESSION: Some symbols with 2-byte display as garbage in Hotmail.

        File was taken from this svn repository which contained versions of ucnv.h and ucnv_err.h
        that were identical to ours:

        * icu/unicode/ucnv_cb.h: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20062 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-03-09 Shrikant Gangoda <shrikant.gangoda@celunite.com>
bdash [Thu, 8 Mar 2007 13:57:12 +0000 (13:57 +0000)]
2007-03-09  Shrikant Gangoda  <shrikant.gangoda@celunite.com>

        Gdk build fix.

        * platform/graphics/cairo/ImageSourceCairo.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20061 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-03-08 Mark Rowe <mrowe@apple.com>
bdash [Thu, 8 Mar 2007 12:09:29 +0000 (12:09 +0000)]
2007-03-08  Mark Rowe  <mrowe@apple.com>

        Reviewed by Antti.

        Fix compiler warnings when building Drosera as 64-bit.

        * Drosera/DebuggerDocument.m:
        (-[DebuggerDocument breakpointEditorHTML]): Move away from deprecated NSString method.
        (-[DebuggerDocument scriptConfirmSheetDidEnd:returnCode:contextInfo:]): Update type.
        (-[DebuggerDocument webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:]): Update type to accommodate constant.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20060 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2007-03-08 Oliver Hunt <oliver@apple.com>
oliver [Thu, 8 Mar 2007 11:08:53 +0000 (11:08 +0000)]
2007-03-08  Oliver Hunt  <oliver@apple.com>

        Reviewed by Adam.
        To match old TEC behaviour when using ICU we need to use
        a few manual fallback encodings for the GBK/EUC-CN charsets

        <rdar://problem/4708689> -- REGRESSION: Some symbols with 2-byte display as garbage in Hotmail.

        * platform/TextCodecICU.cpp:
        * platform/TextCodecICU.h:

        Adding GBK character encoding tests

        * fast/encoding/char-encoding-expected.txt:
        * fast/encoding/char-encoding.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20059 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Try fixing the buildbot build.
andersca [Thu, 8 Mar 2007 09:12:06 +0000 (09:12 +0000)]
    Try fixing the buildbot build.

        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20058 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebCore:
ap [Thu, 8 Mar 2007 08:48:55 +0000 (08:48 +0000)]
        Build fix.

        * xml/XPathUtil.cpp:

        Added a test for attribute node string-value.

        * fast/xpath/string-value-expected.txt:
        * fast/xpath/string-value.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20057 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago This patch dramatically reduces the memory consumed by animated images. ...
hyatt [Thu, 8 Mar 2007 08:43:35 +0000 (08:43 +0000)]
    This patch dramatically reduces the memory consumed by animated images.  For large animated GIFs (defined for
        now as >1mb in terms of decoded frame buffer size), we will now aggressively flush previous frames of the
        animated GIF and just re-decode them on the fly if the animation loops.

        Whenever a large animated GIF has its animation reset, we will also just throw out everything and start
        the animation over (in order to get rid of any cached detritus held in the ImageSource).

        With this patch and the sample GIF used to test, WebKit's memory consumption went from 160MB down to 16MB.

        Reviewed by mjs

        * platform/graphics/BitmapImage.cpp:
        * platform/graphics/ImageSource.h:
        * platform/graphics/cg/ImageSourceCG.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20056 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Darin.
ap [Thu, 8 Mar 2007 08:16:04 +0000 (08:16 +0000)]
    Reviewed by Darin.

        XPath string-value is broken for some node types

        Test: fast/xpath/string-value.html

        * xml/XPathUtil.cpp:
        (WebCore::XPath::stringValue): Fix it :-)

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20055 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoAdded bug number and fixed email address.
ddkilzer [Thu, 8 Mar 2007 08:02:21 +0000 (08:02 +0000)]
Added bug number and fixed email address.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20054 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Adam.
andersca [Thu, 8 Mar 2007 07:15:04 +0000 (07:15 +0000)]
    Reviewed by Adam.

        REGRESSION: crash loading web archive (12634)

        The reason this bug wasn't always reproducible is that it involved sending an event to a plugin while
        the page was loading. Before we send the event to the plugin we defer loads. The problem was that
        MainResourceLoader::setDefersLoad would not work with data loads.

        * loader/DocumentLoader.cpp:
        Only set m_committed to false if we also have a valid unreachable URL.

        * loader/MainResourceLoader.cpp:
        Make sure to stop and start data loads.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20053 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Not reviewed.
kjk [Thu, 8 Mar 2007 07:01:20 +0000 (07:01 +0000)]
    Not reviewed.

        Gdk build fixes.

        * platform/gdk/EditorClientGdk.cpp:
        (WebCore::EditorClientGdk::handleKeypress): renamed
        (WebCore::EditorClientGdk::handleInputMethodKeypress): add a stub
        * platform/gdk/EditorClientGdk.h:
        * platform/graphics/cairo/ImageSourceCairo.cpp:
        (WebCore::ImageSource::destroyFrameAtIndex): add a stub

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20052 268f45cc-cd09-0410-ab3c-d52691b4dbfc