Title: [256232] trunk/Tools
Revision
256232
Author
[email protected]
Date
2020-02-10 16:53:36 -0800 (Mon, 10 Feb 2020)

Log Message

[DRT] InternalSettingsGenerated::resetToConsistentState() may override TestOptions
https://bugs.webkit.org/show_bug.cgi?id=207481

Reviewed by Alexey Proskuryakov.

InternalSettingsGenerated::resetToConsistentState() may override TestOptions such as enableBackForwardCache.
This is causing issues such as the back/forward cache sometimes getting enabled on tests where
TestOptions::enableBackForwardCache() is false, because a previous test has enabled the back/forward cache.

* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebViewToConsistentStateBeforeTesting):
Make sure we reset preferences after we call WebCoreTestSupport::resetInternalsObject(), since
resetInternalsObject() updates settings and TestOptions / DRT preferences should have priority
over internal settings.

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (256231 => 256232)


--- trunk/Tools/ChangeLog	2020-02-11 00:49:02 UTC (rev 256231)
+++ trunk/Tools/ChangeLog	2020-02-11 00:53:36 UTC (rev 256232)
@@ -1,3 +1,20 @@
+2020-02-10  Chris Dumez  <[email protected]>
+
+        [DRT] InternalSettingsGenerated::resetToConsistentState() may override TestOptions
+        https://bugs.webkit.org/show_bug.cgi?id=207481
+
+        Reviewed by Alexey Proskuryakov.
+
+        InternalSettingsGenerated::resetToConsistentState() may override TestOptions such as enableBackForwardCache.
+        This is causing issues such as the back/forward cache sometimes getting enabled on tests where
+        TestOptions::enableBackForwardCache() is false, because a previous test has enabled the back/forward cache.
+
+        * DumpRenderTree/mac/DumpRenderTree.mm:
+        (resetWebViewToConsistentStateBeforeTesting):
+        Make sure we reset preferences after we call WebCoreTestSupport::resetInternalsObject(), since
+        resetInternalsObject() updates settings and TestOptions / DRT preferences should have priority
+        over internal settings.
+
 2020-02-10  Per Arne Vollan  <[email protected]>
 
         [watchOS] Notification listener is never unregistered

Modified: trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm (256231 => 256232)


--- trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm	2020-02-11 00:49:02 UTC (rev 256231)
+++ trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm	2020-02-11 00:53:36 UTC (rev 256232)
@@ -1908,8 +1908,6 @@
 
     [WebCache clearCachedCredentials];
 
-    resetWebPreferencesToConsistentValues();
-    setWebPreferencesForTestOptions(options);
 #if PLATFORM(MAC)
     [webView setWantsLayer:options.layerBackedWebView];
 #endif
@@ -1924,7 +1922,11 @@
     // In the case that a test using the chrome input field failed, be sure to clean up for the next test.
     gTestRunner->removeChromeInputField();
 
+    // We need to call this first to reset internal settings.
     WebCoreTestSupport::resetInternalsObject([mainFrame globalContext]);
+    // And then we need to reset DRT preferences since they take precedence over internal settings.
+    resetWebPreferencesToConsistentValues();
+    setWebPreferencesForTestOptions(options);
 
 #if !PLATFORM(IOS_FAMILY)
     if (WebCore::Frame* frame = [webView _mainCoreFrame])
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to