Move Resource Timing / User Timing from experimental features into main preferences
authorjoepeck@webkit.org <joepeck@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 6 Jun 2017 18:11:19 +0000 (18:11 +0000)
committerjoepeck@webkit.org <joepeck@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 6 Jun 2017 18:11:19 +0000 (18:11 +0000)
https://bugs.webkit.org/show_bug.cgi?id=172950

Reviewed by Darin Adler.

Source/WebCore:

* features.json:
Graduate some features from In Development to Supported.

Source/WebKit2:

* Shared/WebPreferencesDefinitions.h:
Move Resource Timing and User Timing out of the Experimental Features section.

Tools:

* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
(resetWebPreferencesToConsistentValues):
* DumpRenderTree/win/DumpRenderTree.cpp:
(enableExperimentalFeatures):
(resetWebPreferencesToConsistentValues):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
Move out no longer experimental features to the main list.

Websites/webkit.org:

* experimental-features.html:
Remove no longer experimental features.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@217841 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/features.json
Source/WebKit2/ChangeLog
Source/WebKit2/Shared/WebPreferencesDefinitions.h
Tools/ChangeLog
Tools/DumpRenderTree/mac/DumpRenderTree.mm
Tools/DumpRenderTree/win/DumpRenderTree.cpp
Tools/WebKitTestRunner/TestController.cpp
Websites/webkit.org/ChangeLog
Websites/webkit.org/experimental-features.html

index 9743a71..f88250d 100644 (file)
@@ -1,3 +1,13 @@
+2017-06-06  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Move Resource Timing / User Timing from experimental features into main preferences
+        https://bugs.webkit.org/show_bug.cgi?id=172950
+
+        Reviewed by Darin Adler.
+
+        * features.json:
+        Graduate some features from In Development to Supported.
+
 2017-06-06  Adrian Perez de Castro  <aperez@igalia.com>
 
         [GTK][Wayland] Do not pass value of $DISPLAY to wl_display_connect()
index ac5fef6..b19703b 100644 (file)
     {
         "name": "Performance Observer",
         "status": {
-            "status": "In Development",
-            "enabled-by-default": false
+            "status": "Supported",
+            "enabled-by-default": true
         },
         "url": "https://w3c.github.io/performance-timeline/",
         "keywords": ["performance", "performance observer", "performance timeline"],
     {
         "name": "Resource Timing Level 2",
         "status": {
-            "status": "In Development",
-            "enabled-by-default": false
+            "status": "Supported",
+            "enabled-by-default": true
         },
         "url": "https://w3c.github.io/resource-timing/",
         "webkit-url": "https://webkit.org/b/61138",
     {
         "name": "User Timing Level 2",
         "status": {
-            "status": "In Development",
-            "enabled-by-default": false
+            "status": "Supported",
+            "enabled-by-default": true
         },
         "url": "https://w3c.github.io/user-timing/",
         "keywords": ["performance", "usertiming", "user timing"],
index bd725f8..4f4d364 100644 (file)
@@ -1,3 +1,13 @@
+2017-06-06  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Move Resource Timing / User Timing from experimental features into main preferences
+        https://bugs.webkit.org/show_bug.cgi?id=172950
+
+        Reviewed by Darin Adler.
+
+        * Shared/WebPreferencesDefinitions.h:
+        Move Resource Timing and User Timing out of the Experimental Features section.
+
 2017-06-06  Youenn Fablet  <youenn@apple.com>
 
         Add an option to disable getUserMedia prompt in case of mock capture sources
index a2530df..91586f1 100644 (file)
 #define DEFAULT_MODERN_MEDIA_CONTROLS_ENABLED false
 #endif
 
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101200
+// <https://webkit.org/b/168415> El Capitan NetworkLoadTiming values are sometimes jumbled
+#define DEFAULT_RESOURCE_TIMING_ENABLED false
+#else
+#define DEFAULT_RESOURCE_TIMING_ENABLED true
+#endif
+
 // macro(KeyUpper, KeyLower, TypeNameUpper, TypeName, DefaultValue, HumanReadableName, HumanReadableDescription)
 
 #define FOR_EACH_WEBKIT_BOOL_PREFERENCE(macro) \
     macro(InputEventsEnabled, inputEventsEnabled, Bool, bool, true, "Input Events", "Enable InputEvents support") \
     macro(CredentialManagementEnabled, credentialManagementEnabled, Bool, bool, false, "Credential Management", "Enable Credential Management support") \
     macro(ModernMediaControlsEnabled, modernMediaControlsEnabled, Bool, bool, DEFAULT_MODERN_MEDIA_CONTROLS_ENABLED, "Modern Media Controls", "Use modern media controls look") \
+    macro(ResourceTimingEnabled, resourceTimingEnabled, Bool, bool, DEFAULT_RESOURCE_TIMING_ENABLED, "Resource Timing", "Enable ResourceTiming API") \
+    macro(UserTimingEnabled, userTimingEnabled, Bool, bool, true, "User Timing", "Enable UserTiming API") \
     \
 
 #define FOR_EACH_WEBKIT_DOUBLE_PREFERENCE(macro) \
 #define DEFAULT_EXPERIMENTAL_FEATURES_ENABLED false
 #endif
 
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101200
-// <https://webkit.org/b/168415> El Capitan NetworkLoadTiming values are sometimes jumbled
-#define DEFAULT_RESOURCE_TIMING_ENABLED false
-#else
-#define DEFAULT_RESOURCE_TIMING_ENABLED DEFAULT_EXPERIMENTAL_FEATURES_ENABLED
-#endif
-
 // For experimental features:
 // - The type should be boolean.
 // - You must provide the last two parameters for all experimental features. They
     macro(ConstantPropertiesEnabled, constantPropertiesEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Constant Properties", "Enable CSS constant() properties") \
     macro(SpringTimingFunctionEnabled, springTimingFunctionEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "CSS Spring Animations", "CSS Spring Animation prototype") \
     macro(LinkPreloadEnabled, linkPreloadEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Link Preload", "Link preload support") \
-    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") \
index 7ecee8c..acd767e 100644 (file)
@@ -1,3 +1,20 @@
+2017-06-06  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Move Resource Timing / User Timing from experimental features into main preferences
+        https://bugs.webkit.org/show_bug.cgi?id=172950
+
+        Reviewed by Darin Adler.
+
+        * DumpRenderTree/mac/DumpRenderTree.mm:
+        (enableExperimentalFeatures):
+        (resetWebPreferencesToConsistentValues):
+        * DumpRenderTree/win/DumpRenderTree.cpp:
+        (enableExperimentalFeatures):
+        (resetWebPreferencesToConsistentValues):
+        * WebKitTestRunner/TestController.cpp:
+        (WTR::TestController::resetPreferencesToConsistentValues):
+        Move out no longer experimental features to the main list.
+
 2017-06-06  Carlos Alberto Lopez Perez  <clopez@igalia.com>
 
         [WPE] Add an install-dependencies script
index 5f84133..9631460 100644 (file)
@@ -843,11 +843,8 @@ static void enableExperimentalFeatures(WebPreferences* preferences)
     // FIXME: SpringTimingFunction
     [preferences setGamepadsEnabled:YES];
     [preferences setLinkPreloadEnabled:YES];
-    [preferences setModernMediaControlsEnabled:YES];
     // FIXME: InputEvents
-    [preferences setResourceTimingEnabled:YES];
     [preferences setSubtleCryptoEnabled:YES];
-    [preferences setUserTimingEnabled:YES];
     [preferences setWebAnimationsEnabled:YES];
     [preferences setWebGL2Enabled:YES];
     [preferences setWebGPUEnabled:YES];
@@ -962,6 +959,10 @@ static void resetWebPreferencesToConsistentValues()
 
     [preferences setLargeImageAsyncDecodingEnabled:NO];
 
+    [preferences setModernMediaControlsEnabled:YES];
+    [preferences setResourceTimingEnabled:YES];
+    [preferences setUserTimingEnabled:YES];
+
     [WebPreferences _clearNetworkLoaderSession];
     [WebPreferences _setCurrentNetworkLoaderSessionCookieAcceptPolicy:NSHTTPCookieAcceptPolicyOnlyFromMainDocumentDomain];
 }
index a9d9a8c..936460b 100644 (file)
@@ -776,9 +776,7 @@ static void enableExperimentalFeatures(IWebPreferences* preferences)
     prefsPrivate4->setLinkPreloadEnabled(TRUE);
     // FIXME: ModernMediaControls
     // FIXME: InputEvents
-    prefsPrivate4->setResourceTimingEnabled(TRUE);
     // FIXME: SubtleCrypto
-    prefsPrivate4->setUserTimingEnabled(TRUE);
     prefsPrivate4->setWebAnimationsEnabled(TRUE);
     // FIXME: WebGL2
     // FIXME: WebRTC
@@ -880,6 +878,8 @@ static void resetWebPreferencesToConsistentValues(IWebPreferences* preferences)
     prefsPrivate4->setShadowDOMEnabled(TRUE);
     prefsPrivate4->setCustomElementsEnabled(TRUE);
     prefsPrivate4->setModernMediaControlsEnabled(FALSE);
+    prefsPrivate4->setResourceTimingEnabled(TRUE);
+    prefsPrivate4->setUserTimingEnabled(TRUE);
     prefsPrivate4->clearNetworkLoaderSession();
 
     setAlwaysAcceptCookies(false);
index f4851f4..5eff1c3 100644 (file)
@@ -715,6 +715,7 @@ void TestController::resetPreferencesToConsistentValues(const TestOptions& optio
     WKPreferencesSetStorageBlockingPolicy(preferences, kWKAllowAllStorage);
 
     WKPreferencesSetResourceTimingEnabled(preferences, true);
+    WKPreferencesSetUserTimingEnabled(preferences, true);
 
     WKPreferencesSetMediaPlaybackAllowsInline(preferences, true);
     WKPreferencesSetInlineMediaPlaybackRequiresPlaysInlineAttribute(preferences, false);
index ad74d52..2007dc9 100644 (file)
@@ -1,3 +1,13 @@
+2017-06-06  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Move Resource Timing / User Timing from experimental features into main preferences
+        https://bugs.webkit.org/show_bug.cgi?id=172950
+
+        Reviewed by Darin Adler.
+
+        * experimental-features.html:
+        Remove no longer experimental features.
+
 2017-06-02  Filip Pizlo  <fpizlo@apple.com>
 
         Atomics.load and Atomics.store need to be fully fenced
index 737b15e..147007c 100644 (file)
@@ -69,19 +69,11 @@ body {
 window.es6modules = true;
 </script>
 <script>
-function testCSSGrid() {
-    return CSS.supports("display", "grid");
-}
-
 function testLinkPreload() {
     var link = document.createElement("link");
     return link.relList.supports("preload");
 }
 
-function testGamepad() {
-    return navigator.getGamepads;
-}
-
 function testSpringAnimation() {
     return CSS.supports("transition-timing-function", "spring(1 100 10 0)");
 }
@@ -90,30 +82,14 @@ function testVariationFonts() {
     return CSS.supports("font-variation-settings", '"XHGT" 0.7');
 }
 
-function testFormValidation() {
-    return "reportValidity" in HTMLInputElement.prototype;
-}
-
-function testInputEvents() {
-    return window.InputEvent;
-}
-
 function testES6Modules() {
     return window.es6modules;
 }
 
-function testResourceTiming() {
-    return !!window.PerformanceResourceTiming;
-}
-
 function testSubtleCrypto() {
     return window.crypto.subtle;
 }
 
-function testUserTiming() {
-    return !!window.PerformanceMark;
-}
-
 function testWebAnimations() {
     return !!window.Animation;
 }
@@ -147,17 +123,11 @@ window.addEventListener("load", function () {
         <p>Toggle experimental features via the Develop menu (requires reload to take effect).</p>
         <p>These tests do not exercise actual functionality. They are just the most basic check to see if the feature claims to be available.</p>
 
-        <div class="test" id="CSSGrid"><p>CSS Grid</p></div>
         <div class="test" id="SpringAnimation"><p>CSS Spring Animations</p></div>
         <div class="test" id="ES6Modules"><p>ES6 Modules in HTML</p></div>
-        <div class="test" id="Gamepad"><p>Gamepad API</p></div>
-        <div class="test" id="FormValidation"><p>HTML Form Validation</p></div>
-        <div class="test" id="InputEvents"><p>HTML Input Events</p></div>
         <div class="test" id="LinkPreload"><p>Link Preload</p></div>
-        <div class="test" id="ResourceTiming"><p>Resource Timing</p></div>
         <div class="test" id="SubtleCrypto"><p>SubtleCrypto</p></div>
         <div class="test" id="VariationFonts"><p>Variation Fonts</p></div>
-        <div class="test" id="UserTiming"><p>User Timing</p></div>
         <div class="test" id="WebAnimations"><p>Web Animations</p></div>
         <div class="test" id="WebGL2"><p>WebGL 2.0</p></div>
         <div class="test" id="WebRTC"><p>WebRTC</p></div>