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

Issue 2527143002: Suspend frame schedulers on a page suspension (Closed)

Created:
4 years ago by tzik
Modified:
4 years ago
CC:
chromium-reviews, sof, eae+blinkwatch, blink-reviews-dom_chromium.org, dglazkov+blink, blink-reviews, scheduler-bugs_chromium.org, blink-reviews-api_chromium.org, rwlbuis, Sami, altimin, nhiroki
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Suspend frame schedulers on a page suspension ExecutionContext has its own task suspension through MainThreadTaskRunner. However, the suspension can be coarser, since it's used only when the page is suspended. Also, the custom suspension / resumption makes it hard to use finer grained TaskType. This CL moves the task suspension from ExecutionContext to WebFrameScheduler. Committed: https://crrev.com/c4c7589017c64f0881dab16fdf5d7594099f1d7e Cr-Commit-Position: refs/heads/master@{#435588}

Patch Set 1 #

Patch Set 2 : rebase #

Patch Set 3 : -virtual #

Patch Set 4 : +test #

Patch Set 5 : +comment #

Total comments: 6

Patch Set 6 : use QueueEnabledVoter #

Patch Set 7 : +null check #

Patch Set 8 : fix #

Total comments: 2

Patch Set 9 : mod a comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+65 lines, -92 lines) Patch
M third_party/WebKit/Source/core/dom/Document.h View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/dom/Document.cpp View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -12 lines 0 comments Download
M third_party/WebKit/Source/core/dom/ExecutionContext.h View 1 2 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/dom/MainThreadTaskRunner.h View 3 chunks +1 line, -12 lines 0 comments Download
M third_party/WebKit/Source/core/dom/MainThreadTaskRunner.cpp View 2 chunks +0 lines, -39 lines 0 comments Download
M third_party/WebKit/Source/core/dom/MainThreadTaskRunnerTest.cpp View 1 chunk +0 lines, -20 lines 0 comments Download
M third_party/WebKit/Source/core/page/Page.cpp View 1 2 chunks +9 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.h View 1 2 3 4 5 3 chunks +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc View 1 2 3 4 5 6 7 4 chunks +18 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl_unittest.cc View 1 2 3 2 chunks +27 lines, -0 lines 0 comments Download
M third_party/WebKit/public/platform/WebFrameScheduler.h View 1 2 3 4 5 6 7 8 1 chunk +4 lines, -0 lines 0 comments Download

Messages

Total messages: 50 (37 generated)
tzik
PTAL
4 years ago (2016-11-25 06:52:13 UTC) #20
alex clarke (OOO till 29th)
https://codereview.chromium.org/2527143002/diff/80001/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc File third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc (right): https://codereview.chromium.org/2527143002/diff/80001/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc#newcode178 third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc:178: renderer_scheduler_->task_queue_throttler()->SetQueueEnabled( What you're trying to do here makes sense. ...
4 years ago (2016-11-25 09:50:39 UTC) #23
haraken
This CL makes sense to me. Before this CL, we were stopping only the main ...
4 years ago (2016-11-25 10:20:19 UTC) #24
Sami
Seems like a good idea! https://codereview.chromium.org/2527143002/diff/80001/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc File third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc (right): https://codereview.chromium.org/2527143002/diff/80001/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc#newcode178 third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc:178: renderer_scheduler_->task_queue_throttler()->SetQueueEnabled( On 2016/11/25 09:50:39, ...
4 years ago (2016-11-25 11:32:28 UTC) #26
alex clarke (OOO till 29th)
https://codereview.chromium.org/2527143002/diff/80001/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc File third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc (right): https://codereview.chromium.org/2527143002/diff/80001/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc#newcode178 third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc:178: renderer_scheduler_->task_queue_throttler()->SetQueueEnabled( To support this, I've landed a patch adding ...
4 years ago (2016-11-29 18:09:42 UTC) #27
tzik
https://codereview.chromium.org/2527143002/diff/80001/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc File third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc (right): https://codereview.chromium.org/2527143002/diff/80001/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc#newcode178 third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc:178: renderer_scheduler_->task_queue_throttler()->SetQueueEnabled( On 2016/11/29 18:09:42, alex clarke wrote: > To ...
4 years ago (2016-11-30 08:44:49 UTC) #32
alex clarke (OOO till 29th)
lgtm
4 years ago (2016-11-30 10:29:07 UTC) #37
haraken
LGTM
4 years ago (2016-11-30 10:50:57 UTC) #38
Sami
lgtm. https://codereview.chromium.org/2527143002/diff/140001/third_party/WebKit/public/platform/WebFrameScheduler.h File third_party/WebKit/public/platform/WebFrameScheduler.h (right): https://codereview.chromium.org/2527143002/diff/140001/third_party/WebKit/public/platform/WebFrameScheduler.h#newcode31 third_party/WebKit/public/platform/WebFrameScheduler.h:31: // unthrottledTaskRunner only on a suspended frame. nit: ...
4 years ago (2016-11-30 17:16:19 UTC) #41
tzik
https://codereview.chromium.org/2527143002/diff/140001/third_party/WebKit/public/platform/WebFrameScheduler.h File third_party/WebKit/public/platform/WebFrameScheduler.h (right): https://codereview.chromium.org/2527143002/diff/140001/third_party/WebKit/public/platform/WebFrameScheduler.h#newcode31 third_party/WebKit/public/platform/WebFrameScheduler.h:31: // unthrottledTaskRunner only on a suspended frame. On 2016/11/30 ...
4 years ago (2016-12-01 06:39:02 UTC) #42
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/2527143002/160001
4 years ago (2016-12-01 06:39:19 UTC) #45
commit-bot: I haz the power
Committed patchset #9 (id:160001)
4 years ago (2016-12-01 09:06:58 UTC) #48
commit-bot: I haz the power
4 years ago (2016-12-01 09:08:30 UTC) #50
Message was sent while issue was closed.
Patchset 9 (id:??) landed as
https://crrev.com/c4c7589017c64f0881dab16fdf5d7594099f1d7e
Cr-Commit-Position: refs/heads/master@{#435588}

Powered by Google App Engine
This is Rietveld 408576698