Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(47)

Issue 2873493002: Basic ScrollTimeline implementation for Animation Worklet (Closed)

Created:
3 years, 7 months ago by smcgruer
Modified:
3 years, 5 months ago
CC:
darktears, blink-reviews, blink-reviews-animation_chromium.org, blink-reviews-bindings_chromium.org, chromium-reviews, Eric Willigers, rjwright, shans
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Basic ScrollTimeline implementation for Animation Worklet This is based on the WICG spec[0], but simplified for the Animation Worklet origin trial. Specifically, the following things were changed from the spec: * ScrollDirection only has two values: "block" and "inline". * Dropped startScrollOffset. * Dropped endScrollOffset. * timeRange is not allowed to be "auto". * Dropped fill. [0] https://wicg.github.io/scroll-animations/#scrolltimeline-interface BUG=719517 Review-Url: https://codereview.chromium.org/2873493002 Cr-Commit-Position: refs/heads/master@{#484117} Committed: https://chromium.googlesource.com/chromium/src/+/a5a47f2f0ae0b0ec8e114f0023d1bae7290475cd

Patch Set 1 #

Patch Set 2 : Switch to using LayoutBox::HasScrollableOverflow #

Total comments: 15

Patch Set 3 : Allow null scrollSource, add some tests #

Patch Set 4 : Improvements in handling writing mode, some more tests #

Patch Set 5 : Add tests for writing mode, correct bug in local_orientation calculation #

Patch Set 6 : Add helper method in tests for creating options #

Total comments: 14

Patch Set 7 : Address reviewer comments #

Patch Set 8 : Make document reference non-const #

Total comments: 2

Patch Set 9 : DCHECK the max/min scroll offset bounds #

Patch Set 10 : Remove handling of orientation 'auto' #

Patch Set 11 : Some missed tidying up after removing orientation 'auto' #

Patch Set 12 : Remove reference to ScrollTimelineOptions.h in BUILD.gn #

Patch Set 13 : Windows compiler requires a 'default' switch case #

Patch Set 14 : Add layout tests #

Patch Set 15 : Fix orientation layout test #

Patch Set 16 : Update global-interface-listing-expected.txt #

Patch Set 17 : Missed the service worker version of global-interface-listing-expected.txt #

Patch Set 18 : Rebase #

Total comments: 9

Patch Set 19 : Rebase #

Patch Set 20 : Address some reviewer comments #

Patch Set 21 : Rebase #

Patch Set 22 : Remove ScrollTimelineTest.cpp #

Patch Set 23 : Rebase #

Patch Set 24 : SuperAnimationTimeline -> AnimationTimeline rebase #

Patch Set 25 : More documentation, pass by ref rather than pointer #

Total comments: 4

Patch Set 26 : Switch back to RuntimeEnabled, fix nits #

Total comments: 6

Patch Set 27 : Rebase #

Patch Set 28 : address reviewer nits #

Unified diffs Side-by-side diffs Delta from patch set Stats (+557 lines, -0 lines) Patch
A third_party/WebKit/LayoutTests/fast/animation/scroll-animations/scrolltimeline-creation.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 1 chunk +53 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/animation/scroll-animations/scrolltimeline-currenttime.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 1 chunk +169 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/animation/scroll-animations/scrolltimeline-currenttime-nan.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +75 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/webexposed/global-interface-listing-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +6 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +6 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/animation/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +2 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/animation/ScrollTimeline.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 chunk +59 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/animation/ScrollTimeline.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 chunk +149 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/animation/ScrollTimeline.idl View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 1 chunk +16 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/animation/ScrollTimelineOptions.idl View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +18 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/core_idl_files.gni View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 chunks +2 lines, -0 lines 0 comments Download

Messages

Total messages: 80 (46 generated)
smcgruer
majidvp, flackr - PTAL. I consider this to be a starting point for a discussion ...
3 years, 7 months ago (2017-05-09 16:06:47 UTC) #2
majidvp
https://codereview.chromium.org/2873493002/diff/20001/third_party/WebKit/Source/core/animation/ScrollTimeline.cpp File third_party/WebKit/Source/core/animation/ScrollTimeline.cpp (right): https://codereview.chromium.org/2873493002/diff/20001/third_party/WebKit/Source/core/animation/ScrollTimeline.cpp#newcode35 third_party/WebKit/Source/core/animation/ScrollTimeline.cpp:35: // TODO(smcgruer): The spec allows for a null scrollSource. ...
3 years, 7 months ago (2017-05-15 14:38:52 UTC) #3
smcgruer
https://codereview.chromium.org/2873493002/diff/20001/third_party/WebKit/Source/core/animation/ScrollTimeline.cpp File third_party/WebKit/Source/core/animation/ScrollTimeline.cpp (right): https://codereview.chromium.org/2873493002/diff/20001/third_party/WebKit/Source/core/animation/ScrollTimeline.cpp#newcode35 third_party/WebKit/Source/core/animation/ScrollTimeline.cpp:35: // TODO(smcgruer): The spec allows for a null scrollSource. ...
3 years, 7 months ago (2017-05-15 15:22:54 UTC) #4
flackr
https://codereview.chromium.org/2873493002/diff/20001/third_party/WebKit/Source/core/animation/ScrollTimeline.cpp File third_party/WebKit/Source/core/animation/ScrollTimeline.cpp (right): https://codereview.chromium.org/2873493002/diff/20001/third_party/WebKit/Source/core/animation/ScrollTimeline.cpp#newcode35 third_party/WebKit/Source/core/animation/ScrollTimeline.cpp:35: // TODO(smcgruer): The spec allows for a null scrollSource. ...
3 years, 7 months ago (2017-05-15 17:29:06 UTC) #5
smcgruer
A few things fixed, added some tests. Writing mode stuff still TBD. https://codereview.chromium.org/2873493002/diff/20001/third_party/WebKit/Source/core/animation/ScrollTimeline.cpp File third_party/WebKit/Source/core/animation/ScrollTimeline.cpp ...
3 years, 7 months ago (2017-05-16 19:24:48 UTC) #6
smcgruer
https://codereview.chromium.org/2873493002/diff/20001/third_party/WebKit/Source/core/animation/ScrollTimeline.cpp File third_party/WebKit/Source/core/animation/ScrollTimeline.cpp (right): https://codereview.chromium.org/2873493002/diff/20001/third_party/WebKit/Source/core/animation/ScrollTimeline.cpp#newcode85 third_party/WebKit/Source/core/animation/ScrollTimeline.cpp:85: layout_box->HasScrollableOverflowY()); On 2017/05/15 17:29:06, flackr wrote: > I don't ...
3 years, 7 months ago (2017-05-17 15:52:03 UTC) #7
majidvp
https://codereview.chromium.org/2873493002/diff/100001/third_party/WebKit/Source/core/animation/ScrollTimeline.cpp File third_party/WebKit/Source/core/animation/ScrollTimeline.cpp (right): https://codereview.chromium.org/2873493002/diff/100001/third_party/WebKit/Source/core/animation/ScrollTimeline.cpp#newcode38 third_party/WebKit/Source/core/animation/ScrollTimeline.cpp:38: : const_cast<Document&>(document).scrollingElement(); I believe this should instead use |ScrollingElementNoLayout()| ...
3 years, 7 months ago (2017-05-17 20:39:45 UTC) #8
smcgruer
https://codereview.chromium.org/2873493002/diff/100001/third_party/WebKit/Source/core/animation/ScrollTimeline.cpp File third_party/WebKit/Source/core/animation/ScrollTimeline.cpp (right): https://codereview.chromium.org/2873493002/diff/100001/third_party/WebKit/Source/core/animation/ScrollTimeline.cpp#newcode38 third_party/WebKit/Source/core/animation/ScrollTimeline.cpp:38: : const_cast<Document&>(document).scrollingElement(); On 2017/05/17 20:39:45, majidvp wrote: > I ...
3 years, 7 months ago (2017-05-18 13:58:56 UTC) #9
smcgruer
https://codereview.chromium.org/2873493002/diff/100001/third_party/WebKit/Source/core/animation/ScrollTimeline.cpp File third_party/WebKit/Source/core/animation/ScrollTimeline.cpp (right): https://codereview.chromium.org/2873493002/diff/100001/third_party/WebKit/Source/core/animation/ScrollTimeline.cpp#newcode38 third_party/WebKit/Source/core/animation/ScrollTimeline.cpp:38: : const_cast<Document&>(document).scrollingElement(); > > It is odd that this ...
3 years, 7 months ago (2017-05-18 14:17:21 UTC) #10
flackr
LGTM. When animations support construction with a timeline we should have a test of driving ...
3 years, 7 months ago (2017-05-18 15:11:50 UTC) #11
smcgruer
Ok, since flackr and majidvp are generally happy, let's add +alancutter for thoughts on the ...
3 years, 7 months ago (2017-05-18 15:42:57 UTC) #13
smcgruer
https://codereview.chromium.org/2873493002/diff/100001/third_party/WebKit/Source/core/animation/ScrollTimeline.cpp File third_party/WebKit/Source/core/animation/ScrollTimeline.cpp (right): https://codereview.chromium.org/2873493002/diff/100001/third_party/WebKit/Source/core/animation/ScrollTimeline.cpp#newcode96 third_party/WebKit/Source/core/animation/ScrollTimeline.cpp:96: } On 2017/05/18 13:58:56, smcgruer wrote: > On 2017/05/17 ...
3 years, 7 months ago (2017-05-23 14:47:27 UTC) #14
smcgruer
Ping; Alan I would appreciate your thoughts on this partial implementation of ScrollTimeline, thanks.
3 years, 6 months ago (2017-05-30 20:56:46 UTC) #44
smcgruer
Second ping for comments by alancutter@, thanks.
3 years, 6 months ago (2017-06-05 14:00:44 UTC) #45
alancutter (OOO until 2018)
Sorry about the horrendously late review. https://codereview.chromium.org/2873493002/diff/340001/third_party/WebKit/Source/core/animation/ScrollTimeline.cpp File third_party/WebKit/Source/core/animation/ScrollTimeline.cpp (right): https://codereview.chromium.org/2873493002/diff/340001/third_party/WebKit/Source/core/animation/ScrollTimeline.cpp#newcode60 third_party/WebKit/Source/core/animation/ScrollTimeline.cpp:60: time_range_(time_range) {} We ...
3 years, 6 months ago (2017-06-08 05:00:32 UTC) #46
smcgruer
Thanks for the review Alan. I will look into refactoring AnimationTimeline as per your recommendation ...
3 years, 6 months ago (2017-06-08 14:43:47 UTC) #47
alancutter (OOO until 2018)
https://codereview.chromium.org/2873493002/diff/340001/third_party/WebKit/Source/core/animation/ScrollTimelineTest.cpp File third_party/WebKit/Source/core/animation/ScrollTimelineTest.cpp (right): https://codereview.chromium.org/2873493002/diff/340001/third_party/WebKit/Source/core/animation/ScrollTimelineTest.cpp#newcode77 third_party/WebKit/Source/core/animation/ScrollTimelineTest.cpp:77: EXPECT_EQ(GetDocument().scrollingElement(), scroll_timeline->scrollSource()); On 2017/06/08 at 14:43:47, smcgruer wrote: > ...
3 years, 6 months ago (2017-06-09 04:06:19 UTC) #48
alancutter (OOO until 2018)
On 2017/06/08 at 14:43:47, smcgruer wrote: > Thanks for the review Alan. I will look ...
3 years, 6 months ago (2017-06-22 01:39:30 UTC) #49
suzyh_UTC10 (ex-contributor)
On 2017/06/22 at 01:39:30, alancutter wrote: > On 2017/06/08 at 14:43:47, smcgruer wrote: > > ...
3 years, 6 months ago (2017-06-22 03:29:41 UTC) #50
smcgruer
> I'm hoping to land these in the next couple of days. Just > waiting ...
3 years, 6 months ago (2017-06-22 14:34:25 UTC) #51
suzyh_UTC10 (ex-contributor)
On 2017/06/22 at 14:34:25, smcgruer wrote: > > I'm hoping to land these in the ...
3 years, 5 months ago (2017-06-28 03:47:14 UTC) #52
smcgruer
Awesome, thanks Suzy. I've rebased on the refactors, so everyone PTAL and hopefully we can ...
3 years, 5 months ago (2017-06-28 15:01:51 UTC) #55
majidvp
lgtm > all reviewers: Currently this is guarded behind the CompositorWorker blink feature. Does anyone ...
3 years, 5 months ago (2017-06-28 15:52:38 UTC) #58
suzyh_UTC10 (ex-contributor)
> alancutter: I just ran the layout tests on the latest patchset, and it looks ...
3 years, 5 months ago (2017-06-28 23:31:55 UTC) #59
smcgruer
On 2017/06/28 23:31:55, suzyh_UTC10 wrote: > > alancutter: I just ran the layout tests on ...
3 years, 5 months ago (2017-06-29 03:36:44 UTC) #60
alancutter (OOO until 2018)
On 2017/06/28 at 23:31:55, suzyh wrote: > > alancutter: I just ran the layout tests ...
3 years, 5 months ago (2017-06-29 03:38:05 UTC) #61
smcgruer
Switched back to RuntimeEnabled, and fixed the nits referred to by majidvp@ https://codereview.chromium.org/2873493002/diff/480001/third_party/WebKit/LayoutTests/fast/animation/scroll-animations/scrolltimeline-creation.html File third_party/WebKit/LayoutTests/fast/animation/scroll-animations/scrolltimeline-creation.html ...
3 years, 5 months ago (2017-06-29 15:23:22 UTC) #66
smcgruer
Ping for core/animation OWNERS
3 years, 5 months ago (2017-07-03 23:43:53 UTC) #68
alancutter (OOO until 2018)
lgtm with nits. The tests are great. https://codereview.chromium.org/2873493002/diff/500001/third_party/WebKit/Source/core/animation/ScrollTimeline.cpp File third_party/WebKit/Source/core/animation/ScrollTimeline.cpp (right): https://codereview.chromium.org/2873493002/diff/500001/third_party/WebKit/Source/core/animation/ScrollTimeline.cpp#newcode100 third_party/WebKit/Source/core/animation/ScrollTimeline.cpp:100: current_offset = ...
3 years, 5 months ago (2017-07-04 04:13:41 UTC) #69
smcgruer
+jbroman for bindings/core OWNERS
3 years, 5 months ago (2017-07-04 13:43:09 UTC) #71
Yuki
bindings LGTM.
3 years, 5 months ago (2017-07-04 13:45:21 UTC) #73
smcgruer
Thanks Yuki :) https://codereview.chromium.org/2873493002/diff/500001/third_party/WebKit/Source/core/animation/ScrollTimeline.cpp File third_party/WebKit/Source/core/animation/ScrollTimeline.cpp (right): https://codereview.chromium.org/2873493002/diff/500001/third_party/WebKit/Source/core/animation/ScrollTimeline.cpp#newcode100 third_party/WebKit/Source/core/animation/ScrollTimeline.cpp:100: current_offset = On 2017/07/04 04:13:41, alancutter ...
3 years, 5 months ago (2017-07-04 13:48:53 UTC) #74
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2873493002/540001
3 years, 5 months ago (2017-07-04 13:49:15 UTC) #77
commit-bot: I haz the power
3 years, 5 months ago (2017-07-04 15:48:58 UTC) #80
Message was sent while issue was closed.
Committed patchset #28 (id:540001) as
https://chromium.googlesource.com/chromium/src/+/a5a47f2f0ae0b0ec8e114f0023d1...

Powered by Google App Engine
This is Rietveld 408576698