[web-animations] Add AnimationTimeline, DocumentTimeline and add extensions to Docume...
authordino@apple.com <dino@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 25 Feb 2016 01:11:54 +0000 (01:11 +0000)
committerdino@apple.com <dino@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 25 Feb 2016 01:11:54 +0000 (01:11 +0000)
https://bugs.webkit.org/show_bug.cgi?id=151688

Patch by Nikos Andronikos <nikos.andronikos-webkit@cisra.canon.com.au> on 2016-02-24
Reviewed by Dean Jackson.

.:

Enables the WEB_ANIMATIONS compiler switch.

* Source/cmake/OptionsWin.cmake:

Source/JavaScriptCore:

Enables the WEB_ANIMATIONS compiler switch.

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

- Adds DocumentTimeline interface and class implementation
- Implements the DocumentAnimation extension to the Document Interface that contains a default DocumentTimeline
- Add AnimationTimeline interface stub (i.e. without getAnimations and currentTime)
- Adds AnimationTimeline class implementation for AnimationTimeline interface stub
- Adds Javascript bindings for the above classes and interfaces
- Enables the WEB_ANIMATIONS compiler switch

No tests yet.  Tests will be added as class functionality is added incrementally.

* CMakeLists.txt:
* Configurations/FeatureDefines.xcconfig:
* DerivedSources.make:
* PlatformGTK.cmake:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.vcxproj/WebCoreIncludeCommon.props:
* WebCore.vcxproj/copyForwardingHeaders.cmd:
* WebCore.xcodeproj/project.pbxproj:
* animation/AnimationTimeline.cpp: Added.
(WebCore::AnimationTimeline::AnimationTimeline):
(WebCore::AnimationTimeline::~AnimationTimeline):
(WebCore::AnimationTimeline::destroy):
* animation/AnimationTimeline.h: Added.
(WebCore::AnimationTimeline::deref):
(WebCore::AnimationTimeline::isDocumentTimeline):
(WebCore::AnimationTimeline::classType):
* animation/AnimationTimeline.idl: Added.
* animation/DocumentAnimation.cpp: Added.
(WebCore::DocumentAnimation::DocumentAnimation):
(WebCore::DocumentAnimation::~DocumentAnimation):
(WebCore::DocumentAnimation::timeline):
(WebCore::DocumentAnimation::supplementName):
(WebCore::DocumentAnimation::from):
* animation/DocumentAnimation.h: Added.
* animation/DocumentAnimation.idl: Added.
* animation/DocumentTimeline.cpp: Added.
(WebCore::DocumentTimeline::create):
(WebCore::DocumentTimeline::DocumentTimeline):
(WebCore::DocumentTimeline::~DocumentTimeline):
* animation/DocumentTimeline.h: Added.
* animation/DocumentTimeline.idl: Added.
* bindings/js/JSAnimationTimelineCustom.cpp: Added.
(WebCore::toJS):
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/scripts/CodeGeneratorGObject.pm:
* dom/Document.h:

Source/WebKit/mac:

Enables the WEB_ANIMATIONS compiler switch.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Enables the WEB_ANIMATIONS compiler switch.

* Configurations/FeatureDefines.xcconfig:

Source/WTF:

Enables the WEB_ANIMATIONS compiler switch.

* wtf/FeatureDefines.h:

Tools:

Enables the WEB_ANIMATIONS compiler switch by default.

* Scripts/webkitperl/FeatureList.pm:

WebKitLibraries:

Enables the WEB_ANIMATIONS compiler switch.

* win/tools/vsprops/FeatureDefines.props:
* win/tools/vsprops/FeatureDefinesCairo.props:

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

38 files changed:
ChangeLog
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig
Source/WTF/ChangeLog
Source/WTF/wtf/FeatureDefines.h
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/Configurations/FeatureDefines.xcconfig
Source/WebCore/DerivedSources.make
Source/WebCore/PlatformGTK.cmake
Source/WebCore/WebCore.vcxproj/WebCore.vcxproj
Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters
Source/WebCore/WebCore.vcxproj/WebCoreIncludeCommon.props
Source/WebCore/WebCore.vcxproj/copyForwardingHeaders.cmd
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/animation/AnimationTimeline.cpp [new file with mode: 0644]
Source/WebCore/animation/AnimationTimeline.h [new file with mode: 0644]
Source/WebCore/animation/AnimationTimeline.idl [new file with mode: 0644]
Source/WebCore/animation/DocumentAnimation.cpp [new file with mode: 0644]
Source/WebCore/animation/DocumentAnimation.h [new file with mode: 0644]
Source/WebCore/animation/DocumentAnimation.idl [new file with mode: 0644]
Source/WebCore/animation/DocumentTimeline.cpp [new file with mode: 0644]
Source/WebCore/animation/DocumentTimeline.h [new file with mode: 0644]
Source/WebCore/animation/DocumentTimeline.idl [new file with mode: 0644]
Source/WebCore/bindings/js/JSAnimationTimelineCustom.cpp [new file with mode: 0644]
Source/WebCore/bindings/js/JSBindingsAllInOne.cpp
Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm
Source/WebCore/dom/Document.h
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/Configurations/FeatureDefines.xcconfig
Source/WebKit2/ChangeLog
Source/WebKit2/Configurations/FeatureDefines.xcconfig
Source/cmake/OptionsWin.cmake
Tools/ChangeLog
Tools/Scripts/webkitperl/FeatureList.pm
WebKitLibraries/ChangeLog
WebKitLibraries/win/tools/vsprops/FeatureDefines.props
WebKitLibraries/win/tools/vsprops/FeatureDefinesCairo.props

index 634c027..7117ce7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2016-02-24  Nikos Andronikos  <nikos.andronikos-webkit@cisra.canon.com.au>
+
+        [web-animations] Add AnimationTimeline, DocumentTimeline and add extensions to Document interface
+        https://bugs.webkit.org/show_bug.cgi?id=151688
+
+        Reviewed by Dean Jackson.
+
+        Enables the WEB_ANIMATIONS compiler switch.
+
+        * Source/cmake/OptionsWin.cmake:
+
 2016-02-24  Konstantin Tokarev  <annulen@yandex.ru>
 
         [cmake] Moved PRE/POST_BUILD_COMMAND to WEBKIT_FRAMEWORK.
index 7401b7c..bc5467a 100644 (file)
@@ -1,3 +1,14 @@
+2016-02-24  Nikos Andronikos  <nikos.andronikos-webkit@cisra.canon.com.au>
+
+        [web-animations] Add AnimationTimeline, DocumentTimeline and add extensions to Document interface
+        https://bugs.webkit.org/show_bug.cgi?id=151688
+
+        Reviewed by Dean Jackson.
+
+        Enables the WEB_ANIMATIONS compiler switch.
+
+        * Configurations/FeatureDefines.xcconfig:
+
 2016-02-24  Konstantin Tokarev  <annulen@yandex.ru>
 
         [cmake] Moved PRE/POST_BUILD_COMMAND to WEBKIT_FRAMEWORK.
index a1e7b84..2db1abb 100644 (file)
@@ -178,7 +178,7 @@ ENABLE_VIEW_MODE_CSS_MEDIA = ;
 ENABLE_WEBASSEMBLY = ;
 ENABLE_WEBGL = ENABLE_WEBGL;
 ENABLE_WEBGL2 = ;
-ENABLE_WEB_ANIMATIONS = ;
+ENABLE_WEB_ANIMATIONS = ENABLE_WEB_ANIMATIONS;
 ENABLE_WEB_AUDIO = ENABLE_WEB_AUDIO;
 ENABLE_WEB_REPLAY = $(ENABLE_WEB_REPLAY_$(PLATFORM_NAME)_$(CONFIGURATION));
 ENABLE_WEB_REPLAY_macosx_Debug = ENABLE_WEB_REPLAY;
index 5456335..9a4f7b1 100644 (file)
@@ -1,3 +1,14 @@
+2016-02-24  Nikos Andronikos  <nikos.andronikos-webkit@cisra.canon.com.au>
+
+        [web-animations] Add AnimationTimeline, DocumentTimeline and add extensions to Document interface
+        https://bugs.webkit.org/show_bug.cgi?id=151688
+
+        Reviewed by Dean Jackson.
+
+        Enables the WEB_ANIMATIONS compiler switch.
+
+        * wtf/FeatureDefines.h:
+
 2016-02-24  Konstantin Tokarev  <annulen@yandex.ru>
 
         [cmake] Moved PRE/POST_BUILD_COMMAND to WEBKIT_FRAMEWORK.
index b8d4999..f35f8d5 100644 (file)
@@ -792,7 +792,7 @@ the public iOS SDK. We will also need to update the FeatureDefines.xcconfig file
 #endif
 
 #if !defined(ENABLE_WEB_ANIMATIONS)
-#define ENABLE_WEB_ANIMATIONS 0
+#define ENABLE_WEB_ANIMATIONS 1
 #endif
 
 #if !defined(ENABLE_WEB_ARCHIVE)
index 241c660..9c66d1a 100644 (file)
@@ -30,6 +30,7 @@ set(WebCore_INCLUDE_DIRECTORIES
     "${WEBCORE_DIR}/Modules/webdatabase"
     "${WEBCORE_DIR}/Modules/websockets"
     "${WEBCORE_DIR}/accessibility"
+    "${WEBCORE_DIR}/animation"
     "${WEBCORE_DIR}/bindings"
     "${WEBCORE_DIR}/bindings/generic"
     "${WEBCORE_DIR}/bindings/js"
@@ -116,6 +117,7 @@ set(WebCore_SYSTEM_INCLUDE_DIRECTORIES
 )
 
 set(WebCore_IDL_INCLUDES
+    animation
     css
     dom
     fileapi
@@ -1102,6 +1104,7 @@ set(WebCore_SOURCES
     bindings/js/Dictionary.cpp
     bindings/js/GCController.cpp
     bindings/js/IDBBindingUtilities.cpp
+    bindings/js/JSAnimationTimelineCustom.cpp
     bindings/js/JSAttrCustom.cpp
     bindings/js/JSAudioBufferSourceNodeCustom.cpp
     bindings/js/JSAudioContextCustom.cpp
@@ -3018,6 +3021,20 @@ list(APPEND WebCore_CSS_VALUE_KEYWORDS
     ${WEBCORE_DIR}/css/SVGCSSValueKeywords.in
 )
 
+if (ENABLE_WEB_ANIMATIONS)
+    list(APPEND WebCore_IDL_FILES
+        "animation/AnimationTimeline.idl"
+        "animation/DocumentAnimation.idl"
+        "animation/DocumentTimeline.idl"
+    )
+
+    list(APPEND WebCore_SOURCES
+        "animation/AnimationTimeline.cpp"
+        "animation/DocumentAnimation.cpp"
+        "animation/DocumentTimeline.cpp"
+    )
+endif ()
+
 if (ENABLE_WEBGL)
     list(APPEND WebCore_SOURCES
         html/canvas/ANGLEInstancedArrays.cpp
index 4368044..fb811d4 100644 (file)
@@ -1,3 +1,57 @@
+2016-02-24  Nikos Andronikos  <nikos.andronikos-webkit@cisra.canon.com.au>
+
+        [web-animations] Add AnimationTimeline, DocumentTimeline and add extensions to Document interface
+        https://bugs.webkit.org/show_bug.cgi?id=151688
+
+        Reviewed by Dean Jackson.
+
+        - Adds DocumentTimeline interface and class implementation
+        - Implements the DocumentAnimation extension to the Document Interface that contains a default DocumentTimeline
+        - Add AnimationTimeline interface stub (i.e. without getAnimations and currentTime)
+        - Adds AnimationTimeline class implementation for AnimationTimeline interface stub
+        - Adds Javascript bindings for the above classes and interfaces
+        - Enables the WEB_ANIMATIONS compiler switch
+
+        No tests yet.  Tests will be added as class functionality is added incrementally.
+
+        * CMakeLists.txt:
+        * Configurations/FeatureDefines.xcconfig:
+        * DerivedSources.make:
+        * PlatformGTK.cmake:
+        * WebCore.vcxproj/WebCore.vcxproj:
+        * WebCore.vcxproj/WebCore.vcxproj.filters:
+        * WebCore.vcxproj/WebCoreIncludeCommon.props:
+        * WebCore.vcxproj/copyForwardingHeaders.cmd:
+        * WebCore.xcodeproj/project.pbxproj:
+        * animation/AnimationTimeline.cpp: Added.
+        (WebCore::AnimationTimeline::AnimationTimeline):
+        (WebCore::AnimationTimeline::~AnimationTimeline):
+        (WebCore::AnimationTimeline::destroy):
+        * animation/AnimationTimeline.h: Added.
+        (WebCore::AnimationTimeline::deref):
+        (WebCore::AnimationTimeline::isDocumentTimeline):
+        (WebCore::AnimationTimeline::classType):
+        * animation/AnimationTimeline.idl: Added.
+        * animation/DocumentAnimation.cpp: Added.
+        (WebCore::DocumentAnimation::DocumentAnimation):
+        (WebCore::DocumentAnimation::~DocumentAnimation):
+        (WebCore::DocumentAnimation::timeline):
+        (WebCore::DocumentAnimation::supplementName):
+        (WebCore::DocumentAnimation::from):
+        * animation/DocumentAnimation.h: Added.
+        * animation/DocumentAnimation.idl: Added.
+        * animation/DocumentTimeline.cpp: Added.
+        (WebCore::DocumentTimeline::create):
+        (WebCore::DocumentTimeline::DocumentTimeline):
+        (WebCore::DocumentTimeline::~DocumentTimeline):
+        * animation/DocumentTimeline.h: Added.
+        * animation/DocumentTimeline.idl: Added.
+        * bindings/js/JSAnimationTimelineCustom.cpp: Added.
+        (WebCore::toJS):
+        * bindings/js/JSBindingsAllInOne.cpp:
+        * bindings/scripts/CodeGeneratorGObject.pm:
+        * dom/Document.h:
+
 2016-02-24  Brady Eidson  <beidson@apple.com>
 
         Modern IDB: Some w3c objectstore tests crash under GuardMalloc.
index a1e7b84..2db1abb 100644 (file)
@@ -178,7 +178,7 @@ ENABLE_VIEW_MODE_CSS_MEDIA = ;
 ENABLE_WEBASSEMBLY = ;
 ENABLE_WEBGL = ENABLE_WEBGL;
 ENABLE_WEBGL2 = ;
-ENABLE_WEB_ANIMATIONS = ;
+ENABLE_WEB_ANIMATIONS = ENABLE_WEB_ANIMATIONS;
 ENABLE_WEB_AUDIO = ENABLE_WEB_AUDIO;
 ENABLE_WEB_REPLAY = $(ENABLE_WEB_REPLAY_$(PLATFORM_NAME)_$(CONFIGURATION));
 ENABLE_WEB_REPLAY_macosx_Debug = ENABLE_WEB_REPLAY;
index dc7c8d9..4368379 100644 (file)
@@ -47,6 +47,7 @@ VPATH = \
     $(WebCore)/Modules/webaudio \
     $(WebCore)/Modules/webdatabase \
     $(WebCore)/Modules/websockets \
+    $(WebCore)/animation \
     $(WebCore)/bindings/generic \
     $(WebCore)/bindings/js \
     $(WebCore)/bindings/objc \
@@ -221,6 +222,9 @@ NON_SVG_BINDING_IDLS = \
     $(WebCore)/Modules/webdatabase/SQLTransactionErrorCallback.idl \
     $(WebCore)/Modules/websockets/CloseEvent.idl \
     $(WebCore)/Modules/websockets/WebSocket.idl \
+    $(WebCore)/animation/AnimationTimeline.idl \
+    $(WebCore)/animation/DocumentAnimation.idl \
+    $(WebCore)/animation/DocumentTimeline.idl \
     $(WebCore)/crypto/CryptoKey.idl \
     $(WebCore)/crypto/CryptoKeyPair.idl \
     $(WebCore)/crypto/SubtleCrypto.idl \
@@ -1187,6 +1191,7 @@ preprocess_idls_script = $(PERL) $(addprefix -I $(WebCore)/, $(sort $(dir $(1)))
 
 IDL_INCLUDES = \
     $(WebCore)/Modules \
+    $(WebCore)/animation \
     $(WebCore)/css \
     $(WebCore)/dom \
     $(WebCore)/fileapi \
index dd4fa84..7d126b5 100644 (file)
@@ -581,6 +581,14 @@ list(APPEND GObjectDOMBindingsUnstable_IDL_FILES
     storage/Storage.idl
 )
 
+if (ENABLE_WEB_ANIMATIONS)
+    list(APPEND GObjectDOMBindingsUnstable_IDL_FILES
+        animation/AnimationTimeline.idl
+        animation/DocumentAnimation.idl
+        animation/DocumentTimeline.idl
+    )
+endif ()
+
 if (ENABLE_VIDEO OR ENABLE_WEB_AUDIO)
     list(APPEND GObjectDOMBindingsUnstable_IDL_FILES
         html/HTMLAudioElement.idl
index eb2cb7e..8d75393 100644 (file)
     <ClCompile Include="..\accessibility\win\AccessibilityObjectWrapperWin.cpp" />
     <ClCompile Include="..\accessibility\win\AccessibilityObjectWin.cpp" />
     <ClCompile Include="..\accessibility\win\AXObjectCacheWin.cpp" />
+    <ClCompile Include="..\animation\AnimationTimeline.cpp" />
+    <ClCompile Include="..\animation\DocumentAnimation.cpp" />
+    <ClCompile Include="..\animation\DocumentTimeline.cpp" />
     <ClCompile Include="..\page\animation\AnimationBase.cpp" />
     <ClCompile Include="..\page\animation\AnimationController.cpp" />
     <ClCompile Include="..\page\AutoscrollController.cpp" />
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
     </ClCompile>
+    <ClCompile Include="..\bindings\js\JSAnimationTimelineCustom.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
+    </ClCompile>
     <ClCompile Include="..\bindings\js\JSAttrCustom.cpp">
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
     <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorOverlayPage.h" />
     <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources\JSAbstractWorker.h" />
     <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSAnimationEvent.h" />
+    <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSAnimationTimeline.h" />
     <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSAttr.h" />
     <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSBarProp.h" />
     <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSBeforeLoadEvent.h" />
index 3c463a1..4e5c83f 100644 (file)
@@ -51,6 +51,9 @@
     <Filter Include="accessibility\win">
       <UniqueIdentifier>{ba6a9615-8a72-46b3-8dad-fb37827a6c2e}</UniqueIdentifier>
     </Filter>
+    <Filter Include="animation">
+      <UniqueIdentifier>{5b830fd2-1abd-47b4-a60b-c2f60d6ac69a}</UniqueIdentifier>
+    </Filter>
     <Filter Include="page">
       <UniqueIdentifier>{d529e33b-38d5-469a-a6d6-20de67cd030e}</UniqueIdentifier>
     </Filter>
     <ClCompile Include="..\accessibility\win\AXObjectCacheWin.cpp">
       <Filter>accessibility\win</Filter>
     </ClCompile>
+    <ClCompile Include="..\animation\AnimationTimeline.cpp">
+      <Filter>animation</Filter>
+    </ClCompile>
+    <ClCompile Include="..\animation\DocumentAnimation.cpp">
+      <Filter>animation</Filter>
+    </ClCompile>
+    <ClCompile Include="..\animation\DocumentTimeline.cpp">
+      <Filter>animation</Filter>
+    </ClCompile>
     <ClCompile Include="..\page\animation\AnimationBase.cpp">
       <Filter>page</Filter>
     </ClCompile>
     <ClCompile Include="..\bindings\js\IDBBindingUtilities.cpp">
       <Filter>bindings\js</Filter>
     </ClCompile>
+    <ClCompile Include="..\bindings\js\JSAnimationTimelineCustom.cpp">
+      <Filter>bindings\js</Filter>
+    </ClCompile>
     <ClCompile Include="..\bindings\js\JSAttrCustom.cpp">
       <Filter>bindings\js</Filter>
     </ClCompile>
     <ClInclude Include="..\accessibility\win\AccessibilityObjectWrapperWin.h">
       <Filter>accessibility\win</Filter>
     </ClInclude>
+    <ClInclude Include="..\animation\AnimationTimeline.h">
+      <Filter>animation</Filter>
+    </ClInclude>
+    <ClInclude Include="..\animation\DocumentAnimation.h">
+      <Filter>animation</Filter>
+    </ClInclude>
+    <ClInclude Include="..\animation\DocumentTimeline.h">
+      <Filter>animation</Filter>
+    </ClInclude>
     <ClInclude Include="..\page\AdjustViewSizeOrNot.h">
       <Filter>page</Filter>
     </ClInclude>
     <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSAnimationEvent.h">
       <Filter>DerivedSources</Filter>
     </ClInclude>
+    <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSAnimationTimeline.h">
+      <Filter>DerivedSources</Filter>
+    </ClInclude>
     <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSAttr.h">
       <Filter>DerivedSources</Filter>
     </ClInclude>
index e00de52..2500cdb 100644 (file)
@@ -5,7 +5,7 @@
   </PropertyGroup>
   <ItemDefinitionGroup>
     <ClCompile>
-      <AdditionalIncludeDirectories>$(ProjectDir)..;$(ProjectDir)..\Modules\mediacontrols;$(ProjectDir)..\Modules\mediasession;$(ProjectDir)..\Modules\mediastream;$(ProjectDir)..\Modules\encryptedmedia;$(ProjectDir)..\Modules\filesystem;$(ProjectDir)..\Modules\gamepad;$(ProjectDir)..\Modules\geolocation;$(ProjectDir)..\Modules\indexeddb;$(ProjectDir)..\Modules\indexeddb\legacy;$(ProjectDir)..\Modules\indexeddb\shared;$(ProjectDir)..\Modules\mediasource;$(ProjectDir)..\Modules\navigatorcontentutils;$(ProjectDir)..\Modules\plugins;$(ProjectDir)..\Modules\speech;$(ProjectDir)..\Modules\proximity;$(ProjectDir)..\Modules\quota;$(ProjectDir)..\Modules\notifications;$(ProjectDir)..\Modules\streams;$(ProjectDir)..\Modules\webdatabase;$(ProjectDir)..\Modules\websockets;$(ProjectDir)..\accessibility;$(ProjectDir)..\accessibility\win;$(ProjectDir)..\bridge;$(ProjectDir)..\bridge\c;$(ProjectDir)..\bridge\jsc;$(ProjectDir)..\css;$(ProjectDir)..\cssjit;$(ProjectDir)..\contentextensions;$(ProjectDir)..\editing;$(ProjectDir)..\fileapi;$(ProjectDir)..\rendering;$(ProjectDir)..\rendering\line;$(ProjectDir)..\rendering\mathml;$(ProjectDir)..\rendering\shapes;$(ProjectDir)..\rendering\style;$(ProjectDir)..\rendering\svg;$(ProjectDir)..\bindings;$(ProjectDir)..\bindings\generic;$(ProjectDir)..\bindings\js;$(ProjectDir)..\bindings\js\specialization;$(ProjectDir)..\dom;$(ProjectDir)..\dom\default;$(ProjectDir)..\history;$(ProjectDir)..\html;$(ProjectDir)..\html\canvas;$(ProjectDir)..\html\forms;$(ProjectDir)..\html\parser;$(ProjectDir)..\html\shadow;$(ProjectDir)..\html\track;$(ProjectDir)..\inspector;$(ProjectDir)..\loader;$(ProjectDir)..\loader\appcache;$(ProjectDir)..\loader\archive;$(ProjectDir)..\loader\archive\cf;$(ProjectDir)..\loader\cache;$(ProjectDir)..\loader\icon;$(ProjectDir)..\mathml;$(ProjectDir)..\page;$(ProjectDir)..\page\animation;$(ProjectDir)..\page\scrolling;$(ProjectDir)..\page\win;$(ProjectDir)..\platform;$(ProjectDir)..\platform\animation;$(ProjectDir)..\platform\audio;$(ProjectDir)..\platform\mock;$(ProjectDir)..\platform\sql;$(ProjectDir)..\platform\win;$(ProjectDir)..\platform\network;$(ProjectDir)..\platform\network\win;$(ProjectDir)..\platform\cf;$(ProjectDir)..\platform\graphics;$(ProjectDir)..\platform\graphics\ca;$(ProjectDir)..\platform\graphics\cpu\arm\filters;$(ProjectDir)..\platform\graphics\filters;$(ProjectDir)..\platform\graphics\filters\arm;$(ProjectDir)..\platform\graphics\opentype;$(ProjectDir)..\platform\graphics\transforms;$(ProjectDir)..\platform\text;$(ProjectDir)..\platform\text\icu;$(ProjectDir)..\platform\text\transcoder;$(ProjectDir)..\platform\graphics\win;$(ProjectDir)..\xml;$(ProjectDir)..\xml\parser;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources;$(ProjectDir)..\plugins;$(ProjectDir)..\plugins\win;$(ProjectDir)..\replay;$(ProjectDir)..\svg\animation;$(ProjectDir)..\svg\graphics;$(ProjectDir)..\svg\properties;$(ProjectDir)..\svg\graphics\filters;$(ProjectDir)..\svg;$(ProjectDir)..\testing;$(ProjectDir)..\crypto;$(ProjectDir)..\crypto\keys;$(ProjectDir)..\wml;$(ProjectDir)..\storage;$(ProjectDir)..\style;$(ProjectDir)..\websockets;$(ProjectDir)..\workers;$(ConfigurationBuildDir)\include;$(ConfigurationBuildDir)\include\private;$(ConfigurationBuildDir)\include\JavaScriptCore;$(ConfigurationBuildDir)\include\private\JavaScriptCore;$(ProjectDir)..\ForwardingHeaders;$(ProjectDir)..\platform\graphics\gpu;$(ProjectDir)..\platform\graphics\egl;$(ProjectDir)..\platform\graphics\surfaces;$(ProjectDir)..\platform\graphics\surfaces\egl;$(ProjectDir)..\platform\graphics\opengl;$(WebKit_Libraries)\include;$(WebKit_Libraries)\include\private;$(WebKit_Libraries)\include\private\JavaScriptCore;$(WebKit_Libraries)\include\sqlite;$(WebKit_Libraries)\include\JavaScriptCore;$(WebKit_Libraries)\include\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(ProjectDir)..;$(ProjectDir)..\Modules\mediacontrols;$(ProjectDir)..\Modules\mediasession;$(ProjectDir)..\Modules\mediastream;$(ProjectDir)..\Modules\encryptedmedia;$(ProjectDir)..\Modules\filesystem;$(ProjectDir)..\Modules\gamepad;$(ProjectDir)..\Modules\geolocation;$(ProjectDir)..\Modules\indexeddb;$(ProjectDir)..\Modules\indexeddb\legacy;$(ProjectDir)..\Modules\indexeddb\shared;$(ProjectDir)..\Modules\mediasource;$(ProjectDir)..\Modules\navigatorcontentutils;$(ProjectDir)..\Modules\plugins;$(ProjectDir)..\Modules\speech;$(ProjectDir)..\Modules\proximity;$(ProjectDir)..\Modules\quota;$(ProjectDir)..\Modules\notifications;$(ProjectDir)..\Modules\streams;$(ProjectDir)..\Modules\webdatabase;$(ProjectDir)..\Modules\websockets;$(ProjectDir)..\accessibility;$(ProjectDir)..\animation;$(ProjectDir)..\accessibility\win;$(ProjectDir)..\bridge;$(ProjectDir)..\bridge\c;$(ProjectDir)..\bridge\jsc;$(ProjectDir)..\css;$(ProjectDir)..\cssjit;$(ProjectDir)..\contentextensions;$(ProjectDir)..\editing;$(ProjectDir)..\fileapi;$(ProjectDir)..\rendering;$(ProjectDir)..\rendering\line;$(ProjectDir)..\rendering\mathml;$(ProjectDir)..\rendering\shapes;$(ProjectDir)..\rendering\style;$(ProjectDir)..\rendering\svg;$(ProjectDir)..\bindings;$(ProjectDir)..\bindings\generic;$(ProjectDir)..\bindings\js;$(ProjectDir)..\bindings\js\specialization;$(ProjectDir)..\dom;$(ProjectDir)..\dom\default;$(ProjectDir)..\history;$(ProjectDir)..\html;$(ProjectDir)..\html\canvas;$(ProjectDir)..\html\forms;$(ProjectDir)..\html\parser;$(ProjectDir)..\html\shadow;$(ProjectDir)..\html\track;$(ProjectDir)..\inspector;$(ProjectDir)..\loader;$(ProjectDir)..\loader\appcache;$(ProjectDir)..\loader\archive;$(ProjectDir)..\loader\archive\cf;$(ProjectDir)..\loader\cache;$(ProjectDir)..\loader\icon;$(ProjectDir)..\mathml;$(ProjectDir)..\page;$(ProjectDir)..\page\animation;$(ProjectDir)..\page\scrolling;$(ProjectDir)..\page\win;$(ProjectDir)..\platform;$(ProjectDir)..\platform\animation;$(ProjectDir)..\platform\audio;$(ProjectDir)..\platform\mock;$(ProjectDir)..\platform\sql;$(ProjectDir)..\platform\win;$(ProjectDir)..\platform\network;$(ProjectDir)..\platform\network\win;$(ProjectDir)..\platform\cf;$(ProjectDir)..\platform\graphics;$(ProjectDir)..\platform\graphics\ca;$(ProjectDir)..\platform\graphics\cpu\arm\filters;$(ProjectDir)..\platform\graphics\filters;$(ProjectDir)..\platform\graphics\filters\arm;$(ProjectDir)..\platform\graphics\opentype;$(ProjectDir)..\platform\graphics\transforms;$(ProjectDir)..\platform\text;$(ProjectDir)..\platform\text\icu;$(ProjectDir)..\platform\text\transcoder;$(ProjectDir)..\platform\graphics\win;$(ProjectDir)..\xml;$(ProjectDir)..\xml\parser;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources;$(ProjectDir)..\plugins;$(ProjectDir)..\plugins\win;$(ProjectDir)..\replay;$(ProjectDir)..\svg\animation;$(ProjectDir)..\svg\graphics;$(ProjectDir)..\svg\properties;$(ProjectDir)..\svg\graphics\filters;$(ProjectDir)..\svg;$(ProjectDir)..\testing;$(ProjectDir)..\crypto;$(ProjectDir)..\crypto\keys;$(ProjectDir)..\wml;$(ProjectDir)..\storage;$(ProjectDir)..\style;$(ProjectDir)..\websockets;$(ProjectDir)..\workers;$(ConfigurationBuildDir)\include;$(ConfigurationBuildDir)\include\private;$(ConfigurationBuildDir)\include\JavaScriptCore;$(ConfigurationBuildDir)\include\private\JavaScriptCore;$(ProjectDir)..\ForwardingHeaders;$(ProjectDir)..\platform\graphics\gpu;$(ProjectDir)..\platform\graphics\egl;$(ProjectDir)..\platform\graphics\surfaces;$(ProjectDir)..\platform\graphics\surfaces\egl;$(ProjectDir)..\platform\graphics\opengl;$(WebKit_Libraries)\include;$(WebKit_Libraries)\include\private;$(WebKit_Libraries)\include\private\JavaScriptCore;$(WebKit_Libraries)\include\sqlite;$(WebKit_Libraries)\include\JavaScriptCore;$(WebKit_Libraries)\include\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
   </ItemDefinitionGroup>
 </Project>
index f4fa7ac..85ac224 100644 (file)
@@ -32,6 +32,7 @@ echo Copying Forwarding Headers...
 @xcopy /y /d "%ProjectDir%..\Modules\websockets\*.h" "%CONFIGURATIONBUILDDIR%\include\WebCore" >nul 2>nul
 @xcopy /y /d "%ProjectDir%..\accessibility\*.h" "%CONFIGURATIONBUILDDIR%\include\WebCore" >nul 2>nul
 @xcopy /y /d "%ProjectDir%..\accessibility\win\*.h" "%CONFIGURATIONBUILDDIR%\include\WebCore" >nul 2>nul
+@xcopy /y /d "%ProjectDir%..\animation\*.h" "%CONFIGURATIONBUILDDIR%\include\WebCore" >nul 2>nul
 @xcopy /y /d "%ProjectDir%..\inspector\*.h" "%CONFIGURATIONBUILDDIR%\include\WebCore" >nul 2>nul
 @xcopy /y /d "%ProjectDir%..\loader\*.h" "%CONFIGURATIONBUILDDIR%\include\WebCore" >nul 2>nul
 @xcopy /y /d "%ProjectDir%..\loader\appcache\*.h" "%CONFIGURATIONBUILDDIR%\include\WebCore" >nul 2>nul
index d491350..fd54eb4 100644 (file)
                0FFD4D6018651FA300512F6E /* AsyncScrollingCoordinator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FFD4D5E18651FA300512F6E /* AsyncScrollingCoordinator.cpp */; };
                0FFD4D6118651FA300512F6E /* AsyncScrollingCoordinator.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FFD4D5F18651FA300512F6E /* AsyncScrollingCoordinator.h */; settings = {ATTRIBUTES = (Private, ); }; };
                10FB084B14E15C7E00A3DB98 /* PublicURLManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 10FB084A14E15C7E00A3DB98 /* PublicURLManager.h */; };
+               1221E0471BFC3D2C006A1A00 /* DocumentAnimation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1221E0411BFC3D2C006A1A00 /* DocumentAnimation.cpp */; };
+               1221E0481BFC3D2C006A1A00 /* DocumentAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 1221E0421BFC3D2C006A1A00 /* DocumentAnimation.h */; };
+               1221E04A1BFC3D2C006A1A00 /* DocumentTimeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1221E0441BFC3D2C006A1A00 /* DocumentTimeline.cpp */; };
+               1221E04B1BFC3D2C006A1A00 /* DocumentTimeline.h in Headers */ = {isa = PBXBuildFile; fileRef = 1221E0451BFC3D2C006A1A00 /* DocumentTimeline.h */; };
+               1221E05D1C02B444006A1A00 /* JSDocumentAnimation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1221E0591C02B444006A1A00 /* JSDocumentAnimation.cpp */; };
+               1221E05E1C02B444006A1A00 /* JSDocumentAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 1221E05A1C02B444006A1A00 /* JSDocumentAnimation.h */; };
+               1221E05F1C02B444006A1A00 /* JSDocumentTimeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1221E05B1C02B444006A1A00 /* JSDocumentTimeline.cpp */; };
+               1221E0601C02B444006A1A00 /* JSDocumentTimeline.h in Headers */ = {isa = PBXBuildFile; fileRef = 1221E05C1C02B444006A1A00 /* JSDocumentTimeline.h */; };
+               1221E0631C02D623006A1A00 /* AnimationTimeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1221E0611C02D623006A1A00 /* AnimationTimeline.cpp */; };
+               1221E0641C02D623006A1A00 /* AnimationTimeline.h in Headers */ = {isa = PBXBuildFile; fileRef = 1221E0621C02D623006A1A00 /* AnimationTimeline.h */; };
+               1221E06C1C03D224006A1A00 /* JSAnimationTimeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1221E06A1C03D224006A1A00 /* JSAnimationTimeline.cpp */; };
+               1221E06D1C03D224006A1A00 /* JSAnimationTimeline.h in Headers */ = {isa = PBXBuildFile; fileRef = 1221E06B1C03D224006A1A00 /* JSAnimationTimeline.h */; };
+               1221E0731C03E4C2006A1A00 /* JSAnimationTimelineCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1221E0721C03E4C2006A1A00 /* JSAnimationTimelineCustom.cpp */; };
                1400D7A817136EA70077CE05 /* ScriptWrappableInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 1400D7A717136EA70077CE05 /* ScriptWrappableInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
                1402645E0AFDC19B005919E2 /* LoggingMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1402645D0AFDC19B005919E2 /* LoggingMac.mm */; };
                1403B99709EB13AF00797C7F /* DOMWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = 1403B99509EB13AF00797C7F /* DOMWindow.h */; settings = {ATTRIBUTES = (Private, ); }; };
                0FFD4D5E18651FA300512F6E /* AsyncScrollingCoordinator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AsyncScrollingCoordinator.cpp; sourceTree = "<group>"; };
                0FFD4D5F18651FA300512F6E /* AsyncScrollingCoordinator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AsyncScrollingCoordinator.h; sourceTree = "<group>"; };
                10FB084A14E15C7E00A3DB98 /* PublicURLManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PublicURLManager.h; sourceTree = "<group>"; };
+               1221E0411BFC3D2C006A1A00 /* DocumentAnimation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DocumentAnimation.cpp; sourceTree = "<group>"; };
+               1221E0421BFC3D2C006A1A00 /* DocumentAnimation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DocumentAnimation.h; sourceTree = "<group>"; };
+               1221E0431BFC3D2C006A1A00 /* DocumentAnimation.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DocumentAnimation.idl; sourceTree = "<group>"; };
+               1221E0441BFC3D2C006A1A00 /* DocumentTimeline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DocumentTimeline.cpp; sourceTree = "<group>"; };
+               1221E0451BFC3D2C006A1A00 /* DocumentTimeline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DocumentTimeline.h; sourceTree = "<group>"; };
+               1221E0461BFC3D2C006A1A00 /* DocumentTimeline.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DocumentTimeline.idl; sourceTree = "<group>"; };
+               1221E0591C02B444006A1A00 /* JSDocumentAnimation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDocumentAnimation.cpp; sourceTree = "<group>"; };
+               1221E05A1C02B444006A1A00 /* JSDocumentAnimation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSDocumentAnimation.h; sourceTree = "<group>"; };
+               1221E05B1C02B444006A1A00 /* JSDocumentTimeline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDocumentTimeline.cpp; sourceTree = "<group>"; };
+               1221E05C1C02B444006A1A00 /* JSDocumentTimeline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSDocumentTimeline.h; sourceTree = "<group>"; };
+               1221E0611C02D623006A1A00 /* AnimationTimeline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AnimationTimeline.cpp; sourceTree = "<group>"; };
+               1221E0621C02D623006A1A00 /* AnimationTimeline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AnimationTimeline.h; sourceTree = "<group>"; };
+               1221E0651C02D636006A1A00 /* AnimationTimeline.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = AnimationTimeline.idl; sourceTree = "<group>"; };
+               1221E06A1C03D224006A1A00 /* JSAnimationTimeline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSAnimationTimeline.cpp; sourceTree = "<group>"; };
+               1221E06B1C03D224006A1A00 /* JSAnimationTimeline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSAnimationTimeline.h; sourceTree = "<group>"; };
+               1221E0721C03E4C2006A1A00 /* JSAnimationTimelineCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSAnimationTimelineCustom.cpp; sourceTree = "<group>"; };
                1400D7A717136EA70077CE05 /* ScriptWrappableInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptWrappableInlines.h; sourceTree = "<group>"; };
                1402645D0AFDC19B005919E2 /* LoggingMac.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = LoggingMac.mm; sourceTree = "<group>"; };
                1403B90C09EB124500797C7F /* DOMWindow.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DOMWindow.idl; sourceTree = "<group>"; };
                                93F19B1908245E59001E9ABC /* Info.plist */,
                                971145FE14EF006E00674FD9 /* Modules */,
                                29A812040FBB9B4100510293 /* accessibility */,
+                               1221E0401BFC3CF2006A1A00 /* animation */,
                                BC1A3790097C6F970019F3D8 /* bindings */,
                                1A569CC40D7E2B60007C3983 /* bridge */,
                                26F0C8901A2D79CB002794F8 /* contentextensions */,
                        name = displaylists;
                        sourceTree = "<group>";
                };
+               1221E0401BFC3CF2006A1A00 /* animation */ = {
+                       isa = PBXGroup;
+                       children = (
+                               1221E0651C02D636006A1A00 /* AnimationTimeline.idl */,
+                               1221E0611C02D623006A1A00 /* AnimationTimeline.cpp */,
+                               1221E0621C02D623006A1A00 /* AnimationTimeline.h */,
+                               1221E0411BFC3D2C006A1A00 /* DocumentAnimation.cpp */,
+                               1221E0421BFC3D2C006A1A00 /* DocumentAnimation.h */,
+                               1221E0431BFC3D2C006A1A00 /* DocumentAnimation.idl */,
+                               1221E0441BFC3D2C006A1A00 /* DocumentTimeline.cpp */,
+                               1221E0451BFC3D2C006A1A00 /* DocumentTimeline.h */,
+                               1221E0461BFC3D2C006A1A00 /* DocumentTimeline.idl */,
+                       );
+                       path = animation;
+                       sourceTree = "<group>";
+               };
+               1221E0581C02B409006A1A00 /* Animation */ = {
+                       isa = PBXGroup;
+                       children = (
+                               1221E06A1C03D224006A1A00 /* JSAnimationTimeline.cpp */,
+                               1221E06B1C03D224006A1A00 /* JSAnimationTimeline.h */,
+                               1221E0591C02B444006A1A00 /* JSDocumentAnimation.cpp */,
+                               1221E05A1C02B444006A1A00 /* JSDocumentAnimation.h */,
+                               1221E05B1C02B444006A1A00 /* JSDocumentTimeline.cpp */,
+                               1221E05C1C02B444006A1A00 /* JSDocumentTimeline.h */,
+                       );
+                       name = Animation;
+                       sourceTree = "<group>";
+               };
                14DFB33F0A7DF7630018F769 /* Derived Sources */ = {
                        isa = PBXGroup;
                        children = (
+                               1221E0581C02B409006A1A00 /* Animation */,
                                A83B79100CCB001B000B0825 /* Core */,
                                E1FF8F61180745C600132674 /* Crypto */,
                                A83B790E0CCAFF97000B0825 /* CSS */,
                BC4EDEF70C08F414007EDD49 /* Custom */ = {
                        isa = PBXGroup;
                        children = (
+                               1221E0721C03E4C2006A1A00 /* JSAnimationTimelineCustom.cpp */,
                                BC2ED6BB0C6BD2F000920BFF /* JSAttrCustom.cpp */,
                                FDEAAAEF12B02EE400DCF33B /* JSAudioBufferSourceNodeCustom.cpp */,
                                FDEAAAF012B02EE400DCF33B /* JSAudioContextCustom.cpp */,
                                A80E6CFD0A1989CA007FB8C5 /* CSSFontFaceRule.h in Headers */,
                                BC64B4D80CB4298A005F2B62 /* CSSFontFaceSource.h in Headers */,
                                BC64B4DA0CB4298A005F2B62 /* CSSFontFaceSrcValue.h in Headers */,
+                               1221E0481BFC3D2C006A1A00 /* DocumentAnimation.h in Headers */,
                                83520C7E1A71BFCC006BD2AA /* CSSFontFamily.h in Headers */,
                                4A6E9FC413C17D1D0046A7F8 /* CSSFontFeatureValue.h in Headers */,
                                BC64B4DC0CB4298A005F2B62 /* CSSFontSelector.h in Headers */,
                                A871DE2D0A152AC800B12A68 /* HTMLHeadElement.h in Headers */,
                                A8EA7CB80A192B9C00A8EF5F /* HTMLHeadingElement.h in Headers */,
                                A8EA7CAF0A192B9C00A8EF5F /* HTMLHRElement.h in Headers */,
+                               1221E06D1C03D224006A1A00 /* JSAnimationTimeline.h in Headers */,
                                A871DE270A152AC800B12A68 /* HTMLHtmlElement.h in Headers */,
                                A871DE2A0A152AC800B12A68 /* HTMLIFrameElement.h in Headers */,
                                A8EA7D2D0A19385500A8EF5F /* HTMLImageElement.h in Headers */,
                                9391A991162746CB00297330 /* ScrollingCoordinatorMac.h in Headers */,
                                93C38BFF164473C700091EB2 /* ScrollingStateFixedNode.h in Headers */,
                                0FEA3E7B191B2FC5000F1B55 /* ScrollingStateFrameScrollingNode.h in Headers */,
+                               1221E04B1BFC3D2C006A1A00 /* DocumentTimeline.h in Headers */,
                                931CBD0D161A44E900E4C874 /* ScrollingStateNode.h in Headers */,
                                0FEA3E84191B31BF000F1B55 /* ScrollingStateOverflowScrollingNode.h in Headers */,
                                931CBD0F161A44E900E4C874 /* ScrollingStateScrollingNode.h in Headers */,
                                510D4A37103165EE0049EA54 /* SocketStreamHandleBase.h in Headers */,
                                510D4A38103165EE0049EA54 /* SocketStreamHandleClient.h in Headers */,
                                0A4844990CA44CB200B7BD48 /* SoftLinking.h in Headers */,
+                               1221E0601C02B444006A1A00 /* JSDocumentTimeline.h in Headers */,
                                4B3043C70AE0370300A82647 /* Sound.h in Headers */,
                                84A81F3E0FC7DFF000955300 /* SourceAlpha.h in Headers */,
                                CD3A496217A9D01B00274E42 /* SourceBuffer.h in Headers */,
                                A8EA800C0A19516E00A8EF5F /* StyleSheet.h in Headers */,
                                E4F9EEF3156DA00700D23E7E /* StyleSheetContents.h in Headers */,
                                A8EA800A0A19516E00A8EF5F /* StyleSheetList.h in Headers */,
+                               1221E05E1C02B444006A1A00 /* JSDocumentAnimation.h in Headers */,
                                BC5EB5E50E81BF6D00B25965 /* StyleSurroundData.h in Headers */,
                                BC5EB8100E81F2CE00B25965 /* StyleTransformData.h in Headers */,
                                BC5EB69A0E81DA6300B25965 /* StyleVisualData.h in Headers */,
                                6ED8C379183BFF8C009E53BD /* BoxShape.cpp in Sources */,
                                BCEA4854097D93020094C9E4 /* break_lines.cpp in Sources */,
                                93309DDA099E64920056E581 /* BreakBlockquoteCommand.cpp in Sources */,
+                               1221E0631C02D623006A1A00 /* AnimationTimeline.cpp in Sources */,
                                59B597731108656B007159E8 /* BridgeJSC.cpp in Sources */,
                                7A45032F18DB717200377B34 /* BufferedLineReader.cpp in Sources */,
                                F55B3DAF1251F12D003EF269 /* ButtonInputType.cpp in Sources */,
                                E145349816A9BB6A000F6FD2 /* DOMTransitionEvent.mm in Sources */,
                                85526CD30AB0B7DA000302EA /* DOMTreeWalker.mm in Sources */,
                                85C7F4920AAF79DC004014DD /* DOMUIEvent.mm in Sources */,
+                               1221E0471BFC3D2C006A1A00 /* DocumentAnimation.cpp in Sources */,
                                FED13D2B0CEA91DF00D89466 /* DOMUIKitExtensions.mm in Sources */,
                                C28083401C6DC275001451B6 /* JSFontFace.cpp in Sources */,
                                2E37DFDA12DBAFB800A6B233 /* DOMURL.cpp in Sources */,
                                93F9B6E00BA0FB7200854064 /* JSComment.cpp in Sources */,
                                79AC9218109945C80021266E /* JSCompositionEvent.cpp in Sources */,
                                FDA15EBD12B03F0B003A583A /* JSConvolverNode.cpp in Sources */,
+                               1221E04A1BFC3D2C006A1A00 /* DocumentTimeline.cpp in Sources */,
                                FE6FD48D0F676E9300092873 /* JSCoordinates.cpp in Sources */,
                                930705D809E0C9B700B17FE4 /* JSCounter.cpp in Sources */,
                                14DCF3B21B6BE2080062D4C2 /* JSCountQueuingStrategy.cpp in Sources */,
                                B2FA3D6A0AB75A6F000E5AC4 /* JSSVGFEBlendElement.cpp in Sources */,
                                B2FA3D6C0AB75A6F000E5AC4 /* JSSVGFEColorMatrixElement.cpp in Sources */,
                                B2FA3D6E0AB75A6F000E5AC4 /* JSSVGFEComponentTransferElement.cpp in Sources */,
+                               1221E05D1C02B444006A1A00 /* JSDocumentAnimation.cpp in Sources */,
                                B2FA3D700AB75A6F000E5AC4 /* JSSVGFECompositeElement.cpp in Sources */,
                                19BFF64E11C0F2AC00B8C04D /* JSSVGFEConvolveMatrixElement.cpp in Sources */,
                                B2FA3D720AB75A6F000E5AC4 /* JSSVGFEDiffuseLightingElement.cpp in Sources */,
                                1ACE53F60A8D19470022947D /* JSXMLSerializer.cpp in Sources */,
                                1A762C730A074F2600989F5B /* JSXPathEvaluator.cpp in Sources */,
                                BC60DB490D2A3D1E00B9918F /* JSXPathException.cpp in Sources */,
+                               1221E06C1C03D224006A1A00 /* JSAnimationTimeline.cpp in Sources */,
                                1A762C750A074F2600989F5B /* JSXPathExpression.cpp in Sources */,
                                1A762C770A074F2600989F5B /* JSXPathNSResolver.cpp in Sources */,
                                1A762C790A074F2600989F5B /* JSXPathResult.cpp in Sources */,
                                854FE7340A2297BE0058D7AD /* NodeIterator.cpp in Sources */,
                                7CEAC1091B483D7F00334482 /* NodeOrString.cpp in Sources */,
                                4FFC022B1643B710004E1638 /* NodeRareData.cpp in Sources */,
+                               1221E05F1C02B444006A1A00 /* JSDocumentTimeline.cpp in Sources */,
                                E43105B816750F0C00DB2FB8 /* NodeTraversal.cpp in Sources */,
                                33503CC71017A1B1003B47E1 /* Notification.cpp in Sources */,
                                3390CA550FFC157B00921962 /* NotificationCenter.cpp in Sources */,
                                442AF7AA102CDDEA008FD4D3 /* QuickLook.mm in Sources */,
                                443917FF1A91B2F8006E04F2 /* QuickLookSoftLink.mm in Sources */,
                                072AE1E6183C0741000A5988 /* QuickTimePluginReplacement.mm in Sources */,
+                               1221E0731C03E4C2006A1A00 /* JSAnimationTimelineCustom.cpp in Sources */,
                                379E371613736A6600B9E919 /* QuotedPrintable.cpp in Sources */,
                                5A574F28131DB96D00471B88 /* QuotesData.cpp in Sources */,
                                F55B3DCB1251F12D003EF269 /* RadioInputType.cpp in Sources */,
diff --git a/Source/WebCore/animation/AnimationTimeline.cpp b/Source/WebCore/animation/AnimationTimeline.cpp
new file mode 100644 (file)
index 0000000..85df89e
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) Canon Inc. 2016
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted, provided that the following conditions
+ * are required to be met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Canon Inc. nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY CANON INC. AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL CANON INC. AND ITS CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "AnimationTimeline.h"
+
+#if ENABLE(WEB_ANIMATIONS)
+
+#include "DocumentTimeline.h"
+
+namespace WebCore {
+
+AnimationTimeline::AnimationTimeline(ClassType classType)
+    : m_classType(classType)
+{
+    // NOTE: We only have one type of subclass at the moment.
+    ASSERT(classType == DocumentTimelineClass);
+}
+
+AnimationTimeline::~AnimationTimeline()
+{
+}
+
+void AnimationTimeline::destroy()
+{
+    if (classType() == DocumentTimelineClass) {
+        delete downcast<DocumentTimeline>(this);
+        return;
+    }
+    
+    ASSERT_NOT_REACHED();
+    return;
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(WEB_ANIMATIONS)
diff --git a/Source/WebCore/animation/AnimationTimeline.h b/Source/WebCore/animation/AnimationTimeline.h
new file mode 100644 (file)
index 0000000..10193a7
--- /dev/null
@@ -0,0 +1,79 @@
+/*
+ * Copyright (C) Canon Inc. 2016
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted, provided that the following conditions
+ * are required to be met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Canon Inc. nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY CANON INC. AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL CANON INC. AND ITS CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef AnimationTimeline_h
+#define AnimationTimeline_h
+
+#if ENABLE(WEB_ANIMATIONS)
+
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
+#include <wtf/TypeCasts.h>
+
+namespace WebCore {
+
+class AnimationTimeline : public RefCounted<AnimationTimeline> {
+public:
+    // Override RefCounted's deref() to ensure operator delete is called on
+    // the appropriate subclass type.
+    void deref()
+    {
+        if (derefBase())
+            destroy();
+    }
+    
+    bool isDocumentTimeline() const { return m_classType == DocumentTimelineClass; }
+
+protected:
+    enum ClassType {
+        DocumentTimelineClass
+    };
+
+    ClassType classType() const { return m_classType; }
+
+    explicit AnimationTimeline(ClassType);
+
+    // NOTE: Intentionally left non-virtual (using static polymorphism).
+    ~AnimationTimeline();
+
+private:
+    ClassType m_classType;
+
+    void destroy();
+};
+
+} // namespace WebCore
+
+#define SPECIALIZE_TYPE_TRAITS_ANIMATION_TIMELINE(ToValueTypeName, predicate) \
+SPECIALIZE_TYPE_TRAITS_BEGIN(WebCore::ToValueTypeName) \
+static bool isType(const WebCore::AnimationTimeline& value) { return value.predicate; } \
+SPECIALIZE_TYPE_TRAITS_END()
+
+#endif // ENABLE(WEB_ANIMATIONS)
+
+#endif // AnimationTimeline_h
diff --git a/Source/WebCore/animation/AnimationTimeline.idl b/Source/WebCore/animation/AnimationTimeline.idl
new file mode 100644 (file)
index 0000000..21f40da
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) Canon Inc. 2016
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted, provided that the following conditions
+ * are required to be met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Canon Inc. nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY CANON INC. AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL CANON INC. AND ITS CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+[
+    EnabledAtRuntime=WebAnimations,
+    Conditional=WEB_ANIMATIONS,
+    CustomToJSObject,
+    ObjCPolymorphic,
+    ImplementationLacksVTable
+] interface AnimationTimeline {
+    // FIX: Only a stub at the moment.
+};
+
diff --git a/Source/WebCore/animation/DocumentAnimation.cpp b/Source/WebCore/animation/DocumentAnimation.cpp
new file mode 100644 (file)
index 0000000..3826647
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) Canon Inc. 2016
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted, provided that the following conditions
+ * are required to be met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Canon Inc. nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY CANON INC. AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL CANON INC. AND ITS CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "DocumentAnimation.h"
+
+#if ENABLE(WEB_ANIMATIONS)
+
+#include "Document.h"
+#include "DocumentTimeline.h"
+
+namespace WebCore {
+
+DocumentAnimation::DocumentAnimation()
+{
+}
+
+DocumentAnimation::~DocumentAnimation()
+{
+}
+
+DocumentTimeline* DocumentAnimation::timeline(Document& document)
+{
+    auto* documentAnimation = DocumentAnimation::from(&document);
+    if (!documentAnimation->m_defaultTimeline)
+        documentAnimation->m_defaultTimeline = DocumentTimeline::create(0.0);
+    return documentAnimation->m_defaultTimeline.get();
+}
+
+const char* DocumentAnimation::supplementName()
+{
+    return "DocumentAnimation";
+}
+
+DocumentAnimation* DocumentAnimation::from(Document* document)
+{
+    DocumentAnimation* supplement = static_cast<DocumentAnimation*>(Supplement<Document>::from(document, supplementName()));
+    if (!supplement) {
+        auto newSupplement = std::make_unique<DocumentAnimation>();
+        supplement = newSupplement.get();
+        provideTo(document, supplementName(), WTFMove(newSupplement));
+    }
+    return supplement;
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(WEB_ANIMATIONS)
diff --git a/Source/WebCore/animation/DocumentAnimation.h b/Source/WebCore/animation/DocumentAnimation.h
new file mode 100644 (file)
index 0000000..f3cb2e8
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) Canon Inc. 2016
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted, provided that the following conditions
+ * are required to be met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Canon Inc. nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY CANON INC. AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL CANON INC. AND ITS CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef DocumentAnimation_h
+#define DocumentAnimation_h
+
+#if ENABLE(WEB_ANIMATIONS)
+
+#include "Supplementable.h"
+
+namespace WebCore {
+
+class DocumentTimeline;
+class Document;
+
+class DocumentAnimation : public Supplement<Document> {
+public:
+    DocumentAnimation();
+    virtual ~DocumentAnimation();
+
+    static DocumentAnimation* from(Document*);
+    static DocumentTimeline* timeline(Document&);
+
+private:
+    static const char* supplementName();
+
+    RefPtr<DocumentTimeline> m_defaultTimeline;
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(WEB_ANIMATIONS)
+
+#endif // DocumentAnimation_h
diff --git a/Source/WebCore/animation/DocumentAnimation.idl b/Source/WebCore/animation/DocumentAnimation.idl
new file mode 100644 (file)
index 0000000..4e9c18d
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) Canon Inc. 2016
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted, provided that the following conditions
+ * are required to be met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Canon Inc. nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY CANON INC. AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL CANON INC. AND ITS CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+[
+    EnabledAtRuntime=WebAnimations,
+    Conditional=WEB_ANIMATIONS
+] partial interface Document {
+#if !defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C
+    readonly attribute DocumentTimeline timeline;
+#endif
+}; 
diff --git a/Source/WebCore/animation/DocumentTimeline.cpp b/Source/WebCore/animation/DocumentTimeline.cpp
new file mode 100644 (file)
index 0000000..7bb302c
--- /dev/null
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) Canon Inc. 2016
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted, provided that the following conditions
+ * are required to be met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Canon Inc. nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY CANON INC. AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL CANON INC. AND ITS CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "DocumentTimeline.h"
+
+#if ENABLE(WEB_ANIMATIONS)
+
+namespace WebCore {
+
+PassRefPtr<DocumentTimeline> DocumentTimeline::create(double originTime)
+{
+    return adoptRef(new DocumentTimeline(originTime));
+}
+
+DocumentTimeline::DocumentTimeline(double originTime)
+    : AnimationTimeline(DocumentTimelineClass)
+    , m_originTime(originTime)
+{
+    UNUSED_PARAM(m_originTime);
+}
+
+DocumentTimeline::~DocumentTimeline()
+{
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(WEB_ANIMATIONS)
diff --git a/Source/WebCore/animation/DocumentTimeline.h b/Source/WebCore/animation/DocumentTimeline.h
new file mode 100644 (file)
index 0000000..9f8cbb3
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) Canon Inc. 2016
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted, provided that the following conditions
+ * are required to be met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Canon Inc. nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY CANON INC. AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL CANON INC. AND ITS CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef DocumentTimeline_h
+#define DocumentTimeline_h
+
+#if ENABLE(WEB_ANIMATIONS)
+
+#include "AnimationTimeline.h"
+
+namespace WebCore {
+
+class DocumentTimeline final : public AnimationTimeline {
+public:
+    static PassRefPtr<DocumentTimeline> create(double);
+    ~DocumentTimeline();
+
+protected:
+    DocumentTimeline(double);
+    
+private:
+    double m_originTime;
+};
+
+} // namespace WebCore
+
+SPECIALIZE_TYPE_TRAITS_ANIMATION_TIMELINE(DocumentTimeline, isDocumentTimeline())
+
+#endif // ENABLE(WEB_ANIMATIONS)
+
+#endif // DocumentTimeline_h
diff --git a/Source/WebCore/animation/DocumentTimeline.idl b/Source/WebCore/animation/DocumentTimeline.idl
new file mode 100644 (file)
index 0000000..6765015
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) Canon Inc. 2016
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted, provided that the following conditions
+ * are required to be met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Canon Inc. nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY CANON INC. AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL CANON INC. AND ITS CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+[
+    EnabledAtRuntime=WebAnimations,
+    Conditional=WEB_ANIMATIONS,
+    ImplementationLacksVTable,
+    // FIX: Should be DOMHighResTimeStamp rather than double (e.g. see Performance.now()).
+    Constructor(double originTime)
+] interface DocumentTimeline : AnimationTimeline {
+};
diff --git a/Source/WebCore/bindings/js/JSAnimationTimelineCustom.cpp b/Source/WebCore/bindings/js/JSAnimationTimelineCustom.cpp
new file mode 100644 (file)
index 0000000..defc9b0
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) Canon Inc. 2016
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted, provided that the following conditions
+ * are required to be met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Canon Inc. nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY CANON INC. AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL CANON INC. AND ITS CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(WEB_ANIMATIONS)
+#include "JSAnimationTimeline.h"
+
+#include "DocumentTimeline.h"
+#include "JSDOMBinding.h"
+#include "JSDocumentTimeline.h"
+
+using namespace JSC;
+
+namespace WebCore {
+
+JSValue toJS(ExecState*, JSDOMGlobalObject* globalObject, AnimationTimeline* value)
+{
+    if (!value)
+        return jsNull();
+
+    JSObject* wrapper = getCachedWrapper(globalObject->world(), value);
+
+    if (wrapper)
+        return wrapper;
+
+    if (value->isDocumentTimeline())
+        wrapper = CREATE_DOM_WRAPPER(globalObject, DocumentTimeline, value);
+    else
+        wrapper = CREATE_DOM_WRAPPER(globalObject, AnimationTimeline, value);
+
+    return wrapper;
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(WEB_ANIMATIONS)
index dd47901..90197f0 100644 (file)
@@ -30,6 +30,7 @@
 #include "DOMWrapperWorld.cpp"
 #include "Dictionary.cpp"
 #include "GCController.cpp"
+#include "JSAnimationTimelineCustom.cpp"
 #include "JSAttrCustom.cpp"
 #include "JSAudioTrackCustom.cpp"
 #include "JSAudioTrackListCustom.cpp"
index 25f9531..06a7264 100644 (file)
@@ -47,7 +47,7 @@ my %baseTypeHash = ("Object" => 1, "Node" => 1, "NodeList" => 1, "NamedNodeMap"
                     "Event" => 1, "CSSRule" => 1, "CSSValue" => 1, "StyleSheet" => 1, "MediaList" => 1,
                     "Counter" => 1, "Rect" => 1, "RGBColor" => 1, "XPathExpression" => 1, "XPathResult" => 1,
                     "NodeIterator" => 1, "TreeWalker" => 1, "AbstractView" => 1, "Blob" => 1, "DOMTokenList" => 1,
-                    "HTMLCollection" => 1, "TextTrackCue" => 1);
+                    "HTMLCollection" => 1, "TextTrackCue" => 1, "AnimationTimeline" => 1);
 
 # Only objects derived from Node are released by the DOM object cache and can be
 # transfer none. Ideally we could use GetBaseClass with the parent type to check
@@ -56,7 +56,7 @@ my %baseTypeHash = ("Object" => 1, "Node" => 1, "NodeList" => 1, "NamedNodeMap"
 # API that are not derived from Node, we will list them here to decide the
 # transfer type.
 my %transferFullTypeHash = ("AudioTrack" => 1, "AudioTrackList" => 1, "BarProp" => 1, "BatteryManager" => 1,
-    "CSSRuleList" => 1, "CSSStyleDeclaration" => 1, "CSSStyleSheet" => 1,
+    "CSSRuleList" => 1, "CSSStyleDeclaration" => 1, "CSSStyleSheet" => 1, "DocumentTimeline" => 1,
     "DOMApplicationCache" => 1, "DOMMimeType" => 1, "DOMMimeTypeArray" => 1, "DOMNamedFlowCollection" => 1,
     "DOMPlugin" => 1, "DOMPluginArray" => 1, "DOMSecurityPolicy" => 1,
     "DOMSelection" => 1, "DOMSettableTokenList" => 1, "DOMStringList" => 1,
index 9e9dfa7..e1a90ff 100644 (file)
@@ -46,6 +46,7 @@
 #include "ScriptExecutionContext.h"
 #include "StringWithDirection.h"
 #include "StyleChange.h"
+#include "Supplementable.h"
 #include "TextResourceDecoder.h"
 #include "Timer.h"
 #include "TreeScope.h"
@@ -290,7 +291,12 @@ enum class HttpEquivPolicy {
     DisabledByContentDispositionAttachmentSandbox
 };
 
-class Document : public ContainerNode, public TreeScope, public ScriptExecutionContext, public FontSelectorClient {
+class Document
+    : public ContainerNode
+    , public TreeScope
+    , public ScriptExecutionContext
+    , public FontSelectorClient
+    , public Supplementable<Document> {
 public:
     static Ref<Document> create(Frame* frame, const URL& url)
     {
index 80bea05..08c2e71 100644 (file)
@@ -1,3 +1,14 @@
+2016-02-24  Nikos Andronikos  <nikos.andronikos-webkit@cisra.canon.com.au>
+
+        [web-animations] Add AnimationTimeline, DocumentTimeline and add extensions to Document interface
+        https://bugs.webkit.org/show_bug.cgi?id=151688
+
+        Reviewed by Dean Jackson.
+
+        Enables the WEB_ANIMATIONS compiler switch.
+
+        * Configurations/FeatureDefines.xcconfig:
+
 2016-02-23  Dan Bernstein  <mitz@apple.com>
 
         [Xcode] Linker errors display mangled names, but no longer should
index a1e7b84..2db1abb 100644 (file)
@@ -178,7 +178,7 @@ ENABLE_VIEW_MODE_CSS_MEDIA = ;
 ENABLE_WEBASSEMBLY = ;
 ENABLE_WEBGL = ENABLE_WEBGL;
 ENABLE_WEBGL2 = ;
-ENABLE_WEB_ANIMATIONS = ;
+ENABLE_WEB_ANIMATIONS = ENABLE_WEB_ANIMATIONS;
 ENABLE_WEB_AUDIO = ENABLE_WEB_AUDIO;
 ENABLE_WEB_REPLAY = $(ENABLE_WEB_REPLAY_$(PLATFORM_NAME)_$(CONFIGURATION));
 ENABLE_WEB_REPLAY_macosx_Debug = ENABLE_WEB_REPLAY;
index 6ffcc23..4a766b1 100644 (file)
@@ -1,3 +1,14 @@
+2016-02-24  Nikos Andronikos  <nikos.andronikos-webkit@cisra.canon.com.au>
+
+        [web-animations] Add AnimationTimeline, DocumentTimeline and add extensions to Document interface
+        https://bugs.webkit.org/show_bug.cgi?id=151688
+
+        Reviewed by Dean Jackson.
+
+        Enables the WEB_ANIMATIONS compiler switch.
+
+        * Configurations/FeatureDefines.xcconfig:
+
 2016-02-24  Gavin Barraclough  <barraclough@apple.com>
 
         Add WKPreference for HiddenPageDOMTimerThrottlingAutoIncreases
index a1e7b84..2db1abb 100644 (file)
@@ -178,7 +178,7 @@ ENABLE_VIEW_MODE_CSS_MEDIA = ;
 ENABLE_WEBASSEMBLY = ;
 ENABLE_WEBGL = ENABLE_WEBGL;
 ENABLE_WEBGL2 = ;
-ENABLE_WEB_ANIMATIONS = ;
+ENABLE_WEB_ANIMATIONS = ENABLE_WEB_ANIMATIONS;
 ENABLE_WEB_AUDIO = ENABLE_WEB_AUDIO;
 ENABLE_WEB_REPLAY = $(ENABLE_WEB_REPLAY_$(PLATFORM_NAME)_$(CONFIGURATION));
 ENABLE_WEB_REPLAY_macosx_Debug = ENABLE_WEB_REPLAY;
index 178dcd8..0242d55 100644 (file)
@@ -68,7 +68,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TEXT_AUTOSIZING PUBLIC OFF)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO PUBLIC ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO_TRACK PUBLIC ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIEW_MODE_CSS_MEDIA PUBLIC ON)
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_ANIMATIONS PUBLIC OFF)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_ANIMATIONS PUBLIC ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_AUDIO PUBLIC OFF)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_SOCKETS PUBLIC ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_TIMING PUBLIC ON)
index 80a687c..ea044a2 100644 (file)
@@ -1,3 +1,14 @@
+2016-02-24  Nikos Andronikos  <nikos.andronikos-webkit@cisra.canon.com.au>
+
+        [web-animations] Add AnimationTimeline, DocumentTimeline and add extensions to Document interface
+        https://bugs.webkit.org/show_bug.cgi?id=151688
+
+        Reviewed by Dean Jackson.
+
+        Enables the WEB_ANIMATIONS compiler switch by default.
+
+        * Scripts/webkitperl/FeatureList.pm:
+
 2016-02-24  Youenn Fablet  <youenn.fablet@crf.canon.fr>
 
         W3C importer should generate all web-platform-tests submodules descriptions
index 8f6ad10..d93f915 100644 (file)
@@ -446,7 +446,7 @@ my @features = (
       define => "ENABLE_WEBASSEMBLY", default => 0, value => \$webAssemblySupport },
 
     { option => "web-animations", desc => "Toggle Web Animations support",
-      define => "ENABLE_WEB_ANIMATIONS", default => 0, value => \$webAnimationsSupport },
+      define => "ENABLE_WEB_ANIMATIONS", default => 1, value => \$webAnimationsSupport },
 
     { option => "web-audio", desc => "Toggle Web Audio support",
       define => "ENABLE_WEB_AUDIO", default => (isEfl() || isGtk()), value => \$webAudioSupport },
index eff4045..bba5c2e 100644 (file)
@@ -1,3 +1,15 @@
+2016-02-24  Nikos Andronikos  <nikos.andronikos-webkit@cisra.canon.com.au>
+
+        [web-animations] Add AnimationTimeline, DocumentTimeline and add extensions to Document interface
+        https://bugs.webkit.org/show_bug.cgi?id=151688
+
+        Reviewed by Dean Jackson.
+
+        Enables the WEB_ANIMATIONS compiler switch.
+
+        * win/tools/vsprops/FeatureDefines.props:
+        * win/tools/vsprops/FeatureDefinesCairo.props:
+
 2016-02-17  Filip Pizlo  <fpizlo@apple.com>
 
         Remove LLVM dependencies from WebKit
index 03dd2be..aae8977 100644 (file)
@@ -85,7 +85,7 @@
     <ENABLE_VIDEO>ENABLE_VIDEO</ENABLE_VIDEO>
     <ENABLE_VIDEO_TRACK>ENABLE_VIDEO_TRACK</ENABLE_VIDEO_TRACK>
     <ENABLE_VIEW_MODE_CSS_MEDIA>ENABLE_VIEW_MODE_CSS_MEDIA</ENABLE_VIEW_MODE_CSS_MEDIA>
-    <ENABLE_WEB_ANIMATIONS />
+    <ENABLE_WEB_ANIMATIONS>ENABLE_WEB_ANIMATIONS</ENABLE_WEB_ANIMATIONS>
     <ENABLE_WEB_AUDIO />
     <ENABLE_WEB_SOCKETS>ENABLE_WEB_SOCKETS</ENABLE_WEB_SOCKETS>
     <ENABLE_WEB_TIMING>ENABLE_WEB_TIMING</ENABLE_WEB_TIMING>
index 4ec3b0d..145b95d 100644 (file)
@@ -84,7 +84,7 @@
     <ENABLE_VIDEO>ENABLE_VIDEO</ENABLE_VIDEO>
     <ENABLE_VIDEO_TRACK>ENABLE_VIDEO_TRACK</ENABLE_VIDEO_TRACK>
     <ENABLE_VIEW_MODE_CSS_MEDIA>ENABLE_VIEW_MODE_CSS_MEDIA</ENABLE_VIEW_MODE_CSS_MEDIA>
-    <ENABLE_WEB_ANIMATIONS />
+    <ENABLE_WEB_ANIMATIONS>ENABLE_WEB_ANIMATIONS</ENABLE_WEB_ANIMATIONS>
     <ENABLE_WEB_AUDIO />
     <ENABLE_WEB_SOCKETS>ENABLE_WEB_SOCKETS</ENABLE_WEB_SOCKETS>
     <ENABLE_WEB_TIMING>ENABLE_WEB_TIMING</ENABLE_WEB_TIMING>