Title: [246276] trunk
- Revision
- 246276
- Author
- [email protected]
- Date
- 2019-06-10 13:11:17 -0700 (Mon, 10 Jun 2019)
Log Message
[iOS] fast/xsl tests are flaky when run after certain viewport shrink-to-fit tests
https://bugs.webkit.org/show_bug.cgi?id=198699
<rdar://problem/50501718>
Reviewed by Simon Fraser.
Source/WebKit:
Lift logic that sets the "IsKnownToLayOutWiderThanViewport" flag out of resetViewportDefaultConfiguration, and
into didCommitLoad instead (along with other logic for resetting viewport arguments). The previous method,
resetViewportDefaultConfiguration, was being triggered very frequently undo didReceiveMobileDocType, causing the
shrink-to-fit heuristic to sometimes take no effect. The original intention here was simply to reset the flag
upon page load.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCommitLoad):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::resetViewportDefaultConfiguration):
Tools:
Add logic to platformResetPreferencesToConsistentValues, to reset the "ShouldIgnoreMetaViewport" preference.
While this is already being adjusted in platformConfigureViewForTest using the correct, TestOptions, this might
happen too late, allowing the shrink-to-fit-content heuristic to unexpectedly kick in on tests where testing
viewport parameters are used.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetPreferencesToConsistentValues):
(WTR::TestController::platformConfigureViewForTest):
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (246275 => 246276)
--- trunk/Source/WebKit/ChangeLog 2019-06-10 20:10:37 UTC (rev 246275)
+++ trunk/Source/WebKit/ChangeLog 2019-06-10 20:11:17 UTC (rev 246276)
@@ -1,3 +1,22 @@
+2019-06-10 Wenson Hsieh <[email protected]>
+
+ [iOS] fast/xsl tests are flaky when run after certain viewport shrink-to-fit tests
+ https://bugs.webkit.org/show_bug.cgi?id=198699
+ <rdar://problem/50501718>
+
+ Reviewed by Simon Fraser.
+
+ Lift logic that sets the "IsKnownToLayOutWiderThanViewport" flag out of resetViewportDefaultConfiguration, and
+ into didCommitLoad instead (along with other logic for resetting viewport arguments). The previous method,
+ resetViewportDefaultConfiguration, was being triggered very frequently undo didReceiveMobileDocType, causing the
+ shrink-to-fit heuristic to sometimes take no effect. The original intention here was simply to reset the flag
+ upon page load.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didCommitLoad):
+ * WebProcess/WebPage/ios/WebPageIOS.mm:
+ (WebKit::WebPage::resetViewportDefaultConfiguration):
+
2019-06-10 Timothy Hatcher <[email protected]>
Integrate dark mode support for iOS.
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp (246275 => 246276)
--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2019-06-10 20:10:37 UTC (rev 246275)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2019-06-10 20:11:17 UTC (rev 246276)
@@ -5755,6 +5755,9 @@
if (m_viewportConfiguration.setViewportArguments(coreFrame->document()->viewportArguments()))
viewportChanged = true;
+ if (m_viewportConfiguration.setIsKnownToLayOutWiderThanViewport(false))
+ viewportChanged = true;
+
if (viewportChanged)
viewportConfigurationChanged();
#endif
Modified: trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm (246275 => 246276)
--- trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm 2019-06-10 20:10:37 UTC (rev 246275)
+++ trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm 2019-06-10 20:11:17 UTC (rev 246276)
@@ -3210,7 +3210,6 @@
m_viewportConfiguration.setDefaultConfiguration(ViewportConfiguration::textDocumentParameters());
else
m_viewportConfiguration.setDefaultConfiguration(parametersForStandardFrame());
- m_viewportConfiguration.setIsKnownToLayOutWiderThanViewport(false);
if (auto overriddenViewLayoutWidth = document->quirks().overriddenViewLayoutWidth(m_viewportConfiguration.layoutWidth()))
m_viewportConfiguration.setViewLayoutSize(FloatSize(*overriddenViewLayoutWidth, m_viewportConfiguration.layoutHeight()));
Modified: trunk/Tools/ChangeLog (246275 => 246276)
--- trunk/Tools/ChangeLog 2019-06-10 20:10:37 UTC (rev 246275)
+++ trunk/Tools/ChangeLog 2019-06-10 20:11:17 UTC (rev 246276)
@@ -1,3 +1,20 @@
+2019-06-10 Wenson Hsieh <[email protected]>
+
+ [iOS] fast/xsl tests are flaky when run after certain viewport shrink-to-fit tests
+ https://bugs.webkit.org/show_bug.cgi?id=198699
+ <rdar://problem/50501718>
+
+ Reviewed by Simon Fraser.
+
+ Add logic to platformResetPreferencesToConsistentValues, to reset the "ShouldIgnoreMetaViewport" preference.
+ While this is already being adjusted in platformConfigureViewForTest using the correct, TestOptions, this might
+ happen too late, allowing the shrink-to-fit-content heuristic to unexpectedly kick in on tests where testing
+ viewport parameters are used.
+
+ * WebKitTestRunner/ios/TestControllerIOS.mm:
+ (WTR::TestController::platformResetPreferencesToConsistentValues):
+ (WTR::TestController::platformConfigureViewForTest):
+
2019-06-10 Yusuke Suzuki <[email protected]>
[JSC] UnlinkedCodeBlock should be eventually jettisoned in VM mini mode
Modified: trunk/Tools/WebKitTestRunner/ios/TestControllerIOS.mm (246275 => 246276)
--- trunk/Tools/WebKitTestRunner/ios/TestControllerIOS.mm 2019-06-10 20:10:37 UTC (rev 246275)
+++ trunk/Tools/WebKitTestRunner/ios/TestControllerIOS.mm 2019-06-10 20:11:17 UTC (rev 246276)
@@ -134,6 +134,7 @@
WKPreferencesRef preferences = platformPreferences();
WKPreferencesSetTextAutosizingEnabled(preferences, false);
WKPreferencesSetContentChangeObserverEnabled(preferences, false);
+ [(__bridge WKPreferences *)preferences _setShouldIgnoreMetaViewport:NO];
}
void TestController::platformResetStateToConsistentValues(const TestOptions& options)
@@ -189,7 +190,8 @@
{
TestRunnerWKWebView *webView = mainWebView()->platformView();
- webView.configuration.preferences._shouldIgnoreMetaViewport = test.options().shouldIgnoreMetaViewport;
+ if (test.options().shouldIgnoreMetaViewport)
+ webView.configuration.preferences._shouldIgnoreMetaViewport = YES;
if (!test.options().useFlexibleViewport)
return;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes