WebKit-https.git
14 years agoLayoutTests:
pewtermoose [Sat, 11 Aug 2007 20:37:09 +0000 (20:37 +0000)]
LayoutTests:

        Reviewed over and over and over by Adam Roben.

        Bug 14740: Hierarchical layout tests and platform organization
        http://bugs.webkit.org/show_bug.cgi?id=14740

        Add support for platform-specific layout tests and results.
        New platform structure is as follows:

        * platform: Added.
        * platform/mac: Added.
        * mac/leopard/ -> platform/mac-leopard
        * win/ -> platform/win
        * qt/ -> platform/qt

WebKitTools:

        Reviewed over and over and over by Adam Roben.

        Bug 14740: Hierarchical layout tests and platform organization
        http://bugs.webkit.org/show_bug.cgi?id=14740

        Add support for platform-specific layout tests and results.

        * Scripts/run-webkit-tests:

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

14 years agoWebKitTools:
ddkilzer [Sat, 11 Aug 2007 19:40:27 +0000 (19:40 +0000)]
WebKitTools:

        Reviewed by Adam.

        Refactored svn-create-path to use a hash-of-hashes data structure to keep
        track of changed files.  In the top level hash, keys are paths to files and
        values are 'fileData' hashes with the following keys and values:

        - isBinary: boolean value (set to true for non-text files like images, etc.)
        - isTestFile: boolean value (set to true if file exists within a known test
          directory)
        - modificationType: string equal to one of 'addition', 'additionWithHistory',
          'modification' or 'deletion'
        - path: string equal to the path to the file (this may seem redundant, but it
          is required to use the second-level 'fileData' hash independent of the
          top-level hash)
        - sourceFile: [optional] string equal to the path of the original file that was
          copied or moved
        - sourceRevision: [optional] string equal to the revision of the original file
          that was copied or moved

        * Scripts/svn-create-patch: Moved call to GetOptions() to its own statement
        that saves the return value in $result, then checks it before printing help.
        Combined sourceFiles, %testFiles, and %binaryFiles into single %diffFiles hash
        and eliminated two for() loops.
        (binarycmp): Added.  Used with sort() to order non-binary files before binary
        files.
        (findBaseUrl): Added.  Extracted from findSourceFileAndRevision().
        (findMimeType): Added optional second argument that takes a revision number.
        (generateDiff): Updated to take one fileData argument instead of three ($file,
        $modificationType, $isBinary).
        (generateFileList): Updated to take one hash ref argument (%diffFiles)
        instead of three (%sourceFiles, %testFiles, %binaryFiles).  Populates
        %diffFiles using paths for keys and fileData hashes for values.
        (manufacturePatchForAdditionWithHistory): Updated to take one fileData
        argument.
        (pathcmp): Updated to take two fileData arguments instead of two strings.
        (testfilecmp): Added.  Used with sort() to order non-test files before test
        files.

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

14 years ago * Scripts/run-webkit-tests: Give a different message when only the pixel...
darin [Sat, 11 Aug 2007 18:27:36 +0000 (18:27 +0000)]
    * Scripts/run-webkit-tests: Give a different message when only the pixel test failed.

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

14 years ago2007-08-11 Holger Hans Peter Freyther <zecke@selfish.org>
zecke [Sat, 11 Aug 2007 18:13:31 +0000 (18:13 +0000)]
2007-08-11 Holger Hans Peter Freyther <zecke@selfish.org>

        Reviewed by Anders.

        Implement passing events to a subframe. The code is copied from
        the windows port and passSubframeEventToSubframe was removed as it
        is not called and it is not avilable in the windows port as well.

        * page/gdk/EventHandlerGdk.cpp:
        (WebCore::EventHandler::passMousePressEventToSubframe):
        (WebCore::EventHandler::passMouseMoveEventToSubframe):
        (WebCore::EventHandler::passMouseReleaseEventToSubframe):

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

14 years agoLayoutTests:
darin [Sat, 11 Aug 2007 18:01:35 +0000 (18:01 +0000)]
LayoutTests:

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

        Reviewed by Darin.

        - tests and updated results for http://bugs.webkit.org/show_bug.cgi?id=13670
          <rdar://problem/5399619> Table misrender when one of the TDs has width=100%

        * fast/table/100-percent-cell-width-expected.checksum: Added.
        * fast/table/100-percent-cell-width-expected.png: Added.
        * fast/table/100-percent-cell-width-expected.txt: Added.
        * fast/table/100-percent-cell-width.html: Added.
        * fast/table/percent-widths-stretch-expected.checksum: Added.
        * fast/table/percent-widths-stretch-expected.png: Added.
        * fast/table/percent-widths-stretch-expected.txt: Added.
        * fast/table/percent-widths-stretch.html: Added.
        * fast/text/whitespace/026-expected.checksum:
        * fast/text/whitespace/026-expected.png:
        * fast/text/whitespace/026-expected.txt:
        * tables/mozilla/bugs/bug35662-expected.checksum:
        * tables/mozilla/bugs/bug35662-expected.png:
        * tables/mozilla/bugs/bug35662-expected.txt:
        * tables/mozilla/bugs/bug5799-expected.checksum:
        * tables/mozilla/bugs/bug5799-expected.png:
        * tables/mozilla/bugs/bug5799-expected.txt:
        * tables/mozilla/core/col_span-expected.checksum:
        * tables/mozilla/core/col_span-expected.png:
        * tables/mozilla/core/col_span-expected.txt:

2007-08-11  Darin Adler  <darin@apple.com>

        - added a bunch of missing layout test results

        * editing/style/font-family-with-space-expected.checksum: Added.
        * editing/style/font-family-with-space-expected.png: Added.
        * fast/dom/frame-loading-via-document-write-expected.checksum: Added.
        * fast/dom/frame-loading-via-document-write-expected.png: Added.
        * fast/encoding/xmacroman-encoding-test-expected.checksum: Added.
        * fast/encoding/xmacroman-encoding-test-expected.png: Added.
        * fast/frames/frame-navigation-expected.checksum: Added.
        * fast/frames/frame-navigation-expected.png: Added.
        * fast/frames/frame-set-whitespace-attributes-expected.checksum: Added.
        * fast/frames/frame-set-whitespace-attributes-expected.png: Added.
        * fast/frames/inline-object-inside-frameset-expected.checksum: Added.
        * fast/frames/inline-object-inside-frameset-expected.png: Added.
        * fast/html/keygen-expected.checksum: Added.
        * fast/html/keygen-expected.png: Added.
        * fast/images/pdf-as-image-landscape-expected.checksum: Added.
        * fast/images/pdf-as-image-landscape-expected.png: Added.
        * fast/inline-block/14498-positionForCoordinates-expected.checksum: Added.
        * fast/inline-block/14498-positionForCoordinates-expected.png: Added.

WebCore:

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

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13670
          <rdar://problem/5399619> Table misrender when one of the TDs has width=100%

        Tests: fast/table/100-percent-cell-width.html
               fast/table/percent-widths-stretch.html

        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::calcPrefWidths): Changed the value used instead of
        0% to avoid division by zero from 1% to less than 0.01%. Removed code that
        added 0.5px to non-percent widths when calculating the scaling factor. The
        latter change is covered by the percent-widths-stretch test, where the new
        results match both WinIE 7 and Firefox 3.

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

14 years agoLayoutTests:
darin [Sat, 11 Aug 2007 17:18:57 +0000 (17:18 +0000)]
LayoutTests:

        Reviewed by Antti.

        - test for <rdar://problem/5266535> REGRESSION: <img> inside <map> no longer allowed in strict mode
          (breaks chemicalelements.com)

        * fast/parser/strict-img-in-map-expected.txt: Added.
        * fast/parser/strict-img-in-map.html: Added.

WebCore:

        Reviewed by Antti.

        - fix <rdar://problem/5266535> REGRESSION: <img> inside <map> no longer allowed in strict mode
          (breaks chemicalelements.com)

        Test: fast/parser/strict-img-in-map.html

        * html/HTMLMapElement.cpp: (WebCore::HTMLMapElement::checkDTD): Removed FIXME saying this
        code is strange, since this code matches the HTML 4 specification almost exactly. Made
        <img> elements allowed even in strict mode and added small comments to clarify what comes
        from the DTD and what is non-standard.

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

14 years ago2007-08-11 Holger Hans Peter Freyther <zecke@selfish.org>
zecke [Sat, 11 Aug 2007 13:53:17 +0000 (13:53 +0000)]
2007-08-11 Holger Hans Peter Freyther <zecke@selfish.org>

        Reviewed by Lars.

        GdkEventKey::string is not supposed to be used. The length
        of this string is zero for non ascii charachters. Use the
        gdk_unicode_to_keyval to convert the keyval to a UChar and construct
        a String. This change makes it possible to input non ascii
        charachters.

        * platform/gdk/KeyEventGdk.cpp:
        (WebCore::keyIdentifierForGdkKeyCode):
        (WebCore::singleCharacterString):
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

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

14 years agoLayoutTests:
andrew [Sat, 11 Aug 2007 11:52:44 +0000 (11:52 +0000)]
LayoutTests:

        Reviewed by Mark Rowe.

        Fix http://bugs.webkit.org/show_bug.cgi?id=14645
        getPropertyValue should be case insensitive

        Test for getPropertyValue, setProperty, removeProperty being case-insensitive

        * fast/css/css-properties-case-insensitive-expected.txt: Added.
        * fast/css/css-properties-case-insensitive.html: Added.

WebCore:

        Reviewed by Mark Rowe.

        Fix http://bugs.webkit.org/show_bug.cgi?id=14645
        getPropertyValue should be case insensitive

        When we get the propertyID for a given string we convert to lowercase.

        This also applies to setProperty, removeProperty and others.

        * css/CSSStyleDeclaration.cpp:
        (WebCore::propertyID):

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

14 years ago2007-08-11 Mark Rowe <mrowe@apple.com>
bdash [Sat, 11 Aug 2007 02:31:16 +0000 (02:31 +0000)]
2007-08-11  Mark Rowe  <mrowe@apple.com>

        Build fix.  Change "#ifdef PLATFORM(GDK)" to "#if PLATFORM(GDK)".

        * page/FrameView.cpp:
        * page/FrameView.h:

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

14 years agoWebCore:
zecke [Sat, 11 Aug 2007 01:27:06 +0000 (01:27 +0000)]
WebCore:
2007-08-11  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Adam.

        Copy the WebFrame::layoutIfNeededRecursive method of the windows port
        to FrameView to be used by the Gtk+ port. Simplify the implementation due
        moving it to the FrameView class.

        Implement the ScrollView::children() method for the Gtk+ port and make it
        available to the FrameView as children() is used within the layoutIfNeededRecursive method.

        * page/FrameView.cpp:
        (WebCore::FrameView::layoutIfNeededRecursive):
        * page/FrameView.h:
        * platform/ScrollView.h:
        * platform/gdk/ScrollViewGdk.cpp:

WebKit/gtk:
2007-08-11  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Adam.

        To not hit the needsLayout() assert of Frame::paint for subframes we need to
        make sure they are layed out. Use the newly created FrameView::layoutIfNeededRecursive
        method to do this.

        * Api/webkitgtkpage.cpp:

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

14 years agoWebCore:
zecke [Sat, 11 Aug 2007 00:43:19 +0000 (00:43 +0000)]
WebCore:

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

        Reviewed by Adam.

        To fix text selection make the PlatformMouseEvent set the pressed
        button even when moving the mouse.

        Add building of the WebKit::DragClient stubs as they are needed to
        make text selection work.

        * WebCore.pro:
        * platform/gdk/MouseEventGdk.cpp:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):

WebKit/gtk:
2007-08-11  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Adam.

        Fix text selection by setting a DragClient when creating the Page. Now
        that we have a DragClient we can free the Page when WebKitGtkPage gets
        destructed.

        * Api/webkitgtkpage.cpp:
        * WebCoreSupport/DragClientGtk.cpp: Added.
        (WebKit::DragClient::willPerformDragDestinationAction):
        (WebKit::DragClient::willPerformDragSourceAction):
        (WebKit::DragClient::actionMaskForDrag):
        (WebKit::DragClient::dragSourceActionMaskForPoint):
        (WebKit::DragClient::startDrag):
        (WebKit::DragClient::createDragImageForLink):
        * WebCoreSupport/DragClientGtk.h: Added.

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

14 years ago Reviewed by Mark Rowe.
thatcher [Sat, 11 Aug 2007 00:09:55 +0000 (00:09 +0000)]
    Reviewed by Mark Rowe.

        <rdar://problem/5403302> HIWebView.h should be #ifdefed out for 64-bit

        * Carbon/HIWebView.h: #ifdef out the header in 64-bit. Adds a comment about 32-bit only.
        * Carbon/CarbonUtils.h: Ditto.

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

14 years ago2007-08-10 Ada Chan <adachan@apple.com>
adachan [Sat, 11 Aug 2007 00:05:43 +0000 (00:05 +0000)]
2007-08-10  Ada Chan  <adachan@apple.com>

        Reviewed by Adam and Darin.

        <rdar://problem/5403095> Crash in WebViewWndProc after closing a window
        We are seeing another case where WM_SETFOCUS is sent after WM_DESTROY has been handled in WebView.
        Bail early in the wndProc if WebView is set to be destroyed.

        * WebView.cpp:
        (WebViewWndProc):

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

14 years agoLayoutTests:
andersca [Fri, 10 Aug 2007 23:49:13 +0000 (23:49 +0000)]
LayoutTests:

        Reviewed by Darin and Maciej.

        <rdar://problem/5360748>
        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.

WebCore:

        Reviewed by Darin and Maciej.

        <rdar://problem/5360748>
        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. Also, make sure to reset the cache when the node list count has
        been 0 and a new node list is registered to avoid any stale cache information.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::addChild):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        * dom/Document.h:
        (WebCore::Document::addNodeList):
        (WebCore::Document::removeNodeList):
        (WebCore::Document::hasNodeLists):
        * dom/Node.cpp:
        (WebCore::Node::registerNodeList):
        (WebCore::Node::unregisterNodeList):

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

14 years ago Reviewed by Mark.
oliver [Fri, 10 Aug 2007 23:47:26 +0000 (23:47 +0000)]
    Reviewed by Mark.

        Update layout test to avoid problems caused by differences in whitespace
        for NSAttributedString descriptions on Tiger and Leopard

        * fast/text/attributed-substring-from-range-expected.txt:
        * fast/text/attributed-substring-from-range.html:

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

14 years agoJavaScriptCore:
thatcher [Fri, 10 Aug 2007 23:24:24 +0000 (23:24 +0000)]
JavaScriptCore:

        Reviewed by Adam.

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

        Disable the NPAPI for 64-bit on Mac OS X.

        * Configurations/JavaScriptCore.xcconfig: Use the 64-bit export file.
        * JavaScriptCore.xcodeproj/project.pbxproj: Create a 64-bit export file
        that filters out the NPN fnctions.
        * bindings/NP_jsobject.cpp: #ifdef out this for 64-bit on Mac OS X
        * bindings/NP_jsobject.h: Ditto.
        * bindings/c/c_class.cpp: Ditto.
        * bindings/c/c_class.h: Ditto.
        * bindings/c/c_instance.cpp: Ditto.
        * bindings/c/c_instance.h: Ditto.
        * bindings/c/c_runtime.cpp: Ditto.
        * bindings/c/c_runtime.h: Ditto.
        * bindings/c/c_utility.cpp: Ditto.
        * bindings/c/c_utility.h: Ditto.
        * bindings/npapi.h: Ditto.
        * bindings/npruntime.cpp: Ditto.
        * bindings/npruntime.h: Ditto.
        * bindings/npruntime_impl.h: Ditto.
        * bindings/npruntime_priv.h: Ditto.
        * bindings/runtime.cpp:
        (KJS::Bindings::Instance::createBindingForLanguageInstance):
         don't creat an NPObject on Mac OS X in 64-bit.

WebCore:

        Reviewed by Adam.

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

        Disable NPObject use in 64-bit on Mac OS X.

        * Configurations/WebCore.xcconfig: Add a framework search path to the sub-framworks of Carbon.
        * WebCore.xcodeproj/project.pbxproj: Filter out the Frame::windowScriptNPObject() symbol in 64-bit.
        * bindings/objc/DOM.mm:
        (-[DOMElement _NPObject]): Return null in 64-bit.
        * config.h: Set WTF_USE_NPOBJECT to 0 in 64-bit Mac OS X.
        * page/Frame.cpp:
        (WebCore::Frame::cleanupScriptObjects): Add more #if USE(NPOBJECT) blocks where needed.
        * page/Frame.h: Ditto.
        * page/mac/FrameMac.mm:
        (WebCore::Frame::createScriptInstanceForWidget): Ditto.
        * page/mac/WebCoreFrameBridge.h: Ditto.
        * page/mac/WebCoreFrameBridge.mm: Ditto.

WebKit:

        Reviewed by Adam.

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

        Disable NPObject use in 64-bit on Mac OS X. Also generate the 64-bit export file.

        * Configurations/WebKit.xcconfig: Point to the generated 64-bit export file.
        * Plugins/WebBasePluginPackage.h:
        * Plugins/npfunctions.h: #ifdef out this header in 64-bit on Mac OS X.
        * WebKit.LP64.exp: Removed.
        * WebKit.xcodeproj/project.pbxproj: Generate the the 64-bit export file.
        * WebKitPrefix.h: Define WTF_USE_NPOBJECT.

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

14 years agoLayoutTests:
adele [Fri, 10 Aug 2007 22:20:26 +0000 (22:20 +0000)]
LayoutTests:

        Reviewed by Justin.

        - test for <rdar://problem/5397344> http://bugs.webkit.org/show_bug.cgi?id=14911
          REGRESSION: Clicking in pasted text doesn't position the insertion point correctly

        * editing/selection/inline-closest-leaf-child-expected.checksum: Added.
        * editing/selection/inline-closest-leaf-child-expected.png: Added.
        * editing/selection/inline-closest-leaf-child-expected.txt: Added.
        * editing/selection/inline-closest-leaf-child.html: Added.

WebCore:

        Reviewed by Justin.

        - fix <rdar://problem/5397344> http://bugs.webkit.org/show_bug.cgi?id=14911
          REGRESSION: Clicking in pasted text doesn't position the insertion point correctly

        Test: editing/selection/inline-closest-leaf-child.html

        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::closestLeafChildForXPos): Return the last leaf if
        it's the closest match, or if no other leaf matches (for example if all
        leaves are list markers or non-editable where editable is required).

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

14 years agoWebCore:
andersca [Fri, 10 Aug 2007 20:57:27 +0000 (20:57 +0000)]
WebCore:

        Reviewed by Geoff.

        <rdar://problem/5390568>
        REGRESSION: –[WebFrame loadHTMLString:baseURL:] leaks the data source.

        Revert the fix for <rdar://problem/5133420> which caused us to not cancel
        substitute data loads. It's better to remove the assertion in the WebKit layer.

        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::didCancel):

WebKit:

        Reviewed by Geoff.

        <rdar://problem/5390568>
        REGRESSION: –[WebFrame loadHTMLString:baseURL:] leaks the data source

        If the identifier is not in the map, just bail out instead of asserting. This is a better fix for
        <rdar://problem/5133420> because WebCore shouldn't have to worry about the lifetime of WebKit objects.

        * WebView/WebDocumentLoaderMac.mm:
        (WebDocumentLoaderMac::decreaseLoadCount):

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

14 years agoLayoutTests:
oliver [Fri, 10 Aug 2007 19:39:37 +0000 (19:39 +0000)]
LayoutTests:

        Reviewed by Darin.

        Added new layout test to validate fix for <rdar://problem/5000470> REGRESSION: ATOK IM: reconvert returns incorrect symbol due to inconsistent range domains in TSM

        Corrected fast/text/attributed-substring-from-range to account for additional whitespace, and to be correct.

        * fast/text/attributed-substring-from-range-expected.txt:
        * fast/text/attributed-substring-from-range-in-textfield-expected.txt: Added.
        * fast/text/attributed-substring-from-range-in-textfield.html: Added.
        * fast/text/attributed-substring-from-range.html:

WebKit:

        Reviewed by Darin.

        Fixed <rdar://problem/5000470> REGRESSION: ATOK IM: reconvert returns incorrect symbol due to inconsistent range domains in TSM by working around <rdar://problem/5400551> [NSAttributedString(WebKitExtras) _web_attributedStringFromRange:] adds whitespace to the requested range

        We truncate the returned string to the expected length.

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

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

14 years ago Rubber-stamped by Adam Roben.
weinig [Fri, 10 Aug 2007 18:45:13 +0000 (18:45 +0000)]
    Rubber-stamped by Adam Roben.

        Fix Windows, Qt and Gtk build.

        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:

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

14 years agoLayoutTests:
weinig [Fri, 10 Aug 2007 18:10:42 +0000 (18:10 +0000)]
LayoutTests:

        Reviewed by Maciej.

        Tests for <rdar://problem/5395618>

        * http/tests/security/javascriptURL/javascriptURL-execution-context-frame-location-htmldom-expected.txt: Added.
        * http/tests/security/javascriptURL/javascriptURL-execution-context-frame-location-htmldom.html: Added.
        * http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-getAttribute-value-expected.txt: Added.
        * http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-getAttribute-value.html: Added.
        * http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-htmldom-expected.txt: Added.
        * http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-htmldom.html: Added.
        * http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttribute-expected.txt: Added.
        * http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttribute.html: Added.
        * http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNS-expected.txt: Added.
        * http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNS.html: Added.
        * http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNode-expected.txt: Added.
        * http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNode.html: Added.
        * http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNodeNS-expected.txt: Added.
        * http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNodeNS.html: Added.
        * http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-getAttribute-value-expected.txt: Added.
        * http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-getAttribute-value.html: Added.
        * http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-htmldom-expected.txt: Added.
        * http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-htmldom.html: Added.
        * http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttribute-expected.txt: Added.
        * http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttribute.html: Added.
        * http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNS-expected.txt: Added.
        * http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNS.html: Added.
        * http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNode-expected.txt: Added.
        * http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNode.html: Added.
        * http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNodeNS-expected.txt: Added.
        * http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNodeNS.html: Added.

WebCore:

        Reviewed by Maciej.

        Fix for <rdar://problem/5395618>

        Use checkNodeSecurity when setting the 'src' or 'location' attribute of an
        iframe or frame element.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSAttrCustom.cpp: Added.
        (WebCore::JSAttr::setValue): Call checkNodeSecurity for attributes with a current iframe or frame
        ownerElement when setting src to a javascript: URL.
        * bindings/js/JSElementCustom.cpp: Added.
        (WebCore::allowSettingSrcToJavascriptURL):
        (WebCore::JSElement::setAttribute): Call checkNodeSecurity when element is a frame or iframe and
        setting he src attribute to a javascript: URL.
        (WebCore::JSElement::setAttributeNode): Ditto.
        (WebCore::JSElement::setAttributeNS): Ditto.
        (WebCore::JSElement::setAttributeNodeNS): Ditto.
        * bindings/js/JSHTMLFrameElementCustom.cpp: Added.
        (WebCore::allowSettingJavascriptURL):
        (WebCore::JSHTMLFrameElement::setSrc): Call checkNodeSecurity when setting to a javascript: URL.
        (WebCore::JSHTMLFrameElement::setLocation): Ditto.
        * bindings/js/JSHTMLIFrameElementCustom.cpp: Added.
        (WebCore::JSHTMLIFrameElement::setSrc): Call checkNodeSecurity when setting to a javascript: URL.
        * bindings/scripts/CodeGeneratorJS.pm: Add support for [CustomGetter] and [CustomSetter]
        * dom/Attr.idl:
        * dom/Element.idl:
        * html/HTMLFrameElement.idl:
        * html/HTMLIFrameElement.idl:

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

14 years agoWebCore:
zecke [Fri, 10 Aug 2007 17:22:18 +0000 (17:22 +0000)]
WebCore:

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

        Reviewed by Anders.

        Make the containingWindow a GtkContainer and make use of the
        GtkWidget::window instead of the GtkLayout::bin_window.

        * platform/Widget.h:
        * platform/gdk/PlatformScreenGdk.cpp:
        (WebCore::screenDepth):
        * platform/gdk/ScrollViewGdk.cpp:
        (WebCore::ScrollView::updateContents):
        (WebCore::ScrollView::update):
        * platform/gdk/WidgetGdk.cpp:
        (WebCore::Widget::setContainingWindow):
        (WebCore::Widget::setCursor):

WebKit/gtk:
2007-08-10  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Anders.

        Make WebKitGtkPage a GtkContainer to avoid a size_allocate
        race of GtkScrollBar and GtkLayout.

        * Api/webkitgtk-marshal.list:
        * Api/webkitgtkframe.cpp:
        * Api/webkitgtkpage.cpp:
        * Api/webkitgtkpage.h:
        * Api/webkitgtkprivate.h:

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

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

        Reviewed by Niko.

        Minor changes to the WebKit::EditorClient to allow removing
        of text from TextFields. Remove the selectWordBeforeMenuEvent method
        which is not used and not within WebCore::EditorClient.

        * WebCoreSupport/EditorClientGtk.cpp:
        (WebKit::EditorClient::shouldDeleteRange):
        (WebKit::EditorClient::shouldBeginEditing):
        (WebKit::EditorClient::shouldEndEditing):
        (WebKit::EditorClient::shouldApplyStyle):
        (WebKit::EditorClient::shouldInsertNode):
        * WebCoreSupport/EditorClientGtk.h:

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

14 years agoLimit the set of properties from the computed style to apply to Qt
hausmann [Fri, 10 Aug 2007 14:25:21 +0000 (14:25 +0000)]
Limit the set of properties from the computed style to apply to Qt
plugin widgets, as only a few of them make sense.

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

14 years agoRevert r24699 as it broke timers. The precision of QTime::toTime_t() is just seconds...
hausmann [Fri, 10 Aug 2007 14:25:11 +0000 (14:25 +0000)]
Revert r24699 as it broke timers. The precision of QTime::toTime_t() is just seconds, which is not good enough. Revert back
to the old implementation and use the simple implementation of currentTime() from win/ for the Qt/Windows build (fingers crossed :)

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

14 years agoRecognize .htm as valid extension for text/html.
hausmann [Fri, 10 Aug 2007 13:21:31 +0000 (13:21 +0000)]
Recognize .htm as valid extension for text/html.

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

14 years agoUse <object>'s classid attribute for creation of plugins through QWebPage::createPlugin.
lars [Fri, 10 Aug 2007 12:56:25 +0000 (12:56 +0000)]
Use <object>'s classid attribute for creation of plugins through QWebPage::createPlugin.

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

14 years agoremove an assertion that leads to crashes. The whole design of WidgetQt and ScrollVie...
lars [Fri, 10 Aug 2007 12:56:15 +0000 (12:56 +0000)]
remove an assertion that leads to crashes. The whole design of WidgetQt and ScrollViewQt needs to be reevaluated soon anyways.

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

14 years ago2007-08-10 Mark Rowe <mrowe@apple.com>
bdash [Fri, 10 Aug 2007 11:33:07 +0000 (11:33 +0000)]
2007-08-10  Mark Rowe  <mrowe@apple.com>

        Fix the Mac build.

        * ForwardingHeaders/bindings/runtime_object.h: Added.

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

14 years agoAdded support for network jobs from Qt resources using the qrc protocol.
hausmann [Fri, 10 Aug 2007 11:08:37 +0000 (11:08 +0000)]
Added support for network jobs from Qt resources using the qrc protocol.

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

14 years agoAdded support for "application/x-qt-styled-widget" that is treated like "application...
hausmann [Fri, 10 Aug 2007 11:08:28 +0000 (11:08 +0000)]
Added support for "application/x-qt-styled-widget" that is treated like "application/x-qt-plugin" but also
gets a Qt widget stylesheet set from the CSS computed style and the element style attribute.

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

14 years agoMake sure -fno-strict-aliasing is also added for mkspecs like linux-g++-64.
hausmann [Fri, 10 Aug 2007 11:08:18 +0000 (11:08 +0000)]
Make sure -fno-strict-aliasing is also added for mkspecs like linux-g++-64.

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

14 years agoEnable JavaScript bindings for HTML Object/Applet elements in the Qt port.
hausmann [Fri, 10 Aug 2007 11:08:06 +0000 (11:08 +0000)]
Enable JavaScript bindings for HTML Object/Applet elements in the Qt port.

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

14 years agoAdded virtual QWebPage::createPlugin that is called for embedded objects with the...
hausmann [Fri, 10 Aug 2007 11:07:53 +0000 (11:07 +0000)]
Added virtual QWebPage::createPlugin that is called for embedded objects with the mime type "application/x-qt-plugin"
and fixed widget embedding by setting the right QWidget parent.

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

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

        Reviewed by Mark.

        Rename the namespace from WebKitGtk to WebKit. Move the various *Client
        classes into the WebKit namespace. Change the class names to not contain Gtk.
        The file names have to contain the Gtk suffix to not clash with files in WebCore (e.g.
        bridge/EditorClient.h).

        * Api/webkitgtkframe.cpp:
        * Api/webkitgtkpage.cpp:
        * Api/webkitgtkprivate.cpp:
        * Api/webkitgtkprivate.h:
        * ChangeLog:
        * WebCoreSupport/ChromeClientGtk.cpp:
        (WebKit::ChromeClient::ChromeClient):
        (WebKit::ChromeClient::chromeDestroyed):
        (WebKit::ChromeClient::windowRect):
        (WebKit::ChromeClient::setWindowRect):
        (WebKit::ChromeClient::pageRect):
        (WebKit::ChromeClient::scaleFactor):
        (WebKit::ChromeClient::focus):
        (WebKit::ChromeClient::unfocus):
        (WebKit::ChromeClient::createWindow):
        (WebKit::ChromeClient::createModalDialog):
        (WebKit::ChromeClient::show):
        (WebKit::ChromeClient::canRunModal):
        (WebKit::ChromeClient::runModal):
        (WebKit::ChromeClient::setToolbarsVisible):
        (WebKit::ChromeClient::toolbarsVisible):
        (WebKit::ChromeClient::setStatusbarVisible):
        (WebKit::ChromeClient::statusbarVisible):
        (WebKit::ChromeClient::setScrollbarsVisible):
        (WebKit::ChromeClient::scrollbarsVisible):
        (WebKit::ChromeClient::setMenubarVisible):
        (WebKit::ChromeClient::menubarVisible):
        (WebKit::ChromeClient::setResizable):
        (WebKit::ChromeClient::closeWindowSoon):
        (WebKit::ChromeClient::canTakeFocus):
        (WebKit::ChromeClient::takeFocus):
        (WebKit::ChromeClient::canRunBeforeUnloadConfirmPanel):
        (WebKit::ChromeClient::runBeforeUnloadConfirmPanel):
        (WebKit::ChromeClient::runJavaScriptAlert):
        (WebKit::ChromeClient::runJavaScriptConfirm):
        (WebKit::ChromeClient::setStatusbarText):
        (WebKit::ChromeClient::shouldInterruptJavaScript):
        (WebKit::ChromeClient::tabsToLinks):
        (WebKit::ChromeClient::windowResizerRect):
        (WebKit::ChromeClient::addToDirtyRegion):
        (WebKit::ChromeClient::scrollBackingStore):
        (WebKit::ChromeClient::updateBackingStore):
        (WebKit::ChromeClient::mouseDidMoveOverElement):
        (WebKit::ChromeClient::setToolTip):
        * WebCoreSupport/ChromeClientGtk.h:
        * WebCoreSupport/ContextMenuClientGtk.cpp:
        (WebKit::ContextMenuClient::contextMenuDestroyed):
        (WebKit::ContextMenuClient::getCustomMenuFromDefaultItems):
        (WebKit::ContextMenuClient::contextMenuItemSelected):
        (WebKit::ContextMenuClient::downloadURL):
        (WebKit::ContextMenuClient::copyImageToClipboard):
        (WebKit::ContextMenuClient::searchWithGoogle):
        (WebKit::ContextMenuClient::lookUpInDictionary):
        (WebKit::ContextMenuClient::speak):
        * WebCoreSupport/ContextMenuClientGtk.h:
        * WebCoreSupport/EditorClientGtk.cpp:
        (WebKit::EditorClient::shouldDeleteRange):
        (WebKit::EditorClient::shouldShowDeleteInterface):
        (WebKit::EditorClient::isContinuousSpellCheckingEnabled):
        (WebKit::EditorClient::isGrammarCheckingEnabled):
        (WebKit::EditorClient::spellCheckerDocumentTag):
        (WebKit::EditorClient::shouldBeginEditing):
        (WebKit::EditorClient::shouldEndEditing):
        (WebKit::EditorClient::shouldInsertText):
        (WebKit::EditorClient::shouldChangeSelectedRange):
        (WebKit::EditorClient::shouldApplyStyle):
        (WebKit::EditorClient::shouldMoveRangeAfterDelete):
        (WebKit::EditorClient::didBeginEditing):
        (WebKit::EditorClient::respondToChangedContents):
        (WebKit::EditorClient::respondToChangedSelection):
        (WebKit::EditorClient::didEndEditing):
        (WebKit::EditorClient::didWriteSelectionToPasteboard):
        (WebKit::EditorClient::didSetSelectionTypesForPasteboard):
        (WebKit::EditorClient::selectWordBeforeMenuEvent):
        (WebKit::EditorClient::isEditable):
        (WebKit::EditorClient::registerCommandForUndo):
        (WebKit::EditorClient::registerCommandForRedo):
        (WebKit::EditorClient::clearUndoRedoOperations):
        (WebKit::EditorClient::canUndo):
        (WebKit::EditorClient::canRedo):
        (WebKit::EditorClient::undo):
        (WebKit::EditorClient::redo):
        (WebKit::EditorClient::shouldInsertNode):
        (WebKit::EditorClient::pageDestroyed):
        (WebKit::EditorClient::smartInsertDeleteEnabled):
        (WebKit::EditorClient::toggleContinuousSpellChecking):
        (WebKit::EditorClient::toggleGrammarChecking):
        (WebKit::EditorClient::handleInputMethodKeypress):
        (WebKit::EditorClient::EditorClient):
        (WebKit::EditorClient::textFieldDidBeginEditing):
        (WebKit::EditorClient::textFieldDidEndEditing):
        (WebKit::EditorClient::textDidChangeInTextField):
        (WebKit::EditorClient::doTextFieldCommandFromEvent):
        (WebKit::EditorClient::textWillBeDeletedInTextField):
        (WebKit::EditorClient::textDidChangeInTextArea):
        (WebKit::EditorClient::ignoreWordInSpellDocument):
        (WebKit::EditorClient::learnWord):
        (WebKit::EditorClient::checkSpellingOfString):
        (WebKit::EditorClient::checkGrammarOfString):
        (WebKit::EditorClient::updateSpellingUIWithGrammarString):
        (WebKit::EditorClient::updateSpellingUIWithMisspelledWord):
        (WebKit::EditorClient::showSpellingUI):
        (WebKit::EditorClient::spellingUIIsShowing):
        * WebCoreSupport/EditorClientGtk.h:
        * WebCoreSupport/FrameLoaderClientGtk.cpp:
        (WebKit::FrameLoaderClient::FrameLoaderClient):
        (WebKit::FrameLoaderClient::userAgent):
        (WebKit::FrameLoaderClient::createDocumentLoader):
        (WebKit::FrameLoaderClient::committedLoad):
        (WebKit::FrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
        (WebKit::FrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
        (WebKit::FrameLoaderClient::dispatchWillSendRequest):
        (WebKit::FrameLoaderClient::assignIdentifierToInitialRequest):
        (WebKit::FrameLoaderClient::postProgressStartedNotification):
        (WebKit::FrameLoaderClient::postProgressFinishedNotification):
        (WebKit::FrameLoaderClient::frameLoaderDestroyed):
        (WebKit::FrameLoaderClient::dispatchDidReceiveResponse):
        (WebKit::FrameLoaderClient::createPlugin):
        (WebKit::FrameLoaderClient::redirectDataToPlugin):
        (WebKit::FrameLoaderClient::createJavaAppletWidget):
        (WebKit::FrameLoaderClient::overrideMediaType):
        (WebKit::FrameLoaderClient::windowObjectCleared):
        (WebKit::FrameLoaderClient::setMainFrameDocumentReady):
        (WebKit::FrameLoaderClient::hasWebView):
        (WebKit::FrameLoaderClient::hasFrameView):
        (WebKit::FrameLoaderClient::dispatchDidFinishLoad):
        (WebKit::FrameLoaderClient::frameLoadCompleted):
        (WebKit::FrameLoaderClient::saveViewStateToItem):
        (WebKit::FrameLoaderClient::restoreViewState):
        (WebKit::FrameLoaderClient::privateBrowsingEnabled):
        (WebKit::FrameLoaderClient::makeDocumentView):
        (WebKit::FrameLoaderClient::makeRepresentation):
        (WebKit::FrameLoaderClient::forceLayout):
        (WebKit::FrameLoaderClient::forceLayoutForNonHTML):
        (WebKit::FrameLoaderClient::setCopiesOnScroll):
        (WebKit::FrameLoaderClient::detachedFromParent1):
        (WebKit::FrameLoaderClient::detachedFromParent2):
        (WebKit::FrameLoaderClient::detachedFromParent3):
        (WebKit::FrameLoaderClient::detachedFromParent4):
        (WebKit::FrameLoaderClient::loadedFromCachedPage):
        (WebKit::FrameLoaderClient::dispatchDidHandleOnloadEvents):
        (WebKit::FrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
        (WebKit::FrameLoaderClient::dispatchDidCancelClientRedirect):
        (WebKit::FrameLoaderClient::dispatchWillPerformClientRedirect):
        (WebKit::FrameLoaderClient::dispatchDidChangeLocationWithinPage):
        (WebKit::FrameLoaderClient::dispatchWillClose):
        (WebKit::FrameLoaderClient::dispatchDidReceiveIcon):
        (WebKit::FrameLoaderClient::dispatchDidStartProvisionalLoad):
        (WebKit::FrameLoaderClient::dispatchDidReceiveTitle):
        (WebKit::FrameLoaderClient::dispatchDidCommitLoad):
        (WebKit::FrameLoaderClient::dispatchDidFinishDocumentLoad):
        (WebKit::FrameLoaderClient::dispatchDidFirstLayout):
        (WebKit::FrameLoaderClient::dispatchShow):
        (WebKit::FrameLoaderClient::cancelPolicyCheck):
        (WebKit::FrameLoaderClient::dispatchDidLoadMainResource):
        (WebKit::FrameLoaderClient::revertToProvisionalState):
        (WebKit::FrameLoaderClient::clearUnarchivingState):
        (WebKit::FrameLoaderClient::willChangeTitle):
        (WebKit::FrameLoaderClient::didChangeTitle):
        (WebKit::FrameLoaderClient::finishedLoading):
        (WebKit::FrameLoaderClient::finalSetupForReplace):
        (WebKit::FrameLoaderClient::setDefersLoading):
        (WebKit::FrameLoaderClient::isArchiveLoadPending):
        (WebKit::FrameLoaderClient::cancelPendingArchiveLoad):
        (WebKit::FrameLoaderClient::clearArchivedResources):
        (WebKit::FrameLoaderClient::canHandleRequest):
        (WebKit::FrameLoaderClient::canShowMIMEType):
        (WebKit::FrameLoaderClient::representationExistsForURLScheme):
        (WebKit::FrameLoaderClient::generatedMIMETypeForURLScheme):
        (WebKit::FrameLoaderClient::provisionalLoadStarted):
        (WebKit::FrameLoaderClient::didFinishLoad):
        (WebKit::FrameLoaderClient::setDocumentViewFromCachedPage):
        (WebKit::FrameLoaderClient::dispatchDidReceiveContentLength):
        (WebKit::FrameLoaderClient::dispatchDidFinishLoading):
        (WebKit::FrameLoaderClient::dispatchDidFailLoading):
        (WebKit::FrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
        (WebKit::FrameLoaderClient::dispatchDidFailProvisionalLoad):
        (WebKit::FrameLoaderClient::dispatchDidFailLoad):
        (WebKit::FrameLoaderClient::download):
        (WebKit::FrameLoaderClient::cancelledError):
        (WebKit::FrameLoaderClient::blockedError):
        (WebKit::FrameLoaderClient::cannotShowURLError):
        (WebKit::FrameLoaderClient::interruptForPolicyChangeError):
        (WebKit::FrameLoaderClient::cannotShowMIMETypeError):
        (WebKit::FrameLoaderClient::fileDoesNotExistError):
        (WebKit::FrameLoaderClient::shouldFallBack):
        (WebKit::FrameLoaderClient::willUseArchive):
        (WebKit::FrameLoaderClient::saveDocumentViewToCachedPage):
        (WebKit::FrameLoaderClient::canCachePage):
        (WebKit::FrameLoaderClient::dispatchCreatePage):
        (WebKit::FrameLoaderClient::dispatchUnableToImplementPolicy):
        * WebCoreSupport/FrameLoaderClientGtk.h:
        * WebCoreSupport/InspectorClientGtk.cpp:
        (WebKit::InspectorClient::inspectorDestroyed):
        (WebKit::InspectorClient::createPage):
        (WebKit::InspectorClient::showWindow):
        (WebKit::InspectorClient::closeWindow):
        (WebKit::InspectorClient::attachWindow):
        (WebKit::InspectorClient::detachWindow):
        (WebKit::InspectorClient::highlight):
        (WebKit::InspectorClient::hideHighlight):
        * WebCoreSupport/InspectorClientGtk.h:

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

14 years ago2007-08-10 Mitz Pettel <mitz@webkit.org>
bdash [Fri, 10 Aug 2007 07:50:06 +0000 (07:50 +0000)]
2007-08-10  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Dave Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=14798
          Incorrect bidi reordering of neutrals and digits after RTL embed
          and other bugs in the bidi algorithm.

        Test: fast/text/international/bidi-neutral-run.html

        Fixed several bugs in resolving the embedding level of runs of neutral
        characters. Changed the logic to rely on the eor direction only for
        the number types, and otherwise consider the last strong type.

        * platform/BidiContext.h:
        (WebCore::BidiContext::BidiContext): Added an ASSERT.
        * platform/BidiResolver.h:
        (WebCore::::embed):
        (WebCore::::createBidiRunsForLine):
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::TextRunIterator::atEnd): Changed to return true instead of
        crashing when called on the empty iterator.

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

        Reviewed by Dave Hyatt.

        - test for http://bugs.webkit.org/show_bug.cgi?id=14798
          Incorrect bidi reordering of neutrals and digits after RTL embed
          and other bugs in the bidi algorithm.

        * fast/text/international/bidi-neutral-run-expected.checksum: Added.
        * fast/text/international/bidi-neutral-run-expected.png: Added.
        * fast/text/international/bidi-neutral-run-expected.txt: Added.
        * fast/text/international/bidi-neutral-run.html: Added.

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

14 years ago2007-08-09 Mark Rowe <mrowe@apple.com>
bdash [Fri, 10 Aug 2007 06:08:51 +0000 (06:08 +0000)]
2007-08-09  Mark Rowe  <mrowe@apple.com>

        Reviewed by Antti.

        <rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before +

        * Configurations/Version.xcconfig:
        * JavaScriptCore.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between
        Version.xcconfig and Info.plist explicit to Xcode.

2007-08-09  Mark Rowe  <mrowe@apple.com>

        Reviewed by Antti.

        <rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before +

        * Configurations/Version.xcconfig:
        * JavaScriptGlue.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between
        Version.xcconfig and Info.plist explicit to Xcode.

2007-08-09  Mark Rowe  <mrowe@apple.com>

        Reviewed by Antti.

        <rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before +

        * Configurations/Version.xcconfig:
        * WebCore.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between
        Version.xcconfig and Info.plist explicit to Xcode.

2007-08-09  Mark Rowe  <mrowe@apple.com>

        Reviewed by Antti.

        <rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before +

        * Configurations/Version.xcconfig:
        * WebKit.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between
        Version.xcconfig and Info.plist explicit to Xcode.

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

14 years ago Reviewed by Mark Rowe.
weinig [Fri, 10 Aug 2007 04:12:30 +0000 (04:12 +0000)]
    Reviewed by Mark Rowe.

        Use index-getter instead of name-getter to better ensure
        that the frame has finished loading.

        * http/tests/security/dataURL/xss-DENIED-from-data-url-in-foriegn-domain-window-open.html:
        * http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-subframe.html:
        * http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-window-open.html:

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

14 years ago2007-08-09 Mitz Pettel <mitz@webkit.org>
bdash [Fri, 10 Aug 2007 03:56:17 +0000 (03:56 +0000)]
2007-08-09  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Justin Garcia.

        - fix http://bugs.webkit.org/show_bug.cgi?id=14347
          REGRESSION (r21291): Initiating a drag near the edge of a selection deselects it

        Test: editing/selection/contains-boundaries.html

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::contains): Changed to return true for the
        selection boundaries too.

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

        Reviewed by Justin Garcia.

        - test for http://bugs.webkit.org/show_bug.cgi?id=14347
          REGRESSION (r21291): Initiating a drag near the edge of a selection deselects it

        * editing/selection/contains-boundaries-expected.checksum: Added.
        * editing/selection/contains-boundaries-expected.png: Added.
        * editing/selection/contains-boundaries-expected.txt: Added.
        * editing/selection/contains-boundaries.html: Added.

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

14 years ago2007-08-09 Mitz Pettel <mitz@webkit.org>
bdash [Fri, 10 Aug 2007 03:52:11 +0000 (03:52 +0000)]
2007-08-09  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Dave Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=14742
          Document::recalcStyle(Force) called for every updateStyleIgnorePendingStylesheets while waiting for stylesheets
          <rdar://problem/5376306>

        updateStyleSelector() is normally called when something changes that factors
        into the style selector. However, updateLayoutIgnorePendingStylesheets() calls it for
        a different reason, namely to account for all the preceding changes that were ignored
        because of the early return in updateStyleSelector(). After that, the early return
        can no longer occur, so changes are accounted for as they happen, and
        updateLayoutIgnorePendingStylesheets() does not need to call updateStyleSelector()
        again.

        * dom/Document.cpp:
        (WebCore::Document::updateLayoutIgnorePendingStylesheets): Call updateStyleSelector()
        only before the first layout.

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

14 years ago2007-08-09 Mitz Pettel <mitz@webkit.org>
bdash [Fri, 10 Aug 2007 03:49:22 +0000 (03:49 +0000)]
2007-08-09  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Adam Roben.

        - fix http://bugs.webkit.org/show_bug.cgi?id=14362
          Opening a select list always highlights first element in list

        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupWndProc): Track the mouse only inside the popup.

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

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

        Reviewed by Dave Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=14875
          Textarea with nowrap - left/right nav, Up/down nav both hide text

        Test: fast/layers/scroll-rect-to-visible.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollRectToVisible): Account for borders and scroll bars.

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

        Reviewed by Dave Hyatt.

        - test for http://bugs.webkit.org/show_bug.cgi?id=14875
          Textarea with nowrap - left/right nav, Up/down nav both hide text

        * fast/layers/scroll-rect-to-visible-expected.checksum: Added.
        * fast/layers/scroll-rect-to-visible-expected.png: Added.
        * fast/layers/scroll-rect-to-visible-expected.txt: Added.
        * fast/layers/scroll-rect-to-visible.html: Added.

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

14 years ago Reviewed by Dave Hyatt.
ggaren [Fri, 10 Aug 2007 02:30:30 +0000 (02:30 +0000)]
    Reviewed by Dave Hyatt.

        Refactored live decoded resource eviction to be more modular /
        encapsulated.

        This fixes one known place where we forgot to hook into the live
        decoded eviction mechanism -- canvas. There might be other, unknown
        places. In a canvas test page, which I broke off from the Safari
        pageout test, I saw an RPRVT reduction of ~10MB.

        A few renames:
        - "m_lastLiveAccessTime" => "m_lastDecodedAccessTime" because the data
        point we're recording is access to the resource in decoded form.

        - "liveResourceAccessed" => "didAccessDecodedData" for the same reason.

        - "pruneAllResources" => "pruneDeadResources" because this function
        does not prune live resources.

        And the fix:
        Instead of updating cache metadata at the call site whenver drawing an
        image, just have an image notify its observer whenever it draws. The
        observer, which is a CachedResource, can then update the metadata.

        * loader/Cache.cpp: Renames
        * loader/Cache.h: Removed stale declarations, updated comments
        * loader/CachedImage.cpp:
        (WebCore::CachedImage::didDraw): Implemented didDraw to update cache
        metadata whenever our image draws.
        * loader/CachedImage.h: Grouped parts of the ImageObserver interface.
        * loader/CachedResource.cpp:
        (WebCore::CachedResource::CachedResource):
        (WebCore::CachedResource::deref):
        (WebCore::CachedResource::didAccessDecodedData): Made this function
        slightly more modular by allowing the caller to provide a time stamp.
        In theory, not all CachedResources will necessarily want to use the
        current paint time stamp.
        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::BitmapImage::draw): Notify our observer that we drew.
        (WebCore::Image::drawPattern): ditto
        * platform/graphics/cg/PDFDocumentImage.cpp:
        (WebCore::PDFDocumentImage::draw): ditto
        * platform/graphics/svg/SVGImage.cpp:
        (WebCore::SVGImage::draw): ditto

        Removed old code at image drawing call sites:

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintBackgroundExtended):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paint):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::paint):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::paintBorderImage):

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

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

        Reviewed by Adam.

        Move the various *ClientGdk.{h,cpp} away from the WebCore directory as
        of http://bugs.webkit.org/show_bug.cgi?id=14727.

        * WebCore.pro:
        * platform/gdk/TemporaryLinkStubs.cpp:

WebKit/gtk:
2007-08-10  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Adam.

        As of http://bugs.webkit.org/show_bug.cgi?id=14727 move the
        various *ClientGdk.{cpp,h} files from WebCore to WebKit/gtk/WebCoreSupport and
        rename it from Gdk to Gtk.

        * Api/webkitgtkdefines.h:
        * Api/webkitgtkframe.cpp:
        * Api/webkitgtkframe.h:
        * Api/webkitgtkglobal.cpp:
        * Api/webkitgtkglobal.h:
        * Api/webkitgtknetworkrequest.cpp:
        * Api/webkitgtknetworkrequest.h:
        * Api/webkitgtkpage.cpp:
        * Api/webkitgtkpage.h:
        * Api/webkitgtkprivate.cpp:
        * Api/webkitgtkprivate.h:
        * Api/webkitgtksettings.cpp:
        * Api/webkitgtksettings.h:
        * WebCoreSupport/ChromeClientGtk.cpp: Renamed from WebKit/gtk/WebCoreSupport/ChromeClientGdk.cpp.
        (WebKitGtk::ChromeClientGtk::ChromeClientGtk):
        (WebKitGtk::ChromeClientGtk::chromeDestroyed):
        (WebKitGtk::ChromeClientGtk::windowRect):
        (WebKitGtk::ChromeClientGtk::setWindowRect):
        (WebKitGtk::ChromeClientGtk::pageRect):
        (WebKitGtk::ChromeClientGtk::scaleFactor):
        (WebKitGtk::ChromeClientGtk::focus):
        (WebKitGtk::ChromeClientGtk::unfocus):
        (WebKitGtk::ChromeClientGtk::createWindow):
        (WebKitGtk::ChromeClientGtk::createModalDialog):
        (WebKitGtk::ChromeClientGtk::show):
        (WebKitGtk::ChromeClientGtk::canRunModal):
        (WebKitGtk::ChromeClientGtk::runModal):
        (WebKitGtk::ChromeClientGtk::setToolbarsVisible):
        (WebKitGtk::ChromeClientGtk::toolbarsVisible):
        (WebKitGtk::ChromeClientGtk::setStatusbarVisible):
        (WebKitGtk::ChromeClientGtk::statusbarVisible):
        (WebKitGtk::ChromeClientGtk::setScrollbarsVisible):
        (WebKitGtk::ChromeClientGtk::scrollbarsVisible):
        (WebKitGtk::ChromeClientGtk::setMenubarVisible):
        (WebKitGtk::ChromeClientGtk::menubarVisible):
        (WebKitGtk::ChromeClientGtk::setResizable):
        (WebKitGtk::ChromeClientGtk::closeWindowSoon):
        (WebKitGtk::ChromeClientGtk::canTakeFocus):
        (WebKitGtk::ChromeClientGtk::takeFocus):
        (WebKitGtk::ChromeClientGtk::canRunBeforeUnloadConfirmPanel):
        (WebKitGtk::ChromeClientGtk::runBeforeUnloadConfirmPanel):
        (WebKitGtk::ChromeClientGtk::addMessageToConsole):
        (WebKitGtk::ChromeClientGtk::runJavaScriptAlert):
        (WebKitGtk::ChromeClientGtk::runJavaScriptConfirm):
        (WebKitGtk::ChromeClientGtk::runJavaScriptPrompt):
        (WebKitGtk::ChromeClientGtk::setStatusbarText):
        (WebKitGtk::ChromeClientGtk::shouldInterruptJavaScript):
        (WebKitGtk::ChromeClientGtk::tabsToLinks):
        (WebKitGtk::ChromeClientGtk::windowResizerRect):
        (WebKitGtk::ChromeClientGtk::addToDirtyRegion):
        (WebKitGtk::ChromeClientGtk::scrollBackingStore):
        (WebKitGtk::ChromeClientGtk::updateBackingStore):
        (WebKitGtk::ChromeClientGtk::mouseDidMoveOverElement):
        (WebKitGtk::ChromeClientGtk::setToolTip):
        * WebCoreSupport/ChromeClientGtk.h: Renamed from WebKit/gtk/WebCoreSupport/ChromeClientGdk.h.
        (WebKitGtk::ChromeClientGtk::webPage):
        * WebCoreSupport/ContextMenuClientGtk.cpp: Renamed from WebCore/page/gdk/ContextMenuClientGdk.cpp.
        (WebCore::ContextMenuClientGtk::contextMenuDestroyed):
        (WebCore::ContextMenuClientGtk::getCustomMenuFromDefaultItems):
        (WebCore::ContextMenuClientGtk::contextMenuItemSelected):
        (WebCore::ContextMenuClientGtk::downloadURL):
        (WebCore::ContextMenuClientGtk::copyImageToClipboard):
        (WebCore::ContextMenuClientGtk::searchWithGoogle):
        (WebCore::ContextMenuClientGtk::lookUpInDictionary):
        (WebCore::ContextMenuClientGtk::speak):
        (WebCore::ContextMenuClientGtk::stopSpeaking):
        * WebCoreSupport/ContextMenuClientGtk.h: Renamed from WebCore/page/gdk/ContextMenuClientGdk.h.
        * WebCoreSupport/EditorClientGtk.cpp: Renamed from WebCore/platform/gdk/EditorClientGdk.cpp.
        (WebCore::EditorClientGtk::shouldDeleteRange):
        (WebCore::EditorClientGtk::shouldShowDeleteInterface):
        (WebCore::EditorClientGtk::isContinuousSpellCheckingEnabled):
        (WebCore::EditorClientGtk::isGrammarCheckingEnabled):
        (WebCore::EditorClientGtk::spellCheckerDocumentTag):
        (WebCore::EditorClientGtk::shouldBeginEditing):
        (WebCore::EditorClientGtk::shouldEndEditing):
        (WebCore::EditorClientGtk::shouldInsertText):
        (WebCore::EditorClientGtk::shouldChangeSelectedRange):
        (WebCore::EditorClientGtk::shouldApplyStyle):
        (WebCore::EditorClientGtk::shouldMoveRangeAfterDelete):
        (WebCore::EditorClientGtk::didBeginEditing):
        (WebCore::EditorClientGtk::respondToChangedContents):
        (WebCore::EditorClientGtk::respondToChangedSelection):
        (WebCore::EditorClientGtk::didEndEditing):
        (WebCore::EditorClientGtk::didWriteSelectionToPasteboard):
        (WebCore::EditorClientGtk::didSetSelectionTypesForPasteboard):
        (WebCore::EditorClientGtk::selectWordBeforeMenuEvent):
        (WebCore::EditorClientGtk::isEditable):
        (WebCore::EditorClientGtk::registerCommandForUndo):
        (WebCore::EditorClientGtk::registerCommandForRedo):
        (WebCore::EditorClientGtk::clearUndoRedoOperations):
        (WebCore::EditorClientGtk::canUndo):
        (WebCore::EditorClientGtk::canRedo):
        (WebCore::EditorClientGtk::undo):
        (WebCore::EditorClientGtk::redo):
        (WebCore::EditorClientGtk::shouldInsertNode):
        (WebCore::EditorClientGtk::pageDestroyed):
        (WebCore::EditorClientGtk::smartInsertDeleteEnabled):
        (WebCore::EditorClientGtk::toggleContinuousSpellChecking):
        (WebCore::EditorClientGtk::toggleGrammarChecking):
        (WebCore::EditorClientGtk::handleKeypress):
        (WebCore::EditorClientGtk::handleInputMethodKeypress):
        (WebCore::EditorClientGtk::EditorClientGtk):
        (WebCore::EditorClientGtk::textFieldDidBeginEditing):
        (WebCore::EditorClientGtk::textFieldDidEndEditing):
        (WebCore::EditorClientGtk::textDidChangeInTextField):
        (WebCore::EditorClientGtk::doTextFieldCommandFromEvent):
        (WebCore::EditorClientGtk::textWillBeDeletedInTextField):
        (WebCore::EditorClientGtk::textDidChangeInTextArea):
        (WebCore::EditorClientGtk::ignoreWordInSpellDocument):
        (WebCore::EditorClientGtk::learnWord):
        (WebCore::EditorClientGtk::checkSpellingOfString):
        (WebCore::EditorClientGtk::checkGrammarOfString):
        (WebCore::EditorClientGtk::updateSpellingUIWithGrammarString):
        (WebCore::EditorClientGtk::updateSpellingUIWithMisspelledWord):
        (WebCore::EditorClientGtk::showSpellingUI):
        (WebCore::EditorClientGtk::spellingUIIsShowing):
        (WebCore::EditorClientGtk::getGuessesForWord):
        * WebCoreSupport/EditorClientGtk.h: Renamed from WebCore/platform/gdk/EditorClientGdk.h.
        * WebCoreSupport/FrameLoaderClientGtk.cpp: Renamed from WebCore/loader/gdk/FrameLoaderClientGdk.cpp.
        (WebCore::FrameLoaderClientGtk::FrameLoaderClientGtk):
        (WebCore::FrameLoaderClientGtk::userAgent):
        (WebCore::FrameLoaderClientGtk::createDocumentLoader):
        (WebCore::FrameLoaderClientGtk::dispatchWillSubmitForm):
        (WebCore::FrameLoaderClientGtk::committedLoad):
        (WebCore::FrameLoaderClientGtk::dispatchDidReceiveAuthenticationChallenge):
        (WebCore::FrameLoaderClientGtk::dispatchDidCancelAuthenticationChallenge):
        (WebCore::FrameLoaderClientGtk::dispatchWillSendRequest):
        (WebCore::FrameLoaderClientGtk::assignIdentifierToInitialRequest):
        (WebCore::FrameLoaderClientGtk::postProgressStartedNotification):
        (WebCore::FrameLoaderClientGtk::postProgressEstimateChangedNotification):
        (WebCore::FrameLoaderClientGtk::postProgressFinishedNotification):
        (WebCore::FrameLoaderClientGtk::frameLoaderDestroyed):
        (WebCore::FrameLoaderClientGtk::dispatchDidReceiveResponse):
        (WebCore::FrameLoaderClientGtk::dispatchDecidePolicyForMIMEType):
        (WebCore::FrameLoaderClientGtk::dispatchDecidePolicyForNewWindowAction):
        (WebCore::FrameLoaderClientGtk::dispatchDecidePolicyForNavigationAction):
        (WebCore::FrameLoaderClientGtk::createPlugin):
        (WebCore::FrameLoaderClientGtk::createFrame):
        (WebCore::FrameLoaderClientGtk::redirectDataToPlugin):
        (WebCore::FrameLoaderClientGtk::createJavaAppletWidget):
        (WebCore::FrameLoaderClientGtk::objectContentType):
        (WebCore::FrameLoaderClientGtk::overrideMediaType):
        (WebCore::FrameLoaderClientGtk::windowObjectCleared):
        (WebCore::FrameLoaderClientGtk::setMainFrameDocumentReady):
        (WebCore::FrameLoaderClientGtk::hasWebView):
        (WebCore::FrameLoaderClientGtk::hasFrameView):
        (WebCore::FrameLoaderClientGtk::dispatchDidFinishLoad):
        (WebCore::FrameLoaderClientGtk::frameLoadCompleted):
        (WebCore::FrameLoaderClientGtk::saveViewStateToItem):
        (WebCore::FrameLoaderClientGtk::restoreViewState):
        (WebCore::FrameLoaderClientGtk::shouldGoToHistoryItem):
        (WebCore::FrameLoaderClientGtk::privateBrowsingEnabled):
        (WebCore::FrameLoaderClientGtk::makeDocumentView):
        (WebCore::FrameLoaderClientGtk::makeRepresentation):
        (WebCore::FrameLoaderClientGtk::forceLayout):
        (WebCore::FrameLoaderClientGtk::forceLayoutForNonHTML):
        (WebCore::FrameLoaderClientGtk::setCopiesOnScroll):
        (WebCore::FrameLoaderClientGtk::detachedFromParent1):
        (WebCore::FrameLoaderClientGtk::detachedFromParent2):
        (WebCore::FrameLoaderClientGtk::detachedFromParent3):
        (WebCore::FrameLoaderClientGtk::detachedFromParent4):
        (WebCore::FrameLoaderClientGtk::loadedFromCachedPage):
        (WebCore::FrameLoaderClientGtk::dispatchDidHandleOnloadEvents):
        (WebCore::FrameLoaderClientGtk::dispatchDidReceiveServerRedirectForProvisionalLoad):
        (WebCore::FrameLoaderClientGtk::dispatchDidCancelClientRedirect):
        (WebCore::FrameLoaderClientGtk::dispatchWillPerformClientRedirect):
        (WebCore::FrameLoaderClientGtk::dispatchDidChangeLocationWithinPage):
        (WebCore::FrameLoaderClientGtk::dispatchWillClose):
        (WebCore::FrameLoaderClientGtk::dispatchDidReceiveIcon):
        (WebCore::FrameLoaderClientGtk::dispatchDidStartProvisionalLoad):
        (WebCore::FrameLoaderClientGtk::dispatchDidReceiveTitle):
        (WebCore::FrameLoaderClientGtk::dispatchDidCommitLoad):
        (WebCore::FrameLoaderClientGtk::dispatchDidFinishDocumentLoad):
        (WebCore::FrameLoaderClientGtk::dispatchDidFirstLayout):
        (WebCore::FrameLoaderClientGtk::dispatchShow):
        (WebCore::FrameLoaderClientGtk::cancelPolicyCheck):
        (WebCore::FrameLoaderClientGtk::dispatchDidLoadMainResource):
        (WebCore::FrameLoaderClientGtk::revertToProvisionalState):
        (WebCore::FrameLoaderClientGtk::clearUnarchivingState):
        (WebCore::FrameLoaderClientGtk::willChangeTitle):
        (WebCore::FrameLoaderClientGtk::didChangeTitle):
        (WebCore::FrameLoaderClientGtk::finishedLoading):
        (WebCore::FrameLoaderClientGtk::finalSetupForReplace):
        (WebCore::FrameLoaderClientGtk::setDefersLoading):
        (WebCore::FrameLoaderClientGtk::isArchiveLoadPending):
        (WebCore::FrameLoaderClientGtk::cancelPendingArchiveLoad):
        (WebCore::FrameLoaderClientGtk::clearArchivedResources):
        (WebCore::FrameLoaderClientGtk::canHandleRequest):
        (WebCore::FrameLoaderClientGtk::canShowMIMEType):
        (WebCore::FrameLoaderClientGtk::representationExistsForURLScheme):
        (WebCore::FrameLoaderClientGtk::generatedMIMETypeForURLScheme):
        (WebCore::FrameLoaderClientGtk::provisionalLoadStarted):
        (WebCore::FrameLoaderClientGtk::didFinishLoad):
        (WebCore::FrameLoaderClientGtk::prepareForDataSourceReplacement):
        (WebCore::FrameLoaderClientGtk::setTitle):
        (WebCore::FrameLoaderClientGtk::setDocumentViewFromCachedPage):
        (WebCore::FrameLoaderClientGtk::dispatchDidReceiveContentLength):
        (WebCore::FrameLoaderClientGtk::dispatchDidFinishLoading):
        (WebCore::FrameLoaderClientGtk::dispatchDidFailLoading):
        (WebCore::FrameLoaderClientGtk::dispatchDidLoadResourceFromMemoryCache):
        (WebCore::FrameLoaderClientGtk::dispatchDidFailProvisionalLoad):
        (WebCore::FrameLoaderClientGtk::dispatchDidFailLoad):
        (WebCore::FrameLoaderClientGtk::download):
        (WebCore::FrameLoaderClientGtk::cancelledError):
        (WebCore::FrameLoaderClientGtk::blockedError):
        (WebCore::FrameLoaderClientGtk::cannotShowURLError):
        (WebCore::FrameLoaderClientGtk::interruptForPolicyChangeError):
        (WebCore::FrameLoaderClientGtk::cannotShowMIMETypeError):
        (WebCore::FrameLoaderClientGtk::fileDoesNotExistError):
        (WebCore::FrameLoaderClientGtk::shouldFallBack):
        (WebCore::FrameLoaderClientGtk::willUseArchive):
        (WebCore::FrameLoaderClientGtk::saveDocumentViewToCachedPage):
        (WebCore::FrameLoaderClientGtk::canCachePage):
        (WebCore::FrameLoaderClientGtk::dispatchCreatePage):
        (WebCore::FrameLoaderClientGtk::dispatchUnableToImplementPolicy):
        * WebCoreSupport/FrameLoaderClientGtk.h: Renamed from WebCore/loader/gdk/FrameLoaderClientGdk.h.
        (WebCore::FrameLoaderClientGtk::~FrameLoaderClientGtk):
        (WebCore::FrameLoaderClientGtk::webFrame):
        * WebCoreSupport/InspectorClientGtk.cpp: Renamed from WebCore/page/gdk/InspectorClientGdk.cpp.
        (WebCore::InspectorClientGtk::inspectorDestroyed):
        (WebCore::InspectorClientGtk::createPage):
        (WebCore::InspectorClientGtk::showWindow):
        (WebCore::InspectorClientGtk::closeWindow):
        (WebCore::InspectorClientGtk::attachWindow):
        (WebCore::InspectorClientGtk::detachWindow):
        (WebCore::InspectorClientGtk::highlight):
        (WebCore::InspectorClientGtk::hideHighlight):
        (WebCore::InspectorClientGtk::inspectedURLChanged):
        * WebCoreSupport/InspectorClientGtk.h: Renamed from WebCore/page/gdk/InspectorClientGdk.h.

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

14 years ago Reviewed by Oliver.
andersca [Fri, 10 Aug 2007 01:28:07 +0000 (01:28 +0000)]
    Reviewed by Oliver.

        <rdar://problem/5313534> REGRESSION(Leopard): Some fast/xsl tests sometimes fail on Leopard

        These tests no longer fail for me, so let's try removing them from the skipped file
        and see what happens.

        * mac/leopard/Skipped:

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

14 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:
        (WebCore::ImageDocument::createDocumentStructure):
        (WebCore::ImageDocument::imageChanged):
        (WebCore::ImageDocument::shouldShrinkToFit):
        * loader/ImageDocument.h:

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

14 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

14 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

14 years agoWebCore:
zecke [Fri, 10 Aug 2007 00:19:14 +0000 (00:19 +0000)]
WebCore:
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:
        (WebCore::FrameLoaderClientGdk::createFrame):

WebKit/gtk:
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

14 years agoWebCore:
zecke [Thu, 9 Aug 2007 23:44:39 +0000 (23:44 +0000)]
WebCore:
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
        FrameLoaderClientGdk::createFrame.

        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:
        (WebCore::screenDepth):
        * platform/gdk/PlatformScrollBar.h:
        * platform/gdk/PlatformScrollBarGdk.cpp:
        (PlatformScrollbar::PlatformScrollbar):
        (PlatformScrollbar::~PlatformScrollbar):
        (PlatformScrollbar::setRect):
        (PlatformScrollbar::geometryChanged):
        * platform/gdk/ScrollViewGdk.cpp:
        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
        (WebCore::ScrollView::ScrollViewPrivate::~ScrollViewPrivate):
        (WebCore::ScrollViewScrollbar::ScrollViewScrollbar):
        (WebCore::ScrollViewScrollbar::geometryChanged):
        (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
        (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
        (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
        (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
        (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
        (WebCore::ScrollView::ScrollViewPrivate::windowClipRect):
        (WebCore::ScrollView::setGtkAdjustments):
        (WebCore::ScrollView::updateContents):
        (WebCore::ScrollView::update):
        (WebCore::ScrollView::visibleWidth):
        (WebCore::ScrollView::resizeContents):
        (WebCore::ScrollView::contentsX):
        (WebCore::ScrollView::scrollOffset):
        (WebCore::ScrollView::maximumScroll):
        (WebCore::ScrollView::scrollBy):
        (WebCore::ScrollView::suppressScrollbars):
        (WebCore::ScrollView::setHScrollbarMode):
        (WebCore::ScrollView::setVScrollbarMode):
        (WebCore::ScrollView::setScrollbarsMode):
        (WebCore::ScrollView::setFrameGeometry):
        (WebCore::ScrollView::addChild):
        (WebCore::ScrollView::removeChild):
        (WebCore::ScrollView::scrollRectIntoViewRecursively):
        (WebCore::ScrollView::wheelEvent):
        (WebCore::ScrollView::updateScrollbars):
        (WebCore::ScrollView::windowToContents):
        (WebCore::ScrollView::contentsToWindow):
        (WebCore::ScrollView::scrollbarUnderMouse):
        (WebCore::ScrollView::convertChildToSelf):
        (WebCore::ScrollView::convertSelfToChild):
        (WebCore::ScrollView::paint):
        (WebCore::ScrollView::geometryChanged):
        (WebCore::ScrollView::scroll):
        (WebCore::ScrollView::addToDirtyRegion):
        (WebCore::ScrollView::scrollBackingStore):
        (WebCore::ScrollView::updateBackingStore):
        * platform/gdk/WidgetGdk.cpp:
        (WebCore::WidgetPrivate::gdkDrawable):
        (WebCore::Widget::Widget):
        (WebCore::Widget::setContainingWindow):
        (WebCore::Widget::containingWindow):
        (WebCore::Widget::frameGeometry):
        (WebCore::Widget::setFrameGeometry):
        (WebCore::Widget::setParent):
        (WebCore::Widget::parent):
        (WebCore::Widget::setCursor):
        (WebCore::Widget::show):
        (WebCore::Widget::hide):
        (WebCore::Widget::removeFromParent):
        (WebCore::Widget::paint):
        (WebCore::Widget::invalidate):
        (WebCore::Widget::invalidateRect):
        (WebCore::Widget::convertToContainingWindow):
        (WebCore::Widget::convertFromContainingWindow):
        (WebCore::Widget::convertChildToSelf):
        (WebCore::Widget::convertSelfToChild):
        (WebCore::Widget::suppressInvalidation):
        (WebCore::Widget::setSuppressInvalidation):

WebKit/gtk:
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

14 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

14 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

14 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

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

        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.

WebCore:

        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:
        (WebCore::HTMLInputElement::postDispatchEventHandler):
        * html/HTMLLabelElement.cpp:
        (WebCore::HTMLLabelElement::defaultEventHandler):

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

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

        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.

WebCore:

        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

14 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:
        (WebCore::Cache::pruneLiveResources):
        * loader/CachedResource.cpp:
        (WebCore::CachedResource::CachedResource):
        (WebCore::CachedResource::liveResourceAccessed):
        * 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:
        (WebCore::Frame::paint):
        * page/Frame.h:
        (WebCore::Frame::currentPaintTimeStamp):

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

14 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

14 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

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

        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

WebCore:

        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

14 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:]):
        (TSMEventHandler):
        * 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

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

        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.

WebCore:

        Reviewed by Brady.

        Make protocol and host compares case-insensitive.

        * bindings/js/kjs_window.cpp:
        (KJS::Window::isSafeScript):
        * dom/Document.cpp:
        (WebCore::Document::initSecurityPolicyURL):
        * platform/DeprecatedString.cpp:
        (WebCore::equalIgnoringCase):
        * platform/DeprecatedString.h:
        (WebCore::equalIgnoringCase):

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

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

        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.

WebCore:

        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

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

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

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

        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.

WebCore:

        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

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

        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.

WebCore:

        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:
        (KJS::Window::isSafeScript):
        * dom/Document.cpp:
        (WebCore::Document::initSecurityPolicyURL):

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

14 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

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

        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.

WebCore:

        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:
        (WebCore::HTMLParser::handleError):

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

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

        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.

WebCore:

        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:
        (WebCore::DOMImplementation::createDocument):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::createElement):
        * dom/Document.h:
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::createElement):
        * html/HTMLDocument.h:

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

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

        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:

WebCore:

        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:
        (WebCore::FrameLoader::updateHistoryForReload):

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

14 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

14 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

14 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:
        (PlatformScrollbar::~PlatformScrollbar):

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

14 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

14 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:
        (WebCore::RenderThemeGdk::paintCheckbox):
        (WebCore::RenderThemeGdk::paintRadio):
        (WebCore::RenderThemeGdk::paintButton):

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

14 years agoWebCore:
zecke [Wed, 8 Aug 2007 10:28:45 +0000 (10:28 +0000)]
WebCore:
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
        translation.

        * platform/gdk/WidgetGdk.cpp:
        (WebCore::Widget::paint):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContext::setGdkExposeEvent):
        (WebCore::GraphicsContext::gdkExposeEvent):
        (WebCore::GraphicsContext::gdkDrawable):
        (WebCore::GraphicsContext::translatePoint):

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

        Reviewed by Niko.

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

        * gtk/Api/webkitgtkpage.cpp:

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

14 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
        GtkAdjustment.
        Update 'value' of the GtkAdjustment in updateThumbPosition and
        set upper, page-increment, step-increment and page_size in
        updateThumbProportion.

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

        * platform/gdk/PlatformScrollBar.h:
        * platform/gdk/PlatformScrollBarGdk.cpp:
        (PlatformScrollbar::PlatformScrollbar):
        (PlatformScrollbar::updateThumbPosition):
        (PlatformScrollbar::updateThumbProportion):
        (PlatformScrollbar::gtkValueChanged):

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

14 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
        vestigial.

        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

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

        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.

LayoutTests:

        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

14 years agoWebCore:
zecke [Wed, 8 Aug 2007 02:06:50 +0000 (02:06 +0000)]
WebCore:
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.
        (WebCore::Frame::issueTransposeCommand):
        (WebCore::Frame::cleanupPlatformScriptObjects):
        (WebCore::Frame::dragImageForSelection):
        (WebCore::Frame::dashboardRegionsChanged):
        * platform/gdk/FrameGdk.h: Removed.
        * platform/gdk/TemporaryLinkStubs.cpp: Removed Frame stub, added the loadResourceIntoArray stub
        * platform/gdk/WidgetGdk.cpp:

WebKit:
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

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

        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

14 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

14 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

14 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
        UCharReference.
        * 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

14 years agoWebCore:
zecke [Wed, 8 Aug 2007 00:17:09 +0000 (00:17 +0000)]
WebCore:
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:

WebKit:
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:
        (FrameGdkExposeData::frame_gdk_expose_child):
        (FrameGdkExposeData::webkit_gtk_page_rendering_area_handle_gdk_event):
        (FrameGdkExposeData::webkit_gtk_page_register_rendering_area_events):
        (FrameGdkExposeData::webkit_gtk_page_class_init):

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

14 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
        well.

        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

14 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
        future.

        * platform/PlatformKeyboardEvent.h:
        * platform/PlatformMouseEvent.h:
        * platform/PlatformWheelEvent.h:
        * platform/gdk/FrameGdk.cpp:
        (WebCore::FrameGdk::handleGdkEvent):
        * platform/gdk/KeyEventGdk.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        * platform/gdk/MouseEventGdk.cpp:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/gdk/WheelEventGdk.cpp:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):

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

14 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

14 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

14 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.

        http://bugs.webkit.org/show_bug.cgi?id=14815
        [gtk] API implementation: reload

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

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

14 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

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

        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.

WebCore:

        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:
        (WebCore::RenderBlock::addChildToFlow):
        * rendering/RenderButton.h:
        (WebCore::RenderButton::removeLeftoverAnonymousBlock):
        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::removeLeftoverAnonymousBlock):
        * rendering/RenderContainer.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::handleDynamicFloatPositionChange):
        (WebCore::RenderObject::removeLeftoverAnonymousBlock):
        * rendering/RenderObject.h:
        * rendering/RenderTextControl.h:
        (WebCore::RenderTextControl::removeLeftoverAnonymousBlock):

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

14 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

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

        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.

LayoutTests:

        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

14 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

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

        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:

WebCore:

        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:
        (KJS::Window::isSafeScript):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::initSecurityPolicyURL):
        * dom/Document.h:
        (WebCore::Document::securityPolicyURL):
        * 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

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

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

14 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

14 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

14 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:
        (WebCore::RootInlineBox::detachEllipsisBox):

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

14 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:
        (WebCore::RenderBlock::makeChildrenNonInline):
        Back out fix.

        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::destroy):
        Back out fix.

        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::splitFlow):
        Here's the new fix.

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