Title: [210976] trunk
Revision
210976
Author
[email protected]
Date
2017-01-20 13:04:24 -0800 (Fri, 20 Jan 2017)

Log Message

Web Animations should be off by default and enabled as an experimental feature
https://bugs.webkit.org/show_bug.cgi?id=167115
<rdar://problem/30048963>

Patch by Antoine Quint <[email protected]> on 2017-01-20
Reviewed by Joseph Pecoraro.

Source/WebCore:

Conditionalize the existing parts of the Web Animations API so that they may be
toggled at runtime.

* animation/Animatable.idl:
* animation/AnimationEffect.idl:
* animation/AnimationTimeline.idl:
* animation/DocumentAnimation.idl:
* animation/DocumentTimeline.idl:
* animation/KeyframeEffect.idl:
* animation/WebAnimation.idl:
* page/RuntimeEnabledFeatures.cpp:
(WebCore::RuntimeEnabledFeatures::reset):
* page/RuntimeEnabledFeatures.h:

Source/WebKit2:

Promote, or relegate depending on how you see things, the Web Animations preference
to an experimental feature.

* Shared/WebPreferencesDefinitions.h:

Tools:

Turn Web Animations on in DRT.

* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebPreferencesToConsistentValues):

Websites/webkit.org:

Add a test for Web Animations feature detection.

* experimental-features.html:

LayoutTests:

No need for an explicit preference anymore.

* webanimations/script-tests/Document.js:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (210975 => 210976)


--- trunk/LayoutTests/ChangeLog	2017-01-20 20:44:47 UTC (rev 210975)
+++ trunk/LayoutTests/ChangeLog	2017-01-20 21:04:24 UTC (rev 210976)
@@ -1,3 +1,15 @@
+2017-01-20  Antoine Quint  <[email protected]>
+
+        Web Animations should be off by default and enabled as an experimental feature
+        https://bugs.webkit.org/show_bug.cgi?id=167115
+        <rdar://problem/30048963>
+
+        Reviewed by Joseph Pecoraro.
+
+        No need for an explicit preference anymore.
+
+        * webanimations/script-tests/Document.js:
+
 2017-01-20  Ryan Haddad  <[email protected]>
 
         Skipping pointer-lock tests on macOS WK2.

Modified: trunk/LayoutTests/webanimations/script-tests/Document.js (210975 => 210976)


--- trunk/LayoutTests/webanimations/script-tests/Document.js	2017-01-20 20:44:47 UTC (rev 210975)
+++ trunk/LayoutTests/webanimations/script-tests/Document.js	2017-01-20 21:04:24 UTC (rev 210976)
@@ -1,9 +1,5 @@
 description("Web Animation API: Document interface extension test.");
 
-// Enable Web Animations API.
-if (window.testRunner)
-    window.testRunner.overridePreference("WebKitWebAnimationsEnabled", "1");
-
 var iframe = document.getElementById("iframe");
 var target = document.getElementById("target");
 

Modified: trunk/Source/WebCore/ChangeLog (210975 => 210976)


--- trunk/Source/WebCore/ChangeLog	2017-01-20 20:44:47 UTC (rev 210975)
+++ trunk/Source/WebCore/ChangeLog	2017-01-20 21:04:24 UTC (rev 210976)
@@ -1,5 +1,27 @@
 2017-01-20  Antoine Quint  <[email protected]>
 
+        Web Animations should be off by default and enabled as an experimental feature
+        https://bugs.webkit.org/show_bug.cgi?id=167115
+        <rdar://problem/30048963>
+
+        Reviewed by Joseph Pecoraro.
+
+        Conditionalize the existing parts of the Web Animations API so that they may be
+        toggled at runtime.
+
+        * animation/Animatable.idl:
+        * animation/AnimationEffect.idl:
+        * animation/AnimationTimeline.idl:
+        * animation/DocumentAnimation.idl:
+        * animation/DocumentTimeline.idl:
+        * animation/KeyframeEffect.idl:
+        * animation/WebAnimation.idl:
+        * page/RuntimeEnabledFeatures.cpp:
+        (WebCore::RuntimeEnabledFeatures::reset):
+        * page/RuntimeEnabledFeatures.h:
+
+2017-01-20  Antoine Quint  <[email protected]>
+
         [Modern Media Controls] Turn modern media controls on by default
         https://bugs.webkit.org/show_bug.cgi?id=165668
 

Modified: trunk/Source/WebCore/animation/Animatable.idl (210975 => 210976)


--- trunk/Source/WebCore/animation/Animatable.idl	2017-01-20 20:44:47 UTC (rev 210975)
+++ trunk/Source/WebCore/animation/Animatable.idl	2017-01-20 21:04:24 UTC (rev 210976)
@@ -28,6 +28,7 @@
 
 [
     Conditional=WEB_ANIMATIONS,
+    EnabledAtRuntime=WebAnimations,
     NoInterfaceObject
 ] interface Animatable {
 #if !defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C

Modified: trunk/Source/WebCore/animation/AnimationEffect.idl (210975 => 210976)


--- trunk/Source/WebCore/animation/AnimationEffect.idl	2017-01-20 20:44:47 UTC (rev 210975)
+++ trunk/Source/WebCore/animation/AnimationEffect.idl	2017-01-20 21:04:24 UTC (rev 210976)
@@ -28,6 +28,7 @@
 
 [
     Conditional=WEB_ANIMATIONS,
+    EnabledAtRuntime=WebAnimations,
     InterfaceName=AnimationEffectReadOnly,
     SkipVTableValidation
 ] interface AnimationEffect {

Modified: trunk/Source/WebCore/animation/AnimationTimeline.idl (210975 => 210976)


--- trunk/Source/WebCore/animation/AnimationTimeline.idl	2017-01-20 20:44:47 UTC (rev 210975)
+++ trunk/Source/WebCore/animation/AnimationTimeline.idl	2017-01-20 21:04:24 UTC (rev 210976)
@@ -28,6 +28,7 @@
 
 [
     Conditional=WEB_ANIMATIONS,
+    EnabledAtRuntime=WebAnimations,
     CustomToJSObject,
     ImplementationLacksVTable
 ] interface AnimationTimeline {

Modified: trunk/Source/WebCore/animation/DocumentAnimation.idl (210975 => 210976)


--- trunk/Source/WebCore/animation/DocumentAnimation.idl	2017-01-20 20:44:47 UTC (rev 210975)
+++ trunk/Source/WebCore/animation/DocumentAnimation.idl	2017-01-20 21:04:24 UTC (rev 210976)
@@ -27,7 +27,8 @@
  */
 
 [
-    Conditional=WEB_ANIMATIONS
+    Conditional=WEB_ANIMATIONS,
+    EnabledAtRuntime=WebAnimations,
 ] partial interface Document {
     readonly attribute DocumentTimeline timeline;
     sequence<WebAnimation> getAnimations();

Modified: trunk/Source/WebCore/animation/DocumentTimeline.idl (210975 => 210976)


--- trunk/Source/WebCore/animation/DocumentTimeline.idl	2017-01-20 20:44:47 UTC (rev 210975)
+++ trunk/Source/WebCore/animation/DocumentTimeline.idl	2017-01-20 21:04:24 UTC (rev 210976)
@@ -28,6 +28,7 @@
 
 [
     Conditional=WEB_ANIMATIONS,
+    EnabledAtRuntime=WebAnimations,
     ImplementationLacksVTable,
     // FIXME: Should be DOMHighResTimeStamp rather than double (e.g. see Performance.now()).
     Constructor(double originTime),

Modified: trunk/Source/WebCore/animation/KeyframeEffect.idl (210975 => 210976)


--- trunk/Source/WebCore/animation/KeyframeEffect.idl	2017-01-20 20:44:47 UTC (rev 210975)
+++ trunk/Source/WebCore/animation/KeyframeEffect.idl	2017-01-20 21:04:24 UTC (rev 210976)
@@ -28,6 +28,7 @@
 
 [
     Conditional=WEB_ANIMATIONS,
+    EnabledAtRuntime=WebAnimations,
     // FIXME: Constructor stub only at the moment (should accept PseudoElement target, frames and options).
     Constructor([Default=Undefined] Element? target)
     // FIXME: Add interface for and inherit from KeyframeEffectReadOnly.

Modified: trunk/Source/WebCore/animation/WebAnimation.idl (210975 => 210976)


--- trunk/Source/WebCore/animation/WebAnimation.idl	2017-01-20 20:44:47 UTC (rev 210975)
+++ trunk/Source/WebCore/animation/WebAnimation.idl	2017-01-20 21:04:24 UTC (rev 210976)
@@ -28,6 +28,7 @@
 
 [
     Conditional=WEB_ANIMATIONS,
+    EnabledAtRuntime=WebAnimations,
     InterfaceName=Animation,
     ImplementationLacksVTable,
     Constructor([Default=Undefined] AnimationEffect? effect, [Default=Undefined] AnimationTimeline? timeline)

Modified: trunk/Source/WebCore/page/RuntimeEnabledFeatures.cpp (210975 => 210976)


--- trunk/Source/WebCore/page/RuntimeEnabledFeatures.cpp	2017-01-20 20:44:47 UTC (rev 210975)
+++ trunk/Source/WebCore/page/RuntimeEnabledFeatures.cpp	2017-01-20 21:04:24 UTC (rev 210976)
@@ -103,9 +103,6 @@
 #if ENABLE(CSS_ANIMATIONS_LEVEL_2)
     m_areAnimationTriggersEnabled = false;
 #endif
-#if ENABLE(WEB_ANIMATIONS)
-    m_areWebAnimationsEnabled = false;
-#endif
 #if ENABLE(CSS_GRID_LAYOUT)
     m_cssGridLayoutEnabled = true;
 #endif

Modified: trunk/Source/WebCore/page/RuntimeEnabledFeatures.h (210975 => 210976)


--- trunk/Source/WebCore/page/RuntimeEnabledFeatures.h	2017-01-20 20:44:47 UTC (rev 210975)
+++ trunk/Source/WebCore/page/RuntimeEnabledFeatures.h	2017-01-20 21:04:24 UTC (rev 210976)
@@ -332,7 +332,7 @@
 #endif
 
 #if ENABLE(WEB_ANIMATIONS)
-    bool m_areWebAnimationsEnabled;
+    bool m_areWebAnimationsEnabled { false };
 #endif
     
     bool m_isShadowDOMEnabled;

Modified: trunk/Source/WebKit2/ChangeLog (210975 => 210976)


--- trunk/Source/WebKit2/ChangeLog	2017-01-20 20:44:47 UTC (rev 210975)
+++ trunk/Source/WebKit2/ChangeLog	2017-01-20 21:04:24 UTC (rev 210976)
@@ -1,5 +1,18 @@
 2017-01-20  Antoine Quint  <[email protected]>
 
+        Web Animations should be off by default and enabled as an experimental feature
+        https://bugs.webkit.org/show_bug.cgi?id=167115
+        <rdar://problem/30048963>
+
+        Reviewed by Joseph Pecoraro.
+
+        Promote, or relegate depending on how you see things, the Web Animations preference
+        to an experimental feature.
+
+        * Shared/WebPreferencesDefinitions.h:
+
+2017-01-20  Antoine Quint  <[email protected]>
+
         [Modern Media Controls] Turn modern media controls on by default
         https://bugs.webkit.org/show_bug.cgi?id=165668
 

Modified: trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h (210975 => 210976)


--- trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h	2017-01-20 20:44:47 UTC (rev 210975)
+++ trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h	2017-01-20 21:04:24 UTC (rev 210976)
@@ -130,7 +130,6 @@
     macro(ForceSoftwareWebGLRendering, forceSoftwareWebGLRendering, Bool, bool, false, "", "") \
     macro(Accelerated2dCanvasEnabled, accelerated2dCanvasEnabled, Bool, bool, false, "", "") \
     macro(CSSAnimationTriggersEnabled, cssAnimationTriggersEnabled, Bool, bool, true, "", "") \
-    macro(WebAnimationsEnabled, webAnimationsEnabled, Bool, bool, false, "", "") \
     macro(ForceFTPDirectoryListings, forceFTPDirectoryListings, Bool, bool, false, "", "") \
     macro(TabsToLinks, tabsToLinks, Bool, bool, DEFAULT_WEBKIT_TABSTOLINKS_ENABLED, "", "") \
     macro(DNSPrefetchingEnabled, dnsPrefetchingEnabled, Bool, bool, false, "", "") \
@@ -318,6 +317,7 @@
     macro(ModernMediaControlsEnabled, modernMediaControlsEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Modern Media Controls", "Use modern media controls look") \
     macro(InputEventsEnabled, inputEventsEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Input Events", "Enable InputEvents support") \
     macro(SubtleCryptoEnabled, subtleCryptoEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "SubtleCrypto", "Enable SubtleCrypto support") \
+    macro(WebAnimationsEnabled, webAnimationsEnabled, Bool, bool, false, "Web Animations", "Web Animations prototype") \
     macro(WebGL2Enabled, webGL2Enabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "WebGL 2.0", "WebGL 2 prototype") \
     \
 

Modified: trunk/Tools/ChangeLog (210975 => 210976)


--- trunk/Tools/ChangeLog	2017-01-20 20:44:47 UTC (rev 210975)
+++ trunk/Tools/ChangeLog	2017-01-20 21:04:24 UTC (rev 210976)
@@ -1,3 +1,18 @@
+2017-01-20  Antoine Quint  <[email protected]>
+
+        Web Animations should be off by default and enabled as an experimental feature
+        https://bugs.webkit.org/show_bug.cgi?id=167115
+        <rdar://problem/30048963>
+
+        Reviewed by Joseph Pecoraro.
+
+        Turn Web Animations on in DRT.
+
+        * DumpRenderTree/mac/DumpRenderTree.mm:
+        (resetWebPreferencesToConsistentValues):
+        * DumpRenderTree/win/DumpRenderTree.cpp:
+        (resetWebPreferencesToConsistentValues):
+
 2017-01-20  Youenn Fablet  <[email protected]>
 
         [WebRTC] Add libwebrtc build infrastructure

Modified: trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm (210975 => 210976)


--- trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm	2017-01-20 20:44:47 UTC (rev 210975)
+++ trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm	2017-01-20 21:04:24 UTC (rev 210976)
@@ -1001,6 +1001,7 @@
 
     [preferences setMediaStreamEnabled:YES];
     [preferences setPeerConnectionEnabled:YES];
+    [preferences setWebAnimationsEnabled:YES];
 
     [WebPreferences _clearNetworkLoaderSession];
     [WebPreferences _setCurrentNetworkLoaderSessionCookieAcceptPolicy:NSHTTPCookieAcceptPolicyOnlyFromMainDocumentDomain];

Modified: trunk/Tools/DumpRenderTree/win/DumpRenderTree.cpp (210975 => 210976)


--- trunk/Tools/DumpRenderTree/win/DumpRenderTree.cpp	2017-01-20 20:44:47 UTC (rev 210975)
+++ trunk/Tools/DumpRenderTree/win/DumpRenderTree.cpp	2017-01-20 21:04:24 UTC (rev 210976)
@@ -862,6 +862,7 @@
     prefsPrivate3->setCustomElementsEnabled(TRUE);
 
     prefsPrivate3->setModernMediaControlsEnabled(FALSE);
+    prefsPrivate3->setWebAnimationsEnabled(TRUE);
 
     setAlwaysAcceptCookies(false);
 }

Modified: trunk/Websites/webkit.org/ChangeLog (210975 => 210976)


--- trunk/Websites/webkit.org/ChangeLog	2017-01-20 20:44:47 UTC (rev 210975)
+++ trunk/Websites/webkit.org/ChangeLog	2017-01-20 21:04:24 UTC (rev 210976)
@@ -1,3 +1,15 @@
+2017-01-20  Antoine Quint  <[email protected]>
+
+        Web Animations should be off by default and enabled as an experimental feature
+        https://bugs.webkit.org/show_bug.cgi?id=167115
+        <rdar://problem/30048963>
+
+        Reviewed by Joseph Pecoraro.
+
+        Add a test for Web Animations feature detection.
+
+        * experimental-features.html:
+
 2017-01-19  Joseph Pecoraro  <[email protected]>
 
         Include SubtleCrypto test on experimental-features test page

Modified: trunk/Websites/webkit.org/experimental-features.html (210975 => 210976)


--- trunk/Websites/webkit.org/experimental-features.html	2017-01-20 20:44:47 UTC (rev 210975)
+++ trunk/Websites/webkit.org/experimental-features.html	2017-01-20 21:04:24 UTC (rev 210976)
@@ -106,6 +106,10 @@
     return window.crypto.subtle;
 }
 
+function testWebAnimations() {
+    return !!window.Animation;
+}
+
 window.addEventListener("load", function () {
     Array.from(document.querySelectorAll(".test")).forEach(element => {
         var enabled = false;
@@ -134,6 +138,7 @@
         <div class="test" id="InputEvents"><p>HTML Input Events</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="WebAnimations"><p>Web Animations</p></div>
         <div class="test" id="WebGL2"><p>WebGL 2.0</p></div>
     </div>
 </body>
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to