Title: [111220] trunk/Tools
Revision
111220
Author
[email protected]
Date
2012-03-19 12:46:09 -0700 (Mon, 19 Mar 2012)

Log Message

[chromium] DRT crashes at shutdown.
https://bugs.webkit.org/show_bug.cgi?id=81504

Patch by Hao Zheng <[email protected]> on 2012-03-19
Reviewed by James Robinson.

WebCompositor must be destroyed after WebView is properly destroyed,
or some compositor objects like CCLayerTreeHost may not be destroyed.
However, it is really hard to make the destruction order correct
explicitly in ~TestShell. So move it out to DumpRenderTree.

* DumpRenderTree/chromium/DumpRenderTree.cpp:
(main):
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::~TestShell):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (111219 => 111220)


--- trunk/Tools/ChangeLog	2012-03-19 19:43:35 UTC (rev 111219)
+++ trunk/Tools/ChangeLog	2012-03-19 19:46:09 UTC (rev 111220)
@@ -1,3 +1,20 @@
+2012-03-19  Hao Zheng  <[email protected]>
+
+        [chromium] DRT crashes at shutdown.
+        https://bugs.webkit.org/show_bug.cgi?id=81504
+
+        Reviewed by James Robinson.
+
+        WebCompositor must be destroyed after WebView is properly destroyed,
+        or some compositor objects like CCLayerTreeHost may not be destroyed.
+        However, it is really hard to make the destruction order correct
+        explicitly in ~TestShell. So move it out to DumpRenderTree.
+
+        * DumpRenderTree/chromium/DumpRenderTree.cpp:
+        (main):
+        * DumpRenderTree/chromium/TestShell.cpp:
+        (TestShell::~TestShell):
+
 2012-03-19  Dirk Pranke  <[email protected]>
 
         add dpranke to webkitpy watchlist

Modified: trunk/Tools/DumpRenderTree/chromium/DumpRenderTree.cpp (111219 => 111220)


--- trunk/Tools/DumpRenderTree/chromium/DumpRenderTree.cpp	2012-03-19 19:43:35 UTC (rev 111219)
+++ trunk/Tools/DumpRenderTree/chromium/DumpRenderTree.cpp	2012-03-19 19:46:09 UTC (rev 111220)
@@ -31,6 +31,7 @@
 #include "config.h"
 
 #include "TestShell.h"
+#include "WebCompositor.h"
 #include "webkit/support/webkit_support.h"
 #include <v8/include/v8-testing.h>
 #include <v8/include/v8.h>
@@ -286,5 +287,8 @@
         shell.resetTestController();
     }
 
+    // Shutdown WebCompositor after TestShell is destructed properly.
+    WebKit::WebCompositor::shutdown();
+
     return EXIT_SUCCESS;
 }

Modified: trunk/Tools/DumpRenderTree/chromium/TestShell.cpp (111219 => 111220)


--- trunk/Tools/DumpRenderTree/chromium/TestShell.cpp	2012-03-19 19:43:35 UTC (rev 111219)
+++ trunk/Tools/DumpRenderTree/chromium/TestShell.cpp	2012-03-19 19:46:09 UTC (rev 111220)
@@ -176,8 +176,6 @@
 
     // Destroy the WebView before its WebViewHost.
     m_drtDevToolsAgent->setWebView(0);
-
-    WebCompositor::shutdown();
 }
 
 void TestShell::createDRTDevToolsClient(DRTDevToolsAgent* agent)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to