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

Issue 1314903007: Implement WebFrameScheduler and WebPageScheduler (Closed)

Created:
5 years, 3 months ago by alex clarke (OOO till 29th)
Modified:
5 years, 2 months ago
Reviewers:
Sami
CC:
chromium-reviews, scheduler-bugs_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Implement WebFrameScheduler and WebPageScheduler The initial implelentation creates all the task queues but ignores setPageInBackground and setFrameVisible. Initial blink patch: https://codereview.chromium.org/1316233010/ BUG=510398

Patch Set 1 #

Patch Set 2 : Use std::string to pass the origin #

Patch Set 3 : Rebased #

Patch Set 4 : Rebased #

Patch Set 5 : Record origin in TQM trace event #

Total comments: 13

Patch Set 6 : Refactored the unregister #

Patch Set 7 : Added some tests #

Total comments: 19

Patch Set 8 : Responding to feedback #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+438 lines, -32 lines) Patch
M components/scheduler/child/scheduler_helper.h View 1 2 3 4 5 6 7 4 chunks +21 lines, -2 lines 0 comments Download
M components/scheduler/child/scheduler_helper.cc View 1 2 3 4 5 6 7 2 chunks +16 lines, -4 lines 0 comments Download
M components/scheduler/child/scheduler_helper_unittest.cc View 1 2 3 4 5 6 7 1 chunk +22 lines, -0 lines 0 comments Download
M components/scheduler/child/task_queue.h View 1 2 3 4 5 1 chunk +8 lines, -0 lines 0 comments Download
M components/scheduler/child/task_queue_impl.h View 2 chunks +3 lines, -0 lines 0 comments Download
M components/scheduler/child/task_queue_impl.cc View 1 2 3 4 5 2 chunks +11 lines, -0 lines 0 comments Download
M components/scheduler/child/task_queue_manager.h View 1 2 3 4 5 6 7 2 chunks +15 lines, -0 lines 0 comments Download
M components/scheduler/child/task_queue_manager.cc View 1 2 3 4 5 6 7 3 chunks +12 lines, -2 lines 0 comments Download
M components/scheduler/child/task_queue_manager_unittest.cc View 1 2 3 4 5 6 7 1 chunk +24 lines, -0 lines 0 comments Download
M components/scheduler/renderer/renderer_scheduler.h View 1 2 3 4 5 1 chunk +8 lines, -0 lines 0 comments Download
M components/scheduler/renderer/renderer_scheduler_impl.h View 1 2 3 4 5 4 chunks +13 lines, -4 lines 0 comments Download
M components/scheduler/renderer/renderer_scheduler_impl.cc View 1 2 3 4 5 6 chunks +55 lines, -20 lines 0 comments Download
M components/scheduler/renderer/renderer_web_scheduler_impl.h View 1 chunk +1 line, -0 lines 0 comments Download
M components/scheduler/renderer/renderer_web_scheduler_impl.cc View 2 chunks +5 lines, -0 lines 0 comments Download
A components/scheduler/renderer/web_frame_scheduler_impl.h View 1 2 1 chunk +57 lines, -0 lines 0 comments Download
A components/scheduler/renderer/web_frame_scheduler_impl.cc View 1 2 3 4 5 6 7 1 chunk +68 lines, -0 lines 0 comments Download
A components/scheduler/renderer/web_page_scheduler_impl.h View 1 2 3 4 5 1 chunk +45 lines, -0 lines 0 comments Download
A components/scheduler/renderer/web_page_scheduler_impl.cc View 1 2 3 4 5 6 7 1 chunk +36 lines, -0 lines 1 comment Download
M components/scheduler/scheduler.gypi View 1 chunk +4 lines, -0 lines 0 comments Download
M content/test/fake_renderer_scheduler.h View 1 2 3 4 5 6 1 chunk +4 lines, -0 lines 0 comments Download
M content/test/fake_renderer_scheduler.cc View 1 2 3 4 5 6 1 chunk +10 lines, -0 lines 0 comments Download

Messages

Total messages: 10 (2 generated)
alex clarke (OOO till 29th)
The diff base for renderer_scheduler_impl.cc is slightly weird due to a non-trivial rebase. This wil ...
5 years, 3 months ago (2015-09-08 16:32:33 UTC) #2
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1314903007/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1314903007/60001
5 years, 3 months ago (2015-09-10 11:13:29 UTC) #4
alex clarke (OOO till 29th)
I've fixed the diffbase.
5 years, 3 months ago (2015-09-10 11:27:43 UTC) #5
Sami
Looks pretty good. I like the idea of keeping the origin distinct from the queue ...
5 years, 3 months ago (2015-09-10 12:51:58 UTC) #6
alex clarke (OOO till 29th)
PTAL https://codereview.chromium.org/1314903007/diff/80001/components/scheduler/child/task_queue_impl.h File components/scheduler/child/task_queue_impl.h (right): https://codereview.chromium.org/1314903007/diff/80001/components/scheduler/child/task_queue_impl.h#newcode196 components/scheduler/child/task_queue_impl.h:196: std::string origin_; On 2015/09/10 12:51:57, Sami wrote: > ...
5 years, 3 months ago (2015-09-10 14:35:58 UTC) #7
Sami
https://codereview.chromium.org/1314903007/diff/120001/components/scheduler/child/scheduler_helper.cc File components/scheduler/child/scheduler_helper.cc (right): https://codereview.chromium.org/1314903007/diff/120001/components/scheduler/child/scheduler_helper.cc#newcode129 components/scheduler/child/scheduler_helper.cc:129: if (task_queue_manager_) I think DCHECKing that we still have ...
5 years, 3 months ago (2015-09-10 15:10:23 UTC) #8
alex clarke (OOO till 29th)
https://codereview.chromium.org/1314903007/diff/120001/components/scheduler/child/scheduler_helper.cc File components/scheduler/child/scheduler_helper.cc (right): https://codereview.chromium.org/1314903007/diff/120001/components/scheduler/child/scheduler_helper.cc#newcode129 components/scheduler/child/scheduler_helper.cc:129: if (task_queue_manager_) On 2015/09/10 15:10:23, Sami wrote: > I ...
5 years, 3 months ago (2015-09-10 15:56:24 UTC) #9
Sami
5 years, 3 months ago (2015-09-11 11:34:43 UTC) #10
Thanks, lg2m once we rename WebPageScheduler to WebFrameHostScheduler (assuming
the blink folks agree).

https://codereview.chromium.org/1314903007/diff/120001/components/scheduler/c...
File components/scheduler/child/scheduler_helper.cc (right):

https://codereview.chromium.org/1314903007/diff/120001/components/scheduler/c...
components/scheduler/child/scheduler_helper.cc:130:
task_queue_manager_->SetQueueObserver(this);
On 2015/09/10 15:56:24, alexclarke1 wrote:
> On 2015/09/10 15:10:23, Sami wrote:
> > Should probably remove this in the destructor.
> 
> Not sure that's worth doing since this class owns task_queue_manager_.  WDYT?

Ah right I didn't notice that. Usually I like to have explicit calls but this
works too.

https://codereview.chromium.org/1314903007/diff/140001/components/scheduler/r...
File components/scheduler/renderer/web_page_scheduler_impl.cc (right):

https://codereview.chromium.org/1314903007/diff/140001/components/scheduler/r...
components/scheduler/renderer/web_page_scheduler_impl.cc:17: << "We expect
WebPageSchedulerImpl to out live it's WebFrameSchedulers";
super-nit: s/it's/its/

Powered by Google App Engine
This is Rietveld 408576698