[web-animations] Add AnimationTimeline, DocumentTimeline and add extensions to Document interface
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: http://svn.webkit.org/repository/webkit/trunk@197058 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/ChangeLog b/ChangeLog
index 634c027..7117ce76 100644
--- 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.
diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog
index 7401b7c..bc5467a 100644
--- a/Source/JavaScriptCore/ChangeLog
+++ b/Source/JavaScriptCore/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.
+
+ * Configurations/FeatureDefines.xcconfig:
+
2016-02-24 Konstantin Tokarev <annulen@yandex.ru>
[cmake] Moved PRE/POST_BUILD_COMMAND to WEBKIT_FRAMEWORK.
diff --git a/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig b/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig
index a1e7b84..2db1abb 100644
--- a/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig
+++ b/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig
@@ -178,7 +178,7 @@
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;
diff --git a/Source/WTF/ChangeLog b/Source/WTF/ChangeLog
index 5456335..9a4f7b1 100644
--- a/Source/WTF/ChangeLog
+++ b/Source/WTF/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.
+
+ * wtf/FeatureDefines.h:
+
2016-02-24 Konstantin Tokarev <annulen@yandex.ru>
[cmake] Moved PRE/POST_BUILD_COMMAND to WEBKIT_FRAMEWORK.
diff --git a/Source/WTF/wtf/FeatureDefines.h b/Source/WTF/wtf/FeatureDefines.h
index b8d4999..f35f8d5 100644
--- a/Source/WTF/wtf/FeatureDefines.h
+++ b/Source/WTF/wtf/FeatureDefines.h
@@ -792,7 +792,7 @@
#endif
#if !defined(ENABLE_WEB_ANIMATIONS)
-#define ENABLE_WEB_ANIMATIONS 0
+#define ENABLE_WEB_ANIMATIONS 1
#endif
#if !defined(ENABLE_WEB_ARCHIVE)
diff --git a/Source/WebCore/CMakeLists.txt b/Source/WebCore/CMakeLists.txt
index 241c660..9c66d1a 100644
--- a/Source/WebCore/CMakeLists.txt
+++ b/Source/WebCore/CMakeLists.txt
@@ -30,6 +30,7 @@
"${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_IDL_INCLUDES
+ animation
css
dom
fileapi
@@ -1102,6 +1104,7 @@
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 @@
${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
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 4368044..fb811d4 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -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.
diff --git a/Source/WebCore/Configurations/FeatureDefines.xcconfig b/Source/WebCore/Configurations/FeatureDefines.xcconfig
index a1e7b84..2db1abb 100644
--- a/Source/WebCore/Configurations/FeatureDefines.xcconfig
+++ b/Source/WebCore/Configurations/FeatureDefines.xcconfig
@@ -178,7 +178,7 @@
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;
diff --git a/Source/WebCore/DerivedSources.make b/Source/WebCore/DerivedSources.make
index dc7c8d9..4368379 100644
--- a/Source/WebCore/DerivedSources.make
+++ b/Source/WebCore/DerivedSources.make
@@ -47,6 +47,7 @@
$(WebCore)/Modules/webaudio \
$(WebCore)/Modules/webdatabase \
$(WebCore)/Modules/websockets \
+ $(WebCore)/animation \
$(WebCore)/bindings/generic \
$(WebCore)/bindings/js \
$(WebCore)/bindings/objc \
@@ -221,6 +222,9 @@
$(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 @@
IDL_INCLUDES = \
$(WebCore)/Modules \
+ $(WebCore)/animation \
$(WebCore)/css \
$(WebCore)/dom \
$(WebCore)/fileapi \
diff --git a/Source/WebCore/PlatformGTK.cmake b/Source/WebCore/PlatformGTK.cmake
index dd4fa84..7d126b5 100644
--- a/Source/WebCore/PlatformGTK.cmake
+++ b/Source/WebCore/PlatformGTK.cmake
@@ -581,6 +581,14 @@
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
diff --git a/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj b/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj
index eb2cb7e..8d75393 100644
--- a/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj
+++ b/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj
@@ -7304,6 +7304,9 @@
<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" />
@@ -17641,6 +17644,20 @@
<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>
@@ -19953,6 +19970,7 @@
<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" />
diff --git a/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters b/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters
index 3c463a1..4e5c83f 100644
--- a/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters
+++ b/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters
@@ -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>
@@ -671,6 +674,15 @@
<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>
@@ -4241,6 +4253,9 @@
<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>
@@ -7675,6 +7690,15 @@
<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>
@@ -12492,6 +12516,9 @@
<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>
diff --git a/Source/WebCore/WebCore.vcxproj/WebCoreIncludeCommon.props b/Source/WebCore/WebCore.vcxproj/WebCoreIncludeCommon.props
index e00de52..2500cdb 100644
--- a/Source/WebCore/WebCore.vcxproj/WebCoreIncludeCommon.props
+++ b/Source/WebCore/WebCore.vcxproj/WebCoreIncludeCommon.props
@@ -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>
diff --git a/Source/WebCore/WebCore.vcxproj/copyForwardingHeaders.cmd b/Source/WebCore/WebCore.vcxproj/copyForwardingHeaders.cmd
index f4fa7ac..85ac224 100644
--- a/Source/WebCore/WebCore.vcxproj/copyForwardingHeaders.cmd
+++ b/Source/WebCore/WebCore.vcxproj/copyForwardingHeaders.cmd
@@ -32,6 +32,7 @@
@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
diff --git a/Source/WebCore/WebCore.xcodeproj/project.pbxproj b/Source/WebCore/WebCore.xcodeproj/project.pbxproj
index d491350..fd54eb4 100644
--- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj
+++ b/Source/WebCore/WebCore.xcodeproj/project.pbxproj
@@ -580,6 +580,19 @@
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, ); }; };
@@ -7984,6 +7997,22 @@
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>"; };
@@ -15696,6 +15725,7 @@
93F19B1908245E59001E9ABC /* Info.plist */,
971145FE14EF006E00674FD9 /* Modules */,
29A812040FBB9B4100510293 /* accessibility */,
+ 1221E0401BFC3CF2006A1A00 /* animation */,
BC1A3790097C6F970019F3D8 /* bindings */,
1A569CC40D7E2B60007C3983 /* bridge */,
26F0C8901A2D79CB002794F8 /* contentextensions */,
@@ -15920,9 +15950,39 @@
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 */,
@@ -22395,6 +22455,7 @@
BC4EDEF70C08F414007EDD49 /* Custom */ = {
isa = PBXGroup;
children = (
+ 1221E0721C03E4C2006A1A00 /* JSAnimationTimelineCustom.cpp */,
BC2ED6BB0C6BD2F000920BFF /* JSAttrCustom.cpp */,
FDEAAAEF12B02EE400DCF33B /* JSAudioBufferSourceNodeCustom.cpp */,
FDEAAAF012B02EE400DCF33B /* JSAudioContextCustom.cpp */,
@@ -25344,6 +25405,7 @@
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 */,
@@ -26155,6 +26217,7 @@
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 */,
@@ -27776,6 +27839,7 @@
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 */,
@@ -27863,6 +27927,7 @@
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 */,
@@ -27968,6 +28033,7 @@
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 */,
@@ -29071,6 +29137,7 @@
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 */,
@@ -29566,6 +29633,7 @@
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 */,
@@ -30120,6 +30188,7 @@
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 */,
@@ -30572,6 +30641,7 @@
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 */,
@@ -30778,6 +30848,7 @@
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 */,
@@ -31008,6 +31079,7 @@
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 */,
@@ -31140,6 +31212,7 @@
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
index 0000000..85df89e
--- /dev/null
+++ b/Source/WebCore/animation/AnimationTimeline.cpp
@@ -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
index 0000000..10193a7
--- /dev/null
+++ b/Source/WebCore/animation/AnimationTimeline.h
@@ -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
index 0000000..21f40da
--- /dev/null
+++ b/Source/WebCore/animation/AnimationTimeline.idl
@@ -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
index 0000000..3826647
--- /dev/null
+++ b/Source/WebCore/animation/DocumentAnimation.cpp
@@ -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
index 0000000..f3cb2e8
--- /dev/null
+++ b/Source/WebCore/animation/DocumentAnimation.h
@@ -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
index 0000000..4e9c18d
--- /dev/null
+++ b/Source/WebCore/animation/DocumentAnimation.idl
@@ -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
index 0000000..7bb302c
--- /dev/null
+++ b/Source/WebCore/animation/DocumentTimeline.cpp
@@ -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
index 0000000..9f8cbb3
--- /dev/null
+++ b/Source/WebCore/animation/DocumentTimeline.h
@@ -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
index 0000000..6765015
--- /dev/null
+++ b/Source/WebCore/animation/DocumentTimeline.idl
@@ -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
index 0000000..defc9b0
--- /dev/null
+++ b/Source/WebCore/bindings/js/JSAnimationTimelineCustom.cpp
@@ -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)
diff --git a/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp b/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp
index dd47901..90197f0 100644
--- a/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp
+++ b/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp
@@ -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"
diff --git a/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm b/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm
index 25f9531..06a7264 100644
--- a/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm
+++ b/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm
@@ -47,7 +47,7 @@
"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 @@
# 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,
diff --git a/Source/WebCore/dom/Document.h b/Source/WebCore/dom/Document.h
index 9e9dfa7..e1a90ff 100644
--- a/Source/WebCore/dom/Document.h
+++ b/Source/WebCore/dom/Document.h
@@ -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 @@
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)
{
diff --git a/Source/WebKit/mac/ChangeLog b/Source/WebKit/mac/ChangeLog
index 80bea05..08c2e71 100644
--- a/Source/WebKit/mac/ChangeLog
+++ b/Source/WebKit/mac/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.
+
+ * Configurations/FeatureDefines.xcconfig:
+
2016-02-23 Dan Bernstein <mitz@apple.com>
[Xcode] Linker errors display mangled names, but no longer should
diff --git a/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig b/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig
index a1e7b84..2db1abb 100644
--- a/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig
+++ b/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig
@@ -178,7 +178,7 @@
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;
diff --git a/Source/WebKit2/ChangeLog b/Source/WebKit2/ChangeLog
index 6ffcc23..4a766b1 100644
--- a/Source/WebKit2/ChangeLog
+++ b/Source/WebKit2/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.
+
+ * Configurations/FeatureDefines.xcconfig:
+
2016-02-24 Gavin Barraclough <barraclough@apple.com>
Add WKPreference for HiddenPageDOMTimerThrottlingAutoIncreases
diff --git a/Source/WebKit2/Configurations/FeatureDefines.xcconfig b/Source/WebKit2/Configurations/FeatureDefines.xcconfig
index a1e7b84..2db1abb 100644
--- a/Source/WebKit2/Configurations/FeatureDefines.xcconfig
+++ b/Source/WebKit2/Configurations/FeatureDefines.xcconfig
@@ -178,7 +178,7 @@
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;
diff --git a/Source/cmake/OptionsWin.cmake b/Source/cmake/OptionsWin.cmake
index 178dcd8..0242d55 100644
--- a/Source/cmake/OptionsWin.cmake
+++ b/Source/cmake/OptionsWin.cmake
@@ -68,7 +68,7 @@
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)
diff --git a/Tools/ChangeLog b/Tools/ChangeLog
index 80a687c..ea044a2 100644
--- a/Tools/ChangeLog
+++ b/Tools/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 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
diff --git a/Tools/Scripts/webkitperl/FeatureList.pm b/Tools/Scripts/webkitperl/FeatureList.pm
index 8f6ad10..d93f915 100644
--- a/Tools/Scripts/webkitperl/FeatureList.pm
+++ b/Tools/Scripts/webkitperl/FeatureList.pm
@@ -446,7 +446,7 @@
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 },
diff --git a/WebKitLibraries/ChangeLog b/WebKitLibraries/ChangeLog
index eff4045..bba5c2e 100644
--- a/WebKitLibraries/ChangeLog
+++ b/WebKitLibraries/ChangeLog
@@ -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
diff --git a/WebKitLibraries/win/tools/vsprops/FeatureDefines.props b/WebKitLibraries/win/tools/vsprops/FeatureDefines.props
index 03dd2be..aae8977 100644
--- a/WebKitLibraries/win/tools/vsprops/FeatureDefines.props
+++ b/WebKitLibraries/win/tools/vsprops/FeatureDefines.props
@@ -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>
diff --git a/WebKitLibraries/win/tools/vsprops/FeatureDefinesCairo.props b/WebKitLibraries/win/tools/vsprops/FeatureDefinesCairo.props
index 4ec3b0d..145b95d 100644
--- a/WebKitLibraries/win/tools/vsprops/FeatureDefinesCairo.props
+++ b/WebKitLibraries/win/tools/vsprops/FeatureDefinesCairo.props
@@ -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>