Title: [140717] trunk/Tools
Revision
140717
Author
a...@chromium.org
Date
2013-01-24 13:37:51 -0800 (Thu, 24 Jan 2013)

Log Message

Unreviewed, rolling out r140703.
http://trac.webkit.org/changeset/140703
https://bugs.webkit.org/show_bug.cgi?id=107556

r140561 was not the reason for the Android breakage

* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::~TestShell):
(TestShell::closeWindow):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::WebViewHost):
(WebViewHost::~WebViewHost):
(WebViewHost::shutdown):
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (140716 => 140717)


--- trunk/Tools/ChangeLog	2013-01-24 21:31:00 UTC (rev 140716)
+++ trunk/Tools/ChangeLog	2013-01-24 21:37:51 UTC (rev 140717)
@@ -1,3 +1,21 @@
+2013-01-24  Erik Arvidsson  <a...@chromium.org>
+
+        Unreviewed, rolling out r140703.
+        http://trac.webkit.org/changeset/140703
+        https://bugs.webkit.org/show_bug.cgi?id=107556
+
+        r140561 was not the reason for the Android breakage
+
+        * DumpRenderTree/chromium/TestShell.cpp:
+        (TestShell::~TestShell):
+        (TestShell::closeWindow):
+        * DumpRenderTree/chromium/WebViewHost.cpp:
+        (WebViewHost::WebViewHost):
+        (WebViewHost::~WebViewHost):
+        (WebViewHost::shutdown):
+        * DumpRenderTree/chromium/WebViewHost.h:
+        (WebViewHost):
+
 2013-01-24  Dean Jackson  <d...@apple.com>
 
         Allow some plugin snapshot UI content to come from Injected Bundle

Modified: trunk/Tools/DumpRenderTree/chromium/TestShell.cpp (140716 => 140717)


--- trunk/Tools/DumpRenderTree/chromium/TestShell.cpp	2013-01-24 21:31:00 UTC (rev 140716)
+++ trunk/Tools/DumpRenderTree/chromium/TestShell.cpp	2013-01-24 21:37:51 UTC (rev 140717)
@@ -202,6 +202,8 @@
     m_testRunner->setDelegate(0);
     m_testRunner->setWebView(0);
     m_drtDevToolsAgent->setWebView(0);
+    if (m_webViewHost)
+        m_webViewHost->shutdown();
 }
 
 void TestShell::createDRTDevToolsClient(DRTDevToolsAgent* agent)
@@ -794,6 +796,7 @@
     if (window->webWidget() == m_focusedWidget)
         focusedWidget = 0;
 
+    window->shutdown();
     delete window;
     // We set the focused widget after deleting the web view host because it
     // can change the focus.

Modified: trunk/Tools/DumpRenderTree/chromium/WebViewHost.cpp (140716 => 140717)


--- trunk/Tools/DumpRenderTree/chromium/WebViewHost.cpp	2013-01-24 21:31:00 UTC (rev 140716)
+++ trunk/Tools/DumpRenderTree/chromium/WebViewHost.cpp	2013-01-24 21:37:51 UTC (rev 140717)
@@ -1081,12 +1081,22 @@
     : m_shell(shell)
     , m_proxy(0)
     , m_webWidget(0)
+    , m_shutdownWasInvoked(false)
 {
     reset();
 }
 
 WebViewHost::~WebViewHost()
 {
+    ASSERT(m_shutdownWasInvoked);
+    if (m_inModalLoop)
+        webkit_support::QuitMessageLoop();
+}
+
+void WebViewHost::shutdown()
+{
+    ASSERT(!m_shutdownWasInvoked);
+
     // DevTools frontend page is supposed to be navigated only once and
     // loading another URL in that Page is an error.
     if (m_shell->devToolsWebView() != this) {
@@ -1101,8 +1111,8 @@
 
     m_layerTreeView.clear();
     webWidget()->close();
-    if (m_inModalLoop)
-        webkit_support::QuitMessageLoop();
+    m_webWidget = 0;
+    m_shutdownWasInvoked = true;
 }
 
 void WebViewHost::setWebWidget(WebKit::WebWidget* widget)

Modified: trunk/Tools/DumpRenderTree/chromium/WebViewHost.h (140716 => 140717)


--- trunk/Tools/DumpRenderTree/chromium/WebViewHost.h	2013-01-24 21:31:00 UTC (rev 140716)
+++ trunk/Tools/DumpRenderTree/chromium/WebViewHost.h	2013-01-24 21:37:51 UTC (rev 140717)
@@ -79,6 +79,7 @@
  public:
     WebViewHost(TestShell*);
     virtual ~WebViewHost();
+    void shutdown();
     void setWebWidget(WebKit::WebWidget*);
     WebKit::WebView* webView() const;
     WebKit::WebWidget* webWidget() const;
@@ -371,6 +372,9 @@
 
     bool m_hasWindow;
     bool m_inModalLoop;
+
+    bool m_shutdownWasInvoked;
+
     WebKit::WebRect m_windowRect;
 
     // true if we want to enable smart insert/delete.
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to