Changeset 80846 in webkit


Ignore:
Timestamp:
Mar 11, 2011 6:05:12 AM (13 years ago)
Author:
dino@apple.com
Message:

2011-03-11 Dean Jackson <dino@apple.com>

Reviewed by Simon Fraser and Chris Marrin.

https://bugs.webkit.org/show_bug.cgi?id=54151
Implement an API to play/pause/scrub animations

This is Part 1. Adds the new WebKitAnimation and WebKitAnimationList
APIs, exposed via Element.getWebKitAnimations(). This first pass
is a read-only API - a subsequent commit will add the ability
to scrub animations.

Test: animations/animation-api-1.html

  • Android.derived.jscbindings.mk:
  • Android.derived.v8bindings.mk:
  • Android.mk:
  • Android.v8bindings.mk:
  • CMakeLists.txt:
  • CodeGenerators.pri:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • All build settings updated for new files
  • bindings/js/JSBindingsAllInOne.cpp:
  • Include new custom files
  • bindings/js/JSWebKitAnimationCustom.cpp: Added. (WebCore::JSWebKitAnimation::iterationCount):
  • Custom property getter so that we can return INFINITY
  • bindings/js/JSWebKitAnimationListCustom.cpp: Added. (WebCore::JSWebKitAnimationList::markChildren):
  • Make sure WebKitAnimations are marked
  • bindings/v8/custom/V8WebKitAnimationCustom.cpp: Added. (WebCore::V8WebkitAnimation::iterationCountAccessorGetter):
  • Custom property getter so that we can return INFINITY
  • dom/Element.cpp: (WebCore::Element::webkitGetAnimations):
  • dom/Element.h:
  • dom/Element.idl:
  • New API entry point
  • page/DOMWindow.idl:
  • Constructor definitions for WebKitAnimation and WebKitAnimationList
  • page/animation/AnimationBase.cpp: (WebCore::AnimationBase::~AnimationBase):
  • Since AnimationBase can now live longer (if a WebKitAnimation is held in Javascript) we need to guard for the renderer having disappeared. (WebCore::AnimationBase::setElapsedTime): (WebCore::AnimationBase::play): (WebCore::AnimationBase::pause):
  • Stub implementations at present
  • page/animation/AnimationBase.h: (WebCore::AnimationBase::animation):
  • Expose the Animation properties
  • page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::animationsForRenderer): (WebCore::AnimationController::animationsForRenderer):
  • Builds the list of WebKitAnimations
  • page/animation/AnimationController.h:
  • page/animation/AnimationControllerPrivate.h:
  • page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::updateKeyframeAnimations):
  • Make sure we clear the renderer if we are removing the animation (WebCore::CompositeAnimation::animations):
  • page/animation/CompositeAnimation.h:
  • page/animation/WebKitAnimation.cpp: Added. (WebCore::WebKitAnimation::WebKitAnimation): (WebCore::WebKitAnimation::name): (WebCore::WebKitAnimation::duration): (WebCore::WebKitAnimation::elapsedTime): (WebCore::WebKitAnimation::setElapsedTime): (WebCore::WebKitAnimation::delay): (WebCore::WebKitAnimation::iterationCount): (WebCore::WebKitAnimation::paused): (WebCore::WebKitAnimation::ended): (WebCore::WebKitAnimation::direction): (WebCore::WebKitAnimation::fillMode): (WebCore::WebKitAnimation::pause): (WebCore::WebKitAnimation::play):
  • The implementation of the new API. All the read-only parts are done, but elapsedTime, play() and pause() are stubs.
  • page/animation/WebKitAnimation.h: Added. (WebCore::WebKitAnimation::create): (WebCore::WebKitAnimation::~WebKitAnimation):
  • page/animation/WebKitAnimation.idl: Added.
  • page/animation/WebKitAnimationList.cpp: Added.
  • page/animation/WebKitAnimationList.h: Added.
  • page/animation/WebKitAnimationList.idl: Added.
  • Copies NodeList implementation

2011-03-11 Dean Jackson <dino@apple.com>

Reviewed by Simon Fraser and Chris Marrin.

https://bugs.webkit.org/show_bug.cgi?id=54151
Implement an API to play/pause/scrub animations

This is Part 1. Adds the new WebKitAnimation and WebKitAnimationList
APIs, exposed via Element.getWebKitAnimations(). This first pass
is read-only. One new layout test that examines animation
properties. Update existing layout tests for the new interfaces
on Window.

  • animations/animation-api-1-expected.txt: Added.
  • animations/animation-api-1.html: Added.
  • fast/dom/Window/window-properties-expected.txt:
  • fast/dom/Window/window-property-descriptors-expected.txt:
  • fast/dom/prototype-inheritance-2-expected.txt:
  • fast/dom/prototype-inheritance-expected.txt:
  • fast/js/global-constructors-expected.txt:
Location:
trunk
Files:
11 added
32 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r80845 r80846  
     12011-03-11  Dean Jackson  <dino@apple.com>
     2
     3        Reviewed by Simon Fraser and Chris Marrin.
     4
     5        https://bugs.webkit.org/show_bug.cgi?id=54151
     6        Implement an API to play/pause/scrub animations
     7       
     8        This is Part 1. Adds the new WebKitAnimation and WebKitAnimationList
     9        APIs, exposed via Element.getWebKitAnimations(). This first pass
     10        is read-only. One new layout test that examines animation
     11        properties. Update existing layout tests for the new interfaces
     12        on Window.
     13
     14        * animations/animation-api-1-expected.txt: Added.
     15        * animations/animation-api-1.html: Added.
     16        * fast/dom/Window/window-properties-expected.txt:
     17        * fast/dom/Window/window-property-descriptors-expected.txt:
     18        * fast/dom/prototype-inheritance-2-expected.txt:
     19        * fast/dom/prototype-inheritance-expected.txt:
     20        * fast/js/global-constructors-expected.txt:
     21
    1222011-03-11  Ilya Tikhonovsky  <loislo@chromium.org>
    223
  • trunk/LayoutTests/fast/dom/Window/window-properties-expected.txt

    r78327 r80846  
    124124window.Audio.prototype.setAttributeNode [function]
    125125window.Audio.prototype.setAttributeNodeNS [function]
     126window.Audio.prototype.webkitGetAnimations [function]
    126127window.Audio.prototype.webkitMatchesSelector [function]
    127128window.Audio.prototype.webkitRequestFullScreen [function]
     
    785786window.Element.prototype.setAttributeNode [function]
    786787window.Element.prototype.setAttributeNodeNS [function]
     788window.Element.prototype.webkitGetAnimations [function]
    787789window.Element.prototype.webkitMatchesSelector [function]
    788790window.Element.prototype.webkitRequestFullScreen [function]
     
    19641966window.UIEvent.prototype [printed above as window.Event.prototype]
    19651967window.URIError [function]
     1968window.WebKitAnimation [object WebKitAnimationConstructor]
     1969window.WebKitAnimation.DIRECTION_ALTERNATE [number]
     1970window.WebKitAnimation.DIRECTION_NORMAL [number]
     1971window.WebKitAnimation.FILL_BACKWARDS [number]
     1972window.WebKitAnimation.FILL_BOTH [number]
     1973window.WebKitAnimation.FILL_FORWARDS [number]
     1974window.WebKitAnimation.FILL_NONE [number]
     1975window.WebKitAnimation.prototype [object WebKitAnimationPrototype]
     1976window.WebKitAnimation.prototype.DIRECTION_ALTERNATE [number]
     1977window.WebKitAnimation.prototype.DIRECTION_NORMAL [number]
     1978window.WebKitAnimation.prototype.FILL_BACKWARDS [number]
     1979window.WebKitAnimation.prototype.FILL_BOTH [number]
     1980window.WebKitAnimation.prototype.FILL_FORWARDS [number]
     1981window.WebKitAnimation.prototype.FILL_NONE [number]
     1982window.WebKitAnimation.prototype.pause [function]
     1983window.WebKitAnimation.prototype.play [function]
    19661984window.WebKitAnimationEvent [object WebKitAnimationEventConstructor]
    19671985window.WebKitAnimationEvent.prototype [printed above as window.Event.prototype]
     1986window.WebKitAnimationList [object WebKitAnimationListConstructor]
     1987window.WebKitAnimationList.prototype [object WebKitAnimationListPrototype]
     1988window.WebKitAnimationList.prototype.item [function]
    19681989window.WebKitCSSKeyframeRule [object WebKitCSSKeyframeRuleConstructor]
    19691990window.WebKitCSSKeyframeRule.prototype [printed above as window.CSSRule.prototype]
  • trunk/LayoutTests/fast/dom/Window/window-property-descriptors-expected.txt

    r76208 r80846  
    311311PASS typeof Object.getOwnPropertyDescriptor(window, 'UIEvent') is 'object'
    312312PASS typeof Object.getOwnPropertyDescriptor(window, 'URIError') is 'object'
     313PASS typeof Object.getOwnPropertyDescriptor(window, 'WebKitAnimation') is 'object'
    313314PASS typeof Object.getOwnPropertyDescriptor(window, 'WebKitAnimationEvent') is 'object'
     315PASS typeof Object.getOwnPropertyDescriptor(window, 'WebKitAnimationList') is 'object'
    314316PASS typeof Object.getOwnPropertyDescriptor(window, 'WebKitCSSKeyframeRule') is 'object'
    315317PASS typeof Object.getOwnPropertyDescriptor(window, 'WebKitCSSKeyframesRule') is 'object'
  • trunk/LayoutTests/fast/dom/prototype-inheritance-2-expected.txt

    r78327 r80846  
    429429Never found StyleSheet
    430430Never found TextMetrics
     431Never found WebKitAnimation
     432Never found WebKitAnimationList
    431433Never found WebKitCSSMatrix
    432434Never found WebKitCSSTransformValue
  • trunk/LayoutTests/fast/dom/prototype-inheritance-expected.txt

    r78327 r80846  
    614614PASS inner.URIError.isInner is true
    615615PASS inner.URIError.constructor.isInner is true
     616PASS inner.WebKitAnimation.isInner is true
     617PASS inner.WebKitAnimation.constructor.isInner is true
    616618PASS inner.WebKitAnimationEvent.isInner is true
    617619PASS inner.WebKitAnimationEvent.constructor.isInner is true
     620PASS inner.WebKitAnimationList.isInner is true
     621PASS inner.WebKitAnimationList.constructor.isInner is true
    618622PASS inner.WebKitCSSKeyframeRule.isInner is true
    619623PASS inner.WebKitCSSKeyframeRule.constructor.isInner is true
  • trunk/LayoutTests/fast/js/global-constructors-expected.txt

    r76208 r80846  
    292292PASS TimeRanges.toString() is '[object TimeRangesConstructor]'
    293293PASS UIEvent.toString() is '[object UIEventConstructor]'
     294PASS WebKitAnimation.toString() is '[object WebKitAnimationConstructor]'
    294295PASS WebKitAnimationEvent.toString() is '[object WebKitAnimationEventConstructor]'
     296PASS WebKitAnimationList.toString() is '[object WebKitAnimationListConstructor]'
    295297PASS WebKitCSSKeyframeRule.toString() is '[object WebKitCSSKeyframeRuleConstructor]'
    296298PASS WebKitCSSKeyframesRule.toString() is '[object WebKitCSSKeyframesRuleConstructor]'
  • trunk/Source/WebCore/Android.derived.jscbindings.mk

    r75739 r80846  
    299299    $(intermediates)/page/JSPositionError.h \
    300300    $(intermediates)/page/JSScreen.h \
     301    $(intermediates)/page/JSWebKitAnimation.h \
     302    $(intermediates)/page/JSWebKitAnimationList.h \
    301303    $(intermediates)/page/JSWebKitPoint.h \
    302304    $(intermediates)/page/JSWorkerNavigator.h
  • trunk/Source/WebCore/Android.derived.v8bindings.mk

    r75739 r80846  
    280280    $(intermediates)/bindings/V8PositionError.h \
    281281    $(intermediates)/bindings/V8Screen.h \
     282    $(intermediates)/bindings/V8WebKitAnimation.h \
     283    $(intermediates)/bindings/V8WebKitAnimationList.h \
    282284    $(intermediates)/bindings/V8WebKitPoint.h \
    283285    $(intermediates)/bindings/V8WorkerNavigator.h
  • trunk/Source/WebCore/Android.mk

    r80536 r80846  
    450450        page/SuspendableTimer.cpp \
    451451        page/UserContentURLPattern.cpp \
     452        page/WebKitAnimation.cpp \
     453        page/WebKitAnimationList.cpp \
    452454        page/WindowFeatures.cpp \
    453455        page/WorkerNavigator.cpp \
  • trunk/Source/WebCore/Android.v8bindings.mk

    r80494 r80846  
    165165        bindings/v8/custom/V8StyleSheetListCustom.cpp \
    166166        bindings/v8/custom/V8TreeWalkerCustom.cpp \
     167        bindings/v8/custom/V8WebKitAnimationCustom.cpp \
    167168        bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp \
    168169        bindings/v8/custom/V8WebKitPointConstructor.cpp \
  • trunk/Source/WebCore/CMakeLists.txt

    r80844 r80846  
    344344    page/SpeechInputResult.idl
    345345    page/SpeechInputResultList.idl
     346    page/WebKitAnimation.idl
     347    page/WebKitAnimationList.idl
    346348    page/WebKitPoint.idl
    347349    page/WorkerNavigator.idl
     
    576578    bindings/js/JSUint32ArrayCustom.cpp
    577579    bindings/js/JSUint8ArrayCustom.cpp
     580    bindings/js/JSWebKitAnimationCustom.cpp
     581    bindings/js/JSWebKitAnimationListCustom.cpp
    578582    bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp
    579583    bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp
     
    11761180    page/SuspendableTimer.cpp
    11771181    page/UserContentURLPattern.cpp
     1182    page/WebKitAnimation.cpp
     1183    page/WebKitAnimationList.cpp
    11781184    page/WindowFeatures.cpp
    11791185    page/WorkerNavigator.cpp
  • trunk/Source/WebCore/ChangeLog

    r80845 r80846  
     12011-03-11  Dean Jackson  <dino@apple.com>
     2
     3        Reviewed by Simon Fraser and Chris Marrin.
     4
     5        https://bugs.webkit.org/show_bug.cgi?id=54151
     6        Implement an API to play/pause/scrub animations
     7
     8        This is Part 1. Adds the new WebKitAnimation and WebKitAnimationList
     9        APIs, exposed via Element.getWebKitAnimations(). This first pass
     10        is a read-only API - a subsequent commit will add the ability
     11        to scrub animations.
     12
     13        Test: animations/animation-api-1.html
     14
     15        * Android.derived.jscbindings.mk:
     16        * Android.derived.v8bindings.mk:
     17        * Android.mk:
     18        * Android.v8bindings.mk:
     19        * CMakeLists.txt:
     20        * CodeGenerators.pri:
     21        * DerivedSources.cpp:
     22        * DerivedSources.make:
     23        * GNUmakefile.am:
     24        * WebCore.gypi:
     25        * WebCore.pro:
     26        * WebCore.vcproj/WebCore.vcproj:
     27        * WebCore.xcodeproj/project.pbxproj:
     28        - All build settings updated for new files
     29        * bindings/js/JSBindingsAllInOne.cpp:
     30        - Include new custom files
     31        * bindings/js/JSWebKitAnimationCustom.cpp: Added.
     32        (WebCore::JSWebKitAnimation::iterationCount):
     33        - Custom property getter so that we can return INFINITY
     34        * bindings/js/JSWebKitAnimationListCustom.cpp: Added.
     35        (WebCore::JSWebKitAnimationList::markChildren):
     36        - Make sure WebKitAnimations are marked
     37        * bindings/v8/custom/V8WebKitAnimationCustom.cpp: Added.
     38        (WebCore::V8WebkitAnimation::iterationCountAccessorGetter):
     39        - Custom property getter so that we can return INFINITY
     40        * dom/Element.cpp:
     41        (WebCore::Element::webkitGetAnimations):
     42        * dom/Element.h:
     43        * dom/Element.idl:
     44        - New API entry point
     45        * page/DOMWindow.idl:
     46        - Constructor definitions for WebKitAnimation and WebKitAnimationList
     47        * page/animation/AnimationBase.cpp:
     48        (WebCore::AnimationBase::~AnimationBase):
     49        - Since AnimationBase can now live longer (if a WebKitAnimation is
     50        held in Javascript) we need to guard for the renderer having disappeared.
     51        (WebCore::AnimationBase::setElapsedTime):
     52        (WebCore::AnimationBase::play):
     53        (WebCore::AnimationBase::pause):
     54        - Stub implementations at present
     55        * page/animation/AnimationBase.h:
     56        (WebCore::AnimationBase::animation):
     57        - Expose the Animation properties
     58        * page/animation/AnimationController.cpp:
     59        (WebCore::AnimationControllerPrivate::animationsForRenderer):
     60        (WebCore::AnimationController::animationsForRenderer):
     61        - Builds the list of WebKitAnimations
     62        * page/animation/AnimationController.h:
     63        * page/animation/AnimationControllerPrivate.h:
     64        * page/animation/CompositeAnimation.cpp:
     65        (WebCore::CompositeAnimation::updateKeyframeAnimations):
     66        - Make sure we clear the renderer if we are removing the animation
     67        (WebCore::CompositeAnimation::animations):
     68        * page/animation/CompositeAnimation.h:
     69        * page/animation/WebKitAnimation.cpp: Added.
     70        (WebCore::WebKitAnimation::WebKitAnimation):
     71        (WebCore::WebKitAnimation::name):
     72        (WebCore::WebKitAnimation::duration):
     73        (WebCore::WebKitAnimation::elapsedTime):
     74        (WebCore::WebKitAnimation::setElapsedTime):
     75        (WebCore::WebKitAnimation::delay):
     76        (WebCore::WebKitAnimation::iterationCount):
     77        (WebCore::WebKitAnimation::paused):
     78        (WebCore::WebKitAnimation::ended):
     79        (WebCore::WebKitAnimation::direction):
     80        (WebCore::WebKitAnimation::fillMode):
     81        (WebCore::WebKitAnimation::pause):
     82        (WebCore::WebKitAnimation::play):
     83        - The implementation of the new API. All the read-only parts are
     84        done, but elapsedTime, play() and pause() are stubs.
     85        * page/animation/WebKitAnimation.h: Added.
     86        (WebCore::WebKitAnimation::create):
     87        (WebCore::WebKitAnimation::~WebKitAnimation):
     88        * page/animation/WebKitAnimation.idl: Added.
     89        * page/animation/WebKitAnimationList.cpp: Added.
     90        * page/animation/WebKitAnimationList.h: Added.
     91        * page/animation/WebKitAnimationList.idl: Added.
     92        - Copies NodeList implementation
     93
    1942011-03-11  Ilya Tikhonovsky  <loislo@chromium.org>
    295
  • trunk/Source/WebCore/CodeGenerators.pri

    r80536 r80846  
    335335    page/SpeechInputResult.idl \
    336336    page/SpeechInputResultList.idl \
     337    page/WebKitAnimation.idl \
     338    page/WebKitAnimationList.idl \
    337339    page/WebKitPoint.idl \
    338340    page/WorkerNavigator.idl \
  • trunk/Source/WebCore/DerivedSources.cpp

    r80536 r80846  
    436436#include "JSUIEvent.cpp"
    437437#include "JSValidityState.cpp"
     438#include "JSWebKitAnimation.cpp"
    438439#include "JSWebKitAnimationEvent.cpp"
     440#include "JSWebKitAnimationList.cpp"
    439441#include "JSWebKitCSSKeyframeRule.cpp"
    440442#include "JSWebKitCSSKeyframesRule.cpp"
  • trunk/Source/WebCore/DerivedSources.make

    r80544 r80846  
    513513    UIEvent \
    514514    ValidityState \
     515    WebKitAnimation \
    515516    WebKitAnimationEvent \
     517    WebKitAnimationList \
    516518    WebKitCSSKeyframeRule \
    517519    WebKitCSSKeyframesRule \
  • trunk/Source/WebCore/GNUmakefile.am

    r80844 r80846  
    599599        DerivedSources/WebCore/JSWebGLVertexArrayObjectOES.cpp \
    600600        DerivedSources/WebCore/JSWebGLVertexArrayObjectOES.h \
     601        DerivedSources/WebCore/JSWebKitAnimation.cpp \
     602        DerivedSources/WebCore/JSWebKitAnimation.h \
    601603        DerivedSources/WebCore/JSWebKitAnimationEvent.cpp \
     604        DerivedSources/WebCore/JSWebKitAnimationList.h \
     605        DerivedSources/WebCore/JSWebKitAnimationList.cpp \
    602606        DerivedSources/WebCore/JSWebKitAnimationEvent.h \
    603607        DerivedSources/WebCore/JSWebKitCSSKeyframeRule.cpp \
     
    872876        Source/WebCore/bindings/js/JSUint32ArrayCustom.cpp \
    873877        Source/WebCore/bindings/js/JSUint8ArrayCustom.cpp \
     878        Source/WebCore/bindings/js/JSWebKitAnimationCustom.cpp \
     879        Source/WebCore/bindings/js/JSWebKitAnimationListCustom.cpp \
    874880        Source/WebCore/bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp \
    875881        Source/WebCore/bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp \
     
    23092315        Source/WebCore/page/UserStyleSheet.h \
    23102316        Source/WebCore/page/UserStyleSheetTypes.h \
     2317        Source/WebCore/page/WebKitAnimation.h \
     2318        Source/WebCore/page/WebKitAnimation.cpp \
     2319        Source/WebCore/page/WebKitAnimationList.h \
     2320        Source/WebCore/page/WebKitAnimationList.cpp \
    23112321        Source/WebCore/page/WebKitPoint.h \
    23122322        Source/WebCore/page/WindowFeatures.cpp \
  • trunk/Source/WebCore/WebCore.gypi

    r80844 r80846  
    277277            'page/SpeechInputResult.idl',
    278278            'page/SpeechInputResultList.idl',
     279            'page/WebKitAnimation.idl',
     280            'page/WebKitAnimationList.idl',
    279281            'page/WebKitPoint.idl',
    280282            'page/WorkerNavigator.idl',
     
    789791            'bindings/js/JSUint8ArrayCustom.cpp',
    790792            'bindings/js/JSWebGLRenderingContextCustom.cpp',
     793            'bindings/js/JSWebKitAnimationCustom.cpp',
     794            'bindings/js/JSWebKitAnimationListCustom.cpp',
    791795            'bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp',
    792796            'bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp',
     
    11211125            'bindings/v8/custom/V8Uint8ArrayCustom.cpp',
    11221126            'bindings/v8/custom/V8WebGLRenderingContextCustom.cpp',
     1127            'bindings/v8/custom/V8WebKitAnimationCustom.cpp',
    11231128            'bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp',
    11241129            'bindings/v8/custom/V8WebKitPointConstructor.cpp',
     
    25152520            'page/UserStyleSheet.h',
    25162521            'page/UserStyleSheetTypes.h',
     2522            'page/WebKitAnimation.cpp',
     2523            'page/WebKitAnimation.h',
     2524            'page/WebKitAnimationList.cpp',
     2525            'page/WebKitAnimationList.h',
    25172526            'page/WebKitPoint.h',
    25182527            'page/WindowFeatures.cpp',
     
    68636872            '<(PRODUCT_DIR)/DerivedSources/WebCore/DOMWebGLVertexArrayObjectOES.mm',
    68646873            '<(PRODUCT_DIR)/DerivedSources/WebCore/DOMWebGLVertexArrayObjectOESInternal.h',
     6874            '<(PRODUCT_DIR)/DerivedSources/WebCore/DOMWebKitAnimation.h',
     6875            '<(PRODUCT_DIR)/DerivedSources/WebCore/DOMWebKitAnimation.mm',
    68656876            '<(PRODUCT_DIR)/DerivedSources/WebCore/DOMWebKitAnimationEvent.h',
    68666877            '<(PRODUCT_DIR)/DerivedSources/WebCore/DOMWebKitAnimationEvent.mm',
    68676878            '<(PRODUCT_DIR)/DerivedSources/WebCore/DOMWebKitAnimationEventInternal.h',
     6879            '<(PRODUCT_DIR)/DerivedSources/WebCore/DOMWebKitAnimationList.h',
     6880            '<(PRODUCT_DIR)/DerivedSources/WebCore/DOMWebKitAnimationList.mm',
    68686881            '<(PRODUCT_DIR)/DerivedSources/WebCore/DOMWebKitCSSKeyframeRule.h',
    68696882            '<(PRODUCT_DIR)/DerivedSources/WebCore/DOMWebKitCSSKeyframeRule.mm',
     
    79127925            '<(PRODUCT_DIR)/DerivedSources/WebCore/JSWebGLVertexArrayObjectOES.cpp',
    79137926            '<(PRODUCT_DIR)/DerivedSources/WebCore/JSWebGLVertexArrayObjectOES.h',
     7927            '<(PRODUCT_DIR)/DerivedSources/WebCore/JSWebKitAnimation.cpp',
     7928            '<(PRODUCT_DIR)/DerivedSources/WebCore/JSWebKitAnimation.h',
    79147929            '<(PRODUCT_DIR)/DerivedSources/WebCore/JSWebKitAnimationEvent.cpp',
    79157930            '<(PRODUCT_DIR)/DerivedSources/WebCore/JSWebKitAnimationEvent.h',
     7931            '<(PRODUCT_DIR)/DerivedSources/WebCore/JSWebKitAnimationList.cpp',
     7932            '<(PRODUCT_DIR)/DerivedSources/WebCore/JSWebKitAnimationList.h',
    79167933            '<(PRODUCT_DIR)/DerivedSources/WebCore/JSWebKitCSSKeyframeRule.cpp',
    79177934            '<(PRODUCT_DIR)/DerivedSources/WebCore/JSWebKitCSSKeyframeRule.h',
  • trunk/Source/WebCore/WebCore.pro

    r80844 r80846  
    204204        bindings/v8/custom/V8StyleSheetCustom.cpp \
    205205        bindings/v8/custom/V8StyleSheetListCustom.cpp \
     206        bindings/v8/custom/V8WebKitAnimationCustom.cpp \
    206207        bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp \
    207208        bindings/v8/custom/V8WebKitPointConstructor.cpp \
     
    334335        bindings/js/JSUint32ArrayCustom.cpp \
    335336        bindings/js/JSUint8ArrayCustom.cpp \
     337        bindings/js/JSWebKitAnimationCustom.cpp \
     338        bindings/js/JSWebKitAnimationListCustom.cpp \
    336339        bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp \
    337340        bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp \
     
    873876    page/animation/ImplicitAnimation.cpp \
    874877    page/animation/KeyframeAnimation.cpp \
     878    page/animation/WebKitAnimation.cpp \
     879    page/animation/WebKitAnimationList.cpp \
    875880    page/BarInfo.cpp \
    876881    page/Chrome.cpp \
     
    18371842    page/SpeechInputResult.h \
    18381843    page/SpeechInputResultList.h \
     1844    page/WebKitAnimation.h \
     1845    page/WebKitAnimationList.h \
    18391846    page/WindowFeatures.h \
    18401847    page/WorkerNavigator.h \
  • trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj

    r80844 r80846  
    2168721687                        </File>
    2168821688                        <File
     21689                                RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitAnimation.cpp"
     21690                                >
     21691                                <FileConfiguration
     21692                                        Name="Debug|Win32"
     21693                                        ExcludedFromBuild="true"
     21694                                        >
     21695                                        <Tool
     21696                                                Name="VCCLCompilerTool"
     21697                                        />
     21698                                </FileConfiguration>
     21699                                <FileConfiguration
     21700                                        Name="Release|Win32"
     21701                                        ExcludedFromBuild="true"
     21702                                        >
     21703                                        <Tool
     21704                                                Name="VCCLCompilerTool"
     21705                                        />
     21706                                </FileConfiguration>
     21707                                <FileConfiguration
     21708                                        Name="Debug_Cairo_CFLite|Win32"
     21709                                        ExcludedFromBuild="true"
     21710                                        >
     21711                                        <Tool
     21712                                                Name="VCCLCompilerTool"
     21713                                        />
     21714                                </FileConfiguration>
     21715                                <FileConfiguration
     21716                                        Name="Release_Cairo_CFLite|Win32"
     21717                                        ExcludedFromBuild="true"
     21718                                        >
     21719                                        <Tool
     21720                                                Name="VCCLCompilerTool"
     21721                                        />
     21722                                </FileConfiguration>
     21723                                <FileConfiguration
     21724                                        Name="Debug_All|Win32"
     21725                                        ExcludedFromBuild="true"
     21726                                        >
     21727                                        <Tool
     21728                                                Name="VCCLCompilerTool"
     21729                                        />
     21730                                </FileConfiguration>
     21731                                <FileConfiguration
     21732                                        Name="Release_LTCG|Win32"
     21733                                        ExcludedFromBuild="true"
     21734                                        >
     21735                                        <Tool
     21736                                                Name="VCCLCompilerTool"
     21737                                        />
     21738                                </FileConfiguration>
     21739                        </File>
     21740                        <File
     21741                                RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitAnimation.h"
     21742                                >
     21743                        </File>
     21744                        <File
    2168921745                                RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitAnimationEvent.cpp"
    2169021746                                >
     
    2174021796                        <File
    2174121797                                RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitAnimationEvent.h"
     21798                                >
     21799                        </File>
     21800                        <File
     21801                                RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitAnimationList.cpp"
     21802                                >
     21803                                <FileConfiguration
     21804                                        Name="Debug|Win32"
     21805                                        ExcludedFromBuild="true"
     21806                                        >
     21807                                        <Tool
     21808                                                Name="VCCLCompilerTool"
     21809                                        />
     21810                                </FileConfiguration>
     21811                                <FileConfiguration
     21812                                        Name="Release|Win32"
     21813                                        ExcludedFromBuild="true"
     21814                                        >
     21815                                        <Tool
     21816                                                Name="VCCLCompilerTool"
     21817                                        />
     21818                                </FileConfiguration>
     21819                                <FileConfiguration
     21820                                        Name="Debug_Cairo_CFLite|Win32"
     21821                                        ExcludedFromBuild="true"
     21822                                        >
     21823                                        <Tool
     21824                                                Name="VCCLCompilerTool"
     21825                                        />
     21826                                </FileConfiguration>
     21827                                <FileConfiguration
     21828                                        Name="Release_Cairo_CFLite|Win32"
     21829                                        ExcludedFromBuild="true"
     21830                                        >
     21831                                        <Tool
     21832                                                Name="VCCLCompilerTool"
     21833                                        />
     21834                                </FileConfiguration>
     21835                                <FileConfiguration
     21836                                        Name="Debug_All|Win32"
     21837                                        ExcludedFromBuild="true"
     21838                                        >
     21839                                        <Tool
     21840                                                Name="VCCLCompilerTool"
     21841                                        />
     21842                                </FileConfiguration>
     21843                                <FileConfiguration
     21844                                        Name="Release_LTCG|Win32"
     21845                                        ExcludedFromBuild="true"
     21846                                        >
     21847                                        <Tool
     21848                                                Name="VCCLCompilerTool"
     21849                                        />
     21850                                </FileConfiguration>
     21851                        </File>
     21852                        <File
     21853                                RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitAnimationList.h"
    2174221854                                >
    2174321855                        </File>
     
    2473224844                        <File
    2473324845                                RelativePath="..\page\animation\KeyframeAnimation.h"
     24846                                >
     24847                        </File>
     24848                        <File
     24849                                RelativePath="..\page\WebKitAnimation.cpp"
     24850                                >
     24851                        </File>
     24852                        <File
     24853                                RelativePath="..\page\WebKitAnimation.h"
     24854                                >
     24855                        </File>
     24856                        <File
     24857                                RelativePath="..\page\WebKitAnimationList.cpp"
     24858                                >
     24859                        </File>
     24860                        <File
     24861                                RelativePath="..\page\WebKitAnimationList.h"
    2473424862                                >
    2473524863                        </File>
     
    6218662314                                </File>
    6218762315                                <File
     62316                                        RelativePath="..\bindings\js\JSWebKitAnimationCustom.cpp"
     62317                                        >
     62318                                        <FileConfiguration
     62319                                                Name="Debug|Win32"
     62320                                                ExcludedFromBuild="true"
     62321                                                >
     62322                                                <Tool
     62323                                                        Name="VCCLCompilerTool"
     62324                                                />
     62325                                        </FileConfiguration>
     62326                                        <FileConfiguration
     62327                                                Name="Release|Win32"
     62328                                                ExcludedFromBuild="true"
     62329                                                >
     62330                                                <Tool
     62331                                                        Name="VCCLCompilerTool"
     62332                                                />
     62333                                        </FileConfiguration>
     62334                                        <FileConfiguration
     62335                                                Name="Debug_Cairo_CFLite|Win32"
     62336                                                ExcludedFromBuild="true"
     62337                                                >
     62338                                                <Tool
     62339                                                        Name="VCCLCompilerTool"
     62340                                                />
     62341                                        </FileConfiguration>
     62342                                        <FileConfiguration
     62343                                                Name="Release_Cairo_CFLite|Win32"
     62344                                                ExcludedFromBuild="true"
     62345                                                >
     62346                                                <Tool
     62347                                                        Name="VCCLCompilerTool"
     62348                                                />
     62349                                        </FileConfiguration>
     62350                                        <FileConfiguration
     62351                                                Name="Debug_All|Win32"
     62352                                                ExcludedFromBuild="true"
     62353                                                >
     62354                                                <Tool
     62355                                                        Name="VCCLCompilerTool"
     62356                                                />
     62357                                        </FileConfiguration>
     62358                                        <FileConfiguration
     62359                                                Name="Release_LTCG|Win32"
     62360                                                ExcludedFromBuild="true"
     62361                                                >
     62362                                                <Tool
     62363                                                        Name="VCCLCompilerTool"
     62364                                                />
     62365                                        </FileConfiguration>
     62366                                </File>
     62367                                <File
     62368                                        RelativePath="..\bindings\js\JSWebKitAnimationListCustom.cpp"
     62369                                        >
     62370                                        <FileConfiguration
     62371                                                Name="Debug|Win32"
     62372                                                ExcludedFromBuild="true"
     62373                                                >
     62374                                                <Tool
     62375                                                        Name="VCCLCompilerTool"
     62376                                                />
     62377                                        </FileConfiguration>
     62378                                        <FileConfiguration
     62379                                                Name="Release|Win32"
     62380                                                ExcludedFromBuild="true"
     62381                                                >
     62382                                                <Tool
     62383                                                        Name="VCCLCompilerTool"
     62384                                                />
     62385                                        </FileConfiguration>
     62386                                        <FileConfiguration
     62387                                                Name="Debug_Cairo_CFLite|Win32"
     62388                                                ExcludedFromBuild="true"
     62389                                                >
     62390                                                <Tool
     62391                                                        Name="VCCLCompilerTool"
     62392                                                />
     62393                                        </FileConfiguration>
     62394                                        <FileConfiguration
     62395                                                Name="Release_Cairo_CFLite|Win32"
     62396                                                ExcludedFromBuild="true"
     62397                                                >
     62398                                                <Tool
     62399                                                        Name="VCCLCompilerTool"
     62400                                                />
     62401                                        </FileConfiguration>
     62402                                        <FileConfiguration
     62403                                                Name="Debug_All|Win32"
     62404                                                ExcludedFromBuild="true"
     62405                                                >
     62406                                                <Tool
     62407                                                        Name="VCCLCompilerTool"
     62408                                                />
     62409                                        </FileConfiguration>
     62410                                        <FileConfiguration
     62411                                                Name="Release_LTCG|Win32"
     62412                                                ExcludedFromBuild="true"
     62413                                                >
     62414                                                <Tool
     62415                                                        Name="VCCLCompilerTool"
     62416                                                />
     62417                                        </FileConfiguration>
     62418                                </File>
     62419                                <File
    6218862420                                        RelativePath="..\bindings\js\JSWebKitCSSKeyframeRuleCustom.cpp"
    6218962421                                        >
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r80844 r80846  
    770770                316FE1190E6E1DA700BF6088 /* KeyframeAnimation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 316FE10F0E6E1DA700BF6088 /* KeyframeAnimation.cpp */; };
    771771                316FE11A0E6E1DA700BF6088 /* KeyframeAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 316FE1100E6E1DA700BF6088 /* KeyframeAnimation.h */; };
     772                3194616213020B20004BB3F8 /* JSWebKitAnimation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3194616013020B20004BB3F8 /* JSWebKitAnimation.cpp */; };
     773                3194616313020B20004BB3F8 /* JSWebKitAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 3194616113020B20004BB3F8 /* JSWebKitAnimation.h */; };
     774                3194616A13020B66004BB3F8 /* DOMWebKitAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 3194616813020B66004BB3F8 /* DOMWebKitAnimation.h */; };
     775                3194616B13020B66004BB3F8 /* DOMWebKitAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3194616913020B66004BB3F8 /* DOMWebKitAnimation.mm */; };
     776                319461FE13022BB8004BB3F8 /* JSWebKitAnimationList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 319461FC13022BB8004BB3F8 /* JSWebKitAnimationList.cpp */; };
     777                319461FF13022BB8004BB3F8 /* JSWebKitAnimationList.h in Headers */ = {isa = PBXBuildFile; fileRef = 319461FD13022BB8004BB3F8 /* JSWebKitAnimationList.h */; };
     778                3194620413022BF1004BB3F8 /* DOMWebKitAnimationList.h in Headers */ = {isa = PBXBuildFile; fileRef = 3194620213022BF1004BB3F8 /* DOMWebKitAnimationList.h */; };
     779                3194620513022BF1004BB3F8 /* DOMWebKitAnimationList.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3194620313022BF1004BB3F8 /* DOMWebKitAnimationList.mm */; };
     780                3194623213022F65004BB3F8 /* JSWebKitAnimationListCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3194623113022F65004BB3F8 /* JSWebKitAnimationListCustom.cpp */; };
     781                319E68871327C911004AC91A /* JSWebKitAnimationCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 319E68861327C911004AC91A /* JSWebKitAnimationCustom.cpp */; };
     782                319E69B213299BBD004AC91A /* WebKitAnimation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 319E69AC13299BBD004AC91A /* WebKitAnimation.cpp */; };
     783                319E69B313299BBD004AC91A /* WebKitAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 319E69AD13299BBD004AC91A /* WebKitAnimation.h */; };
     784                319E69B513299BBD004AC91A /* WebKitAnimationList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 319E69AF13299BBD004AC91A /* WebKitAnimationList.cpp */; };
     785                319E69B613299BBD004AC91A /* WebKitAnimationList.h in Headers */ = {isa = PBXBuildFile; fileRef = 319E69B013299BBD004AC91A /* WebKitAnimationList.h */; };
    772786                31C0FF210E4CEB6E007D6FE5 /* WebKitAnimationEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31C0FF1B0E4CEB6E007D6FE5 /* WebKitAnimationEvent.cpp */; };
    773787                31C0FF220E4CEB6E007D6FE5 /* WebKitAnimationEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 31C0FF1C0E4CEB6E007D6FE5 /* WebKitAnimationEvent.h */; };
     
    71557169                316FE10F0E6E1DA700BF6088 /* KeyframeAnimation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = KeyframeAnimation.cpp; path = animation/KeyframeAnimation.cpp; sourceTree = "<group>"; };
    71567170                316FE1100E6E1DA700BF6088 /* KeyframeAnimation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = KeyframeAnimation.h; path = animation/KeyframeAnimation.h; sourceTree = "<group>"; };
     7171                3194616013020B20004BB3F8 /* JSWebKitAnimation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWebKitAnimation.cpp; sourceTree = "<group>"; };
     7172                3194616113020B20004BB3F8 /* JSWebKitAnimation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWebKitAnimation.h; sourceTree = "<group>"; };
     7173                3194616813020B66004BB3F8 /* DOMWebKitAnimation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMWebKitAnimation.h; sourceTree = "<group>"; };
     7174                3194616913020B66004BB3F8 /* DOMWebKitAnimation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMWebKitAnimation.mm; sourceTree = "<group>"; };
     7175                319461FC13022BB8004BB3F8 /* JSWebKitAnimationList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWebKitAnimationList.cpp; sourceTree = "<group>"; };
     7176                319461FD13022BB8004BB3F8 /* JSWebKitAnimationList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWebKitAnimationList.h; sourceTree = "<group>"; };
     7177                3194620213022BF1004BB3F8 /* DOMWebKitAnimationList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMWebKitAnimationList.h; sourceTree = "<group>"; };
     7178                3194620313022BF1004BB3F8 /* DOMWebKitAnimationList.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMWebKitAnimationList.mm; sourceTree = "<group>"; };
     7179                3194623113022F65004BB3F8 /* JSWebKitAnimationListCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWebKitAnimationListCustom.cpp; sourceTree = "<group>"; };
     7180                319E68861327C911004AC91A /* JSWebKitAnimationCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWebKitAnimationCustom.cpp; sourceTree = "<group>"; };
     7181                319E69AC13299BBD004AC91A /* WebKitAnimation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebKitAnimation.cpp; sourceTree = "<group>"; };
     7182                319E69AD13299BBD004AC91A /* WebKitAnimation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitAnimation.h; sourceTree = "<group>"; };
     7183                319E69AE13299BBD004AC91A /* WebKitAnimation.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebKitAnimation.idl; sourceTree = "<group>"; };
     7184                319E69AF13299BBD004AC91A /* WebKitAnimationList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebKitAnimationList.cpp; sourceTree = "<group>"; };
     7185                319E69B013299BBD004AC91A /* WebKitAnimationList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitAnimationList.h; sourceTree = "<group>"; };
     7186                319E69B113299BBD004AC91A /* WebKitAnimationList.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebKitAnimationList.idl; sourceTree = "<group>"; };
    71577187                31C0FF1B0E4CEB6E007D6FE5 /* WebKitAnimationEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebKitAnimationEvent.cpp; sourceTree = "<group>"; };
    71587188                31C0FF1C0E4CEB6E007D6FE5 /* WebKitAnimationEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitAnimationEvent.h; sourceTree = "<group>"; };
     
    1402514055                        isa = PBXGroup;
    1402614056                        children = (
     14057                                8538F0000AD71770006A81D1 /* AbstractView.idl */,
    1402714058                                316FE1060E6E1D8400BF6088 /* animation */,
    14028                                 93C09A820B064F05005ABD4D /* mac */,
    14029                                 8538F0000AD71770006A81D1 /* AbstractView.idl */,
    1403014059                                BC124EE40C2641CD009E2349 /* BarInfo.cpp */,
    1403114060                                BC124EE50C2641CD009E2349 /* BarInfo.h */,
     
    1409914128                                BCE1C4190D982980003B02F2 /* Location.h */,
    1410014129                                BCE1C4220D9829F2003B02F2 /* Location.idl */,
     14130                                93C09A820B064F05005ABD4D /* mac */,
    1410114131                                931BCC601124DFCB00BE70DD /* MediaCanStartListener.h */,
    1410214132                                9FFE3E7811B59C5D0037874E /* MemoryInfo.cpp */,
     
    1417014200                                BC8BF1591058141800A40A07 /* UserStyleSheetTypes.h */,
    1417114201                                BE983D95052A2E0A00892D85 /* WebCoreKeyboardUIMode.h */,
     14202                                319E69AC13299BBD004AC91A /* WebKitAnimation.cpp */,
     14203                                319E69AD13299BBD004AC91A /* WebKitAnimation.h */,
     14204                                319E69AE13299BBD004AC91A /* WebKitAnimation.idl */,
     14205                                319E69AF13299BBD004AC91A /* WebKitAnimationList.cpp */,
     14206                                319E69B013299BBD004AC91A /* WebKitAnimationList.h */,
     14207                                319E69B113299BBD004AC91A /* WebKitAnimationList.idl */,
    1417214208                                494BD7930F55C8EE00747828 /* WebKitPoint.h */,
    1417314209                                494BD7940F55C8EE00747828 /* WebKitPoint.idl */,
     
    1502315059                                15C770A4100D41CD005BA267 /* DOMValidityState.h */,
    1502415060                                15C770A3100D41CD005BA267 /* DOMValidityState.mm */,
     15061                                3194616813020B66004BB3F8 /* DOMWebKitAnimation.h */,
     15062                                3194616913020B66004BB3F8 /* DOMWebKitAnimation.mm */,
     15063                                3194620213022BF1004BB3F8 /* DOMWebKitAnimationList.h */,
     15064                                3194620313022BF1004BB3F8 /* DOMWebKitAnimationList.mm */,
    1502515065                        );
    1502615066                        name = HTML;
     
    1635016390                                77EF62F112F9DB7400C77BD2 /* JSWebGLVertexArrayObjectOES.cpp */,
    1635116391                                77EF62F212F9DB7400C77BD2 /* JSWebGLVertexArrayObjectOES.h */,
     16392                                3194616013020B20004BB3F8 /* JSWebKitAnimation.cpp */,
     16393                                3194616113020B20004BB3F8 /* JSWebKitAnimation.h */,
     16394                                319461FC13022BB8004BB3F8 /* JSWebKitAnimationList.cpp */,
     16395                                319461FD13022BB8004BB3F8 /* JSWebKitAnimationList.h */,
    1635216396                                93F1D5BE12D5335600832BEC /* JSWebKitLoseContext.cpp */,
    1635316397                                93F1D5BF12D5335600832BEC /* JSWebKitLoseContext.h */,
     
    1805118095                                49EECF7510508D9C00099FAB /* JSUint8ArrayCustom.cpp */,
    1805218096                                49EED14C1051971A00099FAB /* JSWebGLRenderingContextCustom.cpp */,
     18097                                319E68861327C911004AC91A /* JSWebKitAnimationCustom.cpp */,
     18098                                3194623113022F65004BB3F8 /* JSWebKitAnimationListCustom.cpp */,
    1805318099                                E1AD14C41297354900ACA989 /* JSWebKitCSSKeyframeRuleCustom.cpp */,
    1805418100                                E1AD14B4129734CA00ACA989 /* JSWebKitCSSKeyframesRuleCustom.cpp */,
     
    2258822634                                BCD3F9831326C93700098A60 /* TextOrientation.h in Headers */,
    2258922635                                F316396C1329481A00A649CB /* InjectedScriptManager.h in Headers */,
     22636                                3194616313020B20004BB3F8 /* JSWebKitAnimation.h in Headers */,
     22637                                3194616A13020B66004BB3F8 /* DOMWebKitAnimation.h in Headers */,
     22638                                319461FF13022BB8004BB3F8 /* JSWebKitAnimationList.h in Headers */,
     22639                                3194620413022BF1004BB3F8 /* DOMWebKitAnimationList.h in Headers */,
     22640                                319E69B313299BBD004AC91A /* WebKitAnimation.h in Headers */,
     22641                                319E69B613299BBD004AC91A /* WebKitAnimationList.h in Headers */,
    2259022642                        );
    2259122643                        runOnlyForDeploymentPostprocessing = 0;
     
    2524525297                                F316396B1329481A00A649CB /* InjectedScriptManager.cpp in Sources */,
    2524625298                                F316396E1329487600A649CB /* JSInjectedScriptManager.cpp in Sources */,
     25299                                3194616213020B20004BB3F8 /* JSWebKitAnimation.cpp in Sources */,
     25300                                3194616B13020B66004BB3F8 /* DOMWebKitAnimation.mm in Sources */,
     25301                                319461FE13022BB8004BB3F8 /* JSWebKitAnimationList.cpp in Sources */,
     25302                                3194620513022BF1004BB3F8 /* DOMWebKitAnimationList.mm in Sources */,
     25303                                3194623213022F65004BB3F8 /* JSWebKitAnimationListCustom.cpp in Sources */,
     25304                                319E68871327C911004AC91A /* JSWebKitAnimationCustom.cpp in Sources */,
     25305                                319E69B213299BBD004AC91A /* WebKitAnimation.cpp in Sources */,
     25306                                319E69B513299BBD004AC91A /* WebKitAnimationList.cpp in Sources */,
    2524725307                        );
    2524825308                        runOnlyForDeploymentPostprocessing = 0;
  • trunk/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp

    r80844 r80846  
    145145#include "JSUint32ArrayCustom.cpp"
    146146#include "JSUint8ArrayCustom.cpp"
     147#include "JSWebKitAnimationCustom.cpp"
     148#include "JSWebKitAnimationListCustom.cpp"
    147149#include "JSWebKitCSSKeyframeRuleCustom.cpp"
    148150#include "JSWebKitCSSKeyframesRuleCustom.cpp"
  • trunk/Source/WebCore/dom/Element.cpp

    r80803 r80846  
    5656#include "Settings.h"
    5757#include "TextIterator.h"
     58#include "WebKitAnimationList.h"
    5859#include "XMLNames.h"
    5960#include <wtf/text/CString.h>
     
    18871888}
    18881889
     1890PassRefPtr<WebKitAnimationList> Element::webkitGetAnimations() const
     1891{
     1892    if (!renderer())
     1893        return 0;
     1894
     1895    AnimationController* animController = renderer()->animation();
     1896
     1897    if (!animController)
     1898        return 0;
     1899   
     1900    return animController->animationsForRenderer(renderer());
     1901}
     1902
    18891903} // namespace WebCore
  • trunk/Source/WebCore/dom/Element.h

    r80412 r80846  
    4040class ElementRareData;
    4141class IntSize;
     42class WebKitAnimationList;
    4243
    4344enum SpellcheckAttributeState {
     
    345346    virtual bool isSpellCheckingEnabled() const;
    346347
     348    PassRefPtr<WebKitAnimationList> webkitGetAnimations() const;
     349
    347350protected:
    348351    Element(const QualifiedName& tagName, Document* document, ConstructionType type)
  • trunk/Source/WebCore/dom/Element.idl

    r76115 r80846  
    9696        void scrollByLines(in long lines);
    9797        void scrollByPages(in long pages);
     98
     99        WebKitAnimationList webkitGetAnimations();
    98100
    99101        // HTML 5
  • trunk/Source/WebCore/page/DOMWindow.idl

    r80587 r80846  
    605605        attribute [Conditional=VIDEO, EnabledAtRuntime] MediaErrorConstructor MediaError;
    606606        attribute [Conditional=VIDEO, EnabledAtRuntime] TimeRangesConstructor TimeRanges;
     607
     608        attribute WebKitAnimationConstructor WebKitAnimation;
     609        attribute WebKitAnimationListConstructor WebKitAnimationList;
    607610
    608611#if defined(ENABLE_XPATH) && ENABLE_XPATH
  • trunk/Source/WebCore/page/animation/AnimationBase.cpp

    r76248 r80846  
    809809AnimationBase::~AnimationBase()
    810810{
    811     m_compAnim->animationController()->removeFromStyleAvailableWaitList(this);
    812     m_compAnim->animationController()->removeFromStartTimeResponseWaitList(this);
     811    // If we have a renderer, remove ourselves from the wait lists. We can get into
     812    // the situation where there is no renderer when the binding has a reference to
     813    // this object, but the element has since been removed from the document.
     814    if (m_object) {
     815        m_compAnim->animationController()->removeFromStyleAvailableWaitList(this);
     816        m_compAnim->animationController()->removeFromStartTimeResponseWaitList(this);
     817    }
    813818}
    814819
     
    13981403    return beginAnimationUpdateTime() - m_startTime;
    13991404}
    1400    
     1405
     1406void AnimationBase::setElapsedTime(double time)
     1407{
     1408    // FIXME: implement this method
     1409    UNUSED_PARAM(time);
     1410}
     1411
     1412void AnimationBase::play()
     1413{
     1414    // FIXME: implement this method
     1415}
     1416
     1417void AnimationBase::pause()
     1418{
     1419    // FIXME: implement this method
     1420}
     1421
    14011422} // namespace WebCore
  • trunk/Source/WebCore/page/animation/AnimationBase.h

    r73526 r80846  
    164164    // Freeze the animation; used by DumpRenderTree.
    165165    void freezeAtTime(double t);
     166
     167    // Play and pause API
     168    void play();
     169    void pause();
    166170   
    167171    double beginAnimationUpdateTime() const;
    168172   
    169173    double getElapsedTime() const;
    170    
     174    // Setting the elapsed time will adjust the start time and possibly pause time.
     175    void setElapsedTime(double);
     176
    171177    AnimationBase* next() const { return m_next; }
    172178    void setNext(AnimationBase* animation) { m_next = animation; }
     
    183189
    184190    static HashSet<int> animatableShorthandsAffectingProperty(int property);
    185    
     191
     192    const Animation* animation() const { return m_animation.get(); }
     193
    186194protected:
    187195    virtual void overrideAnimations() { }
  • trunk/Source/WebCore/page/animation/AnimationController.cpp

    r76708 r80846  
    3838#include "RenderView.h"
    3939#include "WebKitAnimationEvent.h"
     40#include "WebKitAnimationList.h"
    4041#include "WebKitTransitionEvent.h"
    4142#include <wtf/CurrentTime.h>
     
    4445namespace WebCore {
    4546
     47// FIXME: Why isn't this set to 60fps or something?
    4648static const double cAnimationTimerDelay = 0.025;
    4749static const double cBeginAnimationUpdateTimeNotSet = -1;
     
    480482}
    481483
     484PassRefPtr<WebKitAnimationList> AnimationControllerPrivate::animationsForRenderer(RenderObject* renderer) const
     485{
     486    RefPtr<CompositeAnimation> animation = m_compositeAnimations.get(renderer);
     487
     488    if (!animation)
     489        return 0;
     490
     491    return animation->animations();
     492}
     493
    482494AnimationController::AnimationController(Frame* frame)
    483495    : m_data(new AnimationControllerPrivate(frame))
     
    613625}
    614626
     627PassRefPtr<WebKitAnimationList> AnimationController::animationsForRenderer(RenderObject* renderer) const
     628{
     629    return m_data->animationsForRenderer(renderer);
     630}
     631
    615632} // namespace WebCore
  • trunk/Source/WebCore/page/animation/AnimationController.h

    r71451 r80846  
    4343class RenderObject;
    4444class RenderStyle;
     45class WebKitAnimationList;
    4546
    4647class AnimationController {
     
    7475    static bool supportsAcceleratedAnimationOfProperty(CSSPropertyID);
    7576
     77    PassRefPtr<WebKitAnimationList> animationsForRenderer(RenderObject*) const;
     78
    7679private:
    7780    AnimationControllerPrivate* m_data;
  • trunk/Source/WebCore/page/animation/AnimationControllerPrivate.h

    r76248 r80846  
    4949class RenderObject;
    5050class RenderStyle;
     51class WebKitAnimationList;
    5152
    5253class AnimationControllerPrivate {
     
    9495    void removeFromStartTimeResponseWaitList(AnimationBase*);   
    9596   
     97    PassRefPtr<WebKitAnimationList> animationsForRenderer(RenderObject*) const;
     98   
    9699private:
    97100    void animationTimerFired(Timer<AnimationControllerPrivate>*);
  • trunk/Source/WebCore/page/animation/CompositeAnimation.cpp

    r73526 r80846  
    3737#include "RenderObject.h"
    3838#include "RenderStyle.h"
     39#include "WebKitAnimation.h"
     40#include "WebKitAnimationList.h"
    3941
    4042namespace WebCore {
     
    253255    for (AnimationNameMap::const_iterator it = m_keyframeAnimations.begin(); it != kfend; ++it) {
    254256        KeyframeAnimation* keyframeAnim = it->second.get();
    255         if (keyframeAnim->index() < 0)
     257        if (keyframeAnim->index() < 0) {
    256258            animsToBeRemoved.append(keyframeAnim->name().impl());
     259            keyframeAnim->clearRenderer();
     260        }
    257261    }
    258262   
     
    561565}
    562566
     567PassRefPtr<WebKitAnimationList> CompositeAnimation::animations() const
     568{
     569    RefPtr<WebKitAnimationList> animations = WebKitAnimationList::create();
     570    if (!m_keyframeAnimations.isEmpty()) {
     571        m_keyframeAnimations.checkConsistency();
     572        for (Vector<AtomicStringImpl*>::const_iterator it = m_keyframeAnimationOrderMap.begin(); it != m_keyframeAnimationOrderMap.end(); ++it) {
     573            RefPtr<KeyframeAnimation> keyframeAnimation = m_keyframeAnimations.get(*it);
     574            if (keyframeAnimation) {
     575                RefPtr<WebKitAnimation> anim = WebKitAnimation::create(keyframeAnimation);
     576                animations->append(anim);
     577            }
     578        }
     579    }
     580    return animations;
     581}
     582
    563583} // namespace WebCore
  • trunk/Source/WebCore/page/animation/CompositeAnimation.h

    r71125 r80846  
    4242class RenderObject;
    4343class RenderStyle;
     44class WebKitAnimationList;
    4445
    4546// A CompositeAnimation represents a collection of animations that are running
     
    8182    unsigned numberOfActiveAnimations() const;
    8283
     84    PassRefPtr<WebKitAnimationList> animations() const;
     85
    8386private:
    8487    CompositeAnimation(AnimationControllerPrivate* animationController)
Note: See TracChangeset for help on using the changeset viewer.