Title: [137992] trunk/Tools
Revision
137992
Author
[email protected]
Date
2012-12-17 23:58:35 -0800 (Mon, 17 Dec 2012)

Log Message

[chromium] Fix methods in TestRunner that directly modify the settings instead of going through WebPreferences
https://bugs.webkit.org/show_bug.cgi?id=105154

Reviewed by Tony Chang.

If the settings are modified directly, the embedder can't keep track of
them and might accidentially override the changed settings.

* DumpRenderTree/chromium/TestRunner/public/WebPreferences.h:
(WebPreferences):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::setAsynchronousSpellCheckingEnabled):
(WebTestRunner):
(WebTestRunner::TestRunner::setMinimumTimerInterval):
(WebTestRunner::TestRunner::setTouchDragDropEnabled):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
* DumpRenderTree/chromium/TestRunner/src/WebPreferences.cpp:
(WebTestRunner::WebPreferences::reset):
(WebTestRunner::WebPreferences::applyTo):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (137991 => 137992)


--- trunk/Tools/ChangeLog	2012-12-18 07:34:20 UTC (rev 137991)
+++ trunk/Tools/ChangeLog	2012-12-18 07:58:35 UTC (rev 137992)
@@ -1,3 +1,27 @@
+2012-12-17  Jochen Eisinger  <[email protected]>
+
+        [chromium] Fix methods in TestRunner that directly modify the settings instead of going through WebPreferences
+        https://bugs.webkit.org/show_bug.cgi?id=105154
+
+        Reviewed by Tony Chang.
+
+        If the settings are modified directly, the embedder can't keep track of
+        them and might accidentially override the changed settings.
+
+        * DumpRenderTree/chromium/TestRunner/public/WebPreferences.h:
+        (WebPreferences):
+        * DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
+        (WebTestRunner::TestRunner::TestRunner):
+        (WebTestRunner::TestRunner::setAsynchronousSpellCheckingEnabled):
+        (WebTestRunner):
+        (WebTestRunner::TestRunner::setMinimumTimerInterval):
+        (WebTestRunner::TestRunner::setTouchDragDropEnabled):
+        * DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
+        (TestRunner):
+        * DumpRenderTree/chromium/TestRunner/src/WebPreferences.cpp:
+        (WebTestRunner::WebPreferences::reset):
+        (WebTestRunner::WebPreferences::applyTo):
+
 2012-12-17  Julien Chaffraix  <[email protected]>
 
         Unreviewed unit test skipping.

Modified: trunk/Tools/DumpRenderTree/chromium/TestRunner/public/WebPreferences.h (137991 => 137992)


--- trunk/Tools/DumpRenderTree/chromium/TestRunner/public/WebPreferences.h	2012-12-18 07:34:20 UTC (rev 137991)
+++ trunk/Tools/DumpRenderTree/chromium/TestRunner/public/WebPreferences.h	2012-12-18 07:58:35 UTC (rev 137992)
@@ -101,6 +101,9 @@
     bool mockScrollbarsEnabled;
     bool cssCustomFilterEnabled;
     bool shouldRespectImageOrientation;
+    bool asynchronousSpellCheckingEnabled;
+    double minimumTimerInterval;
+    bool touchDragDropEnabled;
 
     WebPreferences() { reset(); }
     void reset();

Modified: trunk/Tools/DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp (137991 => 137992)


--- trunk/Tools/DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp	2012-12-18 07:34:20 UTC (rev 137991)
+++ trunk/Tools/DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp	2012-12-18 07:58:35 UTC (rev 137992)
@@ -66,7 +66,6 @@
 {
     // Methods implemented in terms of chromium's public WebKit API.
     bindMethod("setTabKeyCyclesThroughElements", &TestRunner::setTabKeyCyclesThroughElements);
-    bindMethod("setAsynchronousSpellCheckingEnabled", &TestRunner::setAsynchronousSpellCheckingEnabled);
     bindMethod("execCommand", &TestRunner::execCommand);
     bindMethod("isCommandEnabled", &TestRunner::isCommandEnabled);
     bindMethod("pauseAnimationAtTimeOnElementWithId", &TestRunner::pauseAnimationAtTimeOnElementWithId);
@@ -89,7 +88,6 @@
     bindMethod("loseCompositorContext", &TestRunner::loseCompositorContext);
     bindMethod("markerTextForListItem", &TestRunner::markerTextForListItem);
     bindMethod("findString", &TestRunner::findString);
-    bindMethod("setMinimumTimerInterval", &TestRunner::setMinimumTimerInterval);
     bindMethod("setAutofilled", &TestRunner::setAutofilled);
     bindMethod("setValueForUser", &TestRunner::setValueForUser);
     bindMethod("enableFixedLayoutMode", &TestRunner::enableFixedLayoutMode);
@@ -100,7 +98,6 @@
     bindMethod("setPageVisibility", &TestRunner::setPageVisibility);
     bindMethod("setTextDirection", &TestRunner::setTextDirection);
     bindMethod("textSurroundingNode", &TestRunner::textSurroundingNode);
-    bindMethod("setTouchDragDropEnabled", &TestRunner::setTouchDragDropEnabled);
 
     // The following modify WebPreferences.
     bindMethod("setUserStyleSheetEnabled", &TestRunner::setUserStyleSheetEnabled);
@@ -113,6 +110,9 @@
     bindMethod("setAllowFileAccessFromFileURLs", &TestRunner::setAllowFileAccessFromFileURLs);
     bindMethod("overridePreference", &TestRunner::overridePreference);
     bindMethod("setPluginsEnabled", &TestRunner::setPluginsEnabled);
+    bindMethod("setAsynchronousSpellCheckingEnabled", &TestRunner::setAsynchronousSpellCheckingEnabled);
+    bindMethod("setMinimumTimerInterval", &TestRunner::setMinimumTimerInterval);
+    bindMethod("setTouchDragDropEnabled", &TestRunner::setTouchDragDropEnabled);
 
     // Properties.
     bindProperty("workerThreadCount", &TestRunner::workerThreadCount);
@@ -182,13 +182,6 @@
     result->setNull();
 }
 
-void TestRunner::setAsynchronousSpellCheckingEnabled(const CppArgumentList& arguments, CppVariant* result)
-{
-    if (arguments.size() > 0 && arguments[0].isBool())
-        m_webView->settings()->setAsynchronousSpellCheckingEnabled(cppVariantToBool(arguments[0]));
-    result->setNull();
-}
-
 void TestRunner::execCommand(const CppArgumentList& arguments, CppVariant* result)
 {
     result->setNull();
@@ -539,14 +532,6 @@
     result->set(findResult);
 }
 
-void TestRunner::setMinimumTimerInterval(const CppArgumentList& arguments, CppVariant* result)
-{
-    result->setNull();
-    if (arguments.size() < 1 || !arguments[0].isNumber())
-        return;
-    m_webView->settings()->setMinimumTimerInterval(arguments[0].toDouble());
-}
-
 void TestRunner::setAutofilled(const CppArgumentList& arguments, CppVariant* result)
 {
     result->setNull();
@@ -681,15 +666,6 @@
     result->set(surroundingText.textContent().utf8());
 }
 
-void TestRunner::setTouchDragDropEnabled(const CppArgumentList& arguments, CppVariant* result)
-{
-    result->setNull();
-    if (arguments.size() != 1 || !arguments[0].isBool())
-        return;
-
-    m_webView->settings()->setTouchDragDropEnabled(arguments[0].toBoolean());
-}
-
 void TestRunner::setUserStyleSheetEnabled(const CppArgumentList& arguments, CppVariant* result)
 {
     if (arguments.size() > 0 && arguments[0].isBool()) {
@@ -834,6 +810,33 @@
     result->setNull();
 }
 
+void TestRunner::setAsynchronousSpellCheckingEnabled(const CppArgumentList& arguments, CppVariant* result)
+{
+    if (arguments.size() > 0 && arguments[0].isBool()) {
+        m_delegate->preferences()->asynchronousSpellCheckingEnabled = cppVariantToBool(arguments[0]);
+        m_delegate->applyPreferences();
+    }
+    result->setNull();
+}
+
+void TestRunner::setMinimumTimerInterval(const CppArgumentList& arguments, CppVariant* result)
+{
+    if (arguments.size() > 0 && arguments[0].isNumber()) {
+        m_delegate->preferences()->minimumTimerInterval = arguments[0].toDouble();
+        m_delegate->applyPreferences();
+    }
+    result->setNull();
+}
+
+void TestRunner::setTouchDragDropEnabled(const CppArgumentList& arguments, CppVariant* result)
+{
+    if (arguments.size() > 0 && arguments[0].isBool()) {
+        m_delegate->preferences()->touchDragDropEnabled = arguments[0].toBoolean();
+        m_delegate->applyPreferences();
+    }
+    result->setNull();
+}
+
 void TestRunner::workerThreadCount(CppVariant* result)
 {
     result->set(static_cast<int>(WebWorkerInfo::dedicatedWorkerCount()));

Modified: trunk/Tools/DumpRenderTree/chromium/TestRunner/src/TestRunner.h (137991 => 137992)


--- trunk/Tools/DumpRenderTree/chromium/TestRunner/src/TestRunner.h	2012-12-18 07:34:20 UTC (rev 137991)
+++ trunk/Tools/DumpRenderTree/chromium/TestRunner/src/TestRunner.h	2012-12-18 07:58:35 UTC (rev 137992)
@@ -71,9 +71,6 @@
     // or inserts a '\t' char in text area
     void setTabKeyCyclesThroughElements(const CppArgumentList&, CppVariant*);
 
-    // Changes asynchronous spellchecking flag on the settings.
-    void setAsynchronousSpellCheckingEnabled(const CppArgumentList&, CppVariant*);
-
     // Executes an internal command (superset of document.execCommand() commands).
     void execCommand(const CppArgumentList&, CppVariant*);
 
@@ -113,8 +110,6 @@
     void markerTextForListItem(const CppArgumentList&, CppVariant*);
     void findString(const CppArgumentList&, CppVariant*);
 
-    void setMinimumTimerInterval(const CppArgumentList&, CppVariant*);
-
     // Expects the first argument to be an input element and the second argument to be a boolean.
     // Forwards the setAutofilled() call to the element.
     void setAutofilled(const CppArgumentList&, CppVariant*);
@@ -147,7 +142,6 @@
     // point coordinates relative to the node and the fourth the maximum text
     // length to retrieve.
     void textSurroundingNode(const CppArgumentList&, CppVariant*);
-    void setTouchDragDropEnabled(const CppArgumentList&, CppVariant*);
 
     ///////////////////////////////////////////////////////////////////////////
     // Methods modifying WebPreferences.
@@ -172,6 +166,12 @@
     // Enable or disable plugins.
     void setPluginsEnabled(const CppArgumentList&, CppVariant*);
 
+    // Changes asynchronous spellchecking flag on the settings.
+    void setAsynchronousSpellCheckingEnabled(const CppArgumentList&, CppVariant*);
+
+    void setMinimumTimerInterval(const CppArgumentList&, CppVariant*);
+    void setTouchDragDropEnabled(const CppArgumentList&, CppVariant*);
+
     ///////////////////////////////////////////////////////////////////////////
     // Properties
     void workerThreadCount(CppVariant*);

Modified: trunk/Tools/DumpRenderTree/chromium/TestRunner/src/WebPreferences.cpp (137991 => 137992)


--- trunk/Tools/DumpRenderTree/chromium/TestRunner/src/WebPreferences.cpp	2012-12-18 07:34:20 UTC (rev 137991)
+++ trunk/Tools/DumpRenderTree/chromium/TestRunner/src/WebPreferences.cpp	2012-12-18 07:58:35 UTC (rev 137992)
@@ -129,6 +129,9 @@
     mockScrollbarsEnabled = false;
     cssCustomFilterEnabled = false;
     shouldRespectImageOrientation = false;
+    asynchronousSpellCheckingEnabled = false;
+    minimumTimerInterval = 0.010; // 10 milliseconds.
+    touchDragDropEnabled = false;
 }
 
 void WebPreferences::applyTo(WebView* webView)
@@ -196,6 +199,9 @@
     settings->setMediaPlaybackRequiresUserGesture(mediaPlaybackRequiresUserGesture);
     settings->setMockScrollbarsEnabled(mockScrollbarsEnabled);
     settings->setShouldRespectImageOrientation(shouldRespectImageOrientation);
+    settings->setAsynchronousSpellCheckingEnabled(asynchronousSpellCheckingEnabled);
+    settings->setMinimumTimerInterval(minimumTimerInterval);
+    settings->setTouchDragDropEnabled(touchDragDropEnabled);
 
     // Fixed values.
     settings->setTextDirectionSubmenuInclusionBehaviorNeverIncluded();
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to