WebCore:
authorandersca <andersca@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 1 Jun 2006 21:29:31 +0000 (21:29 +0000)
committerandersca <andersca@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 1 Jun 2006 21:29:31 +0000 (21:29 +0000)
commitf2cd8a36debd31c3a9c9fad483d9e448f88e8341
tree26f1e79a14d20e090d5f82bf2592e730ba77815e
parent25b43fd6ebfc97515ccf009eea45a350740036e9
WebCore:

2006-06-01  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=6309
        multiple problems prevent bookmarking/back button technique for AJAX/DHTML applications from working

        * bindings/js/kjs_window.cpp:
        (KJS::Location::put):
        Handle the case where the hash starts with a "#". Also, don't do anything if the previous and new hashes
        are equal.

        * bridge/BrowserExtension.h:
        * bridge/mac/BrowserExtensionMac.h:
        * bridge/mac/BrowserExtensionMac.mm:
        (WebCore::BrowserExtensionMac::historyURL):
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        New function historyURL which returns the complete URL for a given item in the history.

        * page/Frame.cpp:
        (WebCore::Frame::scheduleLocationChange):
        (WebCore::Frame::scheduleHistoryNavigation):
        If the URL of the new location only differs in the hash, don't schedule the load. Instead, load it
        directly.

        * platform/KURL.cpp:
        * platform/KURL.h:
        Add equalsIgnoringRef which returns whether two URLs are equal, ignoring the ref.

WebKit:

2006-06-01  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=6309
        multiple problems prevent bookmarking/back button technique for AJAX/DHTML applications from working

        * Misc/WebNSURLExtras.m:
        (-[NSString _webkit_URLFragment]):
        Don't include the "#" character in the fragment.

        * WebCoreSupport/WebFrameBridge.m:
        (-[WebFrameBridge historyURL:]):
        New function, returns the history URL for a given position in the back/forward list

        * WebView/WebFrame.m:
        (-[WebFrame _loadItem:withLoadType:]):
        Always call scrollToAnchorWithURL, even if there is no fragment. This way we keep the WebCore frame's
        URL up-to-date.

WebKitTools:

2006-06-01  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        * DumpRenderTree/DumpRenderTree.m:
        (+[LayoutTestController isSelectorExcludedFromWebScript:]):
        (-[LayoutTestController clearBackForwardList]):
        Add clearBackForwardList function to layoutTestController

LayoutTests:

2006-06-01  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=6309
        multiple problems prevent bookmarking/back button technique for AJAX/DHTML applications from working

        * fast/dom/location-hash-expected.txt: Added.
        * fast/dom/location-hash.html: Added.
        Added tests.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14669 268f45cc-cd09-0410-ab3c-d52691b4dbfc
21 files changed:
LayoutTests/ChangeLog
LayoutTests/fast/dom/location-hash-expected.txt [new file with mode: 0644]
LayoutTests/fast/dom/location-hash.html [new file with mode: 0644]
WebCore/ChangeLog
WebCore/WebCore.xcodeproj/project.pbxproj
WebCore/bindings/js/kjs_window.cpp
WebCore/bridge/BrowserExtension.h
WebCore/bridge/mac/BrowserExtensionMac.h
WebCore/bridge/mac/BrowserExtensionMac.mm
WebCore/bridge/mac/WebCoreFrameBridge.h
WebCore/bridge/mac/WebCoreFrameBridge.mm
WebCore/page/Frame.cpp
WebCore/platform/KURL.cpp
WebCore/platform/KURL.h
WebKit/ChangeLog
WebKit/Misc/WebNSURLExtras.m
WebKit/WebCoreSupport/WebFrameBridge.m
WebKit/WebKit.xcodeproj/project.pbxproj
WebKit/WebView/WebFrame.m
WebKitTools/ChangeLog
WebKitTools/DumpRenderTree/DumpRenderTree.m