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

Issue 1340343003: scheduler: Implement WebFrameScheduler and WebPageScheduler (Closed)

Created:
5 years, 3 months ago by Sami
Modified:
5 years, 2 months ago
CC:
chromium-reviews, jam, scheduler-bugs_chromium.org, darin-cc_chromium.org, jochen (gone - plz use gerrit)
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

scheduler: Implement WebFrameScheduler and WebPageScheduler The initial implementations creates all the frame specific task queues but ignores setPageInBackground and setFrameVisible. This patch also posts DOMTimers on the corresponding LocalFrame's timer queue. Each LocalFrame now has a WebFrameScheduler, with lazily created loading and timer queues. Currently all these queues share the same priority so the task execution order remains the same. However this patch makes it possible for the scheduler to take control later. Original patch by Alex Clarke <alexclarke@chromium.org>; BUG=510398 TBR=jochen@chromium.org Committed: https://crrev.com/ba3f8bd1d44fbb135c1c35e917240915a6a95985 Cr-Commit-Position: refs/heads/master@{#350813}

Patch Set 1 #

Patch Set 2 : Page => FrameHost #

Patch Set 3 : Remove task observers on unregistration. #

Patch Set 4 : Build fix. #

Patch Set 5 : Don't propagate origin all the way to the task queue impl. #

Patch Set 6 : Cleanup. #

Patch Set 7 : Tightened up naming, fixed tests. #

Total comments: 17

Patch Set 8 : Review comments. #

Patch Set 9 : Merge with https://codereview.chromium.org/1334243004/ #

Patch Set 10 : Add missing test scaffolding. #

Patch Set 11 : Simplify test plumbing for media unit tests. #

Patch Set 12 : Use more specific DEPS. #

Patch Set 13 : Fix shutdown crash. #

Patch Set 14 : Shut down scheduler in tests. #

Patch Set 15 : Rebased + fixed gn build. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+544 lines, -73 lines) Patch
M components/scheduler/child/scheduler_helper.h View 1 2 3 4 5 6 4 chunks +21 lines, -2 lines 0 comments Download
M components/scheduler/child/scheduler_helper.cc View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +18 lines, -4 lines 0 comments Download
M components/scheduler/child/scheduler_helper_unittest.cc View 1 2 3 4 5 6 7 1 chunk +23 lines, -0 lines 0 comments Download
M components/scheduler/child/task_queue_impl.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -1 line 0 comments Download
M components/scheduler/child/task_queue_manager.h View 1 2 3 4 5 6 2 chunks +15 lines, -0 lines 0 comments Download
M components/scheduler/child/task_queue_manager.cc View 1 2 3 4 5 6 3 chunks +10 lines, -1 line 0 comments Download
M components/scheduler/child/task_queue_manager_unittest.cc View 1 2 3 4 5 6 7 1 chunk +25 lines, -0 lines 0 comments Download
M components/scheduler/renderer/renderer_scheduler.h View 1 chunk +8 lines, -0 lines 0 comments Download
M components/scheduler/renderer/renderer_scheduler_impl.h View 1 4 chunks +13 lines, -4 lines 0 comments Download
M components/scheduler/renderer/renderer_scheduler_impl.cc View 1 2 3 4 5 6 7 6 chunks +67 lines, -20 lines 0 comments Download
M components/scheduler/renderer/renderer_web_scheduler_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -0 lines 0 comments Download
M components/scheduler/renderer/renderer_web_scheduler_impl.cc View 1 2 chunks +6 lines, -0 lines 0 comments Download
A components/scheduler/renderer/web_frame_host_scheduler_impl.h View 1 2 3 4 5 1 chunk +46 lines, -0 lines 0 comments Download
A components/scheduler/renderer/web_frame_host_scheduler_impl.cc View 1 2 3 4 5 1 chunk +39 lines, -0 lines 0 comments Download
A components/scheduler/renderer/web_frame_scheduler_impl.h View 1 2 3 4 1 chunk +54 lines, -0 lines 0 comments Download
A components/scheduler/renderer/web_frame_scheduler_impl.cc View 1 2 3 4 1 chunk +60 lines, -0 lines 0 comments Download
M components/scheduler/scheduler.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +4 lines, -0 lines 0 comments Download
M content/test/fake_renderer_scheduler.h View 1 chunk +4 lines, -0 lines 0 comments Download
M content/test/fake_renderer_scheduler.cc View 1 chunk +10 lines, -0 lines 0 comments Download
M media/blink/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +2 lines, -0 lines 0 comments Download
M media/blink/DEPS View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -0 lines 0 comments Download
M media/blink/media_blink.gyp View 1 2 3 4 5 6 7 8 9 10 1 chunk +2 lines, -0 lines 0 comments Download
M media/blink/run_all_unittests.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +26 lines, -36 lines 0 comments Download
M third_party/WebKit/Source/core/dom/Document.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 5 chunks +6 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/DOMTimer.h View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/DOMTimer.cpp View 1 2 3 4 5 6 7 8 1 chunk +5 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/DOMTimerCoordinator.h View 1 2 3 4 5 6 7 8 4 chunks +7 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/frame/DOMTimerCoordinator.cpp View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/frame/FrameHost.h View 1 2 3 4 5 6 7 8 3 chunks +5 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/FrameHost.cpp View 1 2 3 4 5 6 7 8 2 chunks +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp View 1 2 3 4 5 6 7 8 2 chunks +6 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/LocalFrame.h View 1 2 3 4 5 6 7 8 3 chunks +7 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/LocalFrame.cpp View 1 2 3 4 5 6 7 8 3 chunks +23 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/page/Page.cpp View 1 2 3 4 5 6 7 8 2 chunks +8 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/workers/WorkerGlobalScope.cpp View 1 2 3 4 5 6 7 8 2 chunks +3 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/Timer.h View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/Timer.cpp View 1 2 3 4 5 6 7 8 2 chunks +6 lines, -1 line 0 comments Download
M third_party/WebKit/Source/platform/WebScheduler.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 43 (21 generated)
Sami
Ross, mind having a look while Alex is out?
5 years, 3 months ago (2015-09-17 14:20:15 UTC) #2
rmcilroy
Looks decent, a couple of comments though. https://codereview.chromium.org/1340343003/diff/120001/components/scheduler/child/scheduler_helper_unittest.cc File components/scheduler/child/scheduler_helper_unittest.cc (right): https://codereview.chromium.org/1340343003/diff/120001/components/scheduler/child/scheduler_helper_unittest.cc#newcode186 components/scheduler/child/scheduler_helper_unittest.cc:186: namespace { ...
5 years, 3 months ago (2015-09-18 13:15:47 UTC) #3
Sami
Thanks for the comments! https://codereview.chromium.org/1340343003/diff/120001/components/scheduler/child/scheduler_helper_unittest.cc File components/scheduler/child/scheduler_helper_unittest.cc (right): https://codereview.chromium.org/1340343003/diff/120001/components/scheduler/child/scheduler_helper_unittest.cc#newcode186 components/scheduler/child/scheduler_helper_unittest.cc:186: namespace { On 2015/09/18 13:15:46, ...
5 years, 3 months ago (2015-09-21 10:52:36 UTC) #4
rmcilroy
lgtm, thanks! https://codereview.chromium.org/1340343003/diff/120001/components/scheduler/child/task_queue_manager.cc File components/scheduler/child/task_queue_manager.cc (right): https://codereview.chromium.org/1340343003/diff/120001/components/scheduler/child/task_queue_manager.cc#newcode89 components/scheduler/child/task_queue_manager.cc:89: observer_->OnUnregisterTaskQueue(task_queue); On 2015/09/21 10:52:36, Sami wrote: > ...
5 years, 3 months ago (2015-09-23 09:44:25 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1340343003/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1340343003/140001
5 years, 3 months ago (2015-09-23 09:49:23 UTC) #7
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_compile_dbg_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_compile_dbg_ng/builds/86493)
5 years, 3 months ago (2015-09-23 10:58:57 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1340343003/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1340343003/160001
5 years, 3 months ago (2015-09-23 11:07:47 UTC) #12
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_gn_chromeos_rel on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_gn_chromeos_rel/builds/85163) mac_chromium_rel_ng on tryserver.chromium.mac (JOB_FAILED, ...
5 years, 3 months ago (2015-09-23 11:17:29 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1340343003/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1340343003/180001
5 years, 3 months ago (2015-09-23 11:26:17 UTC) #17
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_compile_dbg_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_compile_dbg_ng/builds/86504)
5 years, 3 months ago (2015-09-23 12:41:57 UTC) #19
Sami
So it turns out this patch failed to link on Windows because nothing was including ...
5 years, 3 months ago (2015-09-23 16:49:32 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1340343003/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1340343003/200001
5 years, 3 months ago (2015-09-23 16:49:55 UTC) #25
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_x64_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_rel_ng/builds/107689)
5 years, 3 months ago (2015-09-23 17:37:41 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1340343003/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1340343003/200001
5 years, 3 months ago (2015-09-23 18:37:08 UTC) #29
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/117353) win_chromium_x64_rel_ng on tryserver.chromium.win (JOB_FAILED, ...
5 years, 3 months ago (2015-09-23 20:02:32 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1340343003/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1340343003/200001
5 years, 3 months ago (2015-09-24 09:41:06 UTC) #33
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_rel_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/117488)
5 years, 3 months ago (2015-09-24 10:21:55 UTC) #35
Sami
sandersd@, could you please check the test runner changes under media/?
5 years, 2 months ago (2015-09-24 13:56:22 UTC) #37
sandersd (OOO until July 31)
On 2015/09/24 13:56:22, Sami wrote: > sandersd@, could you please check the test runner changes ...
5 years, 2 months ago (2015-09-25 00:27:12 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1340343003/320001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1340343003/320001
5 years, 2 months ago (2015-09-25 11:48:10 UTC) #41
commit-bot: I haz the power
Committed patchset #15 (id:320001)
5 years, 2 months ago (2015-09-25 13:26:36 UTC) #42
commit-bot: I haz the power
5 years, 2 months ago (2015-09-25 13:27:09 UTC) #43
Message was sent while issue was closed.
Patchset 15 (id:??) landed as
https://crrev.com/ba3f8bd1d44fbb135c1c35e917240915a6a95985
Cr-Commit-Position: refs/heads/master@{#350813}

Powered by Google App Engine
This is Rietveld 408576698