WebCore:
authorandersca <andersca@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 17 May 2007 08:38:44 +0000 (08:38 +0000)
committerandersca <andersca@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 17 May 2007 08:38:44 +0000 (08:38 +0000)
commit0f68720c4cecfe8e2de9a28dead34024476f3119
tree85597731eb5d246591395bb7f85d24569c2ed1fe
parentc161d171176e5cf10501d222d525ecd958440dfd
WebCore:

        Reviewed by Darin.

        <rdar://problem/5207156> Hamachi test tool causes assertion in FormCompletionController in Safari

        This happens because the form delegate gets passed the wrong source frame during the second submit().
        If a frame with the given name is found, FrameLoader::load is called with the same parameters on the found frame.
        This causes the found frame to be used as the source frame, which is wrong.

        The fix is to create the form state object before checking what frame to load the new request in.

        * WebCore.exp:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::load):
        (WebCore::FrameLoader::checkNavigationPolicy):
        (WebCore::FrameLoader::continueAfterNavigationPolicy):
        * loader/FrameLoader.h:
        * manual-tests/submit-form-with-target-twice.html: Added.

WebKit:

        Reviewed by Darin.

        <rdar://problem/5207156> Hamachi test tool causes assertion in FormCompletionController in Safari

        Update for WebCore changes.

        * WebView/WebFrame.mm:
        (-[WebFrame _loadURL:referrer:intoChild:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21529 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore/ChangeLog
WebCore/loader/FrameLoader.cpp
WebCore/loader/FrameLoader.h
WebKit/ChangeLog
WebKit/WebView/WebFrame.mm