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

Issue 2810423003: Schedule bitmap animation timers on the compositor task runner. (Closed)

Created:
3 years, 8 months ago by Dan Elphick
Modified:
3 years, 7 months ago
Reviewers:
chrishtr, Sami
CC:
ajuma+watch_chromium.org, darktears, apavlov+blink_chromium.org, blink-reviews, blink-reviews-css, blink-reviews-dom_chromium.org, blink-reviews-html_chromium.org, blink-reviews-platform-graphics_chromium.org, Rik, chromium-reviews, dglazkov+blink, dshwang, drott+blinkwatch_chromium.org, krit, eae+blinkwatch, fmalita+watch_chromium.org, gyuyoung2, Justin Novosad, kinuko+watch, kouhei+svg_chromium.org, pdr+svgwatchlist_chromium.org, pdr+graphicswatchlist_chromium.org, rwlbuis, scheduler-bugs_chromium.org, Stephen Chennney, sof
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Schedule bitmap animation timers on the compositor task runner. GIF animation timers will now run on the compositor task runner (retrievable via TaskRunnerHelper::Get(kAnimationTimer)), which is now prioritised in UseCase::NONE over the main task runner. This allows animated GIFs to maintain their frame rate even in the presence of timer storms like: https://people-mozilla.org/~bkelly/timer-flood/index.html BUG=703608 Review-Url: https://codereview.chromium.org/2810423003 Cr-Commit-Position: refs/heads/master@{#472427} Committed: https://chromium.googlesource.com/chromium/src/+/f5065232010251bad1cccddcc2a0d27ac2232f67

Patch Set 1 #

Patch Set 2 : Fix up tests and merge #

Patch Set 3 : convert ImageResourceTest to use fixture containing task_runner and tidy up a few things #

Patch Set 4 : use correct timer #

Total comments: 2

Patch Set 5 : fix up comment about a method changed by blink reformat #

Total comments: 20

Patch Set 6 : Rework to use the compositor scheduler directly rather than going via the frame #

Patch Set 7 : remove TODO comments from tests #

Total comments: 4

Patch Set 8 : update for Sami's comments #

Patch Set 9 : merge recent BitmapImage changes #

Total comments: 2

Patch Set 10 : Fix comment. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+86 lines, -13 lines) Patch
M third_party/WebKit/Source/core/dom/IdleDeadlineTest.cpp View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/BitmapImage.h View 1 2 3 4 5 6 7 8 2 chunks +3 lines, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/BitmapImage.cpp View 1 2 3 4 5 6 7 8 6 chunks +18 lines, -8 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/BitmapImageTest.cpp View 1 2 3 4 5 2 chunks +3 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/scheduler/child/web_scheduler.h View 1 2 3 4 5 6 7 8 9 1 chunk +5 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/scheduler/child/web_scheduler_impl.h View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/scheduler/child/web_scheduler_impl.cc View 1 2 3 4 5 1 chunk +5 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc View 1 2 3 4 5 6 7 8 9 1 chunk +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 9 chunks +37 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/platform/scheduler/renderer/renderer_web_scheduler_impl.h View 1 2 3 4 5 2 chunks +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/scheduler/renderer/renderer_web_scheduler_impl.cc View 1 2 3 4 5 1 chunk +7 lines, -1 line 0 comments Download

Messages

Total messages: 44 (27 generated)
Dan Elphick
WDYT of the general pattern? There's a couple of const_casts that need removing, which might ...
3 years, 7 months ago (2017-04-27 14:41:39 UTC) #3
Sami
Generally looks great. I'm wondering if we should put a scarier warning on the animation ...
3 years, 7 months ago (2017-04-27 17:38:17 UTC) #4
fs
https://codereview.chromium.org/2810423003/diff/80001/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp File third_party/WebKit/Source/platform/graphics/BitmapImage.cpp (right): https://codereview.chromium.org/2810423003/diff/80001/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp#newcode73 third_party/WebKit/Source/platform/graphics/BitmapImage.cpp:73: BitmapImage::BitmapImage() : BitmapImage(TimerBase::GetTimerTaskRunner()) {} On 2017/04/27 at 17:38:17, Sami ...
3 years, 7 months ago (2017-04-27 17:42:54 UTC) #5
Sami
On 2017/04/27 17:42:54, fs wrote: > Sorry to say, but Images don't have a 1:1 ...
3 years, 7 months ago (2017-04-27 18:09:31 UTC) #6
fs
On 2017/04/27 at 18:09:31, skyostil wrote: > On 2017/04/27 17:42:54, fs wrote: > > Sorry ...
3 years, 7 months ago (2017-04-27 18:23:15 UTC) #7
Sami
On 2017/04/27 18:23:15, fs wrote: > On 2017/04/27 at 18:09:31, skyostil wrote: > > On ...
3 years, 7 months ago (2017-04-27 18:26:19 UTC) #8
Dan Elphick
PTAL. https://codereview.chromium.org/2810423003/diff/80001/third_party/WebKit/Source/core/css/CSSImageSetValue.cpp File third_party/WebKit/Source/core/css/CSSImageSetValue.cpp (right): https://codereview.chromium.org/2810423003/diff/80001/third_party/WebKit/Source/core/css/CSSImageSetValue.cpp#newcode128 third_party/WebKit/Source/core/css/CSSImageSetValue.cpp:128: RefPtr<WebTaskRunner> task_runner = TaskRunnerHelper::Get( On 2017/04/27 17:38:17, Sami ...
3 years, 7 months ago (2017-05-03 09:41:06 UTC) #9
Sami
Great, looks much simpler now! https://codereview.chromium.org/2810423003/diff/120001/third_party/WebKit/Source/platform/scheduler/child/web_scheduler.h File third_party/WebKit/Source/platform/scheduler/child/web_scheduler.h (right): https://codereview.chromium.org/2810423003/diff/120001/third_party/WebKit/Source/platform/scheduler/child/web_scheduler.h#newcode75 third_party/WebKit/Source/platform/scheduler/child/web_scheduler.h:75: // Returns a WebTaskRunner ...
3 years, 7 months ago (2017-05-04 00:33:38 UTC) #14
Dan Elphick
https://codereview.chromium.org/2810423003/diff/120001/third_party/WebKit/Source/platform/scheduler/child/web_scheduler.h File third_party/WebKit/Source/platform/scheduler/child/web_scheduler.h (right): https://codereview.chromium.org/2810423003/diff/120001/third_party/WebKit/Source/platform/scheduler/child/web_scheduler.h#newcode75 third_party/WebKit/Source/platform/scheduler/child/web_scheduler.h:75: // Returns a WebTaskRunner for compositor tasks. On 2017/05/04 ...
3 years, 7 months ago (2017-05-04 16:47:15 UTC) #15
Dan Elphick
PTAL
3 years, 7 months ago (2017-05-11 13:53:46 UTC) #32
Sami
lgtm, thanks for the optimization! https://codereview.chromium.org/2810423003/diff/160001/third_party/WebKit/Source/platform/scheduler/child/web_scheduler.h File third_party/WebKit/Source/platform/scheduler/child/web_scheduler.h (right): https://codereview.chromium.org/2810423003/diff/160001/third_party/WebKit/Source/platform/scheduler/child/web_scheduler.h#newcode76 third_party/WebKit/Source/platform/scheduler/child/web_scheduler.h:76: // used for animation ...
3 years, 7 months ago (2017-05-16 13:51:46 UTC) #33
Dan Elphick
https://codereview.chromium.org/2810423003/diff/160001/third_party/WebKit/Source/platform/scheduler/child/web_scheduler.h File third_party/WebKit/Source/platform/scheduler/child/web_scheduler.h (right): https://codereview.chromium.org/2810423003/diff/160001/third_party/WebKit/Source/platform/scheduler/child/web_scheduler.h#newcode76 third_party/WebKit/Source/platform/scheduler/child/web_scheduler.h:76: // used for animation and rendering related tasks (e.g. ...
3 years, 7 months ago (2017-05-16 14:09:52 UTC) #34
Dan Elphick
Added Chris for BitmapImage changes.
3 years, 7 months ago (2017-05-16 14:16:42 UTC) #36
chrishtr
lgtm
3 years, 7 months ago (2017-05-17 00:37:40 UTC) #37
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/2810423003/180001
3 years, 7 months ago (2017-05-17 08:30:01 UTC) #40
commit-bot: I haz the power
Committed patchset #10 (id:180001) as https://chromium.googlesource.com/chromium/src/+/f5065232010251bad1cccddcc2a0d27ac2232f67
3 years, 7 months ago (2017-05-17 12:01:23 UTC) #43
jbroman
3 years, 7 months ago (2017-05-18 19:07:38 UTC) #44
Message was sent while issue was closed.
A revert of this CL (patchset #10 id:180001) has been created in
https://codereview.chromium.org/2892053002/ by jbroman@chromium.org.

The reason for reverting is: Makes CrSettingsRouteDynamicParametersTest.All fail
most of the time (requiring retries). Exact reason isn't clear, but local bisect
on Linux consistently points to this CL.

See also:
https://test-results.appspot.com/dashboards/flakiness_dashboard.html#testType....

Powered by Google App Engine
This is Rietveld 408576698