WebKit-https.git
15 years ago2007-05-15 Adam Treat <adam@staikos.net>
staikos [Wed, 16 May 2007 04:19:14 +0000 (04:19 +0000)]
2007-05-15  Adam Treat  <adam@staikos.net>

        Reviewed by George Staikos.

        - Add missing paint for nested subframes.

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

15 years agoLayoutTests:
weinig [Wed, 16 May 2007 03:35:24 +0000 (03:35 +0000)]
LayoutTests:

        Reviewed by Oliver.

        - Yet more tests for http://bugs.webkit.org/show_bug.cgi?id=13722
          Finish testing and fixing the setting of DOM attributes to JS null

          Tests for SVG attributes that take a DOMString.

        * fast/dom/svg-element-attribute-js-null-expected.txt: Added.
        * fast/dom/svg-element-attribute-js-null.xhtml: Added.

WebCore:

        Reviewed by Oliver.

        - Patch for http://bugs.webkit.org/show_bug.cgi?id=13722
          Finish testing and fixing the setting of DOM attributes to JS null

          Convert JS null to null string for SVG attributes.

        Test: fast/dom/svg-element-attribute-js-null.xhtml

        * ksvg2/svg/SVGAngle.idl:
        * ksvg2/svg/SVGElement.idl:
        * ksvg2/svg/SVGLength.idl:
        * ksvg2/svg/SVGScriptElement.idl:

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

15 years agoLayoutTests:
weinig [Wed, 16 May 2007 03:24:01 +0000 (03:24 +0000)]
LayoutTests:

        Reviewed by Oliver.

        - More Tests for http://bugs.webkit.org/show_bug.cgi?id=13722
          Finish testing and fixing the setting of DOM attributes to JS null

          Tests for CanvasRenderingContext2D attributes that take a DOMString.

        * fast/dom/canvasContext2d-element-attribute-js-null-expected.txt: Added.
        * fast/dom/canvasContext2d-element-attribute-js-null.html: Added.

WebCore:

        Reviewed by Oliver.

        - Patch for http://bugs.webkit.org/show_bug.cgi?id=13722
          Finish testing and fixing the setting of DOM attributes to JS null

          Convert JS null to null string for CanvasRenderingContext2D attributes.

        Test: fast/dom/canvasContext2d-element-attribute-js-null.html

        * html/CanvasRenderingContext2D.idl:

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

15 years ago2007-05-15 Oliver Hunt <oliver@apple.com>
oliver [Wed, 16 May 2007 02:57:54 +0000 (02:57 +0000)]
2007-05-15  Oliver Hunt  <oliver@apple.com>

WebCore:

        Reviewed by Sam and Geoff.

        Removing dead code left behind from drag and drop refactoring.

        * page/mac/WebCoreFrameBridge.h:

WebKit:

        Reviewed by Sam and Geoff.

        Removing dead code left behind from drag and drop refactoring.

        * WebCoreSupport/WebFrameBridge.mm:
        * WebView/WebHTMLView.mm:
        * WebView/WebHTMLViewPrivate.h:

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

15 years agoLayoutTests:
weinig [Wed, 16 May 2007 02:22:45 +0000 (02:22 +0000)]
LayoutTests:

        Reviewed by Oliver.

        - More Tests for http://bugs.webkit.org/show_bug.cgi?id=13722
          Finish testing and fixing the setting of DOM attributes to JS null

          Tests for CSSOM attributes that take a DOMString.

        * fast/dom/css-element-attribute-js-null-expected.txt: Added.
        * fast/dom/css-element-attribute-js-null.html: Added.

WebCore:

        Reviewed by Oliver.

        - Second Patch for http://bugs.webkit.org/show_bug.cgi?id=13722
          Finish testing and fixing the setting of DOM attributes to JS null

          Convert JS null to null string for remaining CSSOM attributes.

        Test: fast/dom/css-element-attribute-js-null.html

        * bindings/js/kjs_css.cpp:
        (KJS::DOMCSSStyleDeclaration::put):
        (KJS::DOMMediaList::put):
        (KJS::DOMCSSRule::putValueProperty):
        (KJS::DOMCSSValue::put):
        * css/CSSPageRule.idl:
        * css/CSSRule.idl:
        * css/CSSStyleDeclaration.idl:
        * css/CSSStyleRule.idl:
        * css/CSSValue.idl:
        * css/MediaList.idl:

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

15 years ago Reviewed by David Kilzer.
aroben [Tue, 15 May 2007 23:35:59 +0000 (23:35 +0000)]
    Reviewed by David Kilzer.

        http://bugs.webkit.org/show_bug.cgi?id=13732
        prepare-ChangeLog should work with git

        * Scripts/prepare-ChangeLog: Added support for Git.

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

15 years ago2007-05-15 Bruce Q Hammond <bruceq@apple.com>
bdash [Tue, 15 May 2007 23:19:41 +0000 (23:19 +0000)]
2007-05-15  Bruce Q Hammond  <bruceq@apple.com>

        Reviewed by Darin.

        Correction of previous patch for http://bugs.webkit.org/show_bug.cgi?id=13578
        This corrects the sign of the Y-Axis origin adjustment.

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

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

15 years ago Updating expected results for r21074.
justing [Tue, 15 May 2007 22:35:53 +0000 (22:35 +0000)]
    Updating expected results for r21074.

        * css1/cascade/cascade_order-expected.checksum:
        * css1/cascade/cascade_order-expected.png:
        * css2.1/t0402-c71-fwd-parsing-02-f-expected.checksum:
        * css2.1/t0402-c71-fwd-parsing-02-f-expected.png:
        * css2.1/t0505-c16-descendant-01-e-expected.checksum:
        * css2.1/t0505-c16-descendant-01-e-expected.png:
        * css2.1/t050803-c14-classes-00-e-expected.checksum:
        * css2.1/t050803-c14-classes-00-e-expected.png:
        * css2.1/t0509-c15-ids-01-e-expected.checksum:
        * css2.1/t0509-c15-ids-01-e-expected.png:
        * css2.1/t0805-c5518-brdr-t-01-e-expected.checksum:
        * css2.1/t0805-c5518-brdr-t-01-e-expected.png:
        * css2.1/t0805-c5519-brdr-r-02-e-expected.checksum:
        * css2.1/t0805-c5519-brdr-r-02-e-expected.png:
        * css2.1/t0805-c5520-brdr-b-01-e-expected.checksum:
        * css2.1/t0805-c5520-brdr-b-01-e-expected.png:
        * css2.1/t0805-c5521-brdr-l-02-e-expected.checksum:
        * css2.1/t0805-c5521-brdr-l-02-e-expected.png:
        * css2.1/t1205-c563-list-type-00-b-expected.checksum:
        * css2.1/t1205-c563-list-type-00-b-expected.png:
        * css2.1/t1205-c564-list-img-00-b-g-expected.checksum:
        * css2.1/t1205-c564-list-img-00-b-g-expected.png:
        * fast/backgrounds/repeat/noRepeatCorrectClip-expected.checksum:
        * fast/backgrounds/repeat/noRepeatCorrectClip-expected.png:
        * fast/block/float/014-expected.checksum:
        * fast/block/float/014-expected.png:
        * fast/css/001-expected.checksum:
        * fast/css/001-expected.png:
        * fast/css/css2-system-fonts-expected.checksum:
        * fast/css/css2-system-fonts-expected.png:
        * fast/doctypes/001-expected.checksum:
        * fast/doctypes/001-expected.png:
        * fast/doctypes/002-expected.checksum:
        * fast/doctypes/002-expected.png:
        * fast/doctypes/003-expected.checksum:
        * fast/doctypes/003-expected.png:
        * fast/doctypes/004-expected.checksum:
        * fast/doctypes/004-expected.png:
        * fast/dom/Window/window-onFocus-expected.checksum:
        * fast/dom/Window/window-onFocus-expected.png:
        * fast/events/keydown-1-expected.checksum:
        * fast/events/keydown-1-expected.png:
        * fast/lists/002-expected.checksum:
        * fast/lists/002-expected.png:
        * fast/lists/003-expected.checksum:
        * fast/lists/003-expected.png:
        * fast/lists/005-expected.checksum:
        * fast/lists/005-expected.png:
        * fast/lists/007-expected.checksum:
        * fast/lists/007-expected.png:
        * fast/lists/008-expected.checksum:
        * fast/lists/008-expected.png:
        * fast/lists/big-list-marker-expected.checksum:
        * fast/lists/big-list-marker-expected.png:
        * fast/lists/dynamic-marker-crash-expected.checksum:
        * fast/lists/dynamic-marker-crash-expected.png:
        * fast/lists/item-not-in-list-line-wrapping-expected.checksum:
        * fast/lists/item-not-in-list-line-wrapping-expected.png:
        * fast/lists/marker-image-error-expected.checksum:
        * fast/lists/marker-image-error-expected.png:
        * fast/lists/ol-display-types-expected.checksum:
        * fast/lists/ol-display-types-expected.png:
        * fast/lists/scrolled-marker-paint-expected.checksum:
        * fast/lists/scrolled-marker-paint-expected.png:
        * fast/overflow/overflow-rtl-expected.checksum:
        * fast/overflow/overflow-rtl-expected.png:
        * fast/repaint/list-marker-2-expected.checksum:
        * fast/repaint/list-marker-2-expected.png:
        * fast/repaint/list-marker-expected.checksum:
        * fast/repaint/list-marker-expected.png:
        * fast/selectors/001-expected.checksum:
        * fast/selectors/001-expected.png:
        * fast/selectors/013-expected.checksum:
        * fast/selectors/013-expected.png:
        * fast/selectors/015-expected.checksum:
        * fast/selectors/015-expected.png:
        * fast/selectors/166-expected.checksum:
        * fast/selectors/166-expected.png:
        * tables/mozilla/bugs/bug23235-expected.checksum:
        * tables/mozilla/bugs/bug23235-expected.png:
        * tables/mozilla/bugs/bug30692-expected.checksum:
        * tables/mozilla/bugs/bug30692-expected.png:
        * tables/mozilla/bugs/bug3191-expected.checksum:
        * tables/mozilla/bugs/bug3191-expected.png:
        * tables/mozilla/marvin/backgr_index-expected.checksum:
        * tables/mozilla/marvin/backgr_index-expected.png:
        * tables/mozilla/marvin/backgr_layers-opacity-expected.checksum:
        * tables/mozilla/marvin/backgr_layers-opacity-expected.png:
        * tables/mozilla_expected_failures/bugs/bug1010-expected.checksum:
        * tables/mozilla_expected_failures/bugs/bug1010-expected.png:
        * tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.checksum:
        * tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png:
        * tables/mozilla_expected_failures/marvin/backgr_layers-show-expected.checksum:
        * tables/mozilla_expected_failures/marvin/backgr_layers-show-expected.png:

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

15 years ago Reviewed by Hyatt.
darin [Tue, 15 May 2007 22:19:19 +0000 (22:19 +0000)]
    Reviewed by Hyatt.

        * css/html4.css: Remove wbr style rule -- not needed any more.

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

15 years agoLayoutTests:
beidson [Tue, 15 May 2007 22:03:05 +0000 (22:03 +0000)]
LayoutTests:

        Reviewed by Brady

        - test for http://bugs.webkit.org/show_bug.cgi?id=13360
          REGRESSION: Crash closing live web cam viewer page

        * http/tests/misc/multipart-expected.txt: Added.
        * http/tests/misc/multipart.html: Added.
        * http/tests/misc/resources/1x1-blue.png: Added.
        * http/tests/misc/resources/multipart.php: Added.

WebCore:

        Reviewed by Brady

        - fix http://bugs.webkit.org/show_bug.cgi?id=13360
          REGRESSION: Crash closing live web cam viewer page

        Test: http/tests/misc/multipart.html

        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::didFail): Avoid calling didFailToLoad() if
        didFinishLoad() has already been called (when the first part of a
        multipart resource arrived).
        (WebCore::ResourceLoader::didCancel): Ditto.

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

15 years ago Reviewed by Adele Peterson.
ggaren [Tue, 15 May 2007 19:04:50 +0000 (19:04 +0000)]
    Reviewed by Adele Peterson.

        It helps if you swap the right variable.

        * wtf/HashSet.h:
        (WTF::::operator):

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

15 years agoLayoutTests:
weinig [Tue, 15 May 2007 17:53:39 +0000 (17:53 +0000)]
LayoutTests:

        Reviewed by Darin.

        - Test for http://bugs.webkit.org/show_bug.cgi?id=13722
          Finish testing and fixing the setting of DOM attributes to JS null

          Tests for Core DOM attributes.

        * fast/dom/coreDOM-element-attribute-js-null-expected.txt: Added.
        * fast/dom/coreDOM-element-attribute-js-null.xhtml: Added.

WebCore:

        Reviewed by Darin.

        - Patch for http://bugs.webkit.org/show_bug.cgi?id=13722
          Finish testing and fixing the setting of DOM attributes to JS null

          Convert JS null to null string for remaining Core DOM attributes.

        Test: fast/dom/coreDOM-element-attribute-js-null.xhtml

        * dom/Attr.cpp:
        (WebCore::Attr::setValue): Don't throw an expection for null values as this
        is not in the spec and Firefox does not do it either.
        * dom/Attr.idl:
        * dom/CharacterData.idl:
        * dom/ProcessingInstruction.idl:

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

15 years ago Reviewed by Maciej Stachowiak.
ggaren [Tue, 15 May 2007 16:47:18 +0000 (16:47 +0000)]
    Reviewed by Maciej Stachowiak.

        Patch: fixed <rdar://problem/5198890> .5% performance regression caused
        by r21307

        The only code r21307 added that runs during the PLT is a frame load delegate
        -respondsToSelector: call inside windowObjectCleared(), so it seems like
        our message dispatch overhead for the frame load delegate is significant.

        This patch is a straight port of Maciej's fix for the same problem in the
        resource load delegate. The solution is simple enough: don't use Objective-C.
        Instead, use a special structure that caches which methods the delegate
        implements, along with pointers to those methods.

        I verified each frame load delegate callback in the debugger, except for
        -webView:didFailLoadWithError:forFrame:, which is not implemented by Safari
        or DumpRenderTree.

        * WebKit/DefaultDelegates/WebDefaultFrameLoadDelegate.h: Removed.
        * WebKit/DefaultDelegates/WebDefaultFrameLoadDelegate.m: Removed.

        * WebCoreSupport/WebFrameBridge.mm:
        (-[WebFrameBridge windowObjectCleared]): I also removed a misleading
        comment here. The JS debugger caches the windowScriptObject, so you do
        need to re-create the debugger every time you invalidate the old
        WebScriptObject wrapper for the window object and create a new one, or
        the debugger will stop working. We could fix this in a number of ways,
        but <rdar://problem/4608404> is not the key issue.

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

15 years agoUpdate test result now that we have the eventSender object.
lars [Tue, 15 May 2007 14:38:58 +0000 (14:38 +0000)]
Update test result now that we have the eventSender object.

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

15 years ago Extend the QObject JavaScript bindings to work for slots with
lars [Tue, 15 May 2007 13:40:15 +0000 (13:40 +0000)]
    Extend the QObject JavaScript bindings to work for slots with
        arguments.

        Add the EventSender object to DRT. Currently it implements
        mouseDown, mouseUp and mouseMoveTo.

        Make run-webkit-tests --strict work somewhat better for form elements.

        one more test passing for Qt, the first one that uses
        the eventSender in DRT.

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

15 years ago Updating expected results for r21074.
justing [Tue, 15 May 2007 12:45:31 +0000 (12:45 +0000)]
    Updating expected results for r21074.

        * editing/deleting/4866671-expected.checksum:
        * editing/deleting/4866671-expected.png:
        * editing/deleting/delete-first-list-item-expected.checksum:
        * editing/deleting/delete-first-list-item-expected.png:
        * editing/deleting/delete-listitem-002-expected.checksum:
        * editing/deleting/delete-listitem-002-expected.png:
        * editing/deleting/list-item-1-expected.checksum:
        * editing/deleting/list-item-1-expected.png:
        * editing/deleting/merge-into-empty-block-2-expected.checksum:
        * editing/deleting/merge-into-empty-block-2-expected.png:
        * editing/execCommand/4641880-1-expected.checksum:
        * editing/execCommand/4641880-1-expected.png:
        * editing/execCommand/4747450-expected.checksum:
        * editing/execCommand/4747450-expected.png:
        * editing/execCommand/4916402-expected.checksum:
        * editing/execCommand/4916402-expected.png:
        * editing/execCommand/4916583-expected.checksum:
        * editing/execCommand/4916583-expected.png:
        * editing/execCommand/5142012-2-expected.checksum:
        * editing/execCommand/5142012-2-expected.png:
        * editing/execCommand/5144139-1-expected.checksum:
        * editing/execCommand/5144139-1-expected.png:
        * editing/execCommand/create-list-with-hr-expected.checksum:
        * editing/execCommand/create-list-with-hr-expected.png:
        * editing/execCommand/indent-list-item-expected.checksum:
        * editing/execCommand/indent-list-item-expected.png:
        * editing/execCommand/indent-selection-expected.checksum:
        * editing/execCommand/indent-selection-expected.png:
        * editing/execCommand/insert-list-empty-div-expected.checksum:
        * editing/execCommand/insert-list-empty-div-expected.png:
        * editing/execCommand/remove-list-item-1-expected.checksum:
        * editing/execCommand/remove-list-item-1-expected.png:
        * editing/inserting/4959067-expected.checksum:
        * editing/inserting/4959067-expected.png:
        * editing/pasteboard/4861080-expected.checksum:
        * editing/pasteboard/4861080-expected.png:
        * editing/pasteboard/drag-selected-image-to-contenteditable-expected.checksum:
        * editing/pasteboard/drag-selected-image-to-contenteditable-expected.png:
        * editing/pasteboard/drop-link-expected.checksum:
        * editing/pasteboard/drop-link-expected.png:
        * editing/pasteboard/innerText-inline-table-expected.checksum:
        * editing/pasteboard/innerText-inline-table-expected.png:
        * editing/pasteboard/input-field-1-expected.checksum:
        * editing/pasteboard/input-field-1-expected.png:
        * editing/pasteboard/merge-end-list-expected.checksum:
        * editing/pasteboard/merge-end-list-expected.png:
        * editing/pasteboard/merge-start-list-expected.checksum:
        * editing/pasteboard/merge-start-list-expected.png:
        * editing/pasteboard/select-element-1-expected.checksum:
        * editing/pasteboard/select-element-1-expected.png:
        * editing/selection/drag-to-contenteditable-iframe-expected.checksum:
        * editing/selection/drag-to-contenteditable-iframe-expected.png:
        * editing/selection/extend-by-word-002-expected.checksum:
        * editing/selection/extend-by-word-002-expected.png:
        * editing/selection/select-all-iframe-expected.checksum:
        * editing/selection/select-all-iframe-expected.png:
        * editing/selection/selectNode-expected.checksum:
        * editing/selection/selectNode-expected.png:
        * editing/selection/selectNodeContents-expected.checksum:
        * editing/selection/selectNodeContents-expected.png:
        * editing/unsupported-content/list-delete-001-expected.checksum:
        * editing/unsupported-content/list-delete-001-expected.png:
        * editing/unsupported-content/list-type-after-expected.checksum:
        * editing/unsupported-content/list-type-after-expected.png:
        * editing/unsupported-content/list-type-before-expected.checksum:
        * editing/unsupported-content/list-type-before-expected.png:

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

15 years ago Reviewed by Hyatt.
andrew [Tue, 15 May 2007 10:00:12 +0000 (10:00 +0000)]
    Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13718
          REGRESSION (r21093): editing/execCommand/5136770.html failing pixel test

        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::removeChildNode): Moved the code that clears the
        selection when moving a selection border into the fast path.

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

15 years ago Reviewed by Hyatt.
rwlbuis [Tue, 15 May 2007 09:31:24 +0000 (09:31 +0000)]
    Reviewed by Hyatt.

        http://bugs.webkit.org/show_bug.cgi?id=6487
        "Make Text Bigger/Smaller" affects SVGs when it probably shouldn't

        Ignore Make Text Bigger/Smaller for SVG text.

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

15 years agoLayoutTests:
andersca [Tue, 15 May 2007 09:28:42 +0000 (09:28 +0000)]
LayoutTests:

        Reviewed by Maciej.

        <rdar://problem/5183685>
        http://bugs.webkit.org/show_bug.cgi?id=13301
        ASSERT or null value when trying to use a getter defined on a window object

        Add tests.

        * fast/dom/getter-on-window-object-expected.txt: Added.
        * fast/dom/getter-on-window-object.html: Added.

WebCore:

        Reviewed by Maciej.

        <rdar://problem/5183685>
        http://bugs.webkit.org/show_bug.cgi?id=13301
        ASSERT or null value when trying to use a getter defined on a window object

        Handle the case where the value returned is a getter/setter object.

        * bindings/js/kjs_window.cpp:
        (KJS::Window::getOverridePropertySlot):

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

15 years ago Reviewed by Geoff.
andersca [Tue, 15 May 2007 08:27:42 +0000 (08:27 +0000)]
    Reviewed by Geoff.

        <rdar://problem/5200816>
        REGRESSION: With Shiira 1.2.2 , I can't open embedded link in flash object by clicking (http:/www.adobe.com )

        Shiira under some circumstances passes nil as the request to -[WebFrame loadRequest:]. ToT WebKit doesn't call any policy
        delegate methods in this case, which means that the page is actually being loaded.

        This patch makes ToT WebKit behave in the same way as Tiger WebKit when the request is nil.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::checkNavigationPolicy):
        Don't continue without calling the navigation policy method if the request is null.

        (WebCore::FrameLoader::continueAfterNavigationPolicy):
        If the request can't be handled, don't continue the load.

        * platform/network/mac/ResourceRequestMac.mm:
        (WebCore::ResourceRequest::doUpdatePlatformRequest):
        Don't create an NSURLRequest object if the request is null.

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

15 years agoWebCore:
mjs [Tue, 15 May 2007 08:24:53 +0000 (08:24 +0000)]
WebCore:

        Reviewed by Hyatt and Lars.

        - fixed <rdar://problem/5201758> REGRESSION: Stop button enabled and other problems caused by [WebView currentURL] returning non-nil for empty window

        * WebCore.exp: export new symbol
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::begin): move marker that we committed a real doc load from here...
        (WebCore::FrameLoader::transitionToCommitted): ...to here
        (WebCore::FrameLoader::frameHasLoaded): check that we have at least started loading something
        besides the initial empty doc.
        * loader/FrameLoader.h:

WebKit:

        Reviewed by Hyatt and Lars.

        - fixed <rdar://problem/5201758> REGRESSION: Stop button enabled and other problems caused by [WebView currentURL] returning non-nil for empty window

        * WebView/WebDataSource.mm:
        (-[WebDataSource request]): Return nil when we are still showing the initial empty doc

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

15 years ago5319 -> 5879 passing test cases for the Qt build.
lars [Tue, 15 May 2007 07:37:22 +0000 (07:37 +0000)]
5319 -> 5879 passing test cases for the Qt build.

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

15 years ago Spelling markers fixed:
justing [Tue, 15 May 2007 07:31:50 +0000 (07:31 +0000)]
    Spelling markers fixed:
        * editing/deleting/delete-block-table-expected.checksum:
        * editing/deleting/delete-block-table-expected.png:
        * editing/selection/move-by-line-001-expected.checksum:
        * editing/selection/move-by-line-001-expected.png:

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

15 years agoLayoutTests:
justing [Tue, 15 May 2007 06:15:21 +0000 (06:15 +0000)]
LayoutTests:

        Reviewed by ggaren

        Updated these expected results.  We now clear the
        selection inside a focused node *after* firing the
        mousedown event handler, which matches FF:
        * fast/forms/focus-selection-input-expected.txt:
        * fast/forms/focus-selection-textarea-expected.txt:

WebCore:

        Reviewed by ggaren

        <http://bugs.webkit.org/show_bug.cgi?id=13716>
        REGRESSION: Three new layout test failures

        Two failures are correct.  Updated their expected results.

        In fast/events/frame-tab-focus.html, as we advance
        through focusable nodes, we descend into a subframe
        to focus a node and then ascend out of it into the
        main frame to focus the next.  When we focus the main
        frame, the node in that frame that was previously
        focused and contains an inactive selection is focused
        momentarily because setCaretVisible tries to focus the
        node containing the caret.

        * page/Frame.cpp:
        (WebCore::Frame::setCaretVisible): Don't focus the
        node containing the caret. FocusController will focus
        the previously focused node (which will contain the
        caret) if necessary when the frame gains focus.

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

15 years ago Reviewed by ggaren
justing [Tue, 15 May 2007 05:59:35 +0000 (05:59 +0000)]
    Reviewed by ggaren

        Spelling markers fixed:
        * editing/deleting/delete-to-select-table-expected.checksum:
        * editing/deleting/delete-to-select-table-expected.png:
        * editing/selection/end-of-document-expected.checksum:
        * editing/selection/end-of-document-expected.png:
        * editing/inserting/insert-paragraph-02-expected.checksum:
        * editing/inserting/insert-paragraph-02-expected.png:

        Focus halo now painted:
        * editing/execCommand/format-block-with-braces-expected.checksum:
        * editing/execCommand/format-block-with-braces-expected.png:

        Needed FIXMEs removed after fixing 4714993:
        * editing/pasteboard/merge-end-1-expected.checksum:
        * editing/pasteboard/merge-end-1-expected.png:
        * editing/pasteboard/merge-end-1-expected.txt:
        * editing/pasteboard/merge-end-1.html:
        * editing/pasteboard/merge-end-2-expected.checksum:
        * editing/pasteboard/merge-end-2-expected.png:
        * editing/pasteboard/merge-end-2-expected.txt:
        * editing/pasteboard/merge-end-2.html:

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

15 years agoLayoutTests:
mjs [Tue, 15 May 2007 05:53:17 +0000 (05:53 +0000)]
LayoutTests:

        Reviewed by Brady.

        - Test case for <rdar://problem/5203036> REGRESSION: Assertion failure in WebCore::FrameLoader::restoreScrollPositionAndViewState() going back from fark.com Photoshop contest (13684)

        * http/tests/incremental/slow-utf8-html.pl:
        * http/tests/navigation/back-to-slow-frame.html: Added.
        * http/tests/navigation/back-to-slow-frame-expected.txt: Added.
        * http/tests/navigation/resources/back-to-slow-frame-2.html: Added.
        * http/tests/navigation/resources/back-to-slow-frame-3.html: Added.
        * http/tests/navigation/resources/slow-resource-1-sec.pl: Added.

WebCore:

        Reviewed by Brady.

        - fixed <rdar://problem/5203036> REGRESSION: Assertion failure in WebCore::FrameLoader::restoreScrollPositionAndViewState() going back from fark.com Photoshop contest (13684)

        Test: http/tests/navigation/back-to-slow-frame.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::restoreScrollPositionAndViewState): Add needed early return.

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

15 years ago2007-05-14 Kimmo Kinnunen <kimmok@iki.fi>
bdash [Tue, 15 May 2007 01:53:54 +0000 (01:53 +0000)]
2007-05-14  Kimmo Kinnunen  <kimmok@iki.fi>

        Reviewed by Darin.

        - Fixes http://bugs.webkit.org/show_bug.cgi?id=13622 (Decompiler
          omits trailing comma in array literal)

         * kjs/nodes2string.cpp:
         (ArrayNode::streamTo): print extra ',' in case there was elision
         commas (check opt member var) and array elements present
         in the array expression

2007-05-14  Kimmo Kinnunen  <kimmok@iki.fi>

        Reviewed by Darin.

        - Tests for fix to http://bugs.webkit.org/show_bug.cgi?id=13622 (Decompiler omits
          trailing comma in array literal)

        * fast/js/resources/toString-elision-trailing-comma.js: Added.
        * fast/js/toString-elision-trailing-comma-expected.txt: Added.
        * fast/js/toString-elision-trailing-comma.html: Added.

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

15 years ago2007-05-14 Mitz Pettel <mitz@webkit.org>
bdash [Tue, 15 May 2007 01:41:53 +0000 (01:41 +0000)]
2007-05-14  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Dave Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13603
          style leaks in washingtonpost.com
          also known as http://bugs.webkit.org/show_bug.cgi?id=8750
          w3c.org: incorrect recovery from unclosed <a> elements
          also known as http://bugs.webkit.org/show_bug.cgi?id=12808
          Handling of misnested tags results in entire page appearing as link
          also known as http://bugs.webkit.org/show_bug.cgi?id=12861
          Post text renders as link

        Test: fast/parser/residual-style-close-across-n-blocks.html

        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Changed to
        deal with multiple block crossings instead of bailing out, by doing multiple
        reparenting passes, starting from the outermost block.

2007-05-14  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Dave Hyatt.

        - test for http://bugs.webkit.org/show_bug.cgi?id=13603
          style leaks in washingtonpost.com

        * fast/parser/residual-style-close-across-n-blocks-expected.txt: Added.
        * fast/parser/residual-style-close-across-n-blocks.html: Added.

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

15 years ago2007-05-14 Mitz Pettel <mitz@webkit.org>
bdash [Tue, 15 May 2007 01:39:27 +0000 (01:39 +0000)]
2007-05-14  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13711
          REGRESSION - Bookmark Bar text rendering changed

        No test possible since this patch affects only Safari chrome.

        * platform/Font.cpp:
        (WebCore::Font::Font): Initialize m_isPlatformFont according to whether
        the Font object is derived from a FontPlatformData or not.
        * platform/Font.h:
        (WebCore::Font::isPlatformFont): Added. Returns whether this Font was
        derived from a platform font.
        * platform/mac/FontCacheMac.mm:
        (WebCore::FontCache::getFontDataForCharacters): Changed to not enable
        synthetic bold and italic in the fallback fonts if the original font
        was derived from a platform font.

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

15 years agoLayoutTests:
weinig [Tue, 15 May 2007 01:32:35 +0000 (01:32 +0000)]
LayoutTests:

        Reviewed by Alice.

        - Tests for http://bugs.webkit.org/show_bug.cgi?id=13541
          REGRESSION: Setting a DOMString attribute to JS null in the
          JS bindings should default to converting to the empty string

        * fast/dom/document-attribute-js-null-expected.txt: Added.
        * fast/dom/document-attribute-js-null.html: Added.
        * fast/dom/element-attribute-js-null-expected.txt: Added.
        * fast/dom/element-attribute-js-null.html: Added.
        * fast/forms/input-null-expected.txt: Removed.
        * fast/forms/input-null.html: Removed.

WebCore:

        Reviewed by Alice!

        - Patch for http://bugs.webkit.org/show_bug.cgi?id=13541
          REGRESSION: Setting a DOMString attribute to JS null in the
          JS bindings should default to converting to the empty string

          Convert JS null to the empty string when passing it to an attribute that takes
          a DOMString.

        Test: fast/dom/document-attribute-js-null.html
        Test: fast/dom/element-attribute-js-null.html

        * bindings/js/kjs_dom.cpp:
        (KJS::DOMNode::putValueProperty):
        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLDocument::putValueProperty):
        (KJS::JSHTMLElement::objectSetter):
        (KJS::JSHTMLElement::embedSetter):
        (KJS::JSHTMLElement::tableSetter):
        (KJS::JSHTMLElement::tableCaptionSetter):
        (KJS::JSHTMLElement::tableColSetter):
        (KJS::JSHTMLElement::tableSectionSetter):
        (KJS::JSHTMLElement::tableRowSetter):
        (KJS::JSHTMLElement::tableCellSetter):
        (KJS::JSHTMLElement::frameSetSetter):
        (KJS::JSHTMLElement::frameSetter):
        (KJS::JSHTMLElement::iFrameSetter):
        (KJS::JSHTMLElement::marqueeSetter):
        (KJS::JSHTMLElement::putValueProperty):
        * bindings/js/kjs_html.h:
        * dom/Document.idl:
        * dom/Node.idl:
        * html/HTMLAnchorElement.idl:
        * html/HTMLAppletElement.idl:
        * html/HTMLAreaElement.idl:
        * html/HTMLBRElement.idl:
        * html/HTMLBaseElement.idl:
        * html/HTMLBaseFontElement.idl:
        * html/HTMLBlockquoteElement.idl:
        * html/HTMLBodyElement.idl:
        * html/HTMLButtonElement.idl:
        * html/HTMLDivElement.idl:
        * html/HTMLDocument.idl:
        * html/HTMLElement.idl:
        * html/HTMLEmbedElement.idl:
        * html/HTMLFontElement.idl:
        * html/HTMLFormElement.idl:
        * html/HTMLFrameElement.idl:
        * html/HTMLFrameSetElement.idl:
        * html/HTMLHRElement.idl:
        * html/HTMLHeadElement.idl:
        * html/HTMLHeadingElement.idl:
        * html/HTMLHtmlElement.idl:
        * html/HTMLIFrameElement.idl:
        * html/HTMLImageElement.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLIsIndexElement.idl:
        * html/HTMLLIElement.idl:
        * html/HTMLLabelElement.idl:
        * html/HTMLLegendElement.idl:
        * html/HTMLLinkElement.idl:
        * html/HTMLMapElement.idl:
        * html/HTMLMetaElement.idl:
        * html/HTMLModElement.idl:
        * html/HTMLOListElement.idl:
        * html/HTMLObjectElement.idl:
        * html/HTMLOptGroupElement.idl:
        * html/HTMLOptionElement.idl:
        * html/HTMLParagraphElement.idl:
        * html/HTMLParamElement.idl:
        * html/HTMLQuoteElement.idl:
        * html/HTMLScriptElement.idl:
        * html/HTMLSelectElement.idl:
        * html/HTMLStyleElement.idl:
        * html/HTMLTableCaptionElement.idl:
        * html/HTMLTableCellElement.idl:
        * html/HTMLTableColElement.idl:
        * html/HTMLTableElement.idl:
        * html/HTMLTableRowElement.idl:
        * html/HTMLTableSectionElement.idl:
        * html/HTMLTextAreaElement.idl:
        * html/HTMLTitleElement.idl:
        * html/HTMLUListElement.idl:

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

15 years ago Trying to fix the Qt build.
ggaren [Tue, 15 May 2007 00:24:54 +0000 (00:24 +0000)]
    Trying to fix the Qt build.

        * WebCore.pro:

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

15 years agoJavaScriptCore:
ggaren [Tue, 15 May 2007 00:20:16 +0000 (00:20 +0000)]
JavaScriptCore:

        Reviewed by Oliver Hunt.

        Added HashMap::swap and HashSet::swap. WebCore now uses HashSet::swap.
        I figured while I was in the neighborhood I might as well add HashMap::swap,
        too.

        * wtf/HashMap.h:
        (WTF::::operator):
        (WTF::::swap):
        * wtf/HashSet.h:
        (WTF::::operator):
        (WTF::::swap):

WebCore:

        Reviewed by Oliver Hunt.

        Some improvements on my last patch, suggested by Darin.

        * history/PageCache.cpp:
        (WebCore::PageCache::autoreleaseNow): Swap with an empty set instead of
        building up an array and then calling clear(). This is slightly more
        efficient and the code is cleaner.

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

15 years agoLayoutTests:
justing [Mon, 14 May 2007 21:37:04 +0000 (21:37 +0000)]
LayoutTests:

        Reviewed by darin

        <rdar://problem/5136696> Selection is removed when focusing a node in another frame

        Demonstrates bug:
        * editing/selection/5136696-expected.checksum: Added.
        * editing/selection/5136696-expected.png: Added.
        * editing/selection/5136696-expected.txt: Added.
        * editing/selection/5136696.html: Added.

WebCore:

        Reviewed by darin

        <rdar://problem/5136696> Selection is removed when focusing a node in another frame
        <rdar://problem/5192388> WordPress: Can't insert links/images

        Don't clear a selection when changing focus if the new
        focus node is in a different frame than the old selection.

        * dom/Document.cpp:
        (WebCore::Document::setFocusedNode): Moved code to clear
        selections to the FocusController, since it is Page level
        and will know about the frame/document that contained the
        old selection. Moved code to call shouldEndEditing to the
        FocusController because selections are now cleared before
        calling Document::setFocusedNode and shouldEndEditing must
        be called before selections are cleared.
        * dom/Element.cpp:
        (WebCore::Element::blur): Call FocusController::setFocusNode
        instead of Document::setFocusNode, if possible.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::dispatchMouseEvent): Ditto.
        * page/FocusController.cpp:
        (WebCore::relinquishesEditingFocus): Moved from Document.cpp.
        (WebCore::clearSelectionIfNeeded): Ditto.  Don't clear if
        the old selection is in a frame that's different than the
        one that contains the new focus node.
        (WebCore::FocusController::setFocusedNode): Moved code
        here from Document::setFocusedNode.
        * page/Frame.cpp:
        (WebCore::Frame::setFocusedNodeIfNeeded): Call
        FocusController::setFocusNode.

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

15 years agoWebCore:
ggaren [Mon, 14 May 2007 21:29:15 +0000 (21:29 +0000)]
WebCore:

        Reviewed by Darin Adler.

        Next step toward fixing <rdar://problem/5055182> The back cache has no
        global cap.

        Created a PageCache singleton. Right now, it only handles the timer-based
        deallocation of cached pages. I plan to add HistoryItem->CachedPage tracking
        and eviction logic in later patches.

        Updated for renames and file changes:

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * history/BackForwardList.cpp:
        (WebCore::BackForwardList::setPageCacheSize):
        (WebCore::BackForwardList::clearPageCache):

        Removed global timed release code, moved into new PageCache class, since
        it's eventually going to be in charge of deciding when things are released:

        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::setCachedPage):
        * history/HistoryItem.h:

        Folded into PageCache:

        * history/HistoryItemTimer.cpp: Removed.
        * history/HistoryItemTimer.h: Removed.

        New singleton. Right now, it just handles timed release of cached pages:

        * history/PageCache.cpp: Added.
        (WebCore::pageCache):
        (WebCore::PageCache::PageCache):
        (WebCore::PageCache::autoreleaseNowOrReschedule):
        (WebCore::PageCache::autoreleaseNow):
        (WebCore::PageCache::autorelease):
        * history/PageCache.h: Added.

WebKit:

        Reviewed by Darin Adler.

        Updated for WebCore move to PageCache singleton. Also removed some WebCore::
        prefixes and replaced them with 'using namespace WebCore'.

        * History/WebHistoryItem.mm:
        (+[WebHistoryItem _releaseAllPendingPageCaches]):
        (-[WebWindowWatcher windowWillClose:]):

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

15 years ago Reviewed by Darin.
adele [Mon, 14 May 2007 21:16:38 +0000 (21:16 +0000)]
    Reviewed by Darin.

        Fix for <rdar://problem/5200081> Repro crash in PopupMenu::show clicking popup menu button after reload

        * platform/mac/PopupMenuMac.mm: (WebCore::PopupMenu::show): Added call to dismissPopup so the cell gets unattached properly.

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

15 years ago Reviewed by Darin.
adele [Mon, 14 May 2007 20:57:15 +0000 (20:57 +0000)]
    Reviewed by Darin.

        Remove incorrect assertion.

        * page/FrameView.cpp: (WebCore::FrameView::setContentsPos):

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

15 years agoAdd another 1000 tests that we pass for the Qt build.
lars [Mon, 14 May 2007 20:43:34 +0000 (20:43 +0000)]
Add another 1000 tests that we pass for the Qt build.

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

15 years ago Add another 300 test cases, that are ok on the Qt build.
lars [Mon, 14 May 2007 19:20:11 +0000 (19:20 +0000)]
    Add another 300 test cases, that are ok on the Qt build.
        Add a few more tests that need examination to the Skipped list.

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

15 years ago Reviewed by Geoff.
andersca [Mon, 14 May 2007 18:53:14 +0000 (18:53 +0000)]
    Reviewed by Geoff.

        <rdar://problem/5172056> Regression: cannot open txt file, get broken image

        Never let plug-ins override text/plain.

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument):

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

15 years agoFix dependcy tracking in project files.
zack [Mon, 14 May 2007 14:39:41 +0000 (14:39 +0000)]
Fix dependcy tracking in project files.

Add dependpath to project to get better dependency tracking for header
files in the qmake project files.

r=simon

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

15 years ago Reviewed by Zack
lars [Mon, 14 May 2007 13:41:06 +0000 (13:41 +0000)]
    Reviewed by Zack

        Updates after Maciej's frame change.

This gets things to run again. The #ifdef PLATFORM(QT)
in the FrameLoader should not be needed (and adding the line
inside on the mac doesn't seem to trigger any failures there).
I'm submitting with it to be on the safe side for now, since I
really need our tests to run again.

Btw, post-commit-linux-qt should show up green on with this submit :))

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

15 years ago Reviewed by Antti.
darin [Mon, 14 May 2007 13:30:41 +0000 (13:30 +0000)]
    Reviewed by Antti.

        - fix <rdar://problem/3109180> VIP: after go back, page jumps after loading even if I scrolled while loading

        * history/CachedPage.cpp: (WebCore::CachedPage::clear): Call clearFrame rather than
        clearPart -- the "part" term was leftover prehistoric terminology.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::open): Call setWasScrolledByUser(false) on the page, so that we
        can detect any user scrolling that happens during the "go back" process.
        (WebCore::FrameLoader::restoreScrollPositionAndViewState): Don't scroll if the view's
        wasScrolledByUser flag is set.
        (WebCore::FrameLoader::loadItem): Call setWasScrolledByUser(false) false when we do
        a new "load" (actually just a scroll) using the same frame. Also moved the line of code that
        sets m_currentHistoryItem to make this code path mroe similar to recursiveGoToItem.
        (WebCore::FrameLoader::recursiveGoToItem): Ditto.

        * page/Frame.cpp:
        (WebCore::Frame::~Frame): Call clearFrame rather than stting m_frame directly.
        (WebCore::Frame::sendScrollEvent): Call setWasScrolledByUser(true) on FrameView. The FrameView
        itself knows to ignore this if the scrolling is being done programmatically instead of by the user.

        * page/FrameView.h: Added wasScrolledByUser and setWasScrolledByUser. Also removed unneeded
        include and class forward declarations, renamed clearPart to clearFrame, removed uneeded function
        haveDelayedLayoutScheduled, and removed unneeded friend declarations.
        * page/FrameView.cpp:
        (WebCore::FrameViewPrivate::FrameViewPrivate): Added m_inProgrammaticScroll and m_wasScrolledByUser.
        (WebCore::FrameViewPrivate::reset): Set m_wasScrolledByUser to false.
        (WebCore::FrameView::clearFrame): Renamed from clearPart.
        (WebCore::FrameView::scrollRectIntoViewRecursively): Added code to set the m_inProgrammaticScroll flag.
        (WebCore::FrameView::setContentsPos): Ditto.
        (WebCore::FrameView::wasScrolledByUser): Added.
        (WebCore::FrameView::setWasScrolledByUser): Added. Does nothing if called when m_inProgrammaticScroll
        is true.

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

15 years ago2007-05-14 Kimmo Kinnunen <kimmok@iki.fi>
darin [Mon, 14 May 2007 13:26:44 +0000 (13:26 +0000)]
2007-05-14  Kimmo Kinnunen  <kimmok@iki.fi>

        Tests for http://bugs.webkit.org/show_bug.cgi?id=10878
        Bug 10878: Incorrect decompilation for "4..x"

        Test all the different forms of expressions that can contain
        a dot following a number literal.
        Includes new tests for PrefixDotNode, PostfixDotNode, DeleteDotNode,
        AssignDotNode and FunctionCallParenDotNode.

        * fast/js/resources/toString-number-dot-expr.js:
        * fast/js/toString-number-dot-expr-expected.txt: Updated.

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

15 years ago Reviewed by Antti.
darin [Mon, 14 May 2007 13:12:54 +0000 (13:12 +0000)]
    Reviewed by Antti.

        - <rdar://problem/4865655> REGRESSION: find function does not work for the character ß

        The trick was to fold case consistently in the CircularSearchBuffer class.

        The problem was that we were folding the search target string with full case folding and
        the characters of the text we were searching with simple case folding. We now use full
        case folding in both cases.

        * editing/TextIterator.cpp:
        (WebCore::CircularSearchBuffer::CircularSearchBuffer): Changed the buffer to be a
        Vector<UChar>. Added a Vector<bool> to record which characters were starts of characters
        in the text we are searching. Changed the cursor to be an int rather than a pointer.
        (WebCore::CircularSearchBuffer::append): New function that knows how to append multiple
        characters when folding case turns one character into many -- uses the full foldCase
        rather than the simplified single-character foldCase. Also removed the append function
        that did multiple characters at once; that was part of an optimization we don't need.
        (WebCore::CircularSearchBuffer::isMatch): Instead of asserting that the buffer is full,
        changed this to return false if it's not full, which lets us fill up the buffer with
        the normal loop. Also return false if the start of the buffer is half-way through a
        case-folded character and updated this since m_cursor is now an integer.
        (WebCore::CircularSearchBuffer::length): This returns the length in non-case-folded
        characters of the characters that were appended, which may not be the same as the length
        of the original target string. To do that we have to total up the character start
        booleans for the current state of the circular buffer.
        (WebCore::findPlainText): Streamlined the logic in a few ways: 1) Moved more of the
        return value setup to the top of the function so it could be shared with the early
        error exit. 2) Removed the separate "fill the buffer" logic, which allowed me to
        remove some of the functions from CircularSearchBuffer and eliminated the need for
        two nested loops. 3) Replaced the CharacterIterator and bool that were used to record
        the location we found with integers matchStart and matchLength. 4) Got rid of the use
        of goto since we don't have two nested loops any more.

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

15 years ago Reviewed by Darin.
andrew [Mon, 14 May 2007 12:16:41 +0000 (12:16 +0000)]
    Reviewed by Darin.

        Fix http://bugs.webkit.org/show_bug.cgi?id=13275
        Safari crashed when trying to login using the windows live contact control

        Check for cleared windowObj in JSAbstractEventListener::handleEvent

        * bindings/js/kjs_events.cpp:
        (KJS::JSAbstractEventListener::handleEvent):

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

15 years agoSkip a test that currently hangs
lars [Mon, 14 May 2007 07:17:04 +0000 (07:17 +0000)]
Skip a test that currently hangs

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

15 years ago Reviewed by Darin.
ap [Mon, 14 May 2007 04:45:44 +0000 (04:45 +0000)]
    Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=13690
        JavaScript Form Validation issue on Banco do Brasil site

        Test: fast/forms/input-setvalue-selection.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setValue): In other browsers, changing textInput.value
        always moves the insertion point past the text. In 10.4.9 WebKit, this only worked
        for inactive controls, and it never worked in ToT.

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

15 years ago Reviewed by Mitz
beidson [Sun, 13 May 2007 15:28:01 +0000 (15:28 +0000)]
    Reviewed by Mitz

        http://bugs.webkit.org/show_bug.cgi?id=13701

        Since HTMLInputElements register themselves with their Document for special handling, if their document
        ever changes then bad things can happen.

        Unfortunately, with adoptNode, the document can change.  This has been a long standing crasher with all
        input fields but was given recent high visibility by r21430

        The solution is to add functionality for a Node to react to its owner document changing via a pair of
        virtual callbacks.  Then we can tap into those callbacks in HTMLInputElement.

        No layout test possible until http://bugs.webkit.org/show_bug.cgi?id=13672 is resolved

        * dom/Node.cpp:
        (WebCore::Node::setDocument): Call willMoveToNewOwnerDocument and didMoveToNewOwnerDocument

        * dom/Node.h:
        (WebCore::Node::willMoveToNewOwnerDocument): Virtual callback to a node for before an owner document change
        (WebCore::Node::didMoveToNewOwnerDocument): Virtual callback to a node for after an owner document change

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::~HTMLInputElement): Unconditionally unregister both for both form state
          and the cache restoration callback
        (WebCore::HTMLInputElement::setInputType): Change registration with the document only if we're in one
        (WebCore::HTMLInputElement::attach): Don't bother registering for the callback here - that will be
          handled by setInputType() or by a change in owner document
        (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): Unregister with the old owner document
        (WebCore::HTMLInputElement::didMoveToNewOwnerDocument): Register with the new owner document
        * html/HTMLInputElement.h:

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

15 years ago * platform/mac/TextBreakIteratorInternalICUMac.mm: Fix comment typo.
darin [Sun, 13 May 2007 14:05:11 +0000 (14:05 +0000)]
    * platform/mac/TextBreakIteratorInternalICUMac.mm: Fix comment typo.

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

15 years ago Reviewed by Darin.
rwlbuis [Sun, 13 May 2007 14:00:18 +0000 (14:00 +0000)]
    Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=13529
        DOM3 keyIdentifier text is incorrect

        Use 4 digits for the Unicode based key identifiers.

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

15 years ago - one more retain/release for a tiny bit more robustness
darin [Sun, 13 May 2007 13:21:18 +0000 (13:21 +0000)]
    - one more retain/release for a tiny bit more robustness

        * WebView/WebPDFView.mm:
        (-[WebPDFView _updatePreferences:]): [prefs release]
        (-[WebPDFView _updatePreferencesSoon]): [prefs retain]

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

15 years ago Reviewed by Geoff.
darin [Sun, 13 May 2007 13:16:43 +0000 (13:16 +0000)]
    Reviewed by Geoff.

        - fix <rdar://problem/5188400> Webkit crashes going back from PDF at perl.org site

        * WebView/WebPDFView.h: Replace _updatePreferencesTimer with _willUpdatePreferencesSoon BOOL.
        Also remove unneeded @public that gives other classes access to our dataSource member.

        * WebView/WebPDFView.mm: Rearrange top of file a bit, remove forward declaration of the
        _cancelUpdatePreferencesTimer method.
        (-[WebPDFView dealloc]): Removed call to _cancelUpdatePreferencesTimer.
        (-[WebPDFView _updatePreferencesNow:]): Added WebPreferences parameter. This sidesteps problems
        where the dataSource is no longer present by not looking at the dataSource field at all.
        Also removed the call to _cancelUpdatePreferencesTimer, added code to set _willUpdatePreferencesSoon
        to NO and added a release to balance a retain I did in _updatePreferencesSoon.
        (-[WebPDFView _updatePreferencesSoon]): Changed to use performSelectorAfterDelay instead of
        an NSTimer. Pass in the preferences object as a parameter, since we might not be able to get to
        the dataSource when the timer fires.

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

15 years ago Reviewed by Antti.
darin [Sun, 13 May 2007 12:55:21 +0000 (12:55 +0000)]
    Reviewed by Antti.

        - fix <rdar://problem/5174903> Safari crashes opening the attached webarchive (made by OmniWeb)

        * loader/icon/IconLoader.cpp:
        (WebCore::IconLoader::didReceiveResponse): Check ResourceHandle for nil before calling url() on it.
        (WebCore::IconLoader::didFail): Ditto.
        (WebCore::IconLoader::didFinishLoading): Ditto.

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

15 years ago Reviewed by Oliver.
rwlbuis [Sun, 13 May 2007 07:25:59 +0000 (07:25 +0000)]
    Reviewed by Oliver.

        Cleanup, get rid of the SVGStyledElement::view() call.

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

15 years agoAdd layout tests for residual style fix.
hyatt [Sun, 13 May 2007 06:02:33 +0000 (06:02 +0000)]
Add layout tests for residual style fix.

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

15 years ago Reviewed by Hyatt.
hyatt [Sun, 13 May 2007 06:01:41 +0000 (06:01 +0000)]
    Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13680
          Incomplete repaint of focus ring around continuation

        Test: fast/repaint/continuation-after-outline.html

        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::absoluteClippedOverflowRect):

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

15 years agoLayoutTests:
weinig [Sun, 13 May 2007 05:50:45 +0000 (05:50 +0000)]
LayoutTests:

        Reviewed by Hyatt.

        - repaint test for http://bugs.webkit.org/show_bug.cgi?id=13680
          Incomplete repaint of focus ring around continuation

        * fast/repaint/continuation-after-outline-expected.checksum: Added.
        * fast/repaint/continuation-after-outline-expected.png: Added.
        * fast/repaint/continuation-after-outline-expected.txt: Added.
        * fast/repaint/continuation-after-outline.html: Added.

WebCore:

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13680
          Incomplete repaint of focus ring around continuation

        Test: fast/repaint/continuation-after-outline.html

        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::absoluteClippedOverflowRect):

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

15 years ago2007-05-12 Oliver Hunt <oliver@apple.com>
oliver [Sun, 13 May 2007 05:15:05 +0000 (05:15 +0000)]
2007-05-12  Oliver Hunt  <oliver@apple.com>

LayoutTests:

        Reviewed by Hyatt.

        Add test to verify files can be dragged to <input type="file">

        * fast/forms/dragging-to-file-input-expected.txt: Added.
        * fast/forms/dragging-to-file-input.html: Added.

WebCore:

        Reviewed by Hyatt.

        <rdar://problem/4728842> Can't drag-and-drop files onto <input type="file">

        This patch allows a file to be dropped on to a file input field.  There
        are a few changes for data handling and a  few to allow the data to be
        threaded to the appropriate places.

        * page/DragController.cpp:
        (WebCore::asFileInput):
           When dropping a file onto a file input we may mouse over either
           the element itself, or the contained button element.  This method
           returns the base element for the file input in either of these
           cases.
        (WebCore::DragController::tryDocumentDrag):
           Don't try to set the drag caret to a file input.
        (WebCore::DragController::concludeDrag):
           Handle dropping onto a file input element.
        (WebCore::DragController::canProcessDrag):
           We can now process a file being dragged onto a file input element.

        * platform/DragData.h:
           New accessors

        * platform/gdk/DragDataGdk.cpp:
        (WebCore::DragData::containsFiles):
        (WebCore::DragData::asFilenames):
           Link stubs.

        * platform/mac/DragDataMac.mm:
        (WebCore::DragData::containsFiles):
        (WebCore::DragData::asFilenames):
           Implement new accessors
        (WebCore::DragData::containsCompatibleContent):
           Update containsCompatibleContent to allow standalone files.

        * platform/qt/DragDataQt.cpp:
        (WebCore::DragData::containsFiles):
        (WebCore::DragData::asFilenames):
           Link stubs

        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::receiveDroppedFile):
        * rendering/RenderFileUploadControl.h:
           For security reasons we don't have an api to allow us to set
           a value directly on a file input -- attempts to do so are
           blocked.  By adding a method to set the target through the
           render we bypass such restrictions, and ensure the renderer
           is updated correctly.

WebKitTools:

        Reviewed by Hyatt.

        Add new api to DRT to allow us to test a file being dragged
        onto <input type="file">

        * DumpRenderTree/DumpRenderTree.h:
        * DumpRenderTree/DumpRenderTree.m:
        (+[LayoutTestController isSelectorExcludedFromWebScript:]):
        (-[LayoutTestController addFileToPasteboardOnDrag]):
        (runTest):
        * DumpRenderTree/UIDelegate.m:
        (-[UIDelegate webView:dragImage:at:offset:event:pasteboard:source:slideBack:forView:]):

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

15 years agoLayoutTests:
weinig [Sun, 13 May 2007 02:31:03 +0000 (02:31 +0000)]
LayoutTests:

        Reviewed by Hyatt.

        - pixel test for http://bugs.webkit.org/show_bug.cgi?id=13695
          REGRESSION (r21387): Replaced elements' highlight rects are wrongly positioned

        * fast/replaced/selection-rect-expected.checksum: Added.
        * fast/replaced/selection-rect-expected.png: Added.
        * fast/replaced/selection-rect-expected.txt: Added.
        * fast/replaced/selection-rect.html: Added.

WebCore:

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13695
          REGRESSION (r21387): Replaced elements' highlight rects are wrongly positioned

        Test: fast/replaced/selection-rect.html

        Also fixes the same problem with list markers, covered by existing test
        fast/lists/markers-in-selection.html.

        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::selectionRect):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::selectionRect):

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

15 years agoLayoutTests:
weinig [Sun, 13 May 2007 02:12:53 +0000 (02:12 +0000)]
LayoutTests:

        Reviewed by Darin.

        - repaint test for http://bugs.webkit.org/show_bug.cgi?id=13685
          REGRESSION (r21368-r21388): Highlighting text in scrolled textareas behaves oddly

        * fast/repaint/text-selection-rect-in-overflow-expected.checksum: Added.
        * fast/repaint/text-selection-rect-in-overflow-expected.png: Added.
        * fast/repaint/text-selection-rect-in-overflow-expected.txt: Added.
        * fast/repaint/text-selection-rect-in-overflow.html: Added.

WebCore:

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13685
          REGRESSION (r21368-r21388): Highlighting text in scrolled textareas behaves oddly

        Test: fast/repaint/text-selection-rect-in-overflow.html

        * rendering/RenderText.cpp:
        (WebCore::RenderText::selectionRect):

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

15 years ago Reviewed by Rob Buis.
mjs [Sat, 12 May 2007 22:24:22 +0000 (22:24 +0000)]
    Reviewed by Rob Buis.

        - call Frame::init as needed - this prevents crashes but pages don't appear.

        * Api/qwebframe.cpp:
        (QWebFramePrivate::init):
        * WebKitPart/WebKitPart.cpp:
        (WebKitPart::initView):

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

15 years ago Rubber stamped by Mitz
beidson [Sat, 12 May 2007 21:56:16 +0000 (21:56 +0000)]
    Rubber stamped by Mitz

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::attach): unregister->register - I screwed this one up in last minute renaming
          before committing  :(

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

15 years ago Reviewed by Darin and Geoff
beidson [Sat, 12 May 2007 21:22:08 +0000 (21:22 +0000)]
    Reviewed by Darin and Geoff

        Fix for http://bugs.webkit.org/show_bug.cgi?id=13630
        and
        <rdar://problem/4873628>

        Back/Forward cache should work with pages with login fields.

        First change is to relocate the "useSecureKeyboardEntry" flag to the document.  This lets
        it persist through page cache transitions and it is truly a per-document concept more than
        per-frame anyways since its the document that has a password field, not the frame.

        Second change is to introduce the concept of an Element getting a "didRestoreFromCache()" callback.
        The idea is for elements to register with the document if they need work to be done when the
        page comes out of the back/forward cache.  Currently the only client of this service is
        HTMLInputElements that are input type == PASSWORD.  Such an element's implementation for this
        method is to call reset()

        Finally, after a page is restored from the cache we have the document send the didRestoreFromCache()
        callback to its registered Elements.  The whole design is to clear the password fields after
        restoring the page instead of when caching the page because we want to defer work for the common
        case - there shouldn't be extra work here just to navigate away from a page when the common case
        is that you'll never go back!

        No layout tests possible until http://bugs.webkit.org/show_bug.cgi?id=13672 is resolved

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::registerForDidRestoreFromCacheCallback): Add an Element to the special page-restoration callback list
        (WebCore::Document::unregisterForDidRestoreFromCacheCallback): Remove such an element
        (WebCore::Document::didRestoreFromCache): Called by FrameLoader - dispatch to all the registered elements
        (WebCore::Document::setUseSecureKeyboardEntryWhenActive): Set the local flag and call updateSecureKeyboardEntryIfActive
          on the Frame
        (WebCore::Document::useSecureKeyboardEntryWhenActive): Return the flag

        * dom/Document.h:
        (WebCore::Document::unregisterFormElementWithState): Renamed

        * dom/Element.h:
        (WebCore::Element::didRestoreFromCache): Added virtual base method

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::~HTMLInputElement): Deregister from the document if inputType == PASSWORD
        (WebCore::HTMLInputElement::dispatchFocusEvent): Set the flag on the document, not the frame
        (WebCore::HTMLInputElement::dispatchBlurEvent): Ditto
        (WebCore::HTMLInputElement::setInputType): If changing to/from PASSWORD, register/deregister in the document accordingly
        (WebCore::HTMLInputElement::attach): Call registerForDidRestoreFromCacheCallback(this) instead of passwordFieldAdded()
        (WebCore::HTMLInputElement::didRestoreFromCache): Call reset();
        * html/HTMLInputElement.h:

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::~HTMLSelectElement): Renamed deregisterFormElementWithState to unregisterFormElementWithState
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::~HTMLTextAreaElement): Ditto

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::canCachePage): Remove the check for password fields - they're allowed now!
        (WebCore::FrameLoader::opened): Tell the document to dispatch to the registered elements
        (WebCore::FrameLoader::saveDocumentState): Remove the check for password fields.  Turns out that when we grab a copy a the
          form state we're only copying the state of form elements that are registered with the Document - and that set
          explicitly excludes Password elements

        * page/Frame.cpp:
        (WebCore::Frame::setDocument): If the frame is active, set the setUseSecureKeyboardEntry based on the setting contained
          in the new document
        (WebCore::Frame::updateSecureKeyboardEntryIfActive): Notification for the secure entry flag changing - if the Frame is
          active, then update to the new setting from the document
        (WebCore::Frame::setIsActive): Grab the useSecureKeyboardEntry flag from the document instead of FramePrivate
        (WebCore::FramePrivate::FramePrivate):
        * page/Frame.h:
        * page/FramePrivate.h:

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

15 years agoUpdate existing invalid tests and add new test for 12740.
hyatt [Sat, 12 May 2007 21:18:11 +0000 (21:18 +0000)]
Update existing invalid tests and add new test for 12740.

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

15 years ago Fix for bug 12740, bmw.com doesn't work. We were missing a rule that is...
hyatt [Sat, 12 May 2007 21:15:00 +0000 (21:15 +0000)]
    Fix for bug 12740, bmw.com doesn't work.  We were missing a rule that is covered by the HTML5
        parsing spec.  A <table> encountered while inside stray table content should close up the
        table responsible for the stray content and start the new table as a sibling of the first.

        Reviewed by mjs

        fast/invalid/table-inside-stray-table-content.html

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

15 years ago2007-05-12 Eric Seidel <eric@webkit.org>
eseidel [Sat, 12 May 2007 08:35:46 +0000 (08:35 +0000)]
2007-05-12  Eric Seidel  <eric@webkit.org>

        Reviewed by mjs.

        Crash starting Safari with JavaScript disabled.
        http://bugs.webkit.org/show_bug.cgi?id=13691

        Test: none possible.

        * page/mac/FrameMac.mm:
        (WebCore::Frame::cleanupPlatformScriptObjects): NULL check d->m_script

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

15 years agoAdd layout test for colloquy display table baseline issue.
hyatt [Sat, 12 May 2007 06:43:48 +0000 (06:43 +0000)]
Add layout test for colloquy display table baseline issue.

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

15 years ago Fix for http://bugs.webkit.org/show_bug.cgi?id=13688, Colloquy is broken!
hyatt [Sat, 12 May 2007 06:40:14 +0000 (06:40 +0000)]
    Fix for bugs.webkit.org/show_bug.cgi?id=13688, Colloquy is broken!

        Make sure to adjust the baseline of a percentage height table cell's row if the
        cell flexes (and lowers the baseline).

        Reviewed by olliej

        fast/tables/vertical-align-baseline-readjust.html

        (WebCore::RenderTableSection::calcRowHeight):
        (WebCore::RenderTableSection::layoutRows):
        * rendering/RenderTableSection.h:
        (WebCore::RenderTableSection::getBaseline):

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

15 years ago Make sure focus rings are always using the exterior style, regardless
hyatt [Sat, 12 May 2007 00:17:38 +0000 (00:17 +0000)]
    Make sure focus rings are always using the exterior style, regardless
        of what the OS default is.

        Reviewed by beth

        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::checkbox):
        (WebCore::RenderThemeMac::radio):
        (WebCore::RenderThemeMac::popupButton):
        (WebCore::RenderThemeMac::search):
        (WebCore::RenderThemeMac::sliderThumbHorizontal):
        (WebCore::RenderThemeMac::sliderThumbVertical):

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

15 years ago2007-05-11 Oliver Hunt <oliver@apple.com>
oliver [Sat, 12 May 2007 00:07:12 +0000 (00:07 +0000)]
2007-05-11  Oliver Hunt  <oliver@apple.com>

LayoutTests:

        Reviewed by Hyatt.

        Layout test for x-mac-roman character encoding.

        * fast/encoding/xmacroman-encoding-test-expected.txt: Added.
        * fast/encoding/xmacroman-encoding-test.html: Added.

WebCore:

        Reviewed by Hyatt.

        <rdar://problem/5195473> REGRESSION: "Curly quote" fails to
        be displayed correctly even when META tag specifies charset=x-mac-roman

        * platform/TextCodecICU.cpp:
        (WebCore::TextCodecICU::registerExtendedEncodingNames):
        Register the xmacroman encoding

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

15 years agoChangeLog fixup
ggaren [Fri, 11 May 2007 23:05:47 +0000 (23:05 +0000)]
ChangeLog fixup

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

15 years ago Reviewed by Hyatt.
mjs [Fri, 11 May 2007 22:59:17 +0000 (22:59 +0000)]
    Reviewed by Hyatt.

        <rdar://problem/5193517> FrameLoader::canCachePage() might walk the entire DOM
        http://bugs.webkit.org/show_bug.cgi?id=13662

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::provisionalLoadStarted): Remove some useless and now harmful
        code - there's no need to clear in this case.

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

15 years ago GDK Build fix
oliver [Fri, 11 May 2007 22:06:45 +0000 (22:06 +0000)]
    GDK Build fix

        * ChangeLog:
        * dom/Document.cpp:
        (WebCore::Document::importNode):

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

15 years ago Reviewed by Geoff.
mjs [Fri, 11 May 2007 22:03:18 +0000 (22:03 +0000)]
    Reviewed by Geoff.

        - fixed <rdar://problem/5197621> closing second window crashed webkit (13660)
        http://bugs.webkit.org/show_bug.cgi?id=13660

        No test case; not testable.

        * page/mac/FrameMac.mm:
        (WebCore::Frame::cleanupPlatformScriptObjects): Check if the interpreter is null;
        if so, we don't want to do work that may lazily create it while the Frame is being
        destroyed.

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

15 years ago2007-05-11 Oliver Hunt <oliver@apple.com>
oliver [Fri, 11 May 2007 21:54:12 +0000 (21:54 +0000)]
2007-05-11  Oliver Hunt  <oliver@apple.com>

LayoutTests:

        Reviewed by Brady.

        Layout tests for <rdar://problem/5017375> WebKit should disable SVG in Dashboard
        Tests attempt to use SVG in a number of ways, both direct and indirect.

        * http/tests/xmlhttprequest/resources/svgtest.svg: Added.
          Small test SVG

        * http/tests/xmlhttprequest/svg-created-by-xhr-disallowed-in-dashboard-expected.txt: Added.
        * http/tests/xmlhttprequest/svg-created-by-xhr-disallowed-in-dashboard.html: Added.
          Attempts to use an SVG doc created with XHR as content

        * svg/custom/embedded-svg-disallowed-in-dashboard-expected.txt: Added.
        * svg/custom/embedded-svg-disallowed-in-dashboard.xml: Added.
          Attempts to use SVG by embedding it in an SVG doc.

        * svg/custom/manually-parsed-embedded-svg-disallowed-in-dashboard-expected.txt: Added.
        * svg/custom/manually-parsed-embedded-svg-disallowed-in-dashboard.html: Added.
          Attempts to use SVG by using a DOMParser to manually parse XHMTL with embedded SVG

        * svg/custom/manually-parsed-svg-disallowed-in-dashboard-expected.txt: Added.
        * svg/custom/manually-parsed-svg-disallowed-in-dashboard.html: Added.
          Attempts to use SVG by using a DOMParser to manually create an SVG doc from a string

        * svg/custom/svg-disallowed-in-dashboard-object-expected.txt: Added.
        * svg/custom/svg-disallowed-in-dashboard-object.html: Added.
          Attempts to embed SVG with <embed>, <object>, and <iframe>

WebCore:

        Reviewed by Brady.

        <rdar://problem/5017375> WebKit should disable SVG in Dashboard

        Prevents an SVG document or element from being created when in
        dashboard compatibility mode.

        Manually parsing, or using XHR to created a document removes our
        ability to detect Dashboard compatibility mode, so we also perform
        the check when importing nodes from one document into another.

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument):
          Don't create an SVGDocument if we're in dashboard compatibility mode

        * dom/Document.cpp:
        (WebCore::Document::importNode):
          Don't import SVG nodes if we're in dashboard compatibility mode

        * ksvg2/scripts/make_names.pl:
          Don't create SVG elements for documents that are in dashboard
          compatibility mode

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

15 years ago2007-05-11 Mark Rowe <mrowe@apple.com>
bdash [Fri, 11 May 2007 20:44:48 +0000 (20:44 +0000)]
2007-05-11  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Oliver.

        * fast/encoding/char-encoding.html: Change from a 5 millisecond
        timeout to a 500 millisecond timeout to work around occasional
        timing-related test failures.

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

15 years ago2007-05-11 Holger Hans Peter Freyther <zecke@selfish.org>
bdash [Fri, 11 May 2007 20:29:34 +0000 (20:29 +0000)]
2007-05-11  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Maciej.

        Bug 13656: [gdk] Resize the drawing area of the GdkLauncher
        http://bugs.webkit.org/show_bug.cgi?id=13656

        * GdkLauncher/main.cpp: Handle resizing the drawing area
        (frameResizeCallback):
        (main):

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

15 years ago2007-05-11 Holger Hans Peter Freyther <zecke@selfish.org>
bdash [Fri, 11 May 2007 20:27:19 +0000 (20:27 +0000)]
2007-05-11  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Maciej.

        Bug 13676: [cairo/gdk] Provide implementation for ImageBufferCairo
        http://bugs.webkit.org/show_bug.cgi?id=13676

        There are no test cases that explicitly cover platform/graphics at present.

        * platform/graphics/ImageBuffer.h: Add cairo bits
        * platform/graphics/cairo/ImageBufferCairo.cpp: Untested implementation of the ImagerBuffer using the image_surface
        (WebCore::ImageBuffer::create): Create a reasonable sized surface
        (WebCore::ImageBuffer::ImageBuffer): Use a cairo_surface and create a GraphicsContext. GraphicsContext takes the cairo_t ownership
        (WebCore::ImageBuffer::~ImageBuffer): Unref the surface
        (WebCore::ImageBuffer::context): simply return the GraphicsContext, it should be possible to directly draw on it.

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

15 years ago2007-05-11 Mitz Pettel <mitz@webkit.org>
bdash [Fri, 11 May 2007 20:12:29 +0000 (20:12 +0000)]
2007-05-11  Mitz Pettel  <mitz@webkit.org>

        Release build fix.

        * platform/mac/ShapeArabic.c:
        (shapeArabic):

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

15 years agoLayoutTests:
ggaren [Fri, 11 May 2007 19:43:45 +0000 (19:43 +0000)]
LayoutTests:

        Reviewed by Darin Adler.

        Updated test a little bit now that +[WebScriptObject scriptObjectForJSObject:frame:]
        is gone.

        * fast/dom/wrapper-round-tripping.html:

WebCore:

        Reviewed by Darin Adler.

        Removed +[WebScriptObject scriptObjectForJSObject:frame:] because the
        WebScriptObject API has some serious limitations that make it not ready
        to be used everywhere the C API is used. Hopefully we can add a good
        ObjC API in the future that doesn't suffer from this problem.

        Preliminary notes about these limitations are in <rdar://problem/4876466>.

        * bindings/objc/WebScriptObject.mm:
        * bindings/objc/WebScriptObjectPendingPublic.h:

WebKitTools:

        Reviewed by Darin Adler.

        Updated test now that +[WebScriptObject scriptObjectForJSObject:frame:]
        is gone.

        * DumpRenderTree/DumpRenderTree.m:
        (-[WaitUntilDoneDelegate webView:didClearWindowObject:forFrame:]):
        (+[LayoutTestController isSelectorExcludedFromWebScript:]):
        (+[LayoutTestController webScriptNameForSelector:]):
        (-[LayoutTestController testWrapperRoundTripping:]):

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

15 years agoBuild fix for case-sensitve file systems (which you should all be using!!!)
beidson [Fri, 11 May 2007 18:26:50 +0000 (18:26 +0000)]
Build fix for case-sensitve file systems (which you should all be using!!!)

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

15 years ago2007-05-11 Mitz Pettel <mitz@webkit.org>
bdash [Fri, 11 May 2007 16:49:26 +0000 (16:49 +0000)]
2007-05-11  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13635
          REGRESSION: Cannot log in to webmail.co.za account

        Test: fast/dom/HTMLOptionElement/option-text.html

        Despite the specification that the 'text' attribute of HTMLOptionElement
        is "the text contained within the option element", other browsers return
        the text as displayed in the list box or popup, which is without leading,
        trailing and collapsible whitespace.

        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::text): Moved the code to trim and collapse
        whitespace and replace backslashes with the currency symbol into this
        function.
        (WebCore::HTMLOptionElement::optionText): Left only the code that adds
        the leading spaces for grouped options. Removed code that, in quirks mode,
        displayed the label if the option element contained no text. That behavior
        did not match WinIE and the description of the expected behavior in
        fast/forms/HTMLOptionElement_label06.html.

2007-05-11  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - test and updated results for http://bugs.webkit.org/show_bug.cgi?id=13635
          REGRESSION: Cannot log in to webmail.co.za account

        * fast/dom/HTMLOptionElement/option-text-expected.txt: Added.
        * fast/dom/HTMLOptionElement/option-text.html: Added.
        * fast/forms/HTMLOptionElement_label06-expected.checksum:
        * fast/forms/HTMLOptionElement_label06-expected.png:
        * fast/forms/HTMLOptionElement_label06-expected.txt:

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

15 years ago2007-05-11 Kimmo Kinnunen <kimmok@iki.fi>
bdash [Fri, 11 May 2007 16:45:45 +0000 (16:45 +0000)]
2007-05-11  Kimmo Kinnunen  <kimmok@iki.fi>

        Reviewed by Darin.

        - Fix for bug http://bugs.webkit.org/show_bug.cgi?id=13620
          Bogus decompilation of "for (var j = 1 in [])"
        - ForInNode toString()'ed to syntax error if there was var decl
          and initializer
        - ForNode toStringed()'ed lost 'var ' if it was present

        * kjs/nodes2string.cpp:
        (VarDeclListNode::streamTo): Print "var " here
        (VarStatementNode::streamTo): Don't print "var " here
        (ForNode::streamTo): Remove TODO comment, VarDeclListNode will
        stream the "var "
        (ForInNode::streamTo): ForIn initializer is printed by VarDeclNode

2007-05-11  Kimmo Kinnunen  <kimmok@iki.fi>

        Reviewed by Darin.

        - Tests for bug http://bugs.webkit.org/show_bug.cgi?id=13620
          Bogus decompilation of "for (var j = 1 in [])"

        Testcase covers toString()ing functions with
        for-statements of form for (var j = 1 in []) and for (var j=0;j<10;j++)

        * fast/js/resources/toString-for-var-decl.js: Added.
        * fast/js/toString-for-var-decl-expected.txt: Added.
        * fast/js/toString-for-var-decl.html: Added.

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

15 years ago2007-05-11 Mitz Pettel <mitz@webkit.org>
bdash [Fri, 11 May 2007 16:25:25 +0000 (16:25 +0000)]
2007-05-11  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13572
          Arabic characters are not correctly joined when using Arial

        No tests added because standard fonts do not use the character-based shaping
        code path.

        Added shapeArabic(), a private version of u_shapeArabic() from ICU,
        patched to shape Arabic characters used in Persian, Urdu, Sindhi, etc.
        (whose contextual forms belong to the Arabic Presentation Forms-A block).

        * WebCore.xcodeproj/project.pbxproj: Added ShapeArabic.{c,h}.
        * platform/mac/FontMac.mm:
        (WebCore::shapeArabic): Changed to call shapeArabic() instead of u_shapeArabic().
        * platform/mac/ShapeArabic.c: Added. Based on ushape.c from ICU, with
        additional shaping data and logic for Arabic Presentation Forms-A. Removed
        many options that are not used in WebKit and code that malloc()ed a temporary
        buffer and reversed the string.
        (changeLamAlef):
        (specialChar):
        (getLink):
        (isTashkeelChar):
        (shapeUnicode):
        (shapeArabic):
        * platform/mac/ShapeArabic.h: Added.

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

15 years ago2007-05-11 Kimmo Kinnunen <kimmok@iki.fi>
bdash [Fri, 11 May 2007 16:17:43 +0000 (16:17 +0000)]
2007-05-11  Kimmo Kinnunen  <kimmok@iki.fi>

        Reviewed by Darin.

        Tests for http://bugs.webkit.org/show_bug.cgi?id=10878
        Bug 10878: Incorrect decompilation for "4..x"

        * fast/js/resources/toString-number-dot-expr.js: Added.
        * fast/js/toString-number-dot-expr-expected.txt: Added.
        * fast/js/toString-number-dot-expr.html: Added.

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

15 years ago2007-05-11 Kimmo Kinnunen <kimmok@iki.fi>
bdash [Fri, 11 May 2007 16:15:45 +0000 (16:15 +0000)]
2007-05-11  Kimmo Kinnunen  <kimmok@iki.fi>

        Reviewed by Darin.

        - Fixes http://bugs.webkit.org/show_bug.cgi?id=10878
          (Incorrect decompilation for "4..x")
        - Group numbers in dotted expressions in toString() output, so we
          avoid the 4.x constructs  when the original input is 4..x.
          4..x means the same as 4. .x or (4).x or Number(4).x

        * kjs/nodes2string.cpp:
        (KJS::SourceStream::):
        Add boolean flag to indicate that if next item is a number, it should be grouped.
        Add new formatting enum which turns on the boolean flag.
        (KJS::SourceStream::SourceStream): Added. Initialize the flag.
        (SourceStream::operator<<): Added. New overloaded operator with double value as parameter.
        (NumberNode::streamTo): Use the double operator
        (ArrayNode::streamTo):
        (DotAccessorNode::streamTo):
        (FunctionCallDotNode::streamTo):
        (FunctionCallParenDotNode::streamTo):
        (PostfixDotNode::streamTo):
        (DeleteDotNode::streamTo):
        (PrefixDotNode::streamTo):
        (AssignDotNode::streamTo): Use the new formatting enum to turn on the grouping flag.

2007-05-11  Kimmo Kinnunen  <kimmok@iki.fi>

        Reviewed by Darin.

        Tests for http://bugs.webkit.org/show_bug.cgi?id=10878
        Bug 10878: Incorrect decompilation for "4..x"

        * fast/js/resources/toString-number-dot-expr.js: Added.
        * fast/js/toString-number-dot-expr-expected.txt: Added.
        * fast/js/toString-number-dot-expr.html: Added.

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

15 years agoLayoutTests:
darin [Fri, 11 May 2007 15:47:28 +0000 (15:47 +0000)]
LayoutTests:

        Reviewed by Mitz.

        - test for http://bugs.webkit.org/show_bug.cgi?id=7452
          <rdar://problem/3211749> line breaks ignored after <wbr> in <pre> block (affects livejournal.com)

        * fast/text/wbr-pre-expected.checksum: Added.
        * fast/text/wbr-pre-expected.png: Added.
        * fast/text/wbr-pre-expected.txt: Added.
        * fast/text/wbr-pre.html: Added.

        - test for http://bugs.webkit.org/show_bug.cgi?id=10657
          <rdar://problem/4274588> <wbr> tags are ignored

        * fast/text/wbr-expected.checksum: Added.
        * fast/text/wbr-expected.png: Added.
        * fast/text/wbr-expected.txt: Added.
        * fast/text/wbr.html: Added.

        - test for http://bugs.webkit.org/show_bug.cgi?id=12689
          <wbr> :before/:after content causes line break

        * fast/css-generated-content/wbr-with-before-content-expected.checksum: Added.
        * fast/css-generated-content/wbr-with-before-content-expected.png: Added.
        * fast/css-generated-content/wbr-with-before-content-expected.txt: Added.
        * fast/css-generated-content/wbr-with-before-content.html: Added.

        - test for <rdar://problem/5127366> DOM tree isn't correct when parsing with <wbr>

        * fast/invalid/021-expected.txt: Updated result.
        * fast/parser/parse-wbr-expected.txt: Added.
        * fast/parser/parse-wbr.html: Added.

WebCore:

        Reviewed by Mitz.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7452
          <rdar://problem/3211749> line breaks ignored after <wbr> in <pre> block (affects livejournal.com)

        - fix http://bugs.webkit.org/show_bug.cgi?id=10657
          <rdar://problem/4274588> <wbr> tags are ignored

        - fix http://bugs.webkit.org/show_bug.cgi?id=12689
          <wbr> :before/:after content causes line break

        - fix <rdar://problem/5127366> DOM tree isn't correct when parsing with <wbr>

        Test: fast/text/wbr-pre.html
        Test: fast/text/wbr.html
        Test: fast/css-generated-content/wbr-with-before-content.html
        Test: fast/parser/parse-wbr.html

        * html/HTMLElement.h:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::endTagRequirement): Use the same end tag requirement for a <wbr>
        element as for a <br> element, TagStatusForbidden.
        (WebCore::HTMLElement::tagPriority): Use the same priority for a <wbr> element as for a
        <br> element, 0.
        (WebCore::HTMLElement::createRenderer): Added. Create a RenderWordBreak to trigger the
        new rendering code paths.

        * rendering/RenderFlow.h: Add a virtual isWordBreak so we can detect RenderWordBreak.

        * rendering/RenderWordBreak.h: Added.
        * rendering/RenderWordBreak.cpp: Added.

        * WebCore.pro: Added new files.
        * WebCore.xcodeproj/project.pbxproj: Added new files.
        * WebCoreSources.bkl: Added new files.

        * rendering/RenderBlock.cpp: (WebCore::RenderBlock::calcInlinePrefWidths): Reset the
        line when we hit a <wbr>.
        * rendering/bidi.cpp: (WebCore::RenderBlock::findNextLineBreak): Add a line break when
        we hit a <wbr>.

        * dom/Node.cpp: (Node::createRendererIfNeeded): Fix a null check for the case where
        createRenderer returns 0 even though rendererIsNeeded returned true. I can't reproduce
        it on demand, but while running layout tests I hit this once. Since there was already
        a null check here, I rearranged it so it guards all the code that uses the renderer.
        Later we might want to figure out under exactly what circumstances rendererIsNeeded
        will return true but createRenderer return 0 and consider eliminating them.

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

15 years agoRoll out r21393 due to the JavaScriptCore test failure it introduced.
bdash [Fri, 11 May 2007 10:04:17 +0000 (10:04 +0000)]
Roll out r21393 due to the JavaScriptCore test failure it introduced.

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

15 years agoTweak continuation tests to make sure the no content after case is covered.
hyatt [Fri, 11 May 2007 09:41:38 +0000 (09:41 +0000)]
Tweak continuation tests to make sure the no content after case is covered.

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

15 years ago Fix for bug 13675, focus rings don't repaint properly on editable
hyatt [Fri, 11 May 2007 09:36:18 +0000 (09:36 +0000)]
    Fix for bug 13675, focus rings don't repaint properly on editable
        continuations.

        Reviewed by olliej

        (WebCore::InlineFlowBox::paint):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintObject):
        (WebCore::continuationOutlineTable):
        (WebCore::RenderBlock::addContinuationWithOutline):
        (WebCore::RenderBlock::paintContinuationOutlines):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::absoluteClippedOverflowRect):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
        (WebCore::RenderObject::absoluteOutlineBox):

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

15 years agoLand new layout tests for continuation repainting fix.
hyatt [Fri, 11 May 2007 09:31:30 +0000 (09:31 +0000)]
Land new layout tests for continuation repainting fix.

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

15 years ago Reviewed by Oliver.
rwlbuis [Fri, 11 May 2007 09:27:12 +0000 (09:27 +0000)]
    Reviewed by Oliver.

        Cleanups mostly inspired by Coverage results.

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

15 years ago2007-05-11 Holger Freyther <freyther@kde.org>
bdash [Fri, 11 May 2007 09:01:46 +0000 (09:01 +0000)]
2007-05-11  Holger Freyther <freyther@kde.org>

        Reviewed by Mark Rowe.

        Move libcurl configuration into WebKit.pri so it will be used by GdkLauncher.

        * WebCore.pro:

2007-05-11  Holger Freyther <freyther@kde.org>

        Reviewed by Mark Rowe.

        Move libcurl configuration into WebKit.pri so it will be used by GdkLauncher,
        and add ICU configuration to QMAKE_CXXFLAGS.

        * WebKit.pri:

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

15 years ago2007-05-11 Kimmo Kinnunen <kimmok@iki.fi>
bdash [Fri, 11 May 2007 08:51:49 +0000 (08:51 +0000)]
2007-05-11  Kimmo Kinnunen  <kimmok@iki.fi>

        Reviewed by Darin.

        - Fixes http://bugs.webkit.org/show_bug.cgi?id=13622 (Decompiler omits trailing
          comma in array literal)

        * kjs/grammar.y: Add the comma that parser consumes in elision
          when the array has trailing commas.

2007-05-11  Kimmo Kinnunen  <kimmok@iki.fi>

        Reviewed by Darin.

        - Tests for fix to http://bugs.webkit.org/show_bug.cgi?id=13622 (Decompiler omits
          trailing comma in array literal)

        * fast/js/resources/toString-elision-trailing-comma.js: Added.
        * fast/js/toString-elision-trailing-comma-expected.txt: Added.
        * fast/js/toString-elision-trailing-comma.html: Added.

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

15 years ago This tests behaves differently when it isn't run by itself because
justing [Fri, 11 May 2007 05:36:28 +0000 (05:36 +0000)]
This tests behaves differently when it isn't run by itself because
    of a bug.  Filed it (13673) and added a workaround.

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

15 years ago <rdar://problem/5015522> Bounds rectangle of unloaded images is
hyatt [Fri, 11 May 2007 05:17:08 +0000 (05:17 +0000)]
    <rdar://problem/5015522> Bounds rectangle of unloaded images is
        drawn briefly while loading

        When the image is null and has no size, don't draw the grey
        rectangles or alt text any more.  Wait for an actual error to
        occur with the image before we start showing alt text and borders.

        (Images with no source set at all will continue to show alt text and
        borders immediately.)

        Reviewed by bradee-oh

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paint):

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

15 years agoLayoutTests:
thatcher [Fri, 11 May 2007 04:49:54 +0000 (04:49 +0000)]
LayoutTests:

        Reviewed by Darin.

        - repaint test and updated results for http://bugs.webkit.org/show_bug.cgi?id=13655
          Incomplete repaint when text-shadow is used in a render layer with explicit height

        * fast/repaint/layer-full-repaint-expected.checksum: Added.
        * fast/repaint/layer-full-repaint-expected.png: Added.
        * fast/repaint/layer-full-repaint-expected.txt: Added.
        * fast/repaint/layer-full-repaint.html: Added.
        * fast/repaint/repaint-resized-overflow-expected.checksum:
        * fast/repaint/repaint-resized-overflow-expected.png:

WebCore:

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13655
          Incomplete repaint when text-shadow is used in a render layer with explicit height

        Test: fast/repaint/layer-full-repaint.html

        Removed custom repaint logic from RenderLayer. repaintAfterLayoutIfNeeded()
        knows how to do everything we need now. The only catch is that we cannot
        rely on its "do a full repaint if the object needs layout" behavior, since
        by the time we call it, the needs layout flag has been reset. The solution
        is to cache the need for a full repaint in the layer.

        * page/FrameView.cpp:
        (WebCore::FrameView::layout): Removed call to checkForRepaintOnResize().
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::checkForRepaintOnResize): Removed.
        (WebCore::RenderLayer::RenderLayer): Replaced the m_repaintOverflowOnResize
        flag with a m_needsFullRepaint flag, which indicates that the layer needs
        to do a full repaint in the next call to updateLayerPositions().
        (WebCore::RenderLayer::updateLayerPositions): Simplified the repaint logic.
        Either call repaintAfterLayoutIfNeeded() or do a full repaint, depending on
        m_needsFullRepaint.
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::setNeedsFullRepaint):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::setNeedsLayout): Mark the layer for full repaint.

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

15 years agoLayoutTests:
justing [Fri, 11 May 2007 03:51:40 +0000 (03:51 +0000)]
LayoutTests:

        Reviewed by ggaren

        <rdar://problem/5195166> Incorrect proposedRange DOMRange passed to WebViewEditing delegate

        * editing/selection/5195166-1-expected.checksum: Added.
        * editing/selection/5195166-1-expected.png: Added.
        * editing/selection/5195166-1-expected.txt: Added.
        * editing/selection/5195166-1.html: Added.
        * editing/selection/5195166-2-expected.checksum: Added.
        * editing/selection/5195166-2-expected.png: Added.
        * editing/selection/5195166-2-expected.txt: Added.
        * editing/selection/5195166-2.html: Added.

WebCore:

        Reviewed by ggaren

        <rdar://problem/5195166> Incorrect proposedRange DOMRange passed to WebViewEditing delegate

        In setModifyBias, we must cache the start and the end
        because the calls to setBase and setExtent can modify
        them (added a testcase).
        The temporary SelectionController that we use in modify() to
        produce the proposed range that will be passed to
        shouldChangeSelectedDOMRange must have the same m_modifyBias
        as the original SelectionController, or else when the
        modification is performed, setModifyBias can swap the base
        and the extent incorrectly (added a testcase).
        Renamed m_modifyBias to m_lastChangeWasHorizontalExtension.
        Renamed setModifyBias to willBeModified.

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::SelectionController):
        (WebCore::SelectionController::setSelection):
        (WebCore::SelectionController::willBeModified):
        (WebCore::SelectionController::modify):
        * editing/SelectionController.h:
        (WebCore::SelectionController::setLastChangeWasHorizontalExtension):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEventSingleClick):
        (WebCore::EventHandler::updateSelectionForMouseDragOverPosition):

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

15 years agoWebCore:
ggaren [Fri, 11 May 2007 02:01:11 +0000 (02:01 +0000)]
WebCore:

        Reviewed by Darin Adler.

        "IconDatabase::sharedIconDatabase()" => "iconDatabase()" for terseness,
        in the style of WebCore::cache().

        * WebCore.exp:
        * history/HistoryItem.cpp: Removed retainIconInDatabase because calling
        "retain" in order to release something is really confusing and, now that
        iconDatabase() is more terse, we don't need this helper to shorten the
        syntax. (The isEmpty() check is also done by the database, so we don't
        need it either.)

        (WebCore::IconDatabase::~IconDatabase): ASSERT that our destructor isn't
        called. We're a singleton, so it's confusing to have tear-down code.

WebKit:

        Reviewed by Darin Adler.

        "IconDatabase::sharedIconDatabase()" => "iconDatabase()" for terseness.

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

15 years agoLayoutTests:
adele [Fri, 11 May 2007 00:26:12 +0000 (00:26 +0000)]
LayoutTests:

        Reviewed by Hyatt.

        Test for <rdar://problem/4100616> Doing a "find" in RSS doesn't scroll to result

        * fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.checksum: Added.
        * fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.png: Added.
        * fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt: Added.
        * fast/overflow/scroll-nested-positioned-layer-in-overflow.html: Added.

WebCore:

        Reviewed by Hyatt.

        WebCore part of fix for <rdar://problem/4100616> Doing a "find" in RSS doesn't scroll to result

        Test: fast/overflow/scroll-nested-positioned-layer-in-overflow.html

        Merged visibleSelectionRect into selectionRect.  selectionRect() now takes an argument to determine
        whether or not to return a rect that clips to the visible content.  This change makes all of the implementations of selectionRect
        consistent by having them all consider the repaint rect when clipping to visible content.

        * page/Frame.cpp:
        (WebCore::Frame::revealSelection): Call selectionRect with clipToVisibleContent = false, so we can get a rect that's not visible to reveal.
        (WebCore::Frame::selectionRect): Added clipToVisibleContent argument, and merged visibleSelectionRect into this method.
        (WebCore::Frame::setIsActive): Use selectionRect instead of visibleSelectionRect.
        * page/Frame.h:
        * page/mac/FrameMac.mm: (WebCore::Frame::selectionImage): Update layout before creating the image.  Use selectionRect instead of visibleSelectionRect.
        * page/DragController.cpp: (WebCore::dragLocForSelectionDrag): Use selectionRect instead of visibleSelectionRect.

        * rendering/RenderBR.h: (WebCore::RenderBR::selectionRect): Updated argument.
        * rendering/RenderBlock.h: (WebCore::RenderBlock::selectionRect): ditto.
        * rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::selectionRect): ditto.
        * rendering/RenderSVGInlineText.h: ditto.
        * rendering/RenderObject.h:
        (WebCore::RenderObject::selectionRect): ditto.
        (WebCore::RenderObject::SelectionInfo::SelectionInfo): ditto.
        * rendering/RenderView.cpp:
        (WebCore::RenderView::selectionRect): ditto.
        (WebCore::RenderView::setSelection): ditto.
        * rendering/RenderView.h:

        * rendering/RenderText.h:
        * rendering/RenderText.cpp: (WebCore::RenderText::selectionRect): Only call computeAbsoluteRepaintRect when clipping to visible content.
        Otherwise, just adjust the rect to the correct position.
        * rendering/RenderListMarker.h:
        * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::selectionRect):
          To match what we do in RenderText, if we're trying to clip to visible content, just call computeAbsoluteRepaintRect.
        * rendering/RenderReplaced.h:
        * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::selectionRect): ditto.

        * rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollRectToVisible): Check for a parent layer at the beginning, so we can try to scroll all of our parent layers
          first, before trying to scroll the top level view.  Also, don't try to scroll overflow layers that have -webkit-line-clamp restricting the height.
          This will prevent us from revealing text hidden by the slider in Safari RSS.

        * WebCore.exp: Update symbols for WebKit.

WebKit:

        Reviewed by Hyatt.

        WebKit part of fix for <rdar://problem/4100616> Doing a "find" in RSS doesn't scroll to result

        Updated to use selectionRect instead of visibleSelectionRect.  selectionRect() now returns the visible rect by default.

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

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