Title: [133676] trunk/Tools
Revision
133676
Author
rak...@webkit.org
Date
2012-11-06 15:04:50 -0800 (Tue, 06 Nov 2012)

Log Message

[WTR] Reset EventSender before running each test.
https://bugs.webkit.org/show_bug.cgi?id=101353

Reviewed by Simon Fraser.

Contrary to what was done to at least some ports in DumpRenderTree,
EventSender did not currently reset its values in WTR. This caused
flakiness if a test such as editing/selection/fake-doubleclick.html was
run twice in a row, since the click count was not reset across each
run.

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::TestController): Do not create m_eventSenderProxy
in the constructor anymore, it is created in
resetStateToConsistentValues now.
(WTR::TestController::resetStateToConsistentValues): Recreate
m_eventSenderProxy every time this method is run.
* WebKitTestRunner/TestController.h: Make m_eventSenderProxy an OwnPtr
and guard it with a platform #ifdef.
* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::EventSenderProxy::~EventSenderProxy): Add an empty
implementation.
* WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::EventSenderProxy::~EventSenderProxy): Ditto.
* WebKitTestRunner/qt/EventSenderProxyQt.cpp:
(WTR::EventSenderProxy::~EventSenderProxy): Ditto.

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (133675 => 133676)


--- trunk/Tools/ChangeLog	2012-11-06 22:58:24 UTC (rev 133675)
+++ trunk/Tools/ChangeLog	2012-11-06 23:04:50 UTC (rev 133676)
@@ -1,3 +1,32 @@
+2012-11-06  Raphael Kubo da Costa  <raphael.kubo.da.co...@intel.com>
+
+        [WTR] Reset EventSender before running each test.
+        https://bugs.webkit.org/show_bug.cgi?id=101353
+
+        Reviewed by Simon Fraser.
+
+        Contrary to what was done to at least some ports in DumpRenderTree,
+        EventSender did not currently reset its values in WTR. This caused
+        flakiness if a test such as editing/selection/fake-doubleclick.html was
+        run twice in a row, since the click count was not reset across each
+        run.
+
+        * WebKitTestRunner/TestController.cpp:
+        (WTR::TestController::TestController): Do not create m_eventSenderProxy
+        in the constructor anymore, it is created in
+        resetStateToConsistentValues now.
+        (WTR::TestController::resetStateToConsistentValues): Recreate
+        m_eventSenderProxy every time this method is run.
+        * WebKitTestRunner/TestController.h: Make m_eventSenderProxy an OwnPtr
+        and guard it with a platform #ifdef.
+        * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
+        (WTR::EventSenderProxy::~EventSenderProxy): Add an empty
+        implementation.
+        * WebKitTestRunner/mac/EventSenderProxy.mm:
+        (WTR::EventSenderProxy::~EventSenderProxy): Ditto.
+        * WebKitTestRunner/qt/EventSenderProxyQt.cpp:
+        (WTR::EventSenderProxy::~EventSenderProxy): Ditto.
+
 2012-11-06  Mikhail Pozdnyakov  <mikhail.pozdnya...@intel.com>
 
         [EFL][WK2] Refactor Ewk_Auth_Request, Ewk_Url_Scheme_Request and Ewk_Download_Job to be Ewk_Objects

Modified: trunk/Tools/WebKitTestRunner/TestController.cpp (133675 => 133676)


--- trunk/Tools/WebKitTestRunner/TestController.cpp	2012-11-06 22:58:24 UTC (rev 133675)
+++ trunk/Tools/WebKitTestRunner/TestController.cpp	2012-11-06 23:04:50 UTC (rev 133676)
@@ -96,9 +96,6 @@
     , m_isGeolocationPermissionAllowed(false)
     , m_policyDelegateEnabled(false)
     , m_policyDelegatePermissive(false)
-#if PLATFORM(MAC) || PLATFORM(QT) || PLATFORM(GTK) || PLATFORM(EFL)
-    , m_eventSenderProxy(new EventSenderProxy(this))
-#endif
 {
     initialize(argc, argv);
     controller = this;
@@ -504,6 +501,11 @@
 
     // FIXME: This function should also ensure that there is only one page open.
 
+    // Reset the EventSender for each test.
+#if PLATFORM(MAC) || PLATFORM(QT) || PLATFORM(GTK) || PLATFORM(EFL)
+    m_eventSenderProxy = adoptPtr(new EventSenderProxy(this));
+#endif
+
     // Reset preferences
     WKPreferencesRef preferences = WKPageGroupGetPreferences(m_pageGroup.get());
     WKPreferencesResetTestRunnerOverrides(preferences);

Modified: trunk/Tools/WebKitTestRunner/TestController.h (133675 => 133676)


--- trunk/Tools/WebKitTestRunner/TestController.h	2012-11-06 22:58:24 UTC (rev 133675)
+++ trunk/Tools/WebKitTestRunner/TestController.h	2012-11-06 23:04:50 UTC (rev 133676)
@@ -178,7 +178,9 @@
     bool m_policyDelegateEnabled;
     bool m_policyDelegatePermissive;
 
-    EventSenderProxy* m_eventSenderProxy;
+#if PLATFORM(MAC) || PLATFORM(QT) || PLATFORM(GTK) || PLATFORM(EFL)
+    OwnPtr<EventSenderProxy> m_eventSenderProxy;
+#endif
 
     WorkQueueManager m_workQueueManager;
 };

Modified: trunk/Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp (133675 => 133676)


--- trunk/Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp	2012-11-06 22:58:24 UTC (rev 133675)
+++ trunk/Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp	2012-11-06 23:04:50 UTC (rev 133676)
@@ -83,6 +83,10 @@
 {
 }
 
+EventSenderProxy::~EventSenderProxy()
+{
+}
+
 static guint getMouseButtonModifiers(int gdkButton)
 {
     if (gdkButton == 1)

Modified: trunk/Tools/WebKitTestRunner/mac/EventSenderProxy.mm (133675 => 133676)


--- trunk/Tools/WebKitTestRunner/mac/EventSenderProxy.mm	2012-11-06 22:58:24 UTC (rev 133675)
+++ trunk/Tools/WebKitTestRunner/mac/EventSenderProxy.mm	2012-11-06 23:04:50 UTC (rev 133676)
@@ -111,6 +111,10 @@
 {
 }
 
+EventSenderProxy::~EventSenderProxy()
+{
+}
+
 void EventSenderProxy::updateClickCountForButton(int button)
 {
     if (m_time - m_clickTime < 1 && m_position == m_clickPosition && button == m_clickButton) {

Modified: trunk/Tools/WebKitTestRunner/qt/EventSenderProxyQt.cpp (133675 => 133676)


--- trunk/Tools/WebKitTestRunner/qt/EventSenderProxyQt.cpp	2012-11-06 22:58:24 UTC (rev 133675)
+++ trunk/Tools/WebKitTestRunner/qt/EventSenderProxyQt.cpp	2012-11-06 23:04:50 UTC (rev 133676)
@@ -72,6 +72,10 @@
     isReplayingEvents = false;
 }
 
+EventSenderProxy::~EventSenderProxy()
+{
+}
+
 static Qt::MouseButton getMouseButton(unsigned button)
 {
     Qt::MouseButton mouseButton;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to