Title: [145735] trunk
Revision
145735
Author
jap...@chromium.org
Date
2013-03-13 12:14:31 -0700 (Wed, 13 Mar 2013)

Log Message

.: Expose symbols for internals
https://bugs.webkit.org/show_bug.cgi?id=112194

Reviewed by Alexey Proskuryakov.

* Source/autotools/symbols.filter:

Source/WebCore: REGRESSION(r137607): Redirecting a post to a get then reloading triggers resubmit warning
https://bugs.webkit.org/show_bug.cgi?id=112194

Reviewed by Alexey Proskuryakov.

Test: http/tests/navigation/post-redirect-get-reload.php

* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::willSendRequest): Matching urls aren't a reliable way of checking whether
    we are in a redirect. Check redirectResponse.isNull() instead.
* testing/Internals.cpp:
(WebCore::Internals::forceReload): Expose a means of forcing a reload like one a user generates for testing.
    Note that testRunner.queueReload() does this, but is not supported after the initial load completes,
    which makes it unsuitable for this case.
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit/win: Expose symbols for internals
https://bugs.webkit.org/show_bug.cgi?id=112194

Reviewed by Alexey Proskuryakov.

* WebKit.vcproj/WebKitExports.def.in:

LayoutTests: Test for https://bugs.webkit.org/show_bug.cgi?id=112194.

Reviewed by Alexey Proskuryakov.

* http/tests/navigation/post-redirect-get-reload-expected.txt: Added.
* http/tests/navigation/post-redirect-get-reload.php: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/ChangeLog (145734 => 145735)


--- trunk/ChangeLog	2013-03-13 19:11:35 UTC (rev 145734)
+++ trunk/ChangeLog	2013-03-13 19:14:31 UTC (rev 145735)
@@ -1,3 +1,12 @@
+2013-03-13  Nate Chapin  <jap...@chromium.org>
+
+        Expose symbols for internals
+        https://bugs.webkit.org/show_bug.cgi?id=112194
+
+        Reviewed by Alexey Proskuryakov.
+
+        * Source/autotools/symbols.filter:
+
 2013-03-12  Zan Dobersek  <zdober...@igalia.com>
 
         [GTK] 'unrecognized command line option "-Wno-c++11-extensions"' warning reported when using gcc

Modified: trunk/LayoutTests/ChangeLog (145734 => 145735)


--- trunk/LayoutTests/ChangeLog	2013-03-13 19:11:35 UTC (rev 145734)
+++ trunk/LayoutTests/ChangeLog	2013-03-13 19:14:31 UTC (rev 145735)
@@ -1,3 +1,12 @@
+2013-03-13  Nate Chapin  <jap...@chromium.org>
+
+        Test for https://bugs.webkit.org/show_bug.cgi?id=112194.
+
+        Reviewed by Alexey Proskuryakov.
+
+        * http/tests/navigation/post-redirect-get-reload-expected.txt: Added.
+        * http/tests/navigation/post-redirect-get-reload.php: Added.
+
 2013-03-13  Andrei Bucur  <abu...@adobe.com>
 
         [CSS Regions] Break after doesn't work correctly with auto-height regions

Added: trunk/LayoutTests/http/tests/navigation/post-redirect-get-reload-expected.txt (0 => 145735)


--- trunk/LayoutTests/http/tests/navigation/post-redirect-get-reload-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/http/tests/navigation/post-redirect-get-reload-expected.txt	2013-03-13 19:14:31 UTC (rev 145735)
@@ -0,0 +1,7 @@
+Policy delegate: attempt to load http://127.0.0.1:8000/navigation/post-redirect-get-reload.php with navigation type 'reload'
+1. Submit a form
+1a. The form redirects to a get.
+2. Reload
+
+The reload should not trigger a form resubmission warning.
+

Added: trunk/LayoutTests/http/tests/navigation/post-redirect-get-reload.php (0 => 145735)


--- trunk/LayoutTests/http/tests/navigation/post-redirect-get-reload.php	                        (rev 0)
+++ trunk/LayoutTests/http/tests/navigation/post-redirect-get-reload.php	2013-03-13 19:14:31 UTC (rev 145735)
@@ -0,0 +1,29 @@
+<?php
+if($_SERVER['REQUEST_METHOD'] == "POST") {
+    header("Location: post-redirect-get-reload.php", true, 303);
+    exit;
+}
+?>
+<body>
+1. Submit a form<br>
+1a. The form redirects to a get.<br>
+2. Reload<br><br>
+The reload should not trigger a form resubmission warning.
+
+<form name="form" action="" method="post"><input type="submit"></input></form>
+<script>
+
+if (window.testRunner) {
+    testRunner.dumpAsText();
+    testRunner.waitUntilDone();
+
+    if (window.sessionStorage["prgl-state"] == null) {
+        window.sessionStorage["prgl-state"] = 'submitted';
+        document.form.submit();
+    } else {
+        window.sessionStorage.clear();
+        testRunner.waitForPolicyDelegate();
+        window.internals.forceReload(false);
+    }
+}
+</script>

Modified: trunk/Source/WebCore/ChangeLog (145734 => 145735)


--- trunk/Source/WebCore/ChangeLog	2013-03-13 19:11:35 UTC (rev 145734)
+++ trunk/Source/WebCore/ChangeLog	2013-03-13 19:14:31 UTC (rev 145735)
@@ -1,5 +1,24 @@
 2013-03-13  Nate Chapin  <jap...@chromium.org>
 
+        REGRESSION(r137607): Redirecting a post to a get then reloading triggers resubmit warning
+        https://bugs.webkit.org/show_bug.cgi?id=112194
+
+        Reviewed by Alexey Proskuryakov.
+
+        Test: http/tests/navigation/post-redirect-get-reload.php
+
+        * loader/SubresourceLoader.cpp:
+        (WebCore::SubresourceLoader::willSendRequest): Matching urls aren't a reliable way of checking whether
+            we are in a redirect. Check redirectResponse.isNull() instead.
+        * testing/Internals.cpp:
+        (WebCore::Internals::forceReload): Expose a means of forcing a reload like one a user generates for testing.
+            Note that testRunner.queueReload() does this, but is not supported after the initial load completes,
+            which makes it unsuitable for this case.
+        * testing/Internals.h:
+        * testing/Internals.idl:
+
+2013-03-13  Nate Chapin  <jap...@chromium.org>
+
         Merge MainResourceLoader's didFinishLoading and dataReceived into DocumentLoader
         https://bugs.webkit.org/show_bug.cgi?id=109952
 

Modified: trunk/Source/WebCore/loader/SubresourceLoader.cpp (145734 => 145735)


--- trunk/Source/WebCore/loader/SubresourceLoader.cpp	2013-03-13 19:11:35 UTC (rev 145734)
+++ trunk/Source/WebCore/loader/SubresourceLoader.cpp	2013-03-13 19:14:31 UTC (rev 145735)
@@ -132,7 +132,7 @@
     RefPtr<SubresourceLoader> protect(this);
 
     ASSERT(!newRequest.isNull());
-    if (!previousURL.isNull() && previousURL != newRequest.url()) {
+    if (!redirectResponse.isNull()) {
         if (!m_documentLoader->cachedResourceLoader()->canRequest(m_resource->type(), newRequest.url())) {
             cancel();
             return;

Modified: trunk/Source/WebCore/testing/Internals.cpp (145734 => 145735)


--- trunk/Source/WebCore/testing/Internals.cpp	2013-03-13 19:11:35 UTC (rev 145734)
+++ trunk/Source/WebCore/testing/Internals.cpp	2013-03-13 19:14:31 UTC (rev 145735)
@@ -47,6 +47,7 @@
 #include "ExceptionCode.h"
 #include "FormController.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "FrameView.h"
 #include "HTMLContentElement.h"
 #include "HTMLInputElement.h"
@@ -2040,6 +2041,11 @@
     WebCore::Settings::setUsesOverlayScrollbars(enabled);
 }
 
+void Internals::forceReload(bool endToEnd)
+{
+    frame()->loader()->reload(endToEnd);
+}
+
 #if ENABLE(ENCRYPTED_MEDIA_V2)
 void Internals::initializeMockCDM()
 {

Modified: trunk/Source/WebCore/testing/Internals.h (145734 => 145735)


--- trunk/Source/WebCore/testing/Internals.h	2013-03-13 19:11:35 UTC (rev 145734)
+++ trunk/Source/WebCore/testing/Internals.h	2013-03-13 19:14:31 UTC (rev 145735)
@@ -288,6 +288,8 @@
 
     String markerTextForListItem(Element*, ExceptionCode&);
 
+    void forceReload(bool endToEnd);
+
 #if ENABLE(ENCRYPTED_MEDIA_V2)
     void initializeMockCDM();
 #endif

Modified: trunk/Source/WebCore/testing/Internals.idl (145734 => 145735)


--- trunk/Source/WebCore/testing/Internals.idl	2013-03-13 19:11:35 UTC (rev 145734)
+++ trunk/Source/WebCore/testing/Internals.idl	2013-03-13 19:14:31 UTC (rev 145735)
@@ -257,6 +257,8 @@
 
     void setUsesOverlayScrollbars(in boolean enabled);
 
+    void forceReload(in boolean endToEnd);
+
     [Conditional=ENCRYPTED_MEDIA_V2] void initializeMockCDM();
 
     [Conditional=SPEECH_SYNTHESIS] void enableMockSpeechSynthesizer();

Modified: trunk/Source/WebKit/win/ChangeLog (145734 => 145735)


--- trunk/Source/WebKit/win/ChangeLog	2013-03-13 19:11:35 UTC (rev 145734)
+++ trunk/Source/WebKit/win/ChangeLog	2013-03-13 19:14:31 UTC (rev 145735)
@@ -1,3 +1,12 @@
+2013-03-13  Nate Chapin  <jap...@chromium.org>
+
+        Expose symbols for internals
+        https://bugs.webkit.org/show_bug.cgi?id=112194
+
+        Reviewed by Alexey Proskuryakov.
+
+        * WebKit.vcproj/WebKitExports.def.in:
+
 2013-03-13  Pavel Feldman  <pfeld...@chromium.org>
 
         Web Inspector: get rid of hiddenPanels filter

Modified: trunk/Source/WebKit/win/WebKit.vcproj/WebKitExports.def.in (145734 => 145735)


--- trunk/Source/WebKit/win/WebKit.vcproj/WebKitExports.def.in	2013-03-13 19:11:35 UTC (rev 145734)
+++ trunk/Source/WebKit/win/WebKit.vcproj/WebKitExports.def.in	2013-03-13 19:14:31 UTC (rev 145735)
@@ -246,6 +246,7 @@
         ?paintControlTints@FrameView@WebCore@@AAEXXZ
         ?placeholderShouldBeVisible@HTMLTextFormControlElement@WebCore@@QBE_NXZ
         ?rangeFromLocationAndLength@TextIterator@WebCore@@SA?AV?$PassRefPtr@VRange@WebCore@@@WTF@@PAVContainerNode@2@HH_N@Z
+        ?reload@FrameLoader@WebCore@@QAEX_N@Z
         ?remove@String@WTF@@QAEXIH@Z
         ?removedLastRef@Node@WebCore@@AAEXXZ
         ?reverseFind@StringImpl@WTF@@QAEI_WI@Z

Modified: trunk/Source/autotools/symbols.filter (145734 => 145735)


--- trunk/Source/autotools/symbols.filter	2013-03-13 19:11:35 UTC (rev 145734)
+++ trunk/Source/autotools/symbols.filter	2013-03-13 19:14:31 UTC (rev 145735)
@@ -259,6 +259,7 @@
 _ZN7WebCore9FrameView17setTracksRepaintsEb;
 _ZNK7WebCore5Frame25trackedRepaintRectsAsTextEv;
 _ZN7WebCore4toJSEPN3JSC9ExecStateEPNS_17JSDOMGlobalObjectEPN3WTF11ArrayBufferE;
+_ZN7WebCore11FrameLoader6reloadEb;
 _ZN7WebCore13toArrayBufferEN3JSC7JSValueE;
 _ZN7WebCore21SerializedScriptValue11deserializeEPN3JSC9ExecStateEPNS1_14JSGlobalObjectEPN3WTF6VectorINS6_6RefPtrINS_11MessagePortEEELj1EEENS_22SerializationErrorModeE;
 _ZN7WebCore21SerializedScriptValue11deserializeEPN3JSC9ExecStateEPNS1_14JSGlobalObjectEPN3WTF6VectorINS6_6RefPtrINS_11MessagePortEEELm1EEENS_22SerializationErrorModeE;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to