[chromium] Fix WebFrameTest flakiness due to synthetic mouse events
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 17 Jul 2012 00:31:09 +0000 (00:31 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 17 Jul 2012 00:31:09 +0000 (00:31 +0000)
https://bugs.webkit.org/show_bug.cgi?id=91428

Patch by Alexandre Elias <aelias@google.com> on 2012-07-16
Reviewed by Adam Barth.

Synthetic mouse move events on scrolling can cause segfaults in
WebFrameTest due to delayed callbacks on the message loop after
state destruction. This is currently only affecting
the Android port, but has the potential to affect other platforms in the
future.

We can avoid the issue by disabling the deviceSupportsMouse
setting, which shouldn't be needed by any WebFrameTest.

* tests/FrameTestHelpers.cpp:
(WebKit::FrameTestHelpers::createWebViewAndLoad):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122781 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/tests/FrameTestHelpers.cpp

index d5a0857..f931d78 100644 (file)
@@ -1,3 +1,22 @@
+2012-07-16  Alexandre Elias  <aelias@google.com>
+
+        [chromium] Fix WebFrameTest flakiness due to synthetic mouse events
+        https://bugs.webkit.org/show_bug.cgi?id=91428
+
+        Reviewed by Adam Barth.
+
+        Synthetic mouse move events on scrolling can cause segfaults in
+        WebFrameTest due to delayed callbacks on the message loop after
+        state destruction. This is currently only affecting
+        the Android port, but has the potential to affect other platforms in the
+        future.
+
+        We can avoid the issue by disabling the deviceSupportsMouse
+        setting, which shouldn't be needed by any WebFrameTest.
+
+        * tests/FrameTestHelpers.cpp:
+        (WebKit::FrameTestHelpers::createWebViewAndLoad):
+
 2012-07-16  Alec Flett  <alecflett@chromium.org>
 
         IndexedDB: Introduce putWithIndexKeys and calculate them in the renderer
index a2b1675..c3e8bf0 100644 (file)
@@ -80,6 +80,7 @@ WebView* createWebViewAndLoad(const std::string& url, bool enableJavascript, Web
         webViewClient = defaultWebViewClient();
     WebView* webView = WebView::create(webViewClient);
     webView->settings()->setJavaScriptEnabled(enableJavascript);
+    webView->settings()->setDeviceSupportsMouse(false);
     webView->initializeMainFrame(webFrameClient);
 
     loadFrame(webView->mainFrame(), url);