Title: [103770] trunk
Revision
103770
Author
[email protected]
Date
2011-12-28 10:21:04 -0800 (Wed, 28 Dec 2011)

Log Message

Unreviewed, rolling out r103620.
http://trac.webkit.org/changeset/103620
https://bugs.webkit.org/show_bug.cgi?id=75316

Causes many crashes (Requested by abarth on #webkit).

Patch by Sheriff Bot <[email protected]> on 2011-12-28

Source/WebCore:

* loader/FrameLoaderClient.h:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::postMessageTimerFired):

Source/WebKit/chromium:

* public/WebDOMMessageEvent.h:
* public/WebFrameClient.h:
* src/FrameLoaderClientImpl.cpp:
* src/FrameLoaderClientImpl.h:

Tools:

* DumpRenderTree/chromium/LayoutTestController.cpp:
(LayoutTestController::LayoutTestController):
(LayoutTestController::reset):
* DumpRenderTree/chromium/LayoutTestController.h:
* DumpRenderTree/chromium/WebViewHost.cpp:
* DumpRenderTree/chromium/WebViewHost.h:

LayoutTests:

* platform/chromium/fast/events/intercept-postmessage-expected.txt: Removed.
* platform/chromium/fast/events/intercept-postmessage.html: Removed.

Modified Paths

Removed Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (103769 => 103770)


--- trunk/LayoutTests/ChangeLog	2011-12-28 18:08:37 UTC (rev 103769)
+++ trunk/LayoutTests/ChangeLog	2011-12-28 18:21:04 UTC (rev 103770)
@@ -1,3 +1,14 @@
+2011-12-28  Sheriff Bot  <[email protected]>
+
+        Unreviewed, rolling out r103620.
+        http://trac.webkit.org/changeset/103620
+        https://bugs.webkit.org/show_bug.cgi?id=75316
+
+        Causes many crashes (Requested by abarth on #webkit).
+
+        * platform/chromium/fast/events/intercept-postmessage-expected.txt: Removed.
+        * platform/chromium/fast/events/intercept-postmessage.html: Removed.
+
 2011-12-28  Alexander Pavlov  <[email protected]>
 
         [V8][Chromium] 'randomString' in document.body.style always returns true

Deleted: trunk/LayoutTests/platform/chromium/fast/events/intercept-postmessage-expected.txt (103769 => 103770)


--- trunk/LayoutTests/platform/chromium/fast/events/intercept-postmessage-expected.txt	2011-12-28 18:08:37 UTC (rev 103769)
+++ trunk/LayoutTests/platform/chromium/fast/events/intercept-postmessage-expected.txt	2011-12-28 18:21:04 UTC (rev 103770)
@@ -1,7 +0,0 @@
-main frame - didFinishDocumentLoadForFrame
-main frame - didHandleOnloadEventsForFrame
-main frame - didFinishLoadForFrame
-intercepted postMessage
-intercepted postMessage
-RECV1
-

Deleted: trunk/LayoutTests/platform/chromium/fast/events/intercept-postmessage.html (103769 => 103770)


--- trunk/LayoutTests/platform/chromium/fast/events/intercept-postmessage.html	2011-12-28 18:08:37 UTC (rev 103769)
+++ trunk/LayoutTests/platform/chromium/fast/events/intercept-postmessage.html	2011-12-28 18:21:04 UTC (rev 103770)
@@ -1,50 +0,0 @@
-<html>
-  <head>
-    <script>
-      function write(str) {
-        pre = document.getElementById('console');
-        text = document.createTextNode(str + '\n');
-        pre.appendChild(text);
-      }
-
-      function recvMsg1(e) {
-        write("RECV1");
-        window.removeEventListener("message", recvMsg1, false);
-
-        if (window.layoutTestController)
-          layoutTestController.interceptPostMessage = true;
-
-        window.addEventListener("message", recvMsg2, false);
-        window.postMessage("Message 2", "*");
-      
-        // Ensure that we're intercepting postMessages before the origin check
-        window.postMessage("Message 3", "http://example.org"); 
-
-        // We need to call setTimeout here because we intercept the next event.
-        // If this test becomes flaky, you may need to increase this timeout.
-        window.setTimeout("done()", 50);
-      }
-
-      function recvMsg2(e) {
-        write("RECV2");
-      }
-
-      function done() {
-        if (window.layoutTestController)
-          window.layoutTestController.notifyDone();
-      }
-
-      window.addEventListener("message", recvMsg1, false);
-
-      if (window.layoutTestController) {
-        window.layoutTestController.dumpFrameLoadCallbacks();
-        window.layoutTestController.dumpAsText();
-        window.layoutTestController.waitUntilDone();
-      }
-
-      window.postMessage("Message 1", "*");
-    </script>
-  </head>
-  <body><pre id="console"></pre></body>
-</html>
-

Modified: trunk/Source/WebCore/ChangeLog (103769 => 103770)


--- trunk/Source/WebCore/ChangeLog	2011-12-28 18:08:37 UTC (rev 103769)
+++ trunk/Source/WebCore/ChangeLog	2011-12-28 18:21:04 UTC (rev 103770)
@@ -1,3 +1,15 @@
+2011-12-28  Sheriff Bot  <[email protected]>
+
+        Unreviewed, rolling out r103620.
+        http://trac.webkit.org/changeset/103620
+        https://bugs.webkit.org/show_bug.cgi?id=75316
+
+        Causes many crashes (Requested by abarth on #webkit).
+
+        * loader/FrameLoaderClient.h:
+        * page/DOMWindow.cpp:
+        (WebCore::DOMWindow::postMessageTimerFired):
+
 2011-12-28  Alexander Pavlov  <[email protected]>
 
         [V8][Chromium] 'randomString' in document.body.style always returns true

Modified: trunk/Source/WebCore/loader/FrameLoaderClient.h (103769 => 103770)


--- trunk/Source/WebCore/loader/FrameLoaderClient.h	2011-12-28 18:08:37 UTC (rev 103769)
+++ trunk/Source/WebCore/loader/FrameLoaderClient.h	2011-12-28 18:21:04 UTC (rev 103770)
@@ -79,7 +79,6 @@
     class HTMLPlugInElement;
     class IntSize;
     class KURL;
-    class MessageEvent;
     class NavigationAction;
     class Page;
     class ProtectionSpace;
@@ -320,9 +319,6 @@
         virtual PassRefPtr<FrameNetworkingContext> createNetworkingContext() = 0;
 
         virtual bool shouldPaintBrokenImage(const KURL&) const { return true; }
-
-        // Returns true if the embedder intercepted the postMessage call
-        virtual bool willCheckAndDispatchMessageEvent(SecurityOrigin* /*target*/, MessageEvent*) const { return false; }
     };
 
 } // namespace WebCore

Modified: trunk/Source/WebCore/page/DOMWindow.cpp (103769 => 103770)


--- trunk/Source/WebCore/page/DOMWindow.cpp	2011-12-28 18:08:37 UTC (rev 103769)
+++ trunk/Source/WebCore/page/DOMWindow.cpp	2011-12-28 18:21:04 UTC (rev 103770)
@@ -60,7 +60,6 @@
 #include "Frame.h"
 #include "FrameLoadRequest.h"
 #include "FrameLoader.h"
-#include "FrameLoaderClient.h"
 #include "FrameTree.h"
 #include "FrameView.h"
 #include "HTMLFrameOwnerElement.h"
@@ -911,16 +910,8 @@
     if (!document())
         return;
 
-    RefPtr<MessageEvent> event = timer->event(document());
-
-    // Give the embedder a chance to intercept this postMessage because this
-    // DOMWindow might be a proxy for another in browsers that support
-    // postMessage calls across WebKit instances.
-    if (isCurrentlyDisplayedInFrame() && m_frame->loader()->client()->willCheckAndDispatchMessageEvent(timer->targetOrigin(), PassRefPtr<MessageEvent>(event).leakRef()))
-        return;
-
     if (timer->targetOrigin()) {
-        // Check target origin now since the target document may have changed since the timer was scheduled.
+        // Check target origin now since the target document may have changed since the simer was scheduled.
         if (!timer->targetOrigin()->isSameSchemeHostPort(document()->securityOrigin())) {
             String message = "Unable to post message to " + timer->targetOrigin()->toString() +
                              ". Recipient has origin " + document()->securityOrigin()->toString() + ".\n";
@@ -929,7 +920,7 @@
         }
     }
 
-    dispatchEvent(event);
+    dispatchEvent(timer->event(document()));
 }
 
 DOMSelection* DOMWindow::getSelection()

Modified: trunk/Source/WebKit/chromium/ChangeLog (103769 => 103770)


--- trunk/Source/WebKit/chromium/ChangeLog	2011-12-28 18:08:37 UTC (rev 103769)
+++ trunk/Source/WebKit/chromium/ChangeLog	2011-12-28 18:21:04 UTC (rev 103770)
@@ -1,3 +1,16 @@
+2011-12-28  Sheriff Bot  <[email protected]>
+
+        Unreviewed, rolling out r103620.
+        http://trac.webkit.org/changeset/103620
+        https://bugs.webkit.org/show_bug.cgi?id=75316
+
+        Causes many crashes (Requested by abarth on #webkit).
+
+        * public/WebDOMMessageEvent.h:
+        * public/WebFrameClient.h:
+        * src/FrameLoaderClientImpl.cpp:
+        * src/FrameLoaderClientImpl.h:
+
 2011-12-27  Sheriff Bot  <[email protected]>
 
         Unreviewed, rolling out r103734.

Modified: trunk/Source/WebKit/chromium/public/WebDOMMessageEvent.h (103769 => 103770)


--- trunk/Source/WebKit/chromium/public/WebDOMMessageEvent.h	2011-12-28 18:08:37 UTC (rev 103769)
+++ trunk/Source/WebKit/chromium/public/WebDOMMessageEvent.h	2011-12-28 18:21:04 UTC (rev 103770)
@@ -35,8 +35,7 @@
 #include "platform/WebSerializedScriptValue.h"
 
 #if WEBKIT_IMPLEMENTATION
-#include "Event.h"
-#include "MessageEvent.h"
+namespace WebCore { class Event; }
 #endif
 
 namespace WebKit {
@@ -50,10 +49,6 @@
 
     WEBKIT_EXPORT WebSerializedScriptValue data() const;
     WEBKIT_EXPORT WebString origin() const;
-
-#if WEBKIT_IMPLEMENTATION
-    explicit WebDOMMessageEvent(const WTF::PassRefPtr<WebCore::MessageEvent>& e) : WebDOMEvent(e) { }
-#endif
 };
 
 } // namespace WebKit

Modified: trunk/Source/WebKit/chromium/public/WebFrameClient.h (103769 => 103770)


--- trunk/Source/WebKit/chromium/public/WebFrameClient.h	2011-12-28 18:08:37 UTC (rev 103769)
+++ trunk/Source/WebKit/chromium/public/WebFrameClient.h	2011-12-28 18:21:04 UTC (rev 103770)
@@ -31,11 +31,9 @@
 #ifndef WebFrameClient_h
 #define WebFrameClient_h
 
-#include "WebDOMMessageEvent.h"
 #include "WebIconURL.h"
 #include "WebNavigationPolicy.h"
 #include "WebNavigationType.h"
-#include "WebSecurityOrigin.h"
 #include "WebStorageQuotaType.h"
 #include "WebTextDirection.h"
 #include "platform/WebCommon.h"
@@ -52,7 +50,6 @@
 class WebApplicationCacheHostClient;
 class WebCookieJar;
 class WebDataSource;
-class WebDOMEvent;
 class WebFormElement;
 class WebFrame;
 class WebIntentServiceInfo;
@@ -61,6 +58,7 @@
 class WebMediaPlayerClient;
 class WebNode;
 class WebPlugin;
+class WebSecurityOrigin;
 class WebSharedWorker;
 class WebStorageQuotaCallbacks;
 class WebString;
@@ -387,16 +385,6 @@
     // the WebFrame starting the activity.
     virtual void dispatchIntent(WebFrame*, const WebIntent&) { }
 
-    // Messages ------------------------------------------------------
-
-    // Notifies the embedder that a postMessage was issued on this frame, and
-    // gives the embedder a chance to handle it instead of WebKit. Returns true
-    // if the embedder handled it.
-    virtual bool willCheckAndDispatchMessageEvent(
-        WebFrame* source,
-        WebSecurityOrigin target,
-        WebDOMMessageEvent) { return false; }
-
 protected:
     ~WebFrameClient() { }
 };

Modified: trunk/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp (103769 => 103770)


--- trunk/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp	2011-12-28 18:08:37 UTC (rev 103769)
+++ trunk/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp	2011-12-28 18:21:04 UTC (rev 103770)
@@ -47,7 +47,6 @@
 #include "HTMLAppletElement.h"
 #include "HTMLFormElement.h"  // needed by FormState.h
 #include "HTMLNames.h"
-#include "MessageEvent.h"
 #include "MIMETypeRegistry.h"
 #include "MouseEvent.h"
 #include "Page.h"
@@ -59,7 +58,6 @@
 #include "ResourceLoader.h"
 #include "Settings.h"
 #include "StringExtras.h"
-#include "WebDOMEvent.h"
 #include "WebDataSourceImpl.h"
 #include "WebDevToolsAgentPrivate.h"
 #include "WebDocument.h"
@@ -1619,11 +1617,4 @@
     return FrameNetworkingContextImpl::create(m_webFrame->frame());
 }
 
-bool FrameLoaderClientImpl::willCheckAndDispatchMessageEvent(
-    SecurityOrigin* target, MessageEvent* event) const
-{
-    return m_webFrame->client()->willCheckAndDispatchMessageEvent(
-        m_webFrame, WebSecurityOrigin(target), WebDOMMessageEvent(event));
-}
-
 } // namespace WebKit

Modified: trunk/Source/WebKit/chromium/src/FrameLoaderClientImpl.h (103769 => 103770)


--- trunk/Source/WebKit/chromium/src/FrameLoaderClientImpl.h	2011-12-28 18:08:37 UTC (rev 103769)
+++ trunk/Source/WebKit/chromium/src/FrameLoaderClientImpl.h	2011-12-28 18:21:04 UTC (rev 103770)
@@ -206,7 +206,6 @@
     virtual void didNotAllowPlugins();
 
     virtual PassRefPtr<WebCore::FrameNetworkingContext> createNetworkingContext();
-    virtual bool willCheckAndDispatchMessageEvent(WebCore::SecurityOrigin* target, WebCore::MessageEvent*) const;
 
 private:
     void makeDocumentView();

Modified: trunk/Tools/ChangeLog (103769 => 103770)


--- trunk/Tools/ChangeLog	2011-12-28 18:08:37 UTC (rev 103769)
+++ trunk/Tools/ChangeLog	2011-12-28 18:21:04 UTC (rev 103770)
@@ -1,3 +1,18 @@
+2011-12-28  Sheriff Bot  <[email protected]>
+
+        Unreviewed, rolling out r103620.
+        http://trac.webkit.org/changeset/103620
+        https://bugs.webkit.org/show_bug.cgi?id=75316
+
+        Causes many crashes (Requested by abarth on #webkit).
+
+        * DumpRenderTree/chromium/LayoutTestController.cpp:
+        (LayoutTestController::LayoutTestController):
+        (LayoutTestController::reset):
+        * DumpRenderTree/chromium/LayoutTestController.h:
+        * DumpRenderTree/chromium/WebViewHost.cpp:
+        * DumpRenderTree/chromium/WebViewHost.h:
+
 2011-12-27  Sheriff Bot  <[email protected]>
 
         Unreviewed, rolling out r103734.

Modified: trunk/Tools/DumpRenderTree/chromium/LayoutTestController.cpp (103769 => 103770)


--- trunk/Tools/DumpRenderTree/chromium/LayoutTestController.cpp	2011-12-28 18:08:37 UTC (rev 103769)
+++ trunk/Tools/DumpRenderTree/chromium/LayoutTestController.cpp	2011-12-28 18:21:04 UTC (rev 103770)
@@ -250,7 +250,6 @@
     bindProperty("webHistoryItemCount", &m_webHistoryItemCount);
     bindProperty("titleTextDirection", &m_titleTextDirection);
     bindProperty("platformName", &m_platformName);
-    bindProperty("interceptPostMessage", &m_interceptPostMessage);
 }
 
 LayoutTestController::~LayoutTestController()
@@ -638,7 +637,6 @@
     m_webHistoryItemCount.set(0);
     m_titleTextDirection.set("ltr");
     m_platformName.set("chromium");
-    m_interceptPostMessage.set(false);
     m_userStyleSheetLocation = WebURL();
     m_isPrinting = false;
 

Modified: trunk/Tools/DumpRenderTree/chromium/LayoutTestController.h (103769 => 103770)


--- trunk/Tools/DumpRenderTree/chromium/LayoutTestController.h	2011-12-28 18:08:37 UTC (rev 103769)
+++ trunk/Tools/DumpRenderTree/chromium/LayoutTestController.h	2011-12-28 18:21:04 UTC (rev 103770)
@@ -469,11 +469,6 @@
         m_titleTextDirection.set(dir == WebKit::WebTextDirectionLeftToRight ? "ltr" : "rtl");
     }
 
-    bool shouldInterceptPostMessage()
-    {
-        return m_interceptPostMessage.isBool() && m_interceptPostMessage.toBoolean();
-    }
-
     void setIsPrinting(bool value) { m_isPrinting = value; }
     bool isPrinting() { return m_isPrinting; }
 
@@ -685,9 +680,6 @@
     // Bound variable to return the name of this platform (chromium).
     CppVariant m_platformName;
 
-    // Bound variable to set whether postMessages should be intercepted or not
-    CppVariant m_interceptPostMessage;
-
     WebKit::WebURL m_userStyleSheetLocation;
 
     OwnPtr<WebKit::WebSpeechInputControllerMock> m_speechInputControllerMock;

Modified: trunk/Tools/DumpRenderTree/chromium/WebViewHost.cpp (103769 => 103770)


--- trunk/Tools/DumpRenderTree/chromium/WebViewHost.cpp	2011-12-28 18:08:37 UTC (rev 103769)
+++ trunk/Tools/DumpRenderTree/chromium/WebViewHost.cpp	2011-12-28 18:21:04 UTC (rev 103770)
@@ -39,7 +39,6 @@
 #include "platform/WebCString.h"
 #include "WebConsoleMessage.h"
 #include "WebContextMenuData.h"
-#include "WebDOMMessageEvent.h"
 #include "WebDataSource.h"
 #include "WebDeviceOrientationClientMock.h"
 #include "platform/WebDragData.h"
@@ -1205,16 +1204,6 @@
     webkit_support::OpenFileSystem(frame, type, size, create, callbacks);
 }
 
-bool WebViewHost::willCheckAndDispatchMessageEvent(WebFrame* source, WebSecurityOrigin target, WebDOMMessageEvent event)
-{
-    if (m_shell->layoutTestController()->shouldInterceptPostMessage()) {
-        fputs("intercepted postMessage\n", stdout);
-        return true;
-    }
-
-    return false;
-}
-
 // Public functions -----------------------------------------------------------
 
 WebViewHost::WebViewHost(TestShell* shell)

Modified: trunk/Tools/DumpRenderTree/chromium/WebViewHost.h (103769 => 103770)


--- trunk/Tools/DumpRenderTree/chromium/WebViewHost.h	2011-12-28 18:08:37 UTC (rev 103769)
+++ trunk/Tools/DumpRenderTree/chromium/WebViewHost.h	2011-12-28 18:21:04 UTC (rev 103770)
@@ -213,7 +213,6 @@
     virtual void didRunInsecureContent(WebKit::WebFrame*, const WebKit::WebSecurityOrigin&, const WebKit::WebURL&);
     virtual void didDetectXSS(WebKit::WebFrame*, const WebKit::WebURL&, bool didBlockEntirePage);
     virtual void openFileSystem(WebKit::WebFrame*, WebKit::WebFileSystem::Type, long long size, bool create, WebKit::WebFileSystemCallbacks*);
-    virtual bool willCheckAndDispatchMessageEvent(WebKit::WebFrame* source, WebKit::WebSecurityOrigin target, WebKit::WebDOMMessageEvent);
 
     WebKit::WebDeviceOrientationClientMock* deviceOrientationClientMock();
     
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to