New issue
Advanced search Search tips

Issue 624639 link

Starred by 3 users

Issue metadata

Status: Archived
Owner: ----
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature

Blocking:
issue 772407



Sign in to add a comment

Update animation IDL files

Project Member Reported by suzyh@chromium.org, Jun 30 2016

Issue description

Review the .idl files in core/animation to ensure that the naming is in line with the spec (an interop issue) and ensure that X.idl and XReadOnly.idl are implemented in X.h (more just code health).
 

Comment 1 by suzyh@chromium.org, Jul 28 2016

Owner: suzyh@chromium.org
Status: Assigned (was: Available)

Comment 3 by suzyh@chromium.org, Aug 10 2016

Status: Started (was: Assigned)
Project Member

Comment 4 by bugdroid1@chromium.org, Aug 10 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c27a7492ea607447c055a93856c14e614678ac5e

commit c27a7492ea607447c055a93856c14e614678ac5e
Author: suzyh <suzyh@chromium.org>
Date: Wed Aug 10 04:13:09 2016

Implement DocumentTimeline

The Document.timeline property is currently an AnimationTimeline object. The
spec says that it should be a DocumentTimeline, where DocumentTimeline inherits
from AnimationTimeline.

This patch adds the DocumentTimeline IDL file and basic implementation,
excluding the constructor as specified at
http://w3c.github.io/web-animations/#the-documenttimeline-interface.
(The lack of this constructor is the cause of the "Illegal constructor" errors
in the changed LayoutTests expectations.)

This patch also changes the Document.timeline property to be a DocumentTimeline.
This then requires several #includes to be updated, in files that call
document.timeline().someMethod(), even though these 'someMethod's are inherited
from AnimationTimeline.

BUG= 624639 , 600248 

Review-Url: https://codereview.chromium.org/2222313002
Cr-Commit-Position: refs/heads/master@{#410950}

[modify] https://crrev.com/c27a7492ea607447c055a93856c14e614678ac5e/third_party/WebKit/LayoutTests/imported/wpt/web-animations/interfaces/AnimationTimeline/idlharness-expected.txt
[modify] https://crrev.com/c27a7492ea607447c055a93856c14e614678ac5e/third_party/WebKit/LayoutTests/imported/wpt/web-animations/interfaces/DocumentTimeline/constructor-expected.txt
[modify] https://crrev.com/c27a7492ea607447c055a93856c14e614678ac5e/third_party/WebKit/LayoutTests/web-animations-api/animation-set-timeline-expected.txt
[modify] https://crrev.com/c27a7492ea607447c055a93856c14e614678ac5e/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/c27a7492ea607447c055a93856c14e614678ac5e/third_party/WebKit/Source/core/animation/AnimationStackTest.cpp
[modify] https://crrev.com/c27a7492ea607447c055a93856c14e614678ac5e/third_party/WebKit/Source/core/animation/AnimationTimeline.h
[modify] https://crrev.com/c27a7492ea607447c055a93856c14e614678ac5e/third_party/WebKit/Source/core/animation/AnimationTimelineTest.cpp
[modify] https://crrev.com/c27a7492ea607447c055a93856c14e614678ac5e/third_party/WebKit/Source/core/animation/CustomCompositorAnimations.cpp
[modify] https://crrev.com/c27a7492ea607447c055a93856c14e614678ac5e/third_party/WebKit/Source/core/animation/DocumentAnimation.h
[modify] https://crrev.com/c27a7492ea607447c055a93856c14e614678ac5e/third_party/WebKit/Source/core/animation/DocumentAnimation.idl
[modify] https://crrev.com/c27a7492ea607447c055a93856c14e614678ac5e/third_party/WebKit/Source/core/animation/DocumentAnimations.cpp
[add] https://crrev.com/c27a7492ea607447c055a93856c14e614678ac5e/third_party/WebKit/Source/core/animation/DocumentTimeline.h
[add] https://crrev.com/c27a7492ea607447c055a93856c14e614678ac5e/third_party/WebKit/Source/core/animation/DocumentTimeline.idl
[add] https://crrev.com/c27a7492ea607447c055a93856c14e614678ac5e/third_party/WebKit/Source/core/animation/DocumentTimelineTest.cpp
[modify] https://crrev.com/c27a7492ea607447c055a93856c14e614678ac5e/third_party/WebKit/Source/core/animation/ElementAnimation.h
[modify] https://crrev.com/c27a7492ea607447c055a93856c14e614678ac5e/third_party/WebKit/Source/core/animation/KeyframeEffectTest.cpp
[modify] https://crrev.com/c27a7492ea607447c055a93856c14e614678ac5e/third_party/WebKit/Source/core/animation/css/CSSAnimations.cpp
[modify] https://crrev.com/c27a7492ea607447c055a93856c14e614678ac5e/third_party/WebKit/Source/core/core.gypi
[modify] https://crrev.com/c27a7492ea607447c055a93856c14e614678ac5e/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/c27a7492ea607447c055a93856c14e614678ac5e/third_party/WebKit/Source/core/dom/Document.h
[modify] https://crrev.com/c27a7492ea607447c055a93856c14e614678ac5e/third_party/WebKit/Source/core/dom/StyleEngine.cpp
[modify] https://crrev.com/c27a7492ea607447c055a93856c14e614678ac5e/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp
[modify] https://crrev.com/c27a7492ea607447c055a93856c14e614678ac5e/third_party/WebKit/Source/core/svg/animation/SMILTimeContainer.cpp
[modify] https://crrev.com/c27a7492ea607447c055a93856c14e614678ac5e/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp
[modify] https://crrev.com/c27a7492ea607447c055a93856c14e614678ac5e/third_party/WebKit/Source/core/testing/Internals.cpp

Project Member

Comment 5 by bugdroid1@chromium.org, Aug 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b084e73aae95c6324c39ae87e74a5412b85df0d2

commit b084e73aae95c6324c39ae87e74a5412b85df0d2
Author: suzyh <suzyh@chromium.org>
Date: Thu Aug 11 02:56:45 2016

Remove AnimationEffectTimingProperties playbackRate

The playbackRate property in AnimationEffectTimingProperties.idl is no longer
part of the spec. This patch removes it and places that expect
ComputedTimingProperties and KeyframeEffectOptions (which inherit from
AnimationEffectTimingProperties) to have playbackRate fields.

The playbackRate field of the Timing object, which in TimingInput.cpp is
initialized from the AnimationEffectTimingProperties playbackRate field, is left
intact because it is more widely used through the code. A dummy 1.0 value is
used instead in this one location.

BUG= 624639 

Review-Url: https://codereview.chromium.org/2228773002
Cr-Commit-Position: refs/heads/master@{#411237}

[modify] https://crrev.com/b084e73aae95c6324c39ae87e74a5412b85df0d2/third_party/WebKit/Source/core/animation/AnimationEffect.cpp
[modify] https://crrev.com/b084e73aae95c6324c39ae87e74a5412b85df0d2/third_party/WebKit/Source/core/animation/AnimationEffectTimingProperties.idl
[modify] https://crrev.com/b084e73aae95c6324c39ae87e74a5412b85df0d2/third_party/WebKit/Source/core/animation/KeyframeEffectTest.cpp
[modify] https://crrev.com/b084e73aae95c6324c39ae87e74a5412b85df0d2/third_party/WebKit/Source/core/animation/Timing.h
[modify] https://crrev.com/b084e73aae95c6324c39ae87e74a5412b85df0d2/third_party/WebKit/Source/core/animation/TimingInput.cpp
[modify] https://crrev.com/b084e73aae95c6324c39ae87e74a5412b85df0d2/third_party/WebKit/Source/core/animation/TimingInputTest.cpp
[modify] https://crrev.com/b084e73aae95c6324c39ae87e74a5412b85df0d2/third_party/WebKit/Source/core/inspector/InspectorAnimationAgent.cpp
[modify] https://crrev.com/b084e73aae95c6324c39ae87e74a5412b85df0d2/third_party/WebKit/Source/core/inspector/browser_protocol.json
[modify] https://crrev.com/b084e73aae95c6324c39ae87e74a5412b85df0d2/third_party/WebKit/Source/devtools/front_end/animation/AnimationModel.js

Project Member

Comment 6 by bugdroid1@chromium.org, Aug 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8e90d746cd42c66d5565b8a08220b83378a35e24

commit 8e90d746cd42c66d5565b8a08220b83378a35e24
Author: suzyh <suzyh@chromium.org>
Date: Thu Aug 11 02:59:20 2016

Remove EffectModel IDL interface

EffectModel is not a specced part of the Web Animations interface
http://w3c.github.io/web-animations/ and has not been shipped. This patch
therefore removes EffectModel and all references to it from the IDL, in
particular as a valid type for the effect argument of Element.animate(). The
EffectModel class is maintained as a part of the Web Animations implementation.

BUG= 624639 

Review-Url: https://codereview.chromium.org/2234683002
Cr-Commit-Position: refs/heads/master@{#411239}

[modify] https://crrev.com/8e90d746cd42c66d5565b8a08220b83378a35e24/third_party/WebKit/Source/bindings/core/v8/generated.gni
[modify] https://crrev.com/8e90d746cd42c66d5565b8a08220b83378a35e24/third_party/WebKit/Source/bindings/core/v8/generated.gypi
[modify] https://crrev.com/8e90d746cd42c66d5565b8a08220b83378a35e24/third_party/WebKit/Source/core/animation/EffectInput.cpp
[modify] https://crrev.com/8e90d746cd42c66d5565b8a08220b83378a35e24/third_party/WebKit/Source/core/animation/EffectInput.h
[modify] https://crrev.com/8e90d746cd42c66d5565b8a08220b83378a35e24/third_party/WebKit/Source/core/animation/EffectInputTest.cpp
[modify] https://crrev.com/8e90d746cd42c66d5565b8a08220b83378a35e24/third_party/WebKit/Source/core/animation/EffectModel.h
[delete] https://crrev.com/83d3bfb776904539c12d7cbf0644b0ba596378fd/third_party/WebKit/Source/core/animation/EffectModel.idl
[modify] https://crrev.com/8e90d746cd42c66d5565b8a08220b83378a35e24/third_party/WebKit/Source/core/animation/ElementAnimation.h
[modify] https://crrev.com/8e90d746cd42c66d5565b8a08220b83378a35e24/third_party/WebKit/Source/core/animation/ElementAnimation.idl
[modify] https://crrev.com/8e90d746cd42c66d5565b8a08220b83378a35e24/third_party/WebKit/Source/core/animation/KeyframeEffect.cpp
[modify] https://crrev.com/8e90d746cd42c66d5565b8a08220b83378a35e24/third_party/WebKit/Source/core/animation/KeyframeEffect.h
[modify] https://crrev.com/8e90d746cd42c66d5565b8a08220b83378a35e24/third_party/WebKit/Source/core/animation/KeyframeEffect.idl
[modify] https://crrev.com/8e90d746cd42c66d5565b8a08220b83378a35e24/third_party/WebKit/Source/core/animation/KeyframeEffectTest.cpp
[modify] https://crrev.com/8e90d746cd42c66d5565b8a08220b83378a35e24/third_party/WebKit/Source/core/core.gypi

Project Member

Comment 7 by bugdroid1@chromium.org, Aug 17 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/34fecabd35bd9da50ff3498c83ae66c1806c9233

commit 34fecabd35bd9da50ff3498c83ae66c1806c9233
Author: suzyh <suzyh@chromium.org>
Date: Wed Aug 17 06:05:45 2016

Rename AnimationEffect to AnimationEffectReadOnly

AnimationEffectReadOnly.idl is implemented by the AnimationEffect class. Using a
different name is discouraged (see
https://www.chromium.org/developers/web-idl-interfaces#TOC-Names) so this patch
renames the AnimationEffect class to AnimationEffectReadOnly.

BUG= 624639 

Review-Url: https://codereview.chromium.org/2236583003
Cr-Commit-Position: refs/heads/master@{#412456}

[modify] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/animation/Animation.cpp
[modify] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/animation/Animation.h
[rename] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/animation/AnimationEffectReadOnly.cpp
[rename] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/animation/AnimationEffectReadOnly.h
[modify] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/animation/AnimationEffectReadOnly.idl
[rename] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/animation/AnimationEffectReadOnlyTest.cpp
[modify] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/animation/AnimationEffectTiming.cpp
[modify] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/animation/AnimationEffectTiming.h
[modify] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/animation/AnimationStack.cpp
[modify] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/animation/AnimationTest.cpp
[modify] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/animation/AnimationTimeline.cpp
[modify] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/animation/AnimationTimeline.h
[modify] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/animation/AnimationTimelineTest.cpp
[modify] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/animation/CompositorAnimations.cpp
[modify] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/animation/InertEffect.cpp
[modify] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/animation/InertEffect.h
[modify] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/animation/Keyframe.h
[modify] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/animation/KeyframeEffect.cpp
[modify] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/animation/KeyframeEffect.h
[modify] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/animation/KeyframeEffectModel.cpp
[modify] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/animation/KeyframeEffectModel.h
[modify] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/animation/TimingCalculations.h
[modify] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/animation/TimingCalculationsTest.cpp
[modify] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/animation/css/CSSAnimations.cpp
[modify] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/animation/css/CSSAnimations.h
[modify] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/core.gypi
[modify] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/inspector/InspectorAnimationAgent.cpp
[modify] https://crrev.com/34fecabd35bd9da50ff3498c83ae66c1806c9233/third_party/WebKit/Source/core/inspector/InspectorTraceEvents.cpp

Comment 8 by suzyh@chromium.org, Sep 9 2016

Cc: suzyh@chromium.org alancutter@chromium.org
 Issue 598966  has been merged into this issue.

Comment 9 by suzyh@chromium.org, Sep 9 2016

Cc: -suzyh@chromium.org
Additional note, from merging 598966 against this:

The main elements of the Firefox implementation that we are currently missing are AnimationEffectTimingReadOnly and KeyframeEffectReadOnly, although we have the non-ReadOnly equivalents.

We also need to rename AnimationPlayerEvent (defined in core/events) as AnimationPlaybackEvent.

Comment 10 by suzyh@chromium.org, Sep 14 2016

 Issue 629750  has been merged into this issue.
Project Member

Comment 11 by bugdroid1@chromium.org, Sep 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fb139e4ad08c64b1940c5ce4eed21025184d0a1e

commit fb139e4ad08c64b1940c5ce4eed21025184d0a1e
Author: suzyh <suzyh@chromium.org>
Date: Fri Sep 16 04:47:41 2016

Rename AnimationPlayerEvent as AnimationPlaybackEvent

The Web Animations spec now uses the name AnimationPlaybackEvent instead of
AnimationPlayerEvent:
http://w3c.github.io/web-animations/#the-animationplaybackevent-interface

This patch also makes the timelineTime property of AnimationPlaybackEvent
nullable, as specced.

BUG= 624639 

Review-Url: https://codereview.chromium.org/2344473002
Cr-Commit-Position: refs/heads/master@{#419103}

[modify] https://crrev.com/fb139e4ad08c64b1940c5ce4eed21025184d0a1e/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/fb139e4ad08c64b1940c5ce4eed21025184d0a1e/third_party/WebKit/Source/bindings/core/v8/BUILD.gn
[modify] https://crrev.com/fb139e4ad08c64b1940c5ce4eed21025184d0a1e/third_party/WebKit/Source/core/BUILD.gn
[modify] https://crrev.com/fb139e4ad08c64b1940c5ce4eed21025184d0a1e/third_party/WebKit/Source/core/animation/Animation.cpp
[modify] https://crrev.com/fb139e4ad08c64b1940c5ce4eed21025184d0a1e/third_party/WebKit/Source/core/core_idl_files.gni
[add] https://crrev.com/fb139e4ad08c64b1940c5ce4eed21025184d0a1e/third_party/WebKit/Source/core/events/AnimationPlaybackEvent.cpp
[add] https://crrev.com/fb139e4ad08c64b1940c5ce4eed21025184d0a1e/third_party/WebKit/Source/core/events/AnimationPlaybackEvent.h
[add] https://crrev.com/fb139e4ad08c64b1940c5ce4eed21025184d0a1e/third_party/WebKit/Source/core/events/AnimationPlaybackEvent.idl
[add] https://crrev.com/fb139e4ad08c64b1940c5ce4eed21025184d0a1e/third_party/WebKit/Source/core/events/AnimationPlaybackEventInit.idl
[delete] https://crrev.com/270969d1cb77d6314dfb0f4bea0d76f8a919eca4/third_party/WebKit/Source/core/events/AnimationPlayerEvent.cpp
[delete] https://crrev.com/270969d1cb77d6314dfb0f4bea0d76f8a919eca4/third_party/WebKit/Source/core/events/AnimationPlayerEvent.h
[delete] https://crrev.com/270969d1cb77d6314dfb0f4bea0d76f8a919eca4/third_party/WebKit/Source/core/events/AnimationPlayerEvent.idl
[delete] https://crrev.com/270969d1cb77d6314dfb0f4bea0d76f8a919eca4/third_party/WebKit/Source/core/events/AnimationPlayerEventInit.idl
[modify] https://crrev.com/fb139e4ad08c64b1940c5ce4eed21025184d0a1e/third_party/WebKit/Source/core/events/BUILD.gn

Project Member

Comment 12 by bugdroid1@chromium.org, Sep 30 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3120c553f66737e082fe12cace7ca25743f1dfe8

commit 3120c553f66737e082fe12cace7ca25743f1dfe8
Author: suzyh <suzyh@chromium.org>
Date: Fri Sep 30 01:51:35 2016

Introduce KeyframeEffectReadOnly interface

The Web Animations spec includes a KeyframeEffect interface which inherits from
KeyframeEffectReadOnly which in turn inherits from AnimationEffectReadOnly.
(http://w3c.github.io/web-animations/#the-keyframeeffect-interfaces). Blink
currently does not implement KeyframeEffectReadOnly; KeyframeEffect inherits
directly from AnimationEffectReadOnly.

This patch adds the KeyframeEffectReadOnly interface and corresponding
implementation. Since KeyframeEffectReadOnly objects are never actually used
in the code, and we only need to provide a read-only view on a KeyframeEffect
object, the KeyframeEffectReadOnly::create functions simply pass through to the
KeyframeEffect::create functions.

Note that these interfaces are only exposed behind the
experimental-web-platform-features flag.

Several expectations are correspondingly updated for the web-animations suite of
the imported web platform tests.

BUG= 624639 , 600248 

Review-Url: https://codereview.chromium.org/2369833002
Cr-Commit-Position: refs/heads/master@{#422009}

[modify] https://crrev.com/3120c553f66737e082fe12cace7ca25743f1dfe8/third_party/WebKit/LayoutTests/imported/wpt/web-animations/interfaces/Animation/finish-expected.txt
[modify] https://crrev.com/3120c553f66737e082fe12cace7ca25743f1dfe8/third_party/WebKit/LayoutTests/imported/wpt/web-animations/interfaces/Document/getAnimations-expected.txt
[modify] https://crrev.com/3120c553f66737e082fe12cace7ca25743f1dfe8/third_party/WebKit/LayoutTests/imported/wpt/web-animations/interfaces/KeyframeEffect/constructor-expected.txt
[delete] https://crrev.com/fcfa8c2054c4ea32f1f9332d3ec0d03508db79e7/third_party/WebKit/LayoutTests/imported/wpt/web-animations/interfaces/KeyframeEffect/getComputedTiming-expected.txt
[modify] https://crrev.com/3120c553f66737e082fe12cace7ca25743f1dfe8/third_party/WebKit/LayoutTests/imported/wpt/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-expected.txt
[modify] https://crrev.com/3120c553f66737e082fe12cace7ca25743f1dfe8/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/3120c553f66737e082fe12cace7ca25743f1dfe8/third_party/WebKit/Source/core/animation/BUILD.gn
[modify] https://crrev.com/3120c553f66737e082fe12cace7ca25743f1dfe8/third_party/WebKit/Source/core/animation/KeyframeEffect.cpp
[modify] https://crrev.com/3120c553f66737e082fe12cace7ca25743f1dfe8/third_party/WebKit/Source/core/animation/KeyframeEffect.h
[modify] https://crrev.com/3120c553f66737e082fe12cace7ca25743f1dfe8/third_party/WebKit/Source/core/animation/KeyframeEffect.idl
[add] https://crrev.com/3120c553f66737e082fe12cace7ca25743f1dfe8/third_party/WebKit/Source/core/animation/KeyframeEffectReadOnly.cpp
[add] https://crrev.com/3120c553f66737e082fe12cace7ca25743f1dfe8/third_party/WebKit/Source/core/animation/KeyframeEffectReadOnly.h
[add] https://crrev.com/3120c553f66737e082fe12cace7ca25743f1dfe8/third_party/WebKit/Source/core/animation/KeyframeEffectReadOnly.idl
[modify] https://crrev.com/3120c553f66737e082fe12cace7ca25743f1dfe8/third_party/WebKit/Source/core/core_idl_files.gni

Project Member

Comment 13 by bugdroid1@chromium.org, Oct 5 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1eb6e3ef5f59e0423ec0a6ab3e35812122ca1399

commit 1eb6e3ef5f59e0423ec0a6ab3e35812122ca1399
Author: suzyh <suzyh@chromium.org>
Date: Wed Oct 05 03:16:19 2016

Implement AnimationEffectTimingReadOnly interface

This patch implements AnimationEffectTimingReadOnly, an interface of the
Web Animations API that is currently missing
(http://w3c.github.io/web-animations/#the-animationeffecttimingreadonly-interface).
The interface is only exposed behind the experimental-web-platform-features
flag.

BUG= 624639 

Review-Url: https://codereview.chromium.org/2379863003
Cr-Commit-Position: refs/heads/master@{#423064}

[modify] https://crrev.com/1eb6e3ef5f59e0423ec0a6ab3e35812122ca1399/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/1eb6e3ef5f59e0423ec0a6ab3e35812122ca1399/third_party/WebKit/Source/core/animation/AnimationEffectReadOnly.cpp
[modify] https://crrev.com/1eb6e3ef5f59e0423ec0a6ab3e35812122ca1399/third_party/WebKit/Source/core/animation/AnimationEffectReadOnly.h
[modify] https://crrev.com/1eb6e3ef5f59e0423ec0a6ab3e35812122ca1399/third_party/WebKit/Source/core/animation/AnimationEffectReadOnly.idl
[modify] https://crrev.com/1eb6e3ef5f59e0423ec0a6ab3e35812122ca1399/third_party/WebKit/Source/core/animation/AnimationEffectTiming.cpp
[modify] https://crrev.com/1eb6e3ef5f59e0423ec0a6ab3e35812122ca1399/third_party/WebKit/Source/core/animation/AnimationEffectTiming.h
[modify] https://crrev.com/1eb6e3ef5f59e0423ec0a6ab3e35812122ca1399/third_party/WebKit/Source/core/animation/AnimationEffectTiming.idl
[add] https://crrev.com/1eb6e3ef5f59e0423ec0a6ab3e35812122ca1399/third_party/WebKit/Source/core/animation/AnimationEffectTimingReadOnly.cpp
[add] https://crrev.com/1eb6e3ef5f59e0423ec0a6ab3e35812122ca1399/third_party/WebKit/Source/core/animation/AnimationEffectTimingReadOnly.h
[add] https://crrev.com/1eb6e3ef5f59e0423ec0a6ab3e35812122ca1399/third_party/WebKit/Source/core/animation/AnimationEffectTimingReadOnly.idl
[modify] https://crrev.com/1eb6e3ef5f59e0423ec0a6ab3e35812122ca1399/third_party/WebKit/Source/core/animation/BUILD.gn
[modify] https://crrev.com/1eb6e3ef5f59e0423ec0a6ab3e35812122ca1399/third_party/WebKit/Source/core/animation/KeyframeEffect.cpp
[modify] https://crrev.com/1eb6e3ef5f59e0423ec0a6ab3e35812122ca1399/third_party/WebKit/Source/core/animation/KeyframeEffect.h
[modify] https://crrev.com/1eb6e3ef5f59e0423ec0a6ab3e35812122ca1399/third_party/WebKit/Source/core/core_idl_files.gni
[modify] https://crrev.com/1eb6e3ef5f59e0423ec0a6ab3e35812122ca1399/third_party/WebKit/Source/core/inspector/InspectorAnimationAgent.cpp

Project Member

Comment 14 by bugdroid1@chromium.org, Oct 5 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b6d80c681fbc035f6267353b4fefbab1b33744ae

commit b6d80c681fbc035f6267353b4fefbab1b33744ae
Author: suzyh <suzyh@chromium.org>
Date: Wed Oct 05 08:35:17 2016

Test type of exposed AnimationEffectTimingReadOnly

The KeyframeEffectReadOnly interface was implemented in
https://codereview.chromium.org/2369833002 as a simple redirection to a
KeyframeEffect object (where KeyframeEffect is actually a subclass of
KeyframeEffectReadOnly).

In a subsequent patch (https://codereview.chromium.org/2379863003), the timing
attribute of KeyframeEffect was changed: KeyframeEffectReadOnly.timing is
an AnimationEffectTimingReadOnly, and KeyframeEffect.timing is an
AnimationEffectTiming (a subclass of AnimationEffectTimingReadOnly).

It turns out that if you construct a KeyframeEffectReadOnly object in
JavaScript, the V8/JavaScript interface magically interprets and represents the
underlying KeyframeEffect object as a KeyframeEffectReadOnly object, as we
wanted. But when the JavaScript then accesses the timing attribute, it appears
to treat it as a KeyframeEffect object, calling the KeyframeEffect version of
the getter instead of the KeyframeEffectReadOnly version.

This patch commits a test that illustrates the bug. A future patch will fix the
bug by actually constructing KeyframeEffectReadOnly objects in the C++.

BUG= 624639 

Review-Url: https://codereview.chromium.org/2389323003
Cr-Commit-Position: refs/heads/master@{#423115}

[add] https://crrev.com/b6d80c681fbc035f6267353b4fefbab1b33744ae/third_party/WebKit/LayoutTests/animations/api-readonly-object-types-expected.txt
[add] https://crrev.com/b6d80c681fbc035f6267353b4fefbab1b33744ae/third_party/WebKit/LayoutTests/animations/api-readonly-object-types.html

Project Member

Comment 15 by bugdroid1@chromium.org, Oct 6 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/65aaa5e663e316c1ea35bf487aa32a965459475f

commit 65aaa5e663e316c1ea35bf487aa32a965459475f
Author: suzyh <suzyh@chromium.org>
Date: Thu Oct 06 08:42:05 2016

Move Priority enum/field to KeyframeEffectReadOnly

Following from https://codereview.chromium.org/2389323003, this patch begins the
process of moving content from KeyframeEffect to its superclass,
KeyframeEffectReadOnly, so that KeyframeEffectReadOnly objects can be
constructed directly. This patch moves the definition of the Priority enum and
the m_priority field.

BUG= 624639 

Review-Url: https://codereview.chromium.org/2394993002
Cr-Commit-Position: refs/heads/master@{#423478}

[modify] https://crrev.com/65aaa5e663e316c1ea35bf487aa32a965459475f/third_party/WebKit/Source/core/animation/AnimationStack.cpp
[modify] https://crrev.com/65aaa5e663e316c1ea35bf487aa32a965459475f/third_party/WebKit/Source/core/animation/AnimationStack.h
[modify] https://crrev.com/65aaa5e663e316c1ea35bf487aa32a965459475f/third_party/WebKit/Source/core/animation/AnimationStackTest.cpp
[modify] https://crrev.com/65aaa5e663e316c1ea35bf487aa32a965459475f/third_party/WebKit/Source/core/animation/KeyframeEffect.cpp
[modify] https://crrev.com/65aaa5e663e316c1ea35bf487aa32a965459475f/third_party/WebKit/Source/core/animation/KeyframeEffect.h
[modify] https://crrev.com/65aaa5e663e316c1ea35bf487aa32a965459475f/third_party/WebKit/Source/core/animation/KeyframeEffectReadOnly.cpp
[modify] https://crrev.com/65aaa5e663e316c1ea35bf487aa32a965459475f/third_party/WebKit/Source/core/animation/KeyframeEffectReadOnly.h
[modify] https://crrev.com/65aaa5e663e316c1ea35bf487aa32a965459475f/third_party/WebKit/Source/core/animation/SampledEffect.h
[modify] https://crrev.com/65aaa5e663e316c1ea35bf487aa32a965459475f/third_party/WebKit/Source/core/animation/css/CSSAnimations.cpp
[modify] https://crrev.com/65aaa5e663e316c1ea35bf487aa32a965459475f/third_party/WebKit/Source/core/svg/SVGElement.cpp

Comment 16 by suzyh@chromium.org, Oct 10 2016

Blocking: 600248
Project Member

Comment 17 by bugdroid1@chromium.org, Oct 10 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/97d82465ceeeb904b0f1d3a7ed54667926b45123

commit 97d82465ceeeb904b0f1d3a7ed54667926b45123
Author: suzyh <suzyh@chromium.org>
Date: Mon Oct 10 02:28:33 2016

Move content up to KeyframeEffectReadOnly

This patch completes the bulk of the move of content from KeyframeEffect to its
superclass KeyframeEffectReadOnly, as a step towards fixing the bug described in
https://codereview.chromium.org/2389323003.

This change requires the SampledEffect's m_effect member to change from a
KeyframeEffect to a KeyframeEffectReadOnly, which causes a couple of small
flow-on changes.

BUG= 624639 

Review-Url: https://codereview.chromium.org/2397113002
Cr-Commit-Position: refs/heads/master@{#424112}

[modify] https://crrev.com/97d82465ceeeb904b0f1d3a7ed54667926b45123/third_party/WebKit/Source/core/animation/AnimationEffectTiming.cpp
[modify] https://crrev.com/97d82465ceeeb904b0f1d3a7ed54667926b45123/third_party/WebKit/Source/core/animation/AnimationStack.cpp
[modify] https://crrev.com/97d82465ceeeb904b0f1d3a7ed54667926b45123/third_party/WebKit/Source/core/animation/KeyframeEffect.cpp
[modify] https://crrev.com/97d82465ceeeb904b0f1d3a7ed54667926b45123/third_party/WebKit/Source/core/animation/KeyframeEffect.h
[modify] https://crrev.com/97d82465ceeeb904b0f1d3a7ed54667926b45123/third_party/WebKit/Source/core/animation/KeyframeEffectReadOnly.cpp
[modify] https://crrev.com/97d82465ceeeb904b0f1d3a7ed54667926b45123/third_party/WebKit/Source/core/animation/KeyframeEffectReadOnly.h
[modify] https://crrev.com/97d82465ceeeb904b0f1d3a7ed54667926b45123/third_party/WebKit/Source/core/animation/SampledEffect.cpp
[modify] https://crrev.com/97d82465ceeeb904b0f1d3a7ed54667926b45123/third_party/WebKit/Source/core/animation/SampledEffect.h

Project Member

Comment 18 by bugdroid1@chromium.org, Oct 27 2016

Labels: merge-merged-2840
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b6d80c681fbc035f6267353b4fefbab1b33744ae

commit b6d80c681fbc035f6267353b4fefbab1b33744ae
Author: suzyh <suzyh@chromium.org>
Date: Wed Oct 05 08:35:17 2016

Test type of exposed AnimationEffectTimingReadOnly

The KeyframeEffectReadOnly interface was implemented in
https://codereview.chromium.org/2369833002 as a simple redirection to a
KeyframeEffect object (where KeyframeEffect is actually a subclass of
KeyframeEffectReadOnly).

In a subsequent patch (https://codereview.chromium.org/2379863003), the timing
attribute of KeyframeEffect was changed: KeyframeEffectReadOnly.timing is
an AnimationEffectTimingReadOnly, and KeyframeEffect.timing is an
AnimationEffectTiming (a subclass of AnimationEffectTimingReadOnly).

It turns out that if you construct a KeyframeEffectReadOnly object in
JavaScript, the V8/JavaScript interface magically interprets and represents the
underlying KeyframeEffect object as a KeyframeEffectReadOnly object, as we
wanted. But when the JavaScript then accesses the timing attribute, it appears
to treat it as a KeyframeEffect object, calling the KeyframeEffect version of
the getter instead of the KeyframeEffectReadOnly version.

This patch commits a test that illustrates the bug. A future patch will fix the
bug by actually constructing KeyframeEffectReadOnly objects in the C++.

BUG= 624639 

Review-Url: https://codereview.chromium.org/2389323003
Cr-Commit-Position: refs/heads/master@{#423115}

[add] https://crrev.com/b6d80c681fbc035f6267353b4fefbab1b33744ae/third_party/WebKit/LayoutTests/animations/api-readonly-object-types-expected.txt
[add] https://crrev.com/b6d80c681fbc035f6267353b4fefbab1b33744ae/third_party/WebKit/LayoutTests/animations/api-readonly-object-types.html

Project Member

Comment 19 by bugdroid1@chromium.org, Oct 27 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/65aaa5e663e316c1ea35bf487aa32a965459475f

commit 65aaa5e663e316c1ea35bf487aa32a965459475f
Author: suzyh <suzyh@chromium.org>
Date: Thu Oct 06 08:42:05 2016

Move Priority enum/field to KeyframeEffectReadOnly

Following from https://codereview.chromium.org/2389323003, this patch begins the
process of moving content from KeyframeEffect to its superclass,
KeyframeEffectReadOnly, so that KeyframeEffectReadOnly objects can be
constructed directly. This patch moves the definition of the Priority enum and
the m_priority field.

BUG= 624639 

Review-Url: https://codereview.chromium.org/2394993002
Cr-Commit-Position: refs/heads/master@{#423478}

[modify] https://crrev.com/65aaa5e663e316c1ea35bf487aa32a965459475f/third_party/WebKit/Source/core/animation/AnimationStack.cpp
[modify] https://crrev.com/65aaa5e663e316c1ea35bf487aa32a965459475f/third_party/WebKit/Source/core/animation/AnimationStack.h
[modify] https://crrev.com/65aaa5e663e316c1ea35bf487aa32a965459475f/third_party/WebKit/Source/core/animation/AnimationStackTest.cpp
[modify] https://crrev.com/65aaa5e663e316c1ea35bf487aa32a965459475f/third_party/WebKit/Source/core/animation/KeyframeEffect.cpp
[modify] https://crrev.com/65aaa5e663e316c1ea35bf487aa32a965459475f/third_party/WebKit/Source/core/animation/KeyframeEffect.h
[modify] https://crrev.com/65aaa5e663e316c1ea35bf487aa32a965459475f/third_party/WebKit/Source/core/animation/KeyframeEffectReadOnly.cpp
[modify] https://crrev.com/65aaa5e663e316c1ea35bf487aa32a965459475f/third_party/WebKit/Source/core/animation/KeyframeEffectReadOnly.h
[modify] https://crrev.com/65aaa5e663e316c1ea35bf487aa32a965459475f/third_party/WebKit/Source/core/animation/SampledEffect.h
[modify] https://crrev.com/65aaa5e663e316c1ea35bf487aa32a965459475f/third_party/WebKit/Source/core/animation/css/CSSAnimations.cpp
[modify] https://crrev.com/65aaa5e663e316c1ea35bf487aa32a965459475f/third_party/WebKit/Source/core/svg/SVGElement.cpp

Labels: -merge-merged-2840
bugdroid1 be buggy.
Cc: suzyh@chromium.org
Owner: ----
Status: Available (was: Started)
I have one last patch waiting for review (https://codereview.chromium.org/2398373002). I think aside from landing that patch, I have completed all the work I intended to do here. Before closing it out, I'd like a sanity-check by a second pair of eyes that I haven't missed something. This is non-urgent, so I will simply mark it unassigned, and we'll get back to it.
Project Member

Comment 22 by bugdroid1@chromium.org, Nov 10 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d7e233e169431f279af4c78940a0d92784e79ddf

commit d7e233e169431f279af4c78940a0d92784e79ddf
Author: suzyh <suzyh@chromium.org>
Date: Thu Nov 10 01:00:18 2016

Construct KeyframeEffectReadOnly objects

This patch implements the last part of the fix for the bug identified in
https://codereview.chromium.org/2389323003. The content of the
KeyframeEffect::create functions is copied to KeyframeEffectReadOnly::create
functions instead of the latter being a simple wrapper around the former.

While this introduces some code duplication, there seems to be very little in
the way of meaningful refactoring that can be done. The content of the functions
is largely plumbing arguments from one place to another, and the ::create
functions can fail (returning nullptr), so the work cannot be moved into
constructors.

BUG= 624639 

Review-Url: https://codereview.chromium.org/2398373002
Cr-Commit-Position: refs/heads/master@{#431119}

[add] https://crrev.com/d7e233e169431f279af4c78940a0d92784e79ddf/third_party/WebKit/LayoutTests/animations/KeyframeEffectReadOnly-animation.html
[delete] https://crrev.com/f8f540b2abfd97ed9756045124d8948e944baed0/third_party/WebKit/LayoutTests/animations/api-readonly-object-types-expected.txt
[add] https://crrev.com/d7e233e169431f279af4c78940a0d92784e79ddf/third_party/WebKit/LayoutTests/inspector/animation/animation-KeyframeEffectReadOnly-crash-expected.txt
[add] https://crrev.com/d7e233e169431f279af4c78940a0d92784e79ddf/third_party/WebKit/LayoutTests/inspector/animation/animation-KeyframeEffectReadOnly-crash.html
[add] https://crrev.com/d7e233e169431f279af4c78940a0d92784e79ddf/third_party/WebKit/LayoutTests/virtual/threaded/animations/KeyframeEffectReadOnly-composited-animation.html
[modify] https://crrev.com/d7e233e169431f279af4c78940a0d92784e79ddf/third_party/WebKit/Source/core/animation/Animation.cpp
[modify] https://crrev.com/d7e233e169431f279af4c78940a0d92784e79ddf/third_party/WebKit/Source/core/animation/AnimationEffectReadOnly.cpp
[modify] https://crrev.com/d7e233e169431f279af4c78940a0d92784e79ddf/third_party/WebKit/Source/core/animation/ElementAnimation.h
[modify] https://crrev.com/d7e233e169431f279af4c78940a0d92784e79ddf/third_party/WebKit/Source/core/animation/ElementAnimations.cpp
[modify] https://crrev.com/d7e233e169431f279af4c78940a0d92784e79ddf/third_party/WebKit/Source/core/animation/KeyframeEffect.cpp
[modify] https://crrev.com/d7e233e169431f279af4c78940a0d92784e79ddf/third_party/WebKit/Source/core/animation/KeyframeEffectReadOnly.cpp
[modify] https://crrev.com/d7e233e169431f279af4c78940a0d92784e79ddf/third_party/WebKit/Source/core/animation/KeyframeEffectReadOnly.h
[modify] https://crrev.com/d7e233e169431f279af4c78940a0d92784e79ddf/third_party/WebKit/Source/core/animation/css/CSSAnimations.cpp
[modify] https://crrev.com/d7e233e169431f279af4c78940a0d92784e79ddf/third_party/WebKit/Source/core/inspector/InspectorAnimationAgent.cpp
[modify] https://crrev.com/d7e233e169431f279af4c78940a0d92784e79ddf/third_party/WebKit/Source/core/inspector/InspectorTraceEvents.cpp

Labels: -Update-Monthly Update-Quarterly
Project Member

Comment 24 by bugdroid1@chromium.org, Apr 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3a9d689cfc759f63f6d113cde80efa9801125c3c

commit 3a9d689cfc759f63f6d113cde80efa9801125c3c
Author: raphael.kubo.da.costa <raphael.kubo.da.costa@intel.com>
Date: Wed Apr 12 10:48:05 2017

Web Animations: Coalesce constructors where possible.

ElementAnimation.idl, KeyframeEffect.idl and KeyframeEffectReadOnly.idl were
specifying two constructors to deal with the fact that, at some point, union
types did not support dictionary type members.

This is no longer the case, so we can have a single constructor that matches
the IDLs in the Web Animations spec instead (in ElementAnimation's case, we
also move from "double" to "unrestricted double" to match the spec).

We achieve this by using the UnrestrictedDoubleOrKeyframeEffectOptions union
type (which works just fine) and leaving it up to TimingInput to process
each possible type accordingly.

BUG= 624639 
R=alancutter@chromium.org,dstockwell@chromium.org,haraken@chromium.org

Review-Url: https://codereview.chromium.org/2814523002
Cr-Commit-Position: refs/heads/master@{#463987}

[modify] https://crrev.com/3a9d689cfc759f63f6d113cde80efa9801125c3c/third_party/WebKit/Source/bindings/core/v8/BUILD.gn
[modify] https://crrev.com/3a9d689cfc759f63f6d113cde80efa9801125c3c/third_party/WebKit/Source/core/animation/ElementAnimation.h
[modify] https://crrev.com/3a9d689cfc759f63f6d113cde80efa9801125c3c/third_party/WebKit/Source/core/animation/ElementAnimation.idl
[modify] https://crrev.com/3a9d689cfc759f63f6d113cde80efa9801125c3c/third_party/WebKit/Source/core/animation/KeyframeEffect.cpp
[modify] https://crrev.com/3a9d689cfc759f63f6d113cde80efa9801125c3c/third_party/WebKit/Source/core/animation/KeyframeEffect.h
[modify] https://crrev.com/3a9d689cfc759f63f6d113cde80efa9801125c3c/third_party/WebKit/Source/core/animation/KeyframeEffect.idl
[modify] https://crrev.com/3a9d689cfc759f63f6d113cde80efa9801125c3c/third_party/WebKit/Source/core/animation/KeyframeEffectReadOnly.cpp
[modify] https://crrev.com/3a9d689cfc759f63f6d113cde80efa9801125c3c/third_party/WebKit/Source/core/animation/KeyframeEffectReadOnly.h
[modify] https://crrev.com/3a9d689cfc759f63f6d113cde80efa9801125c3c/third_party/WebKit/Source/core/animation/KeyframeEffectReadOnly.idl
[modify] https://crrev.com/3a9d689cfc759f63f6d113cde80efa9801125c3c/third_party/WebKit/Source/core/animation/KeyframeEffectTest.cpp
[modify] https://crrev.com/3a9d689cfc759f63f6d113cde80efa9801125c3c/third_party/WebKit/Source/core/animation/TimingInput.cpp
[modify] https://crrev.com/3a9d689cfc759f63f6d113cde80efa9801125c3c/third_party/WebKit/Source/core/animation/TimingInput.h

Comment 25 by suzyh@chromium.org, Jun 13 2017

Cc: -suzyh@chromium.org
Project Member

Comment 26 by bugdroid1@chromium.org, Jun 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5c438726c3ecb09e690cf079776315f7425cb3a0

commit 5c438726c3ecb09e690cf079776315f7425cb3a0
Author: suzyh <suzyh@chromium.org>
Date: Fri Jun 23 03:12:29 2017

Make AnimationTimeline.currentTime readonly

To bring in line with spec
https://w3c.github.io/web-animations/#the-animationtimeline-interface

BUG= 624639 

Review-Url: https://codereview.chromium.org/2952783002
Cr-Commit-Position: refs/heads/master@{#481800}

[modify] https://crrev.com/5c438726c3ecb09e690cf079776315f7425cb3a0/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/AnimationTimeline/idlharness.html
[modify] https://crrev.com/5c438726c3ecb09e690cf079776315f7425cb3a0/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/5c438726c3ecb09e690cf079776315f7425cb3a0/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/5c438726c3ecb09e690cf079776315f7425cb3a0/third_party/WebKit/Source/core/animation/AnimationTimeline.cpp
[modify] https://crrev.com/5c438726c3ecb09e690cf079776315f7425cb3a0/third_party/WebKit/Source/core/animation/AnimationTimeline.h
[modify] https://crrev.com/5c438726c3ecb09e690cf079776315f7425cb3a0/third_party/WebKit/Source/core/animation/AnimationTimeline.idl
[modify] https://crrev.com/5c438726c3ecb09e690cf079776315f7425cb3a0/third_party/WebKit/Source/core/animation/AnimationTimelineTest.cpp

Project Member

Comment 27 by bugdroid1@chromium.org, Jun 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/da913699c72d5f97405db96ddaa4040ed621a0bc

commit da913699c72d5f97405db96ddaa4040ed621a0bc
Author: suzyh <suzyh@chromium.org>
Date: Mon Jun 26 03:00:44 2017

Expose getAnimations as function on Document

The document-level getAnimations function was previously defined on
AnimationTimeline, requiring callers to specify
document.timeline.getAnimations(). The Web Animations spec exposes this
function on Document directly: document.getAnimations(). This patch
moves the function to the appropriate place.

Spec link:
http://w3c.github.io/web-animations/#extensions-to-the-document-interface

BUG= 624639 

Review-Url: https://codereview.chromium.org/2947103002
Cr-Commit-Position: refs/heads/master@{#482188}

[modify] https://crrev.com/da913699c72d5f97405db96ddaa4040ed621a0bc/third_party/WebKit/LayoutTests/animations/get-css-players.html
[modify] https://crrev.com/da913699c72d5f97405db96ddaa4040ed621a0bc/third_party/WebKit/LayoutTests/animations/lazy-detached-animation-stop-expected.txt
[modify] https://crrev.com/da913699c72d5f97405db96ddaa4040ed621a0bc/third_party/WebKit/LayoutTests/animations/lazy-detached-animation-stop.html
[modify] https://crrev.com/da913699c72d5f97405db96ddaa4040ed621a0bc/third_party/WebKit/LayoutTests/animations/multiple-same-name-css-animations.html
[modify] https://crrev.com/da913699c72d5f97405db96ddaa4040ed621a0bc/third_party/WebKit/LayoutTests/animations/resources/animation-test-helpers.js
[modify] https://crrev.com/da913699c72d5f97405db96ddaa4040ed621a0bc/third_party/WebKit/LayoutTests/animations/transitions-replay.html
[modify] https://crrev.com/da913699c72d5f97405db96ddaa4040ed621a0bc/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/Animatable/animate-expected.txt
[modify] https://crrev.com/da913699c72d5f97405db96ddaa4040ed621a0bc/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/Document/getAnimations-expected.txt
[modify] https://crrev.com/da913699c72d5f97405db96ddaa4040ed621a0bc/third_party/WebKit/LayoutTests/transitions/interrupted-immediately.html
[modify] https://crrev.com/da913699c72d5f97405db96ddaa4040ed621a0bc/third_party/WebKit/LayoutTests/transitions/repeated-firing-background-color.html
[modify] https://crrev.com/da913699c72d5f97405db96ddaa4040ed621a0bc/third_party/WebKit/LayoutTests/transitions/webkit-clip-path-equality.html
[modify] https://crrev.com/da913699c72d5f97405db96ddaa4040ed621a0bc/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/da913699c72d5f97405db96ddaa4040ed621a0bc/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/da913699c72d5f97405db96ddaa4040ed621a0bc/third_party/WebKit/Source/core/animation/AnimationTimeline.idl
[modify] https://crrev.com/da913699c72d5f97405db96ddaa4040ed621a0bc/third_party/WebKit/Source/core/animation/DocumentAnimation.h
[modify] https://crrev.com/da913699c72d5f97405db96ddaa4040ed621a0bc/third_party/WebKit/Source/core/animation/DocumentAnimation.idl

Project Member

Comment 28 by bugdroid1@chromium.org, Jun 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7ef6f8b862ad3fcc5f3e9634f77031d14d73862c

commit 7ef6f8b862ad3fcc5f3e9634f77031d14d73862c
Author: suzyh <suzyh@chromium.org>
Date: Tue Jun 27 02:34:59 2017

Implement new AnimationTimeline superclass

Most of the logic in the AnimationTimeline class really belongs in
DocumentTimeline, having been written before the distinction was
introduced to the spec.

This patch introduces a new, abstract superclass (called
SuperAnimationTimeline) that provides only the bare minimum to satisfy
the AnimationTimeline.idl interface. The patch changes
AnimationTimeline.idl to be implemented by SuperAnimationTimeline.h and
changes DocumentTimeline.idl to be implemented by AnimationTimeline.h.
The patch introduces no behaviour change.

A follow-up patch will rename SuperAnimationTimeline to
AnimationTimeline and AnimationTimeline to DocumentTimeline.

BUG= 624639 , 600248 

Review-Url: https://codereview.chromium.org/2944423003
Cr-Commit-Position: refs/heads/master@{#482520}

[modify] https://crrev.com/7ef6f8b862ad3fcc5f3e9634f77031d14d73862c/third_party/WebKit/Source/core/animation/Animation.cpp
[modify] https://crrev.com/7ef6f8b862ad3fcc5f3e9634f77031d14d73862c/third_party/WebKit/Source/core/animation/Animation.h
[modify] https://crrev.com/7ef6f8b862ad3fcc5f3e9634f77031d14d73862c/third_party/WebKit/Source/core/animation/AnimationTimeline.cpp
[modify] https://crrev.com/7ef6f8b862ad3fcc5f3e9634f77031d14d73862c/third_party/WebKit/Source/core/animation/AnimationTimeline.h
[modify] https://crrev.com/7ef6f8b862ad3fcc5f3e9634f77031d14d73862c/third_party/WebKit/Source/core/animation/AnimationTimeline.idl
[modify] https://crrev.com/7ef6f8b862ad3fcc5f3e9634f77031d14d73862c/third_party/WebKit/Source/core/animation/BUILD.gn
[modify] https://crrev.com/7ef6f8b862ad3fcc5f3e9634f77031d14d73862c/third_party/WebKit/Source/core/animation/CompositorPendingAnimations.cpp
[modify] https://crrev.com/7ef6f8b862ad3fcc5f3e9634f77031d14d73862c/third_party/WebKit/Source/core/animation/DocumentTimeline.h
[modify] https://crrev.com/7ef6f8b862ad3fcc5f3e9634f77031d14d73862c/third_party/WebKit/Source/core/animation/DocumentTimeline.idl
[modify] https://crrev.com/7ef6f8b862ad3fcc5f3e9634f77031d14d73862c/third_party/WebKit/Source/core/animation/KeyframeEffectTest.cpp
[add] https://crrev.com/7ef6f8b862ad3fcc5f3e9634f77031d14d73862c/third_party/WebKit/Source/core/animation/SuperAnimationTimeline.h
[modify] https://crrev.com/7ef6f8b862ad3fcc5f3e9634f77031d14d73862c/third_party/WebKit/Source/core/inspector/InspectorAnimationAgent.cpp

Project Member

Comment 29 by bugdroid1@chromium.org, Jun 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/17bda8398e00987e311824a5662b752e74d0241c

commit 17bda8398e00987e311824a5662b752e74d0241c
Author: suzyh <suzyh@chromium.org>
Date: Tue Jun 27 07:04:33 2017

Merge AnimationTimeline and DocumentTimeline

Following from https://codereview.chromium.org/2944423003 this patch
merges the AnimationTimeline and DocumentTimeline classes and
corresponding unit tests. This involves
- moving the test from DoumentTimelineTest to AnimationTimelineTest
- deleting DocumentTimeline{,Test}
- renaming AnimationTimeline{,Test} to DocumentTimeline{,Test}

BUG= 624639 

Review-Url: https://codereview.chromium.org/2948193002
Cr-Commit-Position: refs/heads/master@{#482557}

[modify] https://crrev.com/17bda8398e00987e311824a5662b752e74d0241c/third_party/WebKit/Source/core/BUILD.gn
[modify] https://crrev.com/17bda8398e00987e311824a5662b752e74d0241c/third_party/WebKit/Source/core/animation/Animation.cpp
[modify] https://crrev.com/17bda8398e00987e311824a5662b752e74d0241c/third_party/WebKit/Source/core/animation/Animation.h
[modify] https://crrev.com/17bda8398e00987e311824a5662b752e74d0241c/third_party/WebKit/Source/core/animation/AnimationTest.cpp
[delete] https://crrev.com/0787b78381f3abb74a078bde05a6084bf0ed8d2c/third_party/WebKit/Source/core/animation/AnimationTimeline.h
[delete] https://crrev.com/0787b78381f3abb74a078bde05a6084bf0ed8d2c/third_party/WebKit/Source/core/animation/AnimationTimelineTest.cpp
[modify] https://crrev.com/17bda8398e00987e311824a5662b752e74d0241c/third_party/WebKit/Source/core/animation/BUILD.gn
[modify] https://crrev.com/17bda8398e00987e311824a5662b752e74d0241c/third_party/WebKit/Source/core/animation/CompositorAnimationsTest.cpp
[modify] https://crrev.com/17bda8398e00987e311824a5662b752e74d0241c/third_party/WebKit/Source/core/animation/CompositorPendingAnimations.cpp
[rename] https://crrev.com/17bda8398e00987e311824a5662b752e74d0241c/third_party/WebKit/Source/core/animation/DocumentTimeline.cpp
[modify] https://crrev.com/17bda8398e00987e311824a5662b752e74d0241c/third_party/WebKit/Source/core/animation/DocumentTimeline.h
[modify] https://crrev.com/17bda8398e00987e311824a5662b752e74d0241c/third_party/WebKit/Source/core/animation/DocumentTimeline.idl
[modify] https://crrev.com/17bda8398e00987e311824a5662b752e74d0241c/third_party/WebKit/Source/core/animation/DocumentTimelineTest.cpp
[modify] https://crrev.com/17bda8398e00987e311824a5662b752e74d0241c/third_party/WebKit/Source/core/animation/SuperAnimationTimeline.h
[modify] https://crrev.com/17bda8398e00987e311824a5662b752e74d0241c/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
[modify] https://crrev.com/17bda8398e00987e311824a5662b752e74d0241c/third_party/WebKit/Source/core/dom/Element.cpp
[modify] https://crrev.com/17bda8398e00987e311824a5662b752e74d0241c/third_party/WebKit/Source/core/inspector/InspectorAnimationAgent.cpp
[modify] https://crrev.com/17bda8398e00987e311824a5662b752e74d0241c/third_party/WebKit/Source/core/inspector/InspectorAnimationAgent.h
[modify] https://crrev.com/17bda8398e00987e311824a5662b752e74d0241c/third_party/WebKit/Source/core/svg/animation/SMILTimeContainer.cpp

Project Member

Comment 30 by bugdroid1@chromium.org, Jun 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/541199602915c21a9d41148cfe872951748dad69

commit 541199602915c21a9d41148cfe872951748dad69
Author: suzyh <suzyh@chromium.org>
Date: Wed Jun 28 03:04:31 2017

Rename SuperAnimationTimeline to AnimationTimeline

Following on from https://codereview.chromium.org/2944423003 and
https://codereview.chromium.org/2948193002, this patch completes the
final cleanup by renaming the superclass from SuperAnimationTimeline to
AnimationTimeline.

BUG= 624639 

Review-Url: https://codereview.chromium.org/2952093002
Cr-Commit-Position: refs/heads/master@{#482864}

[modify] https://crrev.com/541199602915c21a9d41148cfe872951748dad69/third_party/WebKit/Source/core/animation/Animation.cpp
[modify] https://crrev.com/541199602915c21a9d41148cfe872951748dad69/third_party/WebKit/Source/core/animation/Animation.h
[add] https://crrev.com/541199602915c21a9d41148cfe872951748dad69/third_party/WebKit/Source/core/animation/AnimationTimeline.h
[modify] https://crrev.com/541199602915c21a9d41148cfe872951748dad69/third_party/WebKit/Source/core/animation/AnimationTimeline.idl
[modify] https://crrev.com/541199602915c21a9d41148cfe872951748dad69/third_party/WebKit/Source/core/animation/BUILD.gn
[modify] https://crrev.com/541199602915c21a9d41148cfe872951748dad69/third_party/WebKit/Source/core/animation/DocumentTimeline.cpp
[modify] https://crrev.com/541199602915c21a9d41148cfe872951748dad69/third_party/WebKit/Source/core/animation/DocumentTimeline.h
[delete] https://crrev.com/a683f15f6d50920bac3a80fdc3deea5605cbfaaf/third_party/WebKit/Source/core/animation/SuperAnimationTimeline.h

Project Member

Comment 31 by bugdroid1@chromium.org, Jun 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7ee5b6192d46b7a25c3670c1aa8b10547e1057ef

commit 7ee5b6192d46b7a25c3670c1aa8b10547e1057ef
Author: suzyh <suzyh@chromium.org>
Date: Fri Jun 30 02:19:48 2017

Implement DocumentTimeline constructor

This patch adds a constructor to DocumentTimeline to match the spec at
http://w3c.github.io/web-animations/#the-documenttimeline-interface. The
constructor enables the zero time of the timeline to be set at
something other than the navigationStart moment.

Changing the playback rate of the timeline (a functionality provided for
DevTools support) still modifies this zero time. The initial value for
the zero time is saved in the origin_time_ member.

BUG= 674514 , 624639 , 600248 

Review-Url: https://codereview.chromium.org/2960733004
Cr-Commit-Position: refs/heads/master@{#483594}

[delete] https://crrev.com/f2703bb4a656cdd8b1c058040fac0eac101643c0/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/DocumentTimeline/constructor-expected.txt
[modify] https://crrev.com/7ee5b6192d46b7a25c3670c1aa8b10547e1057ef/third_party/WebKit/Source/core/animation/DocumentTimeline.cpp
[modify] https://crrev.com/7ee5b6192d46b7a25c3670c1aa8b10547e1057ef/third_party/WebKit/Source/core/animation/DocumentTimeline.h
[modify] https://crrev.com/7ee5b6192d46b7a25c3670c1aa8b10547e1057ef/third_party/WebKit/Source/core/animation/DocumentTimeline.idl
[add] https://crrev.com/7ee5b6192d46b7a25c3670c1aa8b10547e1057ef/third_party/WebKit/Source/core/animation/DocumentTimelineOptions.idl
[modify] https://crrev.com/7ee5b6192d46b7a25c3670c1aa8b10547e1057ef/third_party/WebKit/Source/core/animation/DocumentTimelineTest.cpp
[modify] https://crrev.com/7ee5b6192d46b7a25c3670c1aa8b10547e1057ef/third_party/WebKit/Source/core/core_idl_files.gni

Blocking: -600248 772407
Status: Archived (was: Available)

Sign in to add a comment