15 years ago Reviewed by Maciej.
andersca [Fri, 10 Aug 2007 01:04:14 +0000 (01:04 +0000)]
    Reviewed by Maciej.

        <rdar://problem/5400029> iframes with an image src rarely load image

        Don't try to shrink standalone images in subframes. The resize event is not
        sent for subframes which screws up the shrink-to-fit logic.

        * loader/ImageDocument.cpp:
        * loader/ImageDocument.h:

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

15 years agoMoved Gtk changelog entries from WebKit/ChangeLog to WebKit/gtk/ChangeLog.
zecke [Fri, 10 Aug 2007 00:33:32 +0000 (00:33 +0000)]
Moved Gtk changelog entries from WebKit/ChangeLog to WebKit/gtk/ChangeLog.

Rubberstamped by Adam.

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

15 years ago2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>
zecke [Fri, 10 Aug 2007 00:25:15 +0000 (00:25 +0000)]
2007-08-10  Holger Hans Peter Freyther  <zecke@selfish.org>

        Build fix.

        * Api/webkitgtkframe.cpp:

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

15 years agoWebCore:
zecke [Fri, 10 Aug 2007 00:19:14 +0000 (00:19 +0000)]
2007-08-10  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Adam.

        Implement FrameLoaderClientGdk::createFrame mostly by copying
        the windows implementation. A method similiar to WebFrame::loadURLIntoChild
        was not introduced instead we have a simplified version similiar to the
        one of the Qt port.

        Remove building of WebKit/gtk/webkitgtkframedata.{cpp,h}.

        * WebCore.pro:
        * loader/gdk/FrameLoaderClientGdk.cpp:

2007-08-10  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Adam.

        Remove the create_frame virtual method of WebKitGtkPage. This method was inspired
        by the Qt port but to be useful for reimplementations WebKitGtkFrameData would need
        to export/expose WebCore types. WebView doesn't offer such a method so I decided to
        remove it.
        Add a internal constructor to WebKitGtkFrame to be used for constructing Sub-Frames. This
        is currently used by FrameLoaderClientGdk::createFrame.

        * Api/webkitgtkframe.cpp:
        * Api/webkitgtkframedata.cpp: Removed.
        * Api/webkitgtkframedata.h: Removed.
        * Api/webkitgtkpage.cpp:
        * Api/webkitgtkpage.h:
        * Api/webkitgtkprivate.h:

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

15 years agoWebCore:
zecke [Thu, 9 Aug 2007 23:44:39 +0000 (23:44 +0000)]
2007-08-10  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Adam.

        Use the ScrollView/Widget design of the Windows port to only use one
        native window for the whole page. This will make it possible to implement

        In contrast to the windows port the ScrollBars are GtkWidgets. To paint them
        at the right position we need to position them correctly. To not scroll the
        ScrollBar's belonging to the ScrollView a ScrollViewScrollbar is introduced with
        a different geometryChanged method.

        To allow the Gtk+ way of scrolling the ScrollView allows to get GtkAdjustments
        set. In this case no ScrollViewScrollbar will be created.

        * platform/ScrollView.h:
        * platform/Widget.h:
        * platform/gdk/PlatformScreenGdk.cpp:
        * platform/gdk/PlatformScrollBar.h:
        * platform/gdk/PlatformScrollBarGdk.cpp:
        * platform/gdk/ScrollViewGdk.cpp:
        * platform/gdk/WidgetGdk.cpp:

2007-08-10  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Adam.

        Follow the changes of ScrollView in WebCore and call setContainingWindow, set the
        GtkAdjustment of the GtkLayout and reimplement the set_scroll_adjustments method and pass
        the GtkAdjustments to ScrollView.
        This makes having one GdkWindow for the complete FrameTree possible.

        * gtk/Api/webkitgtkframe.cpp:
        * gtk/Api/webkitgtkpage.cpp:

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

15 years ago Fix by Brady, reviewed by me.
adele [Thu, 9 Aug 2007 22:53:05 +0000 (22:53 +0000)]
    Fix by Brady, reviewed by me.

        Fix for <rdar://problem/5380697> connection:willSendRequest:redirectResponse: is called on every NSURLConnection

        * platform/network/mac/ResourceHandleMac.mm: (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
          Work around a behavior change in CFNetwork where willSendRequest gets called more often by returning early.

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

15 years ago Reviewed by Antti.
darin [Thu, 9 Aug 2007 17:51:21 +0000 (17:51 +0000)]
    Reviewed by Antti.

        - fix <rdar://problem/4889753> REGRESSION: Selection doesn't continue with drag selecting
          when autoscrolling vertically (in Notes as well as Safari)

        The bug doesn't happen inside DumpRenderTree, so I was unable to make an automated
        regression test.

        * manual-tests/autoscroll-when-outside-window.html: Added.

        * rendering/RenderLayer.cpp: (WebCore::RenderLayer::autoscroll): Removed unneeded null
        check for the layer's renderer and the document, neither of which can be null. Call
        the new updateSelectionForMouseDrag instead of doing selection updating here.

        * page/EventHandler.h:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMouseDraggedEvent): Refactored most of the logic
        about updating the selection into updateSelectionForMouseDrag.
        (WebCore::EventHandler::updateSelectionForMouseDrag): Added. The public version of
        this function takes no parameters, and is for use from auto-scrolling code. The
        private version of this function takes node and point parameters and contains the
        shared code, including everything from updateSelectionForMouseDragOverPosition.
        Aside from the code motion, variable name changes, and sharing more code, this
        differs from the old code in RenderLayer::autoscroll in the following ways:

          1) The old code did hit testing only in the layer that was auto-scrolling,
             and the new code instead starts the hit testing at the root layer, which is
             better because it's the same thing we do for mouse moved events. Further,
             the code to do this by calling convertToLayerCoords had a bug  because the
             x and y variables were uninitialized.
          2) The old code passed false for active to HitTestRequest, which was wrong.
             The new code passes true. This flag needs to be true for hit testing done
             while the mouse is down and false for hit testing done while the mouse is up.
          3) The old code did not have the SVG-specific logic to match the mouse moved case.
          4) The old code wouldn't do any selection updating if the return value from hitTest
             was false, which is incorrect. The new code ignores the return value as it should.

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

15 years agoDon't copy character-sets.txt and make-charset-table.pl to WebCore's resources.
thatcher [Thu, 9 Aug 2007 15:49:23 +0000 (15:49 +0000)]
Don't copy character-sets.txt and make-charset-table.pl to WebCore's resources.

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

15 years agoLayoutTests:
bdakin [Thu, 9 Aug 2007 05:19:56 +0000 (05:19 +0000)]

        Reviewed by Geoff Garen.

        Test for <rdar://problem/5286443>, http://bugs.webkit.org/
        show_bug.cgi?id=14268 REGRESSION: Radio buttons don't stay selected
        due to unclosed <label> tags

        * fast/forms/radio-nested-labels-expected.checksum: Added.
        * fast/forms/radio-nested-labels-expected.png: Added.
        * fast/forms/radio-nested-labels-expected.txt: Added.
        * fast/forms/radio-nested-labels.html: Added.


        Reviewed by Geoff Garen.

        Fx for <rdar://problem/5286443>, http://bugs.webkit.org/
        show_bug.cgi?id=14268 REGRESSION: Radio buttons don't stay selected
        due to unclosed <label> tags

        This patch maintains the behavior that allows <label> tags to nest.
        This matches WinIE, and appears to match the spec, since the spec
        does not explicitly say that they cannot nest. It fixes the bug
        instead by calling setDefaultHandled() in two places it should have
        been called anyway. This keeps the appropriate button checked as
        the event bubbles.

        * html/HTMLInputElement.cpp:
        * html/HTMLLabelElement.cpp:

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

15 years agoLayoutTests:
justing [Thu, 9 Aug 2007 04:15:01 +0000 (04:15 +0000)]

        Reviewed by Oliver.

        <rdar://problem/5387578> Crash at ReplaceSelectionCommand::doApply() when pasting just after table cell content

        * editing/pasteboard/5387578-expected.checksum: Added.
        * editing/pasteboard/5387578-expected.png: Added.
        * editing/pasteboard/5387578-expected.txt: Added.
        * editing/pasteboard/5387578.html: Added.


        Reviewed by Oliver.

        <rdar://problem/5387578> Crash at ReplaceSelectionCommand::doApply() when pasting just after table cell content

        ReplaceSelectionCommand::doApply() inserts a line break before insertion
        to prevent block nesting.  InsertLineBreakCommand::doApply was accidently
        destroying a text node when it removed insignificant whitespace and then
        setting a nil endingSelection().

        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::doApply): If insignificant whitespace
        removal removes textNode from the document, insert a text node containing
        the non-breaking space we were attempting to insert and then insert it
        at the position that the removed textNode occupied.

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

15 years ago Reviewed by Maciej Stachowiak.
ggaren [Thu, 9 Aug 2007 03:59:32 +0000 (03:59 +0000)]
    Reviewed by Maciej Stachowiak.

        Added a thrash check to live decoded resource eviction.

        Here's the strategy: Stamp every image with its paint time. Don't evict
        a live decoded resource until another resource paints with a reasonably
        (1 second) larger time stamp.

        If no other resource paints, or another resource paints, but very soon
        after the resource in question, the resource in question is very likely
        to paint again soon. In fact, it's probably still on screen. So we
        leave it alone. (Previously, we evicted it on a timer, but that would
        evict a resource that was still on screen, hurting speed without
        helping memory use.)

        In theory, this algorithm allows a single large resource or closely
        related set of resources to linger in the live decoded cache even
        though the cache is over its limit. However, that can only happen as
        long as no other resource ever paints again, which guarantees an
        absolute cap on cache memory usage from then on. Also, the resources
        will only linger as long as they remain live. Upon going dead, they
        will flush. Also, these circumstances are so rare that they are almost
        impossible to encounter in the wild. So don't sweat it.

        Stop evicting if the next resource painted too recently:

        * loader/Cache.cpp:
        * loader/CachedResource.cpp:
        * loader/CachedResource.h:

        Track the paint time stamp in Frame. We do this to give a consistent
        stamp to all resources painted in a single paint operation (in case the
        operation takes a significant amount of time), and to avoid excessive
        calls to system time functions, which hurt the PLT:

        * page/Frame.cpp:
        * page/Frame.h:

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

15 years ago Reviewed by Adam Roben.
weinig [Thu, 9 Aug 2007 03:16:05 +0000 (03:16 +0000)]
    Reviewed by Adam Roben.

        Update project file to reflect the moving of character-sets.txt
        and make-charset-table.pl to platform/mac a while ago.

        * WebCore.xcodeproj/project.pbxproj:

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

15 years agoTweaked ChangeLog entry
kdecker [Thu, 9 Aug 2007 01:56:49 +0000 (01:56 +0000)]
Tweaked ChangeLog entry

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

15 years agoLayoutTests:
justing [Thu, 9 Aug 2007 01:53:31 +0000 (01:53 +0000)]

        Reviewed by Harrison.

        <rdar://problem/5390681> WebKit asserts when deleting To Do content selected with a double-click

        * editing/deleting/5390681-2-expected.checksum: Added.
        * editing/deleting/5390681-2-expected.png: Added.
        * editing/deleting/5390681-2-expected.txt: Added.
        * editing/deleting/5390681-2.html: Added.

        Added a FIXME about an extraneous newline:
        * editing/deleting/5390681-expected.checksum:
        * editing/deleting/5390681-expected.png:
        * editing/deleting/5390681-expected.txt:
        * editing/deleting/5390681.html:ada


        Reviewed by Harrison.

        <rdar://problem/5390681> WebKit asserts when deleting To Do content selected with a double-click

        * dom/Position.cpp:
        (WebCore::Position::trailingWhitespacePosition): Use VisiblePosition::characterAfter
        to look for a trailing space.  The old code would incorrectly return a position before
        a non-editable space if it had a collapsed space before it.

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

15 years ago Reviewed by Anders Carlsson.
kdecker [Thu, 9 Aug 2007 01:49:49 +0000 (01:49 +0000)]
    Reviewed by Anders Carlsson.

        Fixed: <rdar://problem/5394449> Stop using some Carbon UI APIs for 64 bit

        #ifdef'd out Netscape style plug-ins on 64-bit because Mac OS X doesn't support for 64-bit Carbon.

        * Plugins/WebBaseNetscapePluginStream.h:
        * Plugins/WebBaseNetscapePluginStream.mm:
        * Plugins/WebBaseNetscapePluginView.h:
        * Plugins/WebBaseNetscapePluginView.mm:
        (+[WebBaseNetscapePluginView getCarbonEvent:]):
        * Plugins/WebBaseNetscapePluginViewInternal.h:
        * Plugins/WebBaseNetscapePluginViewPrivate.h:
        * Plugins/WebBasePluginPackage.m:
        (+[WebBasePluginPackage pluginWithPath:]):
        * Plugins/WebNetscapePluginEmbeddedView.h:
        * Plugins/WebNetscapePluginEmbeddedView.mm:
        * Plugins/WebNetscapePluginPackage.h:
        * Plugins/WebNetscapePluginPackage.m:
        * Plugins/WebNetscapePluginStream.h:
        * Plugins/WebNetscapePluginStream.mm:
        * Plugins/WebPluginDatabase.m:
        (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
        * Plugins/npapi.m:
        * WebCoreSupport/WebFrameBridge.mm:
        (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
        * WebView/WebFrame.mm:
        * WebView/WebFramePrivate.h:
        * WebView/WebHTMLView.mm:
        (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
        * WebView/WebHTMLViewInternal.h:

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

15 years agoLayoutTests:
weinig [Thu, 9 Aug 2007 00:56:57 +0000 (00:56 +0000)]

        Reviewed by Brady.

        Test that protocol and host compares are case-insensitive.

        * http/tests/security/cross-frame-access-port-expected.txt:
        * http/tests/security/cross-frame-access-protocol-expected.txt:
        * http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase-expected.txt: Added.
        * http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase.html: Added.
        * http/tests/security/host-compare-case-insensitive-expected.txt: Added.
        * http/tests/security/host-compare-case-insensitive.html: Added.
        * http/tests/security/protocol-compare-case-insensitive-expected.txt: Added.
        * http/tests/security/protocol-compare-case-insensitive.html: Added.
        * http/tests/security/resources/cross-frame-iframe.html:
        * http/tests/security/resources/localhost-accesssor.html: Added.


        Reviewed by Brady.

        Make protocol and host compares case-insensitive.

        * bindings/js/kjs_window.cpp:
        * dom/Document.cpp:
        * platform/DeprecatedString.cpp:
        * platform/DeprecatedString.h:

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

15 years agoLayoutTests:
justing [Wed, 8 Aug 2007 23:42:25 +0000 (23:42 +0000)]

        Reviewed by Harrison.

        <rdar://problem/5390681> WebKit asserts when deleting To Do content selected with a double-click

        * editing/deleting/5390681-expected.checksum: Added.
        * editing/deleting/5390681-expected.png: Added.
        * editing/deleting/5390681-expected.txt: Added.
        * editing/deleting/5390681.html: Added.


        Reviewed by Harrison.

        <rdar://problem/5390681> WebKit asserts when deleting To Do content selected with a double-click

        * dom/Position.cpp:
        (WebCore::Position::leadingWhitespacePosition): Added checks to prevent expansion across editable an boundary.
        (WebCore::Position::trailingWhitespacePosition): Ditto.

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

15 years agoVersioning.
bdash [Wed, 8 Aug 2007 23:00:51 +0000 (23:00 +0000)]

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

15 years agoLayoutTests:
adele [Wed, 8 Aug 2007 22:11:00 +0000 (22:11 +0000)]

        Reviewed by John.

        Test for for <rdar://problem/5393798> 100% reproducible crash in WebCore::Scrollbar::setValue

        * fast/events/mousedown_in_scrollbar-expected.txt: Added.
        * fast/events/mousedown_in_scrollbar.html: Added.


        Reviewed by John.

        Fix for <rdar://problem/5393798> 100% reproducible crash in WebCore::Scrollbar::setValue

        * page/EventHandler.cpp: (WebCore::EventHandler::handleMousePressEvent):
          If the hit testing originally determined the event was in a scrollbar,
          refetch the MouseEventWithHitTestResults in case the scrollbar widget was destroyed when the mouse event was handled.

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

15 years agoLayoutTests:
weinig [Wed, 8 Aug 2007 20:46:20 +0000 (20:46 +0000)]

        Reviewed by Geoff Garen.

        Tests for <rdar://problem/5354635>

        * http/tests/security/dataURL: Added.
        * http/tests/security/dataURL/resources: Added.
        * http/tests/security/dataURL/resources/foreign-domain-data-url-accessee-iframe.html: Added.
        * http/tests/security/dataURL/resources/foreign-domain-data-url-accessee-opened-frame.html: Added.
        * http/tests/security/dataURL/resources/foreign-domain-data-url-accessor-iframe.html: Added.
        * http/tests/security/dataURL/resources/foreign-domain-data-url-accessor-opened-frame.html: Added.
        * http/tests/security/dataURL/resources/foreign-domain-data-url-window-location.html: Added.
        * http/tests/security/dataURL/xss-DENIED-from-data-url-in-foriegn-domain-subframe-expected.txt: Added.
        * http/tests/security/dataURL/xss-DENIED-from-data-url-in-foriegn-domain-subframe.html: Added.
        * http/tests/security/dataURL/xss-DENIED-from-data-url-in-foriegn-domain-window-open-expected.txt: Added.
        * http/tests/security/dataURL/xss-DENIED-from-data-url-in-foriegn-domain-window-open.html: Added.
        * http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-2-level-expected.txt: Added.
        * http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-2-level.html: Added.
        * http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-expected.txt: Added.
        * http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-to-data-url-sub-frame-expected.txt: Added.
        * http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-to-data-url-sub-frame.html: Added.
        * http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame.html: Added.
        * http/tests/security/dataURL/xss-DENIED-from-data-url-to-data-url-expected.txt: Added.
        * http/tests/security/dataURL/xss-DENIED-from-data-url-to-data-url.html: Added.
        * http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open-expected.txt: Added.
        * http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open.html: Added.
        * http/tests/security/dataURL/xss-DENIED-to-data-url-from-data-url-expected.txt: Added.
        * http/tests/security/dataURL/xss-DENIED-to-data-url-from-data-url.html: Added.
        * http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-subframe-expected.txt: Added.
        * http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-subframe-location-change-expected.txt: Added.
        * http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-subframe-location-change.html: Added.
        * http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-subframe.html: Added.
        * http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-window-open-expected.txt: Added.
        * http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-window-open.html: Added.
        * http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-2-level-expected.txt: Added.
        * http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-2-level.html: Added.
        * http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-expected.txt: Added.
        * http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame.html: Added.
        * http/tests/security/dataURL/xss-DENIED-to-data-url-window-open-expected.txt: Added.
        * http/tests/security/dataURL/xss-DENIED-to-data-url-window-open.html: Added.


        Reviewed by Geoff Garen.

        Fix for <rdar://problem/5354635>

        Match Firefox's model for data: URLs by not allowing them script access
        to any frames other then itself.

        * bindings/js/kjs_window.cpp:
        * dom/Document.cpp:

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

15 years ago Reviewed by Kevin Decker.
darin [Wed, 8 Aug 2007 19:19:47 +0000 (19:19 +0000)]
    Reviewed by Kevin Decker.

        - fix for <rdar://problem/5390708> CrashTracer: [USER] 27 crashes in Safari at
          com.apple.WebCore: WTF::HashMap<etc>::set + 68, beneath pruneUnretainedIconsAtStartup

        * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::pruneUnretainedIconsOnStartup):
        Eliminate an unnecessary HashMap from the implementation; we can just use the
        m_pageURLToRetainCount map directly. This simplifies the code and allows us to handle
        the empty string, which otherwise poses a problem for HashMap.

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

15 years agoLayoutTests:
antti [Wed, 8 Aug 2007 17:37:24 +0000 (17:37 +0000)]

        Reviewed by Darin.

        Test for <rdar://problem/5391576>
        Malformed table innerHTML causes Safari to crash in HTMLParser::handleError (14894)

        * fast/table/incomplete-table-in-fragment-2-expected.txt: Added.
        * fast/table/incomplete-table-in-fragment-2.html: Added.


        Reviewed by Darin.

        Fix for <rdar://problem/5391576>
        Malformed table innerHTML causes Safari to crash in HTMLParser::handleError (14894)

        Add null checks to protect against

        e.innerHTML = "<tr>text</tr>";

        type cases. Normal assumptions about document tree structure don't hold when parsing
        fragments. Results don't match Firefox in all cases. It seems to have some sort of
        anything-goes fragment parsing mode.

        * html/HTMLParser.cpp:

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

15 years agoLayoutTests:
kmccullo [Wed, 8 Aug 2007 17:14:42 +0000 (17:14 +0000)]

        Reviewed by Maciej and Hyatt.

       - <rdar://problem/4976879> REGRESSION: Safari doesn't work with Zimbra enhanced login.
        - Reverting a previous change, and modifying how documents are created so that we better match other browsers behavior with respect to namespaceURIs.

        * dom/xhtml/level1/core/hc_documentcreateelementcasesensitive-expected.txt:
        * fast/dom/Document/replace-child-expected.txt:
        * http/tests/misc/createElementNamespace1-expected.txt: Added.
        * http/tests/misc/createElementNamespace1.xml: Added.
        * http/tests/misc/createElementNamespace2-expected.txt: Added.
        * http/tests/misc/createElementNamespace2.xhtml: Added.
        * http/tests/misc/createElementNamespace3-expected.txt: Added.
        * http/tests/misc/createElementNamespace3.html: Added.


        Reviewed by Maciej and Hyatt.

        - <rdar://problem/4976879> REGRESSION: Safari doesn't work with Zimbra enhanced login.
        - Reverting a previous change, and modifying how documents are created so that we better match other browsers behavior with respect to namespaceURIs.

        * WebCore.xcodeproj/project.pbxproj:
        * dom/DOMImplementation.cpp:
        * dom/Document.cpp:
        * dom/Document.h:
        * html/HTMLDocument.cpp:
        * html/HTMLDocument.h:

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

15 years agoLayoutTests:
beidson [Wed, 8 Aug 2007 16:37:48 +0000 (16:37 +0000)]

        Reviewed and landed by Brady

        Updated test case because of fix for <http://bugs.webkit.org/show_bug.cgi?id=13422>

        Bug 13422: REGRESSION: Page reload loses page position

        * http/tests/navigation/success200-reload-expected.txt:


        Reviewed and landed by Brady

        Fixes <http://bugs.webkit.org/show_bug.cgi?id=13422>

        Bug 13422: REGRESSION: Page reload loses page position

        * loader/FrameLoader.cpp:

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

15 years agoMake it compile with Qt4 unicode
staikos [Wed, 8 Aug 2007 16:24:49 +0000 (16:24 +0000)]
Make it compile with Qt4 unicode

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

15 years ago2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>
zecke [Wed, 8 Aug 2007 16:17:05 +0000 (16:17 +0000)]
2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>

        Reviewed by Niko.

        We only need to set the Settings of the Page once so do it in
        WebKitGtkPage instead of WebKitGtkFrame.

        * gtk/Api/webkitgtkframe.cpp:
        * gtk/Api/webkitgtkpage.cpp:

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

15 years ago2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>
zecke [Wed, 8 Aug 2007 15:57:57 +0000 (15:57 +0000)]
2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>

        Reviewed by Niko.

        Be paranoid and disconnect from the signal before going away.

        * platform/gdk/PlatformScrollBarGdk.cpp:

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

15 years ago2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>
zecke [Wed, 8 Aug 2007 15:18:19 +0000 (15:18 +0000)]
2007-08-08  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Niko.

        Instead of reimplementing the general event method, reimplement
        the specific mouse, expose, keyboard event methods.

        Call the finalize implementation of the base class from WebKitGtkPage
        and WebKitGtkFrame.

        * gtk/Api/webkitgtkframe.cpp:
        * gtk/Api/webkitgtkpage.cpp:

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

15 years ago2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>
zecke [Wed, 8 Aug 2007 10:44:02 +0000 (10:44 +0000)]
2007-08-08  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Niko.

        Use GraphicsContext::translatePoint in RenderThemeGdk to paint at the
        right position.
        This is needed as the Gtk+ theming code does not know about the translation
        of the GraphicsContext.

        * platform/gdk/RenderThemeGdk.cpp:

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

15 years agoWebCore:
zecke [Wed, 8 Aug 2007 10:28:45 +0000 (10:28 +0000)]
2007-08-08  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Niko.

        Implement Widget::paint for the Gtk port. This is needed to paint
        Widgets in z-order. The original GdkEventExpose is stored within the
        GraphicsContext and then used to draw the children. This is similiar
        to gtk_container_propagate_expose but we try to honor the GraphicsConntext

        * platform/gdk/WidgetGdk.cpp:
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/cairo/GraphicsContextCairo.cpp:

2007-08-08  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Niko.

        Remove the custom painting in favor of the Widget::paint

        * gtk/Api/webkitgtkpage.cpp:

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

15 years ago2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>
zecke [Wed, 8 Aug 2007 08:02:03 +0000 (08:02 +0000)]
2007-08-08  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Oliver Hunt.

        Implement PlatformScrollbar by calling ScrollBar::setValue from
        gtkValueChange connected to the value-changed signal of the
        Update 'value' of the GtkAdjustment in updateThumbPosition and
        set upper, page-increment, step-increment and page_size in

        This is from bug http://bugs.webkit.org/show_bug.cgi?id=14795.

        * platform/gdk/PlatformScrollBar.h:
        * platform/gdk/PlatformScrollBarGdk.cpp:

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

15 years ago Reviewed by Maciej Stachowiak. Based on earlier review from Dave Hyatt.
ggaren [Wed, 8 Aug 2007 07:01:39 +0000 (07:01 +0000)]
    Reviewed by Maciej Stachowiak. Based on earlier review from Dave Hyatt.

        First chunk of work for <rdar://problem/5326009> Make non-browser
        WebKit clients have no memory cache, or a very tiny one

        Layout tests pass.

        Removed decodedSizeWillChange mechanism because my last patch to
        change the live resources list to a strict LRU model made that code

        Renamed "liveResourcesList" and related stuff =>
        "liveDecodedResourcesList" because only live resources with decoded
        data are kept in the list.

        * loader/CachedImage.cpp:
        (WebCore::CachedImage::decodedSizeChanged): Only add ourselves to the
        list if we're live, our decoded size has grown, and we're not in the
        list already. (Otherwise, either we're not live, we're not decoded,
        or we're already in the list.)

        * loader/CachedResource.cpp:
        (WebCore::CachedResource::liveResourceAccessed): Only re-insert
        ourselves into the list if we're already there. (In theory, this should
        be always, but it's a little more clear to check.)

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

15 years agoJavaScriptCore:
weinig [Wed, 8 Aug 2007 05:43:11 +0000 (05:43 +0000)]

        Reviewed by Oliver.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=14897
        Decompilation of double negation fails and produces invalid or incorrect code

        Test: fast/js/function-decompilation-operators.html

        * kjs/nodes2string.cpp:
        (UnaryPlusNode::streamTo): Put space after unary operator.  Matches Firefox.
        (NegateNode::streamTo): Diito.
        (MultNode::streamTo): Put spaces around binary operator.  Matches Firefox.
        (AddNode::streamTo): Ditto.


        Reviewed by Oliver.

        Test for http://bugs.webkit.org/show_bug.cgi?id=14897
        Decompilation of double negation fails and produces invalid or incorrect code

        * fast/js/function-decompilation-operators-expected.txt: Added.
        * fast/js/function-decompilation-operators.html: Added.

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

15 years agoWebCore:
zecke [Wed, 8 Aug 2007 02:06:50 +0000 (02:06 +0000)]
2007-08-08  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Adam.

        Kill class FrameGdk and move the stubs to page/gdk/FrameGdk.cpp and the
        remainings into WebKitGtkFrame.
        The DRT functionality of class FrameGdk is currently lost.

        * WebCore.pro:
        * loader/gdk/FrameLoaderClientGdk.cpp:
        * loader/gdk/FrameLoaderClientGdk.h:
        * page/gdk/FrameGdk.cpp: Renamed from WebCore/platform/gdk/FrameGdk.cpp.
        * platform/gdk/FrameGdk.h: Removed.
        * platform/gdk/TemporaryLinkStubs.cpp: Removed Frame stub, added the loadResourceIntoArray stub
        * platform/gdk/WidgetGdk.cpp:

2007-08-08  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Adam.

        Moved code from class FrameGdk into WebKitGtkFrame. Update the
        webkitgrkprivate.h header file to not include FrameGdk.h.

        * gtk/Api/webkitgtkframe.cpp:
        * gtk/Api/webkitgtkprivate.h:

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

15 years agoLayoutTests:
ddkilzer [Wed, 8 Aug 2007 01:40:40 +0000 (01:40 +0000)]

        Reviewed by Oliver.

        Move plain-text-document.txt to the resources subdirectory.

        * fast/loader/plain-text-document.html: Updated URL to plain-text-document.txt.
        * fast/loader/plain-text-document.txt: Removed.
        * fast/loader/resources/plain-text-document.txt: Copied from fast/loader/plain-text-document.txt.

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

15 years ago Reviewed by Geoff Garen.
weinig [Wed, 8 Aug 2007 00:59:27 +0000 (00:59 +0000)]
    Reviewed by Geoff Garen.

        Make tests not depend on data: URLs in preparation of
        data: URL policy change.

        * editing/pasteboard/drag-image-to-contenteditable-in-iframe.html:
        * editing/pasteboard/resources: Added.
        * editing/pasteboard/resources/drag-image-to-contenteditable-iframe.html: Added.
        * fast/dom/HTMLDocument/frameless-location-bugzilla10837.html:
        * fast/dom/HTMLDocument/resources: Added.
        * fast/dom/HTMLDocument/resources/frameless-location-bugzilla10837-iframe.html: Added.
        * fast/dom/exception-no-frame-inline-script-crash.html:
        * fast/dom/exception-no-frame-timeout-crash.html:
        * fast/dom/null-document-location-assign-crash.html:
        * fast/dom/null-document-location-href-put-crash.html:
        * fast/dom/null-document-location-put-crash.html:
        * fast/dom/null-document-location-replace-crash.html:
        * fast/dom/null-document-window-open-crash.html:
        * fast/dom/resources/exception-no-frame-inline-script-crash-iframe.html: Added.
        * fast/dom/resources/exception-no-frame-timeout-crash-iframe.html: Added.
        * fast/events/frame-programmatic-focus.html:
        * fast/events/iframe-object-onload.html:
        * fast/events/mouseover-mouseout.html:
        * fast/events/mouseover-mouseout2.html:
        * fast/events/resources/iframe-object-onload-iframe-1.html: Added.
        * fast/events/resources/iframe-object-onload-iframe-2.html: Added.
        * fast/events/resources/iframe-object-onload-iframe-3.html: Added.
        * fast/events/resources/iframe-object-onload-object-1.html: Added.
        * fast/events/resources/iframe-object-onload-object-2.html: Added.
        * fast/events/resources/iframe-object-onload-object-3.html: Added.
        * fast/events/resources/mouseover-mouseout-iframe.html: Added.
        * fast/events/resources/mouseover-mouseout2-iframe-1.html: Added.
        * fast/events/resources/mouseover-mouseout2-iframe-2.html: Added.
        * fast/events/resources/mouseover-mouseout2-iframe-3.html: Added.
        * fast/events/resources/mouseover-mouseout2-iframe-4.html: Added.
        * fast/events/resources/mouseover-mouseout2-iframe-5.html: Added.
        * fast/loader/opaque-base-url-expected.txt:
        * fast/loader/opaque-base-url.html:
        * plugins/plugin-remove-subframe.html:
        * plugins/resources/plugin-remove-subframe-iframe.html: Added.

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

15 years ago2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>
zecke [Wed, 8 Aug 2007 00:54:08 +0000 (00:54 +0000)]
2007-08-08  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Adam.

        Change variable names to follow the Coding-Style. Replace occurences
        of a_b with aB and place the '*' correctly.

        * gtk/Api/webkitgtkframe.cpp:
        * gtk/Api/webkitgtkpage.cpp:
        * gtk/Api/webkitgtkprivate.h:

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

15 years ago Reviewed by Adele.
darin [Wed, 8 Aug 2007 00:45:39 +0000 (00:45 +0000)]
    Reviewed by Adele.

        - fix <rdar://problem/5383104> REGRESSION: XHR.responseText is null instead of empty string
          in http/tests/xmlhttprequest/zero-length-response.html

        The new code to handle out of memory conditions was turning a "" into a null string.

        * kjs/ustring.h: Removed UCharReference, which has long been obsolete and unused.
        Removed copyForWriting, which was only used for the upper/lowercasing code and for
        * kjs/ustring.cpp:
        (KJS::allocChars): Removed special case that made this fail (return 0) when passed 0.
        Instead assert that we're not passed 0. Also added an overflow check for two reasons:
        1) for sizes that aren't checked this prevents us from allocating a buffer that's too
        small, and 2) for sizes where we overflowed in the expandedSize function and returned
        overflowIndicator, it guarantees we fail.
        (KJS::reallocChars): Ditto.
        (KJS::UString::expandedSize): Return a large number, overflowIndicator, rather than 0
        for cases where we overflow.
        (KJS::UString::spliceSubstringsWithSeparators): Added a special case for empty string so
        we don't call allocChars with a length of 0.
        (KJS::UString::operator=): Added special characters for both 0 and empty string so we
        match the behavior of the constructor. This avoids calling allocChars with a length of 0
        and making a null string rather than an empty string in that case, and also matches the
        pattern used in the rest of the functions.
        (KJS::UString::operator[]): Made the return value const so code that tries to use the
        operator to modify the string will fail.

        * kjs/string_object.cpp: (KJS::StringProtoFunc::callAsFunction): Rewrote uppercasing and
        lowercasing functions so they don't need copyForWriting any more -- it wasn't really doing
        any good for optimization purposes. Instead use a Vector and releaseBuffer.

        * wtf/unicode/icu/UnicodeIcu.h: Eliminate one of the versions of toLower/toUpper -- we now
        only need the version where both a source and destination buffer is passed in, not the one
        that works in place.
        * wtf/unicode/qt4/UnicodeQt4.h: Ditto.

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

15 years agoWebCore:
zecke [Wed, 8 Aug 2007 00:17:09 +0000 (00:17 +0000)]
2007-08-08  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Adam.

        Remove the event handling code and move it to WebKit/gtk/Api/webkitgtkpage.cpp

        * platform/gdk/FrameGdk.cpp:
        * platform/gdk/FrameGdk.h:

2007-08-08  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Adam.

        Reimplement GtkWidget::event and handle the keyboard and mouse
        events inside WebKitGtkPage.

        * gtk/Api/webkitgtkpage.cpp:

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

15 years ago Fix a botched backout of the Quicktime plugin clipping fix that broke Java...
hyatt [Tue, 7 Aug 2007 23:06:52 +0000 (23:06 +0000)]
    Fix a botched backout of the Quicktime plugin clipping fix that broke Java.  The plugin view should not
        be set to autosize with the parent view.  Also, cleanup of script objects was removed accidentally as

        Reviewed by olliej

        * Plugins/WebPluginController.mm:
        (-[WebPluginController destroyPlugin:]):
        (-[WebPluginController destroyAllPlugins]):
        * WebCoreSupport/WebFrameBridge.mm:
        (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):

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

15 years ago2007-08-07 Holger Hans Peter Freyther <zecke@selfish.org>
zecke [Tue, 7 Aug 2007 22:04:09 +0000 (22:04 +0000)]
2007-08-07  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Niko.

        Switch from the generic union GdkEvent to the specific struct GdkEvent*. This is needed
        to make WebKitGtkPage handle the events by reimplementing the default handlers in the near

        * platform/PlatformKeyboardEvent.h:
        * platform/PlatformMouseEvent.h:
        * platform/PlatformWheelEvent.h:
        * platform/gdk/FrameGdk.cpp:
        * platform/gdk/KeyEventGdk.cpp:
        * platform/gdk/MouseEventGdk.cpp:
        * platform/gdk/WheelEventGdk.cpp:

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

15 years ago Remove a test that was a bit too slow on older hardware.
antti [Tue, 7 Aug 2007 21:39:15 +0000 (21:39 +0000)]
    Remove a test that was a bit too slow on older hardware.

        * fast/block/basic/stress-shallow-nested-expected.txt: Removed.
        * fast/block/basic/stress-shallow-nested.html: Removed.

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

15 years agoSupplemental whitespace fix
alp [Tue, 7 Aug 2007 18:19:33 +0000 (18:19 +0000)]
Supplemental whitespace fix

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

15 years ago2007-08-07 Xan Lopez <xan@gnome.org>
alp [Tue, 7 Aug 2007 18:11:18 +0000 (18:11 +0000)]
2007-08-07  Xan Lopez  <xan@gnome.org>

        Reviewed by Mark Rowe.

        [gtk] API implementation: reload

        * gtk/Api/webkitgtkpage.cpp: Implement the webkit_gtk_page_reload()

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

15 years agoSome QStyles don't handle negative maximum very well
staikos [Tue, 7 Aug 2007 17:17:47 +0000 (17:17 +0000)]
Some QStyles don't handle negative maximum very well

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

15 years agoLayoutTests:
antti [Tue, 7 Aug 2007 11:15:44 +0000 (11:15 +0000)]

        Reviewed by Hyatt.

        Tests for <rdar://problem/5102553>
        Mail spins trying to display or edit a specific long plain text message in WebCore::TimerBase::...

        - added performance test. With debug build on MBP this takes about 1.5s to run.
        - added test case that shows some additional progression from the patch (less leftover anonymous boxes).

        * fast/block/basic/stress-shallow-nested-expected.txt: Added.
        * fast/block/basic/stress-shallow-nested.html: Added.
        * fast/block/float/nestedAnonymousBlocks2-expected.checksum: Added.
        * fast/block/float/nestedAnonymousBlocks2-expected.png: Added.
        * fast/block/float/nestedAnonymousBlocks2-expected.txt: Added.
        * fast/block/float/nestedAnonymousBlocks2.html: Added.


        Reviewed by Hyatt.

        Fix <rdar://problem/5102553>
        Mail spins trying to display or edit a specific long plain text message in WebCore::TimerBase::...

        Calling removeLeftoverAnonymousBoxes() from RenderBlock::addChildToFlow() made adding children
        O(n^2) in simple cases (repeated <div><div></div></div> for example).

        I couldn't find any limited fix so here is a more complete one. It removes iterating/recursing
        removeLeftoverAnonymousBoxes() method altogether. Instead of hunting around wildly, just get
        rid of anonymous boxes with block children when they occur.

        * rendering/RenderBlock.cpp:
        * rendering/RenderButton.h:
        * rendering/RenderContainer.cpp:
        * rendering/RenderContainer.h:
        * rendering/RenderObject.cpp:
        * rendering/RenderObject.h:
        * rendering/RenderTextControl.h:

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

15 years agoFix changelog
weinig [Tue, 7 Aug 2007 06:25:04 +0000 (06:25 +0000)]
Fix changelog

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

15 years agoJavaScriptCore:
weinig [Tue, 7 Aug 2007 06:21:55 +0000 (06:21 +0000)]

        Reviewed by Oliver.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=14891
        Decompilation of try block immediately following "else" fails

        Test: fast/js/toString-try-else.html

        * kjs/nodes2string.cpp:
        (TryNode::streamTo): Add newline before else.


        Reviewed by Oliver.

        Test for http://bugs.webkit.org/show_bug.cgi?id=14891
        Decompilation of try block immediately following "else" fails

        * fast/js/toString-try-else-expected.txt: Added.
        * fast/js/toString-try-else.html: Added.

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

15 years ago Reviewed by Oliver.
weinig [Tue, 7 Aug 2007 03:24:15 +0000 (03:24 +0000)]
    Reviewed by Oliver.

        Update test to not timeout.

        * http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-2-level-expected.txt:
        * http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-2-level.html:

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

15 years agoLayoutTests:
weinig [Tue, 7 Aug 2007 03:08:53 +0000 (03:08 +0000)]

        Reviewed by Maciej.

        Tests for <rdar://problem/5354689>

        * http/tests/security/javascriptURL: Added.
        * http/tests/security/javascriptURL/resources: Added.
        * http/tests/security/javascriptURL/resources/foreign-domain-javascipt-url-accessee-iframe.html: Added.
        * http/tests/security/javascriptURL/resources/foreign-domain-javascipt-url-accessee-opened-frame.html: Added.
        * http/tests/security/javascriptURL/resources/foreign-domain-javascipt-url-accessor-iframe.html: Added.
        * http/tests/security/javascriptURL/resources/foreign-domain-javascipt-url-accessor-opened-frame.html: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-2-level-expected.txt: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-2-level.html: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-expected.txt: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-to-javascript-url-sub-frame-expected.txt: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-to-javascript-url-sub-frame.html: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame.html: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-to-javscript-url-expected.txt: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-to-javscript-url.html: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-window-open-expected.txt: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-window-open.html: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-from-javscript-url-expected.txt: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-from-javscript-url.html: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-2-level-expected.txt: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-2-level.html: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-expected.txt: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame.html: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-window-open-expected.txt: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-window-open.html: Added.
        * http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foriegn-domain-subframe-expected.txt: Added.
        * http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foriegn-domain-subframe.html: Added.
        * http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foriegn-domain-window-open-expected.txt: Added.
        * http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foriegn-domain-window-open.html: Added.
        * http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foriegn-domain-subframe-expected.txt: Added.
        * http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foriegn-domain-subframe.html: Added.
        * http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foriegn-domain-window-open-expected.txt: Added.
        * http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foriegn-domain-window-open.html: Added.
        * http/tests/security/resources/cross-frame-access.js:


        Reviewed by Maciej.

        Fix for <rdar://problem/5354689>

        - Use document variable to determine permissions instead
          of traversing the frame tree.

        * bindings/js/kjs_window.cpp:
        * dom/Document.cpp:
        * dom/Document.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::setOpener): We must re-initialize the
        safeScript URL when setting the opener because the opener was
        not known at Document construction.

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

15 years agoVersioning.
bdash [Tue, 7 Aug 2007 02:31:30 +0000 (02:31 +0000)]

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

15 years agoRoll out r24889.
bdash [Tue, 7 Aug 2007 02:22:51 +0000 (02:22 +0000)]
Roll out r24889.

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

15 years ago2007-08-07 Mark Rowe <mrowe@apple.com>
bdash [Tue, 7 Aug 2007 01:45:53 +0000 (01:45 +0000)]
2007-08-07  Mark Rowe  <mrowe@apple.com>

        Reviewed by Maciej.

        <rdar://problem/5388774> REGRESSION: Hang occurs after clicking "Attach a file " link in a new .Mac message

        Attempting to acquire the JSLock inside CollectorHeap::forceLock can lead to a deadlock if the thread currently
        holding the lock is waiting on the thread that is forking.  It is not considered safe to use system frameworks
        after a fork without first execing[*] so it is not particularly important to ensure that the collector and
        fastMalloc allocators are unlocked in the child process.  If the child process wishes to use JavaScriptCore it
        should exec after forking like it would to use any other system framework.
        [*]: <http://lists.apple.com/archives/Cocoa-dev/2005/Jan/msg00676.html>

        * kjs/CollectorHeapIntrospector.cpp: Remove forceLock and forceUnlock implementations.
        * kjs/CollectorHeapIntrospector.h: Stub out forceLock and forceUnlock methods.
        * wtf/FastMalloc.cpp: Ditto.

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

15 years ago Make sure to clear out the parent of the ellipsis box so that it doesn't
hyatt [Tue, 7 Aug 2007 00:10:31 +0000 (00:10 +0000)]
    Make sure to clear out the parent of the ellipsis box so that it doesn't
        trigger the consistency check for line boxes.

        Reviewed by darin

        * ChangeLog:
        * rendering/RootInlineBox.cpp:

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

15 years ago Back out fix for <rdar://problem/5366582> and replace it with the correct
hyatt [Mon, 6 Aug 2007 21:50:48 +0000 (21:50 +0000)]
    Back out fix for <rdar://problem/5366582> and replace it with the correct
        fix.  Make sure to delete the line box tree before splitting an inline flow
        into a continuation.  The added layout test for the original checkin covers
        the problem.

        Reviewed by beth

        * rendering/RenderBlock.cpp:
        Back out fix.

        * rendering/RenderFlow.cpp:
        Back out fix.

        * rendering/RenderInline.cpp:
        Here's the new fix.

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

15 years ago Reviewed by Darin Adler.
ggaren [Mon, 6 Aug 2007 21:43:03 +0000 (21:43 +0000)]
    Reviewed by Darin Adler.

        Touching a file to force a re-build.

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

15 years ago - fix release build
darin [Mon, 6 Aug 2007 20:53:07 +0000 (20:53 +0000)]
    - fix release build

        * rendering/RenderText.h: (WebCore::RenderText::checkConsistency):
        Add missing const.

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

15 years agoLayoutTests:
andersca [Mon, 6 Aug 2007 20:10:53 +0000 (20:10 +0000)]

        Reviewed by Darin.

        REGRESSION(r21002-r21003) Flash widget sniffer doesn't work (affects iWeb)

        Add test case by Kurt Revis.

        * fast/dom/NodeList/invalidate-node-lists-when-parsing-expected.txt: Added.
        * fast/dom/NodeList/invalidate-node-lists-when-parsing.html: Added.


        Reviewed by Darin.

        REGRESSION(r21002-r21003) Flash widget sniffer doesn't work

        Add a per-document NodeList counter. When parsing, only call notifyNodeListsChildrenChanged
        if the document has node lists.

        * dom/ContainerNode.cpp:
        * dom/Document.cpp:
        * dom/Document.h:
        * dom/Node.cpp:

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

15 years agoBump version.
sfalken [Mon, 6 Aug 2007 20:02:20 +0000 (20:02 +0000)]
Bump version.

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

15 years agoLayoutTests:
darin [Mon, 6 Aug 2007 19:51:38 +0000 (19:51 +0000)]

        Beth made this reduction/test, Geoff and I both helped refine it.

        - test for <rdar://problem/5366582> crash on it.eurosport.yahoo.com page

        * fast/dynamic/inline-to-block-crash-expected.txt: Added.
        * fast/dynamic/inline-to-block-crash.html: Added.


        Reviewed by Maciej.

        - fix <rdar://problem/5366582> crash on it.eurosport.yahoo.com page

        Test: fast/dynamic/inline-to-block-crash.html

        I added some consistency checks for the line box tree, which helped me figure out
        what was going on with this bug pretty quickly.

        * rendering/RenderBlock.cpp: (WebCore::RenderBlock::makeChildrenNonInline):
        This is the actual fix. If the block needs layout, then don't try to delete the line
        box tree because it's going to be rebuilt as part of layout. More importantly, the
        child list in the tree is no good, so we will crash if we try to delete here.

        * rendering/RenderFlow.cpp: (WebCore::RenderFlow::destroy):
        Here's a second fix. We have the same issue in the code that handles anonymous
        blocks -- if it's already running as part of layout, we can't walk through the
        already partly destroyed line box tree. This crashed in one of the layout tests.

        * rendering/InlineBox.h: Made more fields private, since I wanted to do a bit more
        work in setters. Made setNextOnLine() and setPrevOnLine() assert that the box has a
        parent. Made parent() assert that the parent is good. Also removed the unused
        isChildOfParent() function.
        * rendering/InlineBox.cpp: (WebCore::InlineBox::~InlineBox): At destruction time, if
        we are still attached to a parent, tag that parent as having a "bad" child list.

        * rendering/InlineFlowBox.h: Added m_reasonForBadChildList, checkConsistency(),
        setHasBadChildList(), and hasBadChildList(). Also changed firstChild() and lastChild() so
        they call checkConsistency() and made all the fields private instead of protected.
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::addToLine): Added consistency checks before and after adding a
        box to the line. Also checked that next and prev start out as 0. Changed manipulation of
        next and prev to use accessor functions.
        (WebCore::InlineFlowBox::removeChild): Added consistency checks before and after removing
        the box from the line.
        (WebCore::InlineFlowBox::deleteLine): Use firstChild() instead of getting at m_firstChild
        directly so we get a consistency check. Also set the parent to 0 before destroying so that
        the assertion in ~InlineBox will work properly.
        (WebCore::InlineFlowBox::extractLine): Ditto.
        (WebCore::InlineFlowBox::attachLine): Ditto.
        (WebCore::InlineFlowBox::adjustPosition): Ditto.
        (WebCore::InlineFlowBox::checkConsistency): Added. Checks consistency of the child list by
        looking at the parent, next, and prev pointers. Also asserts that we are not yet in the
        "bad" child list state, which happens if one of our children is destroyed without removing
        it from our list; that's normal, but once it happens we can't look at our child list again.

        * rendering/InlineTextBox.h:
        * rendering/InlineTextBox.cpp: Remove unnneeded destroy/new/delete functions -- these are
        inherited from the InlineBox base class and don't need to be defined again.

        * rendering/RenderFlow.h:
        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::~RenderFlow): Assert that there are no children to confirm that we
        didn't leak something.
        (WebCore::RenderFlow::extractLineBox): Added consistency checks before and after removing
        a run of boxes from the list.
        (WebCore::RenderFlow::attachLineBox): Added consistency checks before and after adding
        a box to the list.
        (WebCore::RenderFlow::removeLineBox): Added consistency checks before and after removing
        a box from the list.
        (WebCore::RenderFlow::createInlineBox): Added consistency checks before and after adding
        a box to the list.
        (WebCore::RenderFlow::checkConsistency): Added.

        * rendering/RenderText.h:
        * rendering/RenderText.cpp:
        (WebCore::RenderText::~RenderText): Assert that there are no children to confirm that we
        didn't leak something.
        (WebCore::RenderText::extractTextBox): Added consistency checks before and after removing
        a run of boxes from the list.
        (WebCore::RenderText::attachTextBox): Added consistency checks before and after adding
        a box to the list.
        (WebCore::RenderText::removeTextBox): Added consistency checks before and after removing
        a box from the list.
        (WebCore::RenderText::deleteTextBoxes): Added code to call setHasBadChildList since this
        destroys line boxes without informing the parent.
        (WebCore::RenderText::checkConsistency): Added.

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

15 years agoLayoutTests:
adele [Mon, 6 Aug 2007 19:49:02 +0000 (19:49 +0000)]

        Reviewed by Darin.

        Test for <rdar://problem/5382483> REGRESSION: <select> element's text is clipped when a CSS line-height is specified

        * fast/forms/menulist-restrict-line-height-expected.checksum: Added.
        * fast/forms/menulist-restrict-line-height-expected.png: Added.
        * fast/forms/menulist-restrict-line-height-expected.txt: Added.
        * fast/forms/menulist-restrict-line-height.html: Added.


        Reviewed by Darin.

        Fix for <rdar://problem/5382483> REGRESSION: <select> element's text is clipped when a CSS line-height is specified

        Don't honor line-height for styled popup buttons.  We already don't honor line-height for unstyled popups
        and since IE and FF don't honor it at all for popups, we shouldn't either.

        * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
        * rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::adjustMenuListButtonStyle):

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

15 years ago Rubber stamped by Geoff.
darin [Mon, 6 Aug 2007 19:34:01 +0000 (19:34 +0000)]
    Rubber stamped by Geoff.

        * kjs/ustring.h: Added an assertion which would have helped us find the
        previous bug more easily.

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

15 years ago Reviewed by Anders.
darin [Mon, 6 Aug 2007 19:00:46 +0000 (19:00 +0000)]
    Reviewed by Anders.

        - fix <rdar://problem/5387589> 9A514: Quartz Composer crash on launch in KJS::jsString

        * API/JSBase.cpp:
        (JSEvaluateScript): Turn NULL for sourceURL into UString::null(), just as JSObjectMakeFunction already does.
        (JSCheckScriptSyntax): Ditto.

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

15 years ago2007-08-06 Nigel Tao <nigeltao@gnome.org>
ddkilzer [Mon, 6 Aug 2007 18:08:08 +0000 (18:08 +0000)]
2007-08-06  Nigel Tao  <nigeltao@gnome.org>

        Reviewed by David Kilzer.

        Fix bug 14745: WebKitTools/Scripts/run-launcher doesn't speak --gdk

        * Scripts/run-launcher:
        Scrub the "--gdk" out of the command line args, if given, so that
        GdkLauncher doesn't try to interpret it as a URL.

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

15 years agoBuild fix
sfalken [Mon, 6 Aug 2007 18:07:07 +0000 (18:07 +0000)]
Build fix

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

15 years ago Not reviewed, build fix.
pewtermoose [Mon, 6 Aug 2007 05:48:32 +0000 (05:48 +0000)]
    Not reviewed, build fix.

        * kjs/string_object.cpp:

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

15 years ago * mac/leopard/Skipped: Removed 3 non-platform-specific failing tests.
darin [Mon, 6 Aug 2007 02:23:00 +0000 (02:23 +0000)]
    * mac/leopard/Skipped: Removed 3 non-platform-specific failing tests.
        * win/Skipped: Ditto.

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

15 years agoChange log entry to mention that my fix was an attempt (that didn't work).
darin [Mon, 6 Aug 2007 02:07:34 +0000 (02:07 +0000)]
Change log entry to mention that my fix was an attempt (that didn't work).

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

15 years ago Reviewed by Darin.
antti [Mon, 6 Aug 2007 02:05:15 +0000 (02:05 +0000)]
    Reviewed by Darin.

        Fix <rdar://problem/5378214>
        Mail crashes at RenderLayer::paintLayer() when dragging a selection over To Do text

        ObjC interface does not guarantee that Document::updateRendering() gets called after
        modification are made to document. This can lead to situation where paint()
        is invoked with document still dirty which can then crash in number of interesting ways.

        - add hasChangedChild() as needsLayout() condition. layout() will then call recalcStyle()
          catching most cases and making sure document is not dirty when entering painting.
        - protect recalcStyle() and layout() from being executed during painting. There are some
          cases needsLayout() protection does not cover.

        No layout test, these states are very hard or impossible to reach using Javascript interface
        (which generally guarantees that updateRendering() is done right after execution).

        * dom/Document.cpp:
        * page/Frame.cpp:
        * page/Frame.h:
        * page/FramePrivate.h:
        * page/FrameView.cpp:

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

15 years ago - fix <rdar://problem/5383382> Drag/drop of image is failing in fast/events...
darin [Mon, 6 Aug 2007 01:03:01 +0000 (01:03 +0000)]
    - fix <rdar://problem/5383382> Drag/drop of image is failing in fast/events/standalone-image-drag-to-editable.html

        * fast/events/standalone-image-drag-to-editable.html: Fixed race condition in test by using a frame
        counter rather than running the test after a particular frame loads.

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

15 years ago * fast/dom/delete-contents-expected.txt: Updated results, which changed due...
darin [Mon, 6 Aug 2007 00:58:08 +0000 (00:58 +0000)]
    * fast/dom/delete-contents-expected.txt: Updated results, which changed due to r24831, which allows
        comments as children of <html>.

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

15 years ago Reviewed by Darin Adler.
mjs [Sun, 5 Aug 2007 10:52:19 +0000 (10:52 +0000)]
    Reviewed by Darin Adler.

        <rdar://problem/5369110> CrashTracer: [USER] reproducible crash opening particular mail messages

        * platform/network/mac/ResourceHandleMac.mm:
        (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): Make sure to retain
        self for the body of this method. Otherwise, the willSendRequest could trigger events which will
        cancel the connection, and we access ivars after this point.
        (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): retain and release
        in the right order.

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

15 years ago Reviewed by Maciej.
darin [Sun, 5 Aug 2007 10:16:41 +0000 (10:16 +0000)]
    Reviewed by Maciej.

        - fix <rdar://problem/5371862> crash in Dashcode due to Quartz Composer JavaScript garbage collector reentrancy

        * API/JSBase.cpp: (JSGarbageCollect): Don't call collector() if isBusy() returns true.

        * kjs/collector.h: Added isBusy(), removed the unused return value from collect()
        * kjs/collector.cpp: Added an "operation in progress" flag to the allocator.
        (KJS::Collector::allocate): Call abort() if an operation is already in progress. Set the new flag instead
        of using the debug-only GCLock.
        (KJS::Collector::collect): Ditto.
        (KJS::Collector::isBusy): Added.

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

15 years ago Reviewed by Darin and Adam.
mjs [Sun, 5 Aug 2007 05:20:35 +0000 (05:20 +0000)]
    Reviewed by Darin and Adam.

        <rdar://problem/5368990> REGRESSION: newsgator.com sign-on 6x slower than Safari 3 beta due to GC changes (14808)

        * kjs/string_object.cpp:
        (KJS::replace): if the string didn't change (very common in some cases) reuse the original string value.
        (KJS::StringProtoFunc::callAsFunction): Pass in the StringImp* when replacing, not just the UString.
        * kjs/string_object.h:
        (KJS::StringInstance::internalValue): covariant override to return StringImp for convenience

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

15 years ago Another workaround for <rdar://problem/5386894>
aroben [Sun, 5 Aug 2007 04:21:52 +0000 (04:21 +0000)]
    Another workaround for <rdar://problem/5386894>

        Reviewed by Sam.

        This fixed ~150 failing tests.

        * platform/network/cf/ResourceResponseCFNet.cpp:
        (WebCore::ResourceResponse::doUpdateResourceResponse): Hardcode the
        MIME type for .svg files as well.

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

15 years ago Workaround for <rdar://problem/5386894> CFURLResponseGetMIMEType returns...
aroben [Sun, 5 Aug 2007 03:04:47 +0000 (03:04 +0000)]
    Workaround for <rdar://problem/5386894> CFURLResponseGetMIMEType returns "text/html" for local .xhtml and .xml files

        Reviewed by Sam.

        This fixes ~350 failing tests.

        * platform/network/cf/ResourceResponseCFNet.cpp:
        (WebCore::ResourceResponse::doUpdateResourceResponse): Use a workaround
        identical to the one in ResourceResponseMac.mm, but include .xml files
        as well.

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

15 years ago Reviewed by Sam.
oliver [Sun, 5 Aug 2007 02:15:14 +0000 (02:15 +0000)]
    Reviewed by Sam.

        Layout test for <rdar://problem/5386550> REGRESSION (r24866): text/plain documents are always downloaded

        * fast/loader/plain-text-document-expected.txt: Added.
        * fast/loader/plain-text-document.html: Added.
        * fast/loader/plain-text-document.txt: Added.

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

15 years agoWebCore:
ddkilzer [Sun, 5 Aug 2007 02:06:22 +0000 (02:06 +0000)]

        Reviewed by Oliver.

        - fix for http://bugs.webkit.org/show_bug.cgi?id=14882
          <rdar://problem/5386550> REGRESSION (r24866): text/plain documents are always downloaded

        The supportedNonImageMimeTypes list is used to determine which MIME types may be viewed
        within the web browser (e.g., plug-ins add their own MIME types to the list during
        initialization), so we must add "text/plain" and "text/" back to the list.  Since
        this change would then break DOMImplementation::isTextMIMEType(), that method was reverted
        to its original form and MIMETypeRegistry::shouldTreatAsText() was removed.

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::isTextMIMEType): Revert to previous version.
        * platform/MIMETypeRegistry.cpp:
        (WebCore::initialiseSupportedNonImageMimeTypes): Added back "text/plain" and "text/" to the list.
        (WebCore::MIMETypeRegistry::shouldTreatAsText): Removed.
        * platform/MIMETypeRegistry.h:

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

15 years ago2007-08-04 Mark Rowe <mrowe@apple.com>
bdash [Sat, 4 Aug 2007 08:58:35 +0000 (08:58 +0000)]
2007-08-04  Mark Rowe  <mrowe@apple.com>

        Reviewed by Oliver Hunt.

        <rdar://problem/5385145> r24843 introduces a crash on calling fork() (14878)

        Provide nooop functions for all members of the malloc_zone_t and malloc_introspection_t structures that we
        register to avoid crashes in system code that assumes they will be non-null.

        * kjs/CollectorHeapIntrospector.cpp:
        (KJS::CollectorHeapIntrospector::forceLock): Grab the lock.
        (KJS::CollectorHeapIntrospector::forceUnlock): Release the lock.
        * kjs/CollectorHeapIntrospector.h:
        * wtf/FastMalloc.cpp:
        (WTF::FastMallocZone::forceLock): Grab the TCMalloc locks.
        (WTF::FastMallocZone::forceUnlock): Release the TCMalloc locks.

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

15 years agoAdded the radar # to my FIXME text
beidson [Sat, 4 Aug 2007 07:37:59 +0000 (07:37 +0000)]
Added the radar # to my FIXME text

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

15 years agoWebCore:
beidson [Sat, 4 Aug 2007 07:29:55 +0000 (07:29 +0000)]

        Reviewed by Oliver

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

        Two issues -
        1 - The WebCore MIMEType registry was designed assuming the list of types would never change
            That is false, as WebKit has API and SPI calls which directly mutate the MIMETypeRegistry
        2 - DOMImplementation didn't consult the registry for any MIMEType that started with "text/",
            instead maintaining it's own hard coded rules

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::isTextMIMEType): For now, call through to the MIMETypeRegistry
          until we decided a different fate for this function

        * platform/MIMETypeRegistry.cpp:
        (WebCore::initialiseSupportedNonImageMimeTypes):  "SupportedNonImageMIMETypes" is really a misnomer for
          "MIMETypes we should show as HTML" but that line has slowly been blurred since Tiger.  In an attempt
          to start to unblur it, remove "text/" and "text/plain"
        (WebCore::MIMETypeRegistry::shouldTreatAsText):  The decision is very close to the old DOMImplementation
          method, except we don't automatically hand off "text/" types as true if they are in the set of supported
        (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes): Non-const (can be changed!)
        (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes): Non-const (can be changed!)
        (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes): Non-const (can be changed!)
        * platform/MIMETypeRegistry.h:


        Reviewed by Oliver

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

        When unregistering a MIMEType, remove it from the WebCore registry unconditionally
        When registrying a MIMEType whose view class is WebHTMLView, add it to the WebCore registry

        * WebView/WebView.mm:
        (+[WebView _unregisterViewClassAndRepresentationClassForMIMEType:]):
        (+[WebView _registerViewClass:representationClass:forURLScheme:]):
        (+[WebView registerViewClass:representationClass:forMIMEType:]):

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

15 years ago Catch SIGPIPE on Windows so that run-webkit-tests doesn't quit when DRT crashes
aroben [Sat, 4 Aug 2007 03:57:19 +0000 (03:57 +0000)]
 Catch SIGPIPE on Windows so that run-webkit-tests doesn't quit when DRT crashes

        Reviewed by Sam.

        * Scripts/run-webkit-tests: Also close ERROR when we finish running the tests.

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

15 years ago Reviewed by Adam.
adele [Sat, 4 Aug 2007 01:09:02 +0000 (01:09 +0000)]
    Reviewed by Adam.

        Fix for <rdar://problem/5345862> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::Frame::isContentEditable const + 10

        Couldn't reproduce the problem, but a nil check for the frame should fix this.

        * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle):

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

15 years agoLayoutTests:
weinig [Sat, 4 Aug 2007 00:22:45 +0000 (00:22 +0000)]

        Reviewed by Darin.

        Dump contents of subframes using new layoutTestController.dumpChildFramesAsText()

        * http/tests/security/cross-frame-access-port-expected.txt:
        * http/tests/security/cross-frame-access-port-explicit-domain-expected.txt:
        * http/tests/security/cross-frame-access-protocol-expected.txt:
        * http/tests/security/cross-frame-access-protocol-explicit-domain-expected.txt:
        * http/tests/security/resources/cross-frame-access.js:


        Reviewed by Darin.

        Recursively dump all frames as text using new
        layoutTestController.dumpChildFramesAsText() function.

        * DumpRenderTree/DumpRenderTree.m:
        (+[LayoutTestController isSelectorExcludedFromWebScript:]):
        (-[LayoutTestController dumpChildFramesAsText]):
        * DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.cpp:
        * DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.h:
        * DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/LayoutTestController.cpp:
        * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:

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

15 years ago Reviewed by Oliver.
andersca [Fri, 3 Aug 2007 23:53:57 +0000 (23:53 +0000)]
    Reviewed by Oliver.

        XMLHTTPRequest does not return 401 when user cancels authentication dialog (affects .Mac)

        * loader/ResourceLoader.h:
        Make receivedCancellation virtual.

        * loader/SubresourceLoader.cpp:
        Call SubresourceLoaderClient::receivedCancellation.

        * xml/XMLHttpRequest.cpp:
        Save the failure response.

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

15 years ago Reviewed by Geoff.
andersca [Fri, 3 Aug 2007 23:07:22 +0000 (23:07 +0000)]
    Reviewed by Geoff.

        Image change on disk not noticed by WebView; -[WebCache setDisabled:] used to cause a reload every time

        This is essentially a better fix for the crash in <rdar://problem/5362783>.

        * loader/DocLoader.cpp:
        If the resource already exists in the m_docResources map, remove it and disassociate it from the doc loader.

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

15 years ago Reviewed by Geoff.
oliver [Fri, 3 Aug 2007 22:37:08 +0000 (22:37 +0000)]
    Reviewed by Geoff.

        <rdar://problem/5375190> Mail crashed in WebCore::CachedImage::imageSize() const when viewing a particular message

        Fix the uncached load path to confirm that the type of resource being
        returned actually matches the type that was requested.

        Also make sure we never create a resource in the Cache for invalid urls.

        * loader/Cache.cpp:
        * loader/DocLoader.cpp:

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

15 years agoBump version for submit
sfalken [Fri, 3 Aug 2007 22:17:05 +0000 (22:17 +0000)]
Bump version for submit

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

15 years agoLayoutTests:
adele [Fri, 3 Aug 2007 22:15:13 +0000 (22:15 +0000)]

        Reviewed by Adele.

        - test for http://bugs.webkit.org/show_bug.cgi?id=14879
          REGRESSION: First item in select (pop-up menu) is displayed even if another item was selected via JavaScript

        * fast/forms/menulist-deselect-update-expected.checksum: Added.
        * fast/forms/menulist-deselect-update-expected.png: Added.
        * fast/forms/menulist-deselect-update-expected.txt: Added.
        * fast/forms/menulist-deselect-update.html: Added.


        Reviewed by Adele.

        - fix http://bugs.webkit.org/show_bug.cgi?id=14879
          REGRESSION: First item in select (pop-up menu) is displayed even if another item was selected via JavaScript

        Test: fast/forms/menulist-deselect-update.html

        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::setSelected): Reordered to allow setSelectedIndex() to call setChanged().

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

15 years ago Reviewed by Darin.
andersca [Fri, 3 Aug 2007 20:09:51 +0000 (20:09 +0000)]
    Reviewed by Darin.

        REGRESSION: Gmail links stop working after computer sleep

        Add a PowerNotifier object that takes care of resetting and firing the shared timer when coming
        back from sleep.

        * platform/mac/SharedTimerMac.cpp:
        (-[PowerNotifier init]):
        (-[PowerNotifier didWake:]):

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

15 years ago2007-08-04 Mark Rowe <mrowe@apple.com>
bdash [Fri, 3 Aug 2007 18:46:39 +0000 (18:46 +0000)]
2007-08-04  Mark Rowe  <mrowe@apple.com>

        Windows build fix.

        * rendering/RenderTextControl.cpp: Don't use the same name for two arguments.

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

15 years ago2007-08-04 Mark Rowe <mrowe@apple.com>
bdash [Fri, 3 Aug 2007 18:19:31 +0000 (18:19 +0000)]
2007-08-04  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Anders.

        * pcre/pcre_compile.c: Remove non-ASCII character from a comment.

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

15 years ago Reviewed by Mark Rowe.
thatcher [Fri, 3 Aug 2007 18:03:00 +0000 (18:03 +0000)]
    Reviewed by Mark Rowe.

        Correct the bundle version check to work in Debug and Release builds too.

        * WebKit.xcodeproj/project.pbxproj:

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

15 years agoBump versioning to avoid 4. issues.
bdash [Fri, 3 Aug 2007 17:58:04 +0000 (17:58 +0000)]
Bump versioning to avoid 4. issues.

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

15 years ago2007-08-02 Mark Rowe <mrowe@apple.com>
bdash [Fri, 3 Aug 2007 16:21:44 +0000 (16:21 +0000)]
2007-08-02  Mark Rowe  <mrowe@apple.com>

        Reviewed by Geoff Garen.

        <rdar://problem/4212199> 'leaks' reports false leaks in WebKit (because the WTF allocator uses mmap?)

        Implement malloc zone introspection routines to allow leaks, heap, and friends to request information
        about specific memory regions that were allocated by FastMalloc or the JavaScriptCore collector.

        This requires tool-side support before the regions will be displayed.  The addition of that support is
        tracked by <rdar://problems/5353057&5353060>.

        * JavaScriptCore.exp: Export the two variables that are used by leaks to introspect the allocators.
        * JavaScriptCore.xcodeproj/project.pbxproj:
        * kjs/AllInOneFile.cpp:
        * kjs/CollectorZone.cpp: Added.
        (KJS::CollectorZone::CollectorZone): Create and register our zone with the system.
        (KJS::CollectorZone::zoneEnumerator): Iterate over the CollectorBlocks that are in use and report them to the caller as being used.
        * kjs/CollectorZone.h: Added.
        (KJS::CollectorZone::zoneObjectSize): Return zero to indicate the specified pointer does not belong to this zone.
        * kjs/collector.cpp:
        (KJS::Collector::registerThread): Register the CollectorZone with the system when the first thread is registered with the collector.
        * wtf/FastMalloc.cpp:
        (WTF::TCMalloc_ThreadCache_FreeList::enumerateFreeObjects): Enumerate the objects on the free list.
        (WTF::TCMalloc_ThreadCache::enumerateFreeObjects): Ditto.
        (WTF::TCMalloc_Central_FreeList::enumerateFreeObjects): Ditto.
        (WTF::TCMalloc_ThreadCache::InitModule): Register the FastMallocZone with the system when initializing TCMalloc.
        (WTF::FreeObjectFinder::visit): Add an object to the free list.
        (WTF::FreeObjectFinder::findFreeObjects): Find the free objects within a thread cache or free list.
        (WTF::PageMapFreeObjectFinder::PageMapFreeObjectFinder): Find the free objects within a TC_PageMap.
        (WTF::PageMapFreeObjectFinder::visit): Called once per allocated span.  Record whether the span or any subobjects are free.
        (WTF::PageMapMemoryUsageRecorder::visit): Called once per allocated span.  Report the range of memory as being allocated, and the span or
        it's subobjects as being used if they do not appear on the free list.
        (WTF::FastMallocZone::zoneEnumerator): Map the key remote TCMalloc data structures into our address space.  We then locate all free memory ranges
        before reporting the other ranges as being in use.
        (WTF::FastMallocZone::zoneObjectSize): Determine whether the given pointer originates from within our allocation zone.  If so,
        we return its allocation size.
        (WTF::FastMallocZone::FastMallocZone): Create and register our zone with the system.
        * wtf/MallocZoneSupport.h: Added.
        (WTF::RemoteMemoryReader::RemoteMemoryReader): A helper class to ease the process of mapping memory in a different process into
        our local address space
        * wtf/TCPageMap.h:
        (TCMalloc_PageMap2::visit): Walk over the heap and visit each allocated span.
        (TCMalloc_PageMap3::visit): Ditto.

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

15 years ago2007-08-03 Mitz Pettel <mitz@webkit.org>
bdash [Fri, 3 Aug 2007 14:29:26 +0000 (14:29 +0000)]
2007-08-03  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=14653
          REGRESSION (r23994): No caret is drawn after clicking a search field's placeholder text

        Test: fast/forms/search-click-in-placeholder.html

        Defined a subclass of RenderBlock that never hit-tests children for use in
        text controls. This avoids returning placeholder text as the hit node.
        Since text controls cannot contain inline elements, there is no harm in
        doing that unconditionally, and not just in the case that the field is
        showing placeholder text.

        * rendering/RenderTextControl.cpp:

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

        Reviewed by Darin.

        - test for http://bugs.webkit.org/show_bug.cgi?id=14653
          REGRESSION (r23994): No caret is drawn after clicking a search field's placeholder text

        * fast/forms/search-click-in-placeholder-expected.txt: Added.
        * fast/forms/search-click-in-placeholder.html: Added.

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

15 years agoVersioning.
bdash [Fri, 3 Aug 2007 11:33:43 +0000 (11:33 +0000)]

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

15 years ago Updated Skipped files for Windows and Leopard.
aroben [Fri, 3 Aug 2007 07:21:49 +0000 (07:21 +0000)]
    Updated Skipped files for Windows and Leopard.

        * mac/leopard/Skipped: Removed a test that has been moved (and only
        fails on Windows), and added new failures.
        * win/Skipped: Added new failures and annotated some old ones.

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

15 years ago Fix a typo in fast/events/no-blur-on-page
aroben [Fri, 3 Aug 2007 07:21:25 +0000 (07:21 +0000)]
 Fix a typo in fast/events/no-blur-on-page

        Reviewed by Sam.

        * fast/events/no-blur-on-page-leave-expected.txt: Updated.
        * fast/events/no-blur-on-page-leave.html: Fixed typo.

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

15 years ago Fix fast/dom/Window/alert-undefined.html
aroben [Fri, 3 Aug 2007 07:21:15 +0000 (07:21 +0000)]
 Fix fast/dom/Window/alert-undefined.html

        Reviewed by Sam.

        * DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WaitUntilDoneDelegate.cpp:
        (WaitUntilDoneDelegate::runJavaScriptAlertPanelWithMessage): Don't let
        Windows translate a null BSTR into "(null)"

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