Title: [216634] trunk
Revision
216634
Author
timothy_hor...@apple.com
Date
2017-05-10 16:05:09 -0700 (Wed, 10 May 2017)

Log Message

Add an experimental feature flag for viewport-fit
https://bugs.webkit.org/show_bug.cgi?id=171948
<rdar://problem/31995518>

Reviewed by Simon Fraser.

* Shared/WebPreferencesDefinitions.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Add an experimental feature flag.

* dom/ViewportArguments.cpp:
(WebCore::setViewportFeature):
* page/Settings.in:
Disable parsing of viewport-fit if the experimental feature is disabled.

* fast/css/variables/constants/ios/safe-area-inset-set-expected.html:
* fast/css/variables/constants/ios/safe-area-inset-set.html:
* fast/viewport/ios/viewport-fit-auto.html:
* fast/viewport/ios/viewport-fit-contain.html:
* fast/viewport/ios/viewport-fit-cover.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (216633 => 216634)


--- trunk/LayoutTests/ChangeLog	2017-05-10 22:57:28 UTC (rev 216633)
+++ trunk/LayoutTests/ChangeLog	2017-05-10 23:05:09 UTC (rev 216634)
@@ -1,3 +1,17 @@
+2017-05-10  Tim Horton  <timothy_hor...@apple.com>
+
+        Add an experimental feature flag for viewport-fit
+        https://bugs.webkit.org/show_bug.cgi?id=171948
+        <rdar://problem/31995518>
+
+        Reviewed by Simon Fraser.
+
+        * fast/css/variables/constants/ios/safe-area-inset-set-expected.html:
+        * fast/css/variables/constants/ios/safe-area-inset-set.html:
+        * fast/viewport/ios/viewport-fit-auto.html:
+        * fast/viewport/ios/viewport-fit-contain.html:
+        * fast/viewport/ios/viewport-fit-cover.html:
+
 2017-05-10  Matt Lewis  <jlew...@apple.com>
 
         Marked fast/hidpi/filters-and-image-buffer-resolution.html as flaky.

Modified: trunk/LayoutTests/fast/css/variables/constants/ios/safe-area-inset-set-expected.html (216633 => 216634)


--- trunk/LayoutTests/fast/css/variables/constants/ios/safe-area-inset-set-expected.html	2017-05-10 22:57:28 UTC (rev 216633)
+++ trunk/LayoutTests/fast/css/variables/constants/ios/safe-area-inset-set-expected.html	2017-05-10 23:05:09 UTC (rev 216634)
@@ -1,5 +1,9 @@
 <!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] -->
 <head>
+    <script>
+    if (window.internals)
+        internals.settings.setViewportFitEnabled(true);
+    </script>
     <meta name="viewport" content="initial-scale=1, viewport-fit=cover">
     <style>
     #a {

Modified: trunk/LayoutTests/fast/css/variables/constants/ios/safe-area-inset-set.html (216633 => 216634)


--- trunk/LayoutTests/fast/css/variables/constants/ios/safe-area-inset-set.html	2017-05-10 22:57:28 UTC (rev 216633)
+++ trunk/LayoutTests/fast/css/variables/constants/ios/safe-area-inset-set.html	2017-05-10 23:05:09 UTC (rev 216634)
@@ -1,7 +1,9 @@
 <!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] -->
 <script>
-if (window.internals)
+if (window.internals) {
     internals.settings.setConstantPropertiesEnabled(true);
+    internals.settings.setViewportFitEnabled(true);
+}
 </script>
 <head>
     <meta name="viewport" content="initial-scale=1, viewport-fit=cover">

Modified: trunk/LayoutTests/fast/viewport/ios/viewport-fit-auto.html (216633 => 216634)


--- trunk/LayoutTests/fast/viewport/ios/viewport-fit-auto.html	2017-05-10 22:57:28 UTC (rev 216633)
+++ trunk/LayoutTests/fast/viewport/ios/viewport-fit-auto.html	2017-05-10 23:05:09 UTC (rev 216634)
@@ -2,6 +2,10 @@
 
 <html>
 <head>
+    <script>
+    if (window.internals)
+        internals.settings.setViewportFitEnabled(true);
+    </script>
     <meta name="viewport" content="initial-scale=1, viewport-fit=auto">
     <script src=""
     <script>

Modified: trunk/LayoutTests/fast/viewport/ios/viewport-fit-contain.html (216633 => 216634)


--- trunk/LayoutTests/fast/viewport/ios/viewport-fit-contain.html	2017-05-10 22:57:28 UTC (rev 216633)
+++ trunk/LayoutTests/fast/viewport/ios/viewport-fit-contain.html	2017-05-10 23:05:09 UTC (rev 216634)
@@ -2,6 +2,10 @@
 
 <html>
 <head>
+    <script>
+    if (window.internals)
+        internals.settings.setViewportFitEnabled(true);
+    </script>
     <meta name="viewport" content="initial-scale=1, viewport-fit=contain">
     <script src=""
     <script>

Modified: trunk/LayoutTests/fast/viewport/ios/viewport-fit-cover.html (216633 => 216634)


--- trunk/LayoutTests/fast/viewport/ios/viewport-fit-cover.html	2017-05-10 22:57:28 UTC (rev 216633)
+++ trunk/LayoutTests/fast/viewport/ios/viewport-fit-cover.html	2017-05-10 23:05:09 UTC (rev 216634)
@@ -2,6 +2,10 @@
 
 <html>
 <head>
+    <script>
+    if (window.internals)
+        internals.settings.setViewportFitEnabled(true);
+    </script>
     <meta name="viewport" content="initial-scale=1, viewport-fit=cover">
     <script src=""
     <script>

Modified: trunk/Source/WebCore/ChangeLog (216633 => 216634)


--- trunk/Source/WebCore/ChangeLog	2017-05-10 22:57:28 UTC (rev 216633)
+++ trunk/Source/WebCore/ChangeLog	2017-05-10 23:05:09 UTC (rev 216634)
@@ -1,3 +1,16 @@
+2017-05-10  Tim Horton  <timothy_hor...@apple.com>
+
+        Add an experimental feature flag for viewport-fit
+        https://bugs.webkit.org/show_bug.cgi?id=171948
+        <rdar://problem/31995518>
+
+        Reviewed by Simon Fraser.
+
+        * dom/ViewportArguments.cpp:
+        (WebCore::setViewportFeature):
+        * page/Settings.in:
+        Disable parsing of viewport-fit if the experimental feature is disabled.
+
 2017-05-10  Chris Dumez  <cdu...@apple.com>
 
         Simplify relationship between Attr and Element now that Attr is childless

Modified: trunk/Source/WebCore/dom/ViewportArguments.cpp (216633 => 216634)


--- trunk/Source/WebCore/dom/ViewportArguments.cpp	2017-05-10 22:57:28 UTC (rev 216633)
+++ trunk/Source/WebCore/dom/ViewportArguments.cpp	2017-05-10 23:05:09 UTC (rev 216634)
@@ -32,6 +32,7 @@
 #include "Frame.h"
 #include "IntSize.h"
 #include "ScriptableDocumentParser.h"
+#include "Settings.h"
 #include "TextStream.h"
 
 namespace WebCore {
@@ -417,7 +418,7 @@
 #endif
     else if (equalLettersIgnoringASCIICase(key, "shrink-to-fit"))
         arguments.shrinkToFit = findBooleanValue(document, key, value);
-    else if (equalLettersIgnoringASCIICase(key, "viewport-fit"))
+    else if (equalLettersIgnoringASCIICase(key, "viewport-fit") && document.settings().viewportFitEnabled())
         arguments.viewportFit = parseViewportFitValue(document, key, value);
     else
         reportViewportWarning(document, UnrecognizedViewportArgumentKeyError, key);

Modified: trunk/Source/WebCore/page/Settings.in (216633 => 216634)


--- trunk/Source/WebCore/page/Settings.in	2017-05-10 22:57:28 UTC (rev 216633)
+++ trunk/Source/WebCore/page/Settings.in	2017-05-10 23:05:09 UTC (rev 216634)
@@ -294,3 +294,5 @@
 subresourceIntegrityEnabled initial=true
 
 constantPropertiesEnabled initial=false
+
+viewportFitEnabled initial=false

Modified: trunk/Source/WebKit2/ChangeLog (216633 => 216634)


--- trunk/Source/WebKit2/ChangeLog	2017-05-10 22:57:28 UTC (rev 216633)
+++ trunk/Source/WebKit2/ChangeLog	2017-05-10 23:05:09 UTC (rev 216634)
@@ -1,3 +1,16 @@
+2017-05-10  Tim Horton  <timothy_hor...@apple.com>
+
+        Add an experimental feature flag for viewport-fit
+        https://bugs.webkit.org/show_bug.cgi?id=171948
+        <rdar://problem/31995518>
+
+        Reviewed by Simon Fraser.
+
+        * Shared/WebPreferencesDefinitions.h:
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::updatePreferences):
+        Add an experimental feature flag.
+
 2017-05-10  Alex Christensen  <achristen...@webkit.org>
 
         Include headers in WebKit.h

Modified: trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h (216633 => 216634)


--- trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h	2017-05-10 22:57:28 UTC (rev 216633)
+++ trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h	2017-05-10 23:05:09 UTC (rev 216634)
@@ -351,6 +351,7 @@
     macro(ResourceTimingEnabled, resourceTimingEnabled, Bool, bool, DEFAULT_RESOURCE_TIMING_ENABLED, "Resource Timing", "Enable ResourceTiming API") \
     macro(SubtleCryptoEnabled, subtleCryptoEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "SubtleCrypto", "Enable SubtleCrypto support") \
     macro(UserTimingEnabled, userTimingEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "User Timing", "Enable UserTiming API") \
+    macro(ViewportFitEnabled, viewportFitEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Viewport Fit", "Enable viewport-fit viewport parameter") \
     macro(WebAnimationsEnabled, webAnimationsEnabled, Bool, bool, false, "Web Animations", "Web Animations prototype") \
     macro(WebGL2Enabled, webGL2Enabled, Bool, bool, false, "WebGL 2.0", "WebGL 2 prototype") \
     macro(WebGPUEnabled, webGPUEnabled, Bool, bool, false, "WebGPU", "WebGPU prototype") \

Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (216633 => 216634)


--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2017-05-10 22:57:28 UTC (rev 216633)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2017-05-10 23:05:09 UTC (rev 216634)
@@ -3342,6 +3342,8 @@
 
     settings.setConstantPropertiesEnabled(store.getBoolValueForKey(WebPreferencesKey::constantPropertiesEnabledKey()));
 
+    settings.setViewportFitEnabled(store.getBoolValueForKey(WebPreferencesKey::viewportFitEnabledKey()));
+
     settings.setVisualViewportEnabled(store.getBoolValueForKey(WebPreferencesKey::visualViewportEnabledKey()));
 
     settings.setInputEventsEnabled(store.getBoolValueForKey(WebPreferencesKey::inputEventsEnabledKey()));
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to