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

Issue 2659123004: cc: Add scheduler support for invalidating content on impl thread. (Closed)

Created:
3 years, 10 months ago by Khushal
Modified:
3 years, 9 months ago
CC:
cc-bugs_chromium.org, chromium-reviews, scheduler-bugs_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

cc: Add scheduler support for invalidating content on impl thread. The change adds an API to the scheduler for requesting invalidations to content on the impl thread. The scheduler makes best effort to merge impl-side invalidations with the incoming main frame, if any, but may decide to create a pending tree for these invalidations on the impl thread. BUG=686267 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Review-Url: https://codereview.chromium.org/2659123004 Cr-Commit-Position: refs/heads/master@{#452720} Committed: https://chromium.googlesource.com/chromium/src/+/ab73d50c7514cdb1ed443d090c5b9d6a17d4b585

Patch Set 1 #

Patch Set 2 : .. #

Total comments: 1

Patch Set 3 : commit_to_active #

Total comments: 7

Patch Set 4 : addressed comments. #

Total comments: 1

Patch Set 5 : tests #

Total comments: 24

Patch Set 6 : addressed comments #

Patch Set 7 : moar tests #

Total comments: 8

Patch Set 8 : only inside deadline #

Total comments: 6

Patch Set 9 : spelling #

Total comments: 22

Patch Set 10 : addressed sunny's comments #

Patch Set 11 : no DCHECK #

Unified diffs Side-by-side diffs Delta from patch set Stats (+506 lines, -4 lines) Patch
M cc/scheduler/scheduler.h View 1 2 3 4 2 chunks +10 lines, -0 lines 0 comments Download
M cc/scheduler/scheduler.cc View 1 2 3 4 5 6 7 8 9 4 chunks +13 lines, -2 lines 0 comments Download
M cc/scheduler/scheduler_state_machine.h View 1 2 3 4 5 6 7 7 chunks +20 lines, -0 lines 0 comments Download
M cc/scheduler/scheduler_state_machine.cc View 1 2 3 4 5 6 7 8 9 10 12 chunks +108 lines, -2 lines 0 comments Download
M cc/scheduler/scheduler_state_machine_unittest.cc View 1 2 3 4 5 6 7 8 9 3 chunks +258 lines, -0 lines 0 comments Download
M cc/scheduler/scheduler_unittest.cc View 1 2 3 4 5 6 7 8 9 2 chunks +83 lines, -0 lines 0 comments Download
M cc/test/scheduler_test_common.h View 1 2 3 4 5 6 7 1 chunk +4 lines, -0 lines 0 comments Download
M cc/trees/proxy_impl.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/proxy_impl.cc View 1 2 3 4 5 6 7 8 9 1 chunk +4 lines, -0 lines 0 comments Download
M cc/trees/single_thread_proxy.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/single_thread_proxy.cc View 1 2 3 4 5 6 7 8 9 1 chunk +4 lines, -0 lines 0 comments Download

Messages

Total messages: 54 (15 generated)
Khushal
I'm going to add tests for it. Thought I'd send it to you to take ...
3 years, 10 months ago (2017-01-28 02:12:55 UTC) #3
Khushal
+sunnyps as well.
3 years, 10 months ago (2017-01-30 21:29:51 UTC) #5
Khushal
https://codereview.chromium.org/2659123004/diff/20001/cc/scheduler/scheduler_state_machine.cc File cc/scheduler/scheduler_state_machine.cc (right): https://codereview.chromium.org/2659123004/diff/20001/cc/scheduler/scheduler_state_machine.cc#newcode588 cc/scheduler/scheduler_state_machine.cc:588: if (impl_side_invalidation_funnel_) May be this should get set after ...
3 years, 10 months ago (2017-01-31 02:04:42 UTC) #6
Khushal
I accidentally added a WIP test change as well, please ignore that. pingy for a ...
3 years, 10 months ago (2017-02-01 00:30:50 UTC) #7
brianderson
Not quite done with the review, but posting what I have. There are lots of ...
3 years, 10 months ago (2017-02-03 00:54:53 UTC) #8
Khushal
https://codereview.chromium.org/2659123004/diff/40001/cc/scheduler/scheduler.h File cc/scheduler/scheduler.h (right): https://codereview.chromium.org/2659123004/diff/40001/cc/scheduler/scheduler.h#newcode100 cc/scheduler/scheduler.h:100: void SetNeedsImplSideInvalidation(); On 2017/02/03 00:54:53, brianderson wrote: > Oh ...
3 years, 10 months ago (2017-02-03 01:45:11 UTC) #9
Khushal
I've added a bunch of tests for this in SchedulerStateMachineTest for all the cases I ...
3 years, 10 months ago (2017-02-13 23:32:54 UTC) #10
Khushal
naggy ping. :)
3 years, 10 months ago (2017-02-14 20:07:32 UTC) #11
sunnyps
Left a few comments. Do you reckon we have cases where we perform an invalidation ...
3 years, 10 months ago (2017-02-14 21:40:19 UTC) #12
Khushal
+enne for the commit_to_active_tree mode question. https://codereview.chromium.org/2659123004/diff/80001/cc/scheduler/scheduler.cc File cc/scheduler/scheduler.cc (right): https://codereview.chromium.org/2659123004/diff/80001/cc/scheduler/scheduler.cc#newcode630 cc/scheduler/scheduler.cc:630: client_->ScheduledActionPerformImplSideInvalidation(); On 2017/02/14 ...
3 years, 10 months ago (2017-02-15 00:56:33 UTC) #14
enne (OOO)
https://codereview.chromium.org/2659123004/diff/80001/cc/scheduler/scheduler_state_machine.cc File cc/scheduler/scheduler_state_machine.cc (right): https://codereview.chromium.org/2659123004/diff/80001/cc/scheduler/scheduler_state_machine.cc#newcode600 cc/scheduler/scheduler_state_machine.cc:600: (active_tree_needs_first_draw_ || IsDrawThrottled())) { On 2017/02/15 at 00:56:33, Khushal ...
3 years, 10 months ago (2017-02-15 01:09:28 UTC) #15
Khushal
And SchedulerTests added. https://codereview.chromium.org/2659123004/diff/80001/cc/scheduler/scheduler_state_machine.cc File cc/scheduler/scheduler_state_machine.cc (right): https://codereview.chromium.org/2659123004/diff/80001/cc/scheduler/scheduler_state_machine.cc#newcode645 cc/scheduler/scheduler_state_machine.cc:645: send_begin_main_frame_funnel_ = true; On 2017/02/15 00:56:33, ...
3 years, 10 months ago (2017-02-15 03:23:52 UTC) #16
Khushal
more naggy ping.
3 years, 10 months ago (2017-02-17 19:07:37 UTC) #21
sunnyps
I think we should scope the invalidation to only happen after the frame is over, ...
3 years, 10 months ago (2017-02-20 23:19:22 UTC) #22
Khushal
I'm not sure I'm following your train of thought. So laying down a few things ...
3 years, 10 months ago (2017-02-21 09:43:45 UTC) #23
brianderson
https://codereview.chromium.org/2659123004/diff/120001/cc/scheduler/scheduler_state_machine.cc File cc/scheduler/scheduler_state_machine.cc (right): https://codereview.chromium.org/2659123004/diff/120001/cc/scheduler/scheduler_state_machine.cc#newcode623 cc/scheduler/scheduler_state_machine.cc:623: BeginMainFrameState::BEGIN_MAIN_FRAME_STATE_IDLE) Given the preceding logic, I think the STATE_IDLE ...
3 years, 10 months ago (2017-02-21 23:34:59 UTC) #24
Khushal
Following up on the discussion we had earlier about only running impl-side invalidations when we ...
3 years, 10 months ago (2017-02-22 00:23:13 UTC) #25
sunnyps
On 2017/02/22 00:23:13, Khushal wrote: > Following up on the discussion we had earlier about ...
3 years, 10 months ago (2017-02-22 00:44:19 UTC) #26
Khushal
On 2017/02/22 00:44:19, sunnyps wrote: > On 2017/02/22 00:23:13, Khushal wrote: > > Following up ...
3 years, 10 months ago (2017-02-22 00:53:29 UTC) #27
Khushal
I have moved the impl side invalidation action to happen only inside the deadline. Its ...
3 years, 10 months ago (2017-02-22 18:56:41 UTC) #30
brianderson
https://codereview.chromium.org/2659123004/diff/140001/cc/scheduler/scheduler.cc File cc/scheduler/scheduler.cc (right): https://codereview.chromium.org/2659123004/diff/140001/cc/scheduler/scheduler.cc#newcode554 cc/scheduler/scheduler.cc:554: !state_machine_.previous_pending_tree_was_impl_side(); Is there any way to avoid setting active_tree_needs_first_draw ...
3 years, 10 months ago (2017-02-22 19:31:20 UTC) #31
Khushal
https://codereview.chromium.org/2659123004/diff/140001/cc/scheduler/scheduler.cc File cc/scheduler/scheduler.cc (right): https://codereview.chromium.org/2659123004/diff/140001/cc/scheduler/scheduler.cc#newcode554 cc/scheduler/scheduler.cc:554: !state_machine_.previous_pending_tree_was_impl_side(); On 2017/02/22 19:31:20, brianderson wrote: > Is there ...
3 years, 10 months ago (2017-02-22 20:19:30 UTC) #32
Khushal
https://codereview.chromium.org/2659123004/diff/120001/cc/scheduler/scheduler_state_machine.cc File cc/scheduler/scheduler_state_machine.cc (right): https://codereview.chromium.org/2659123004/diff/120001/cc/scheduler/scheduler_state_machine.cc#newcode623 cc/scheduler/scheduler_state_machine.cc:623: BeginMainFrameState::BEGIN_MAIN_FRAME_STATE_IDLE) On 2017/02/21 23:34:59, brianderson wrote: > Given the ...
3 years, 10 months ago (2017-02-22 20:24:03 UTC) #33
brianderson
https://codereview.chromium.org/2659123004/diff/140001/cc/scheduler/scheduler.cc File cc/scheduler/scheduler.cc (right): https://codereview.chromium.org/2659123004/diff/140001/cc/scheduler/scheduler.cc#newcode554 cc/scheduler/scheduler.cc:554: !state_machine_.previous_pending_tree_was_impl_side(); On 2017/02/22 20:19:29, Khushal wrote: > On 2017/02/22 ...
3 years, 10 months ago (2017-02-22 22:58:08 UTC) #34
Khushal
https://codereview.chromium.org/2659123004/diff/140001/cc/scheduler/scheduler.cc File cc/scheduler/scheduler.cc (right): https://codereview.chromium.org/2659123004/diff/140001/cc/scheduler/scheduler.cc#newcode554 cc/scheduler/scheduler.cc:554: !state_machine_.previous_pending_tree_was_impl_side(); On 2017/02/22 22:58:08, brianderson wrote: > On 2017/02/22 ...
3 years, 10 months ago (2017-02-22 23:20:24 UTC) #35
brianderson
lgtm https://codereview.chromium.org/2659123004/diff/140001/cc/scheduler/scheduler.cc File cc/scheduler/scheduler.cc (right): https://codereview.chromium.org/2659123004/diff/140001/cc/scheduler/scheduler.cc#newcode554 cc/scheduler/scheduler.cc:554: !state_machine_.previous_pending_tree_was_impl_side(); On 2017/02/22 23:20:24, Khushal wrote: > On ...
3 years, 10 months ago (2017-02-22 23:42:33 UTC) #36
Khushal
Thanks Brian! I'll wait for sunnyps@ to take a look as well before landing.
3 years, 10 months ago (2017-02-22 23:45:39 UTC) #37
sunnyps
Left a few comments mostly about adding DCHECKs and tests. Almost there :) https://codereview.chromium.org/2659123004/diff/160001/cc/scheduler/scheduler_state_machine.cc File ...
3 years, 10 months ago (2017-02-23 00:33:22 UTC) #38
Khushal
Done. Sorry, rebase crept in there too. https://codereview.chromium.org/2659123004/diff/160001/cc/scheduler/scheduler_state_machine.cc File cc/scheduler/scheduler_state_machine.cc (right): https://codereview.chromium.org/2659123004/diff/160001/cc/scheduler/scheduler_state_machine.cc#newcode534 cc/scheduler/scheduler_state_machine.cc:534: if (needs_impl_side_invalidation_) ...
3 years, 10 months ago (2017-02-23 01:25:43 UTC) #39
sunnyps
lgtm % nit https://codereview.chromium.org/2659123004/diff/160001/cc/scheduler/scheduler_state_machine.cc File cc/scheduler/scheduler_state_machine.cc (right): https://codereview.chromium.org/2659123004/diff/160001/cc/scheduler/scheduler_state_machine.cc#newcode534 cc/scheduler/scheduler_state_machine.cc:534: if (needs_impl_side_invalidation_) On 2017/02/23 01:25:43, Khushal ...
3 years, 10 months ago (2017-02-23 01:34:12 UTC) #40
Khushal
https://codereview.chromium.org/2659123004/diff/160001/cc/scheduler/scheduler_state_machine.cc File cc/scheduler/scheduler_state_machine.cc (right): https://codereview.chromium.org/2659123004/diff/160001/cc/scheduler/scheduler_state_machine.cc#newcode534 cc/scheduler/scheduler_state_machine.cc:534: if (needs_impl_side_invalidation_) On 2017/02/23 01:34:12, sunnyps wrote: > On ...
3 years, 10 months ago (2017-02-23 07:42:37 UTC) #41
sunnyps
On 2017/02/23 07:42:37, Khushal wrote: > https://codereview.chromium.org/2659123004/diff/160001/cc/scheduler/scheduler_state_machine.cc > File cc/scheduler/scheduler_state_machine.cc (right): > > https://codereview.chromium.org/2659123004/diff/160001/cc/scheduler/scheduler_state_machine.cc#newcode534 > ...
3 years, 10 months ago (2017-02-23 19:53:05 UTC) #42
Khushal
On 2017/02/23 19:53:05, sunnyps wrote: > On 2017/02/23 07:42:37, Khushal wrote: > > > https://codereview.chromium.org/2659123004/diff/160001/cc/scheduler/scheduler_state_machine.cc ...
3 years, 10 months ago (2017-02-23 20:43:04 UTC) #43
Khushal
On 2017/02/23 20:43:04, Khushal wrote: > On 2017/02/23 19:53:05, sunnyps wrote: > > On 2017/02/23 ...
3 years, 10 months ago (2017-02-23 20:47:54 UTC) #44
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/2659123004/200001
3 years, 10 months ago (2017-02-24 00:43:36 UTC) #47
commit-bot: I haz the power
Committed patchset #11 (id:200001) as https://chromium.googlesource.com/chromium/src/+/ab73d50c7514cdb1ed443d090c5b9d6a17d4b585
3 years, 10 months ago (2017-02-24 02:28:04 UTC) #50
andersonbriank1970
Dont understand
3 years, 9 months ago (2017-03-26 23:52:34 UTC) #52
andersonbriank1970
lgtm How do u get into ur gmail account
3 years, 9 months ago (2017-03-27 00:01:32 UTC) #53
andersonbriank1970
3 years, 9 months ago (2017-03-27 00:01:34 UTC) #54
Message was sent while issue was closed.
lgtm

lgtm

How do u get into ur gmail account

Powered by Google App Engine
This is Rietveld 408576698