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

Issue 1304063014: cc: Plumbing for BeginFrameSource based on Surfaces (Closed)

Created:
5 years, 3 months ago by brianderson
Modified:
5 years, 2 months ago
CC:
chromium-reviews, jam, sievers+watch_chromium.org, jbauman+watch_chromium.org, darin-cc_chromium.org, kalyank, piman+watch_chromium.org, cc-bugs_chromium.org, danakj+watch_chromium.org, miu+watch_chromium.org, danakj, Fady Samuel
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

cc: Plumbing for BeginFrameSource based on Surfaces This patch makes a stable decision about which Display a Surface belongs to and notifies the corresponding SurfaceFactoryClient of the BeginFrameSource belonging to that Display. The stable decision is based on the sorted order of Display pointers that the Surface currently belongs to. This is only plumbing - the actual endpoints (BeginFrameSource to use and what to do with that BeginFrameSource) still need to be hooked up. R=jbauman,mithro BUG=401331, 471411 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Committed: https://crrev.com/877996b0753f32b67fac2835756d23f476e72f10 Cr-Commit-Position: refs/heads/master@{#355140}

Patch Set 1 #

Total comments: 5

Patch Set 2 : address jbauman's comments #

Patch Set 3 : fix esisting tests #

Patch Set 4 : Fix perftests and mojo #

Patch Set 5 : Add surface unit tests #

Patch Set 6 : display unittests #

Patch Set 7 : SurfaceFactory unit tests #

Patch Set 8 : SurfaceAggregator tests; fix some bugs revealed by tests #

Total comments: 4

Patch Set 9 : rebase #

Patch Set 10 : Fix Windows and WebView compile #

Patch Set 11 : Add missing cc:: for WebView #

Patch Set 12 : Fix use-after-free cause by bad destruction order #

Patch Set 13 : More use-after-free. Attempt to fix mojo. #

Total comments: 25

Patch Set 14 : Tim's comments #

Patch Set 15 : NOTREACHED for WebView; NOTIMPLEMENTED elsewhere #

Total comments: 2

Patch Set 16 : Add surface_id to SurfaceFactoryClient::SetBeginFrameSource #

Total comments: 1

Patch Set 17 : rebase #

Patch Set 18 : fixes #

Patch Set 19 : fix android #

Patch Set 20 : fix webview #

Unified diffs Side-by-side diffs Delta from patch set Stats (+777 lines, -84 lines) Patch
M android_webview/browser/hardware_renderer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +2 lines, -0 lines 0 comments Download
M android_webview/browser/hardware_renderer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +7 lines, -0 lines 0 comments Download
M cc/surfaces/display.h View 1 2 3 4 5 4 chunks +7 lines, -0 lines 0 comments Download
M cc/surfaces/display.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +27 lines, -2 lines 0 comments Download
M cc/surfaces/display_scheduler.h View 1 2 3 4 5 2 chunks +7 lines, -0 lines 0 comments Download
M cc/surfaces/display_scheduler.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +4 lines, -0 lines 0 comments Download
M cc/surfaces/display_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 5 chunks +41 lines, -4 lines 0 comments Download
M cc/surfaces/onscreen_display_client.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +5 lines, -2 lines 0 comments Download
M cc/surfaces/onscreen_display_client.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +2 lines, -3 lines 0 comments Download
M cc/surfaces/surface.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +9 lines, -0 lines 0 comments Download
M cc/surfaces/surface.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +31 lines, -0 lines 0 comments Download
M cc/surfaces/surface_aggregator.h View 1 2 3 4 5 6 7 8 9 2 chunks +15 lines, -3 lines 0 comments Download
M cc/surfaces/surface_aggregator.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 6 chunks +35 lines, -11 lines 0 comments Download
M cc/surfaces/surface_aggregator_perftest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +11 lines, -1 line 0 comments Download
M cc/surfaces/surface_aggregator_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 53 chunks +273 lines, -17 lines 0 comments Download
M cc/surfaces/surface_display_output_surface.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +2 lines, -0 lines 0 comments Download
M cc/surfaces/surface_display_output_surface.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +7 lines, -0 lines 0 comments Download
M cc/surfaces/surface_factory.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +5 lines, -0 lines 0 comments Download
M cc/surfaces/surface_factory.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +6 lines, -0 lines 0 comments Download
M cc/surfaces/surface_factory_client.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +12 lines, -0 lines 0 comments Download
M cc/surfaces/surface_factory_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 chunks +78 lines, -37 lines 0 comments Download
M cc/surfaces/surface_hittest_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +2 lines, -0 lines 0 comments Download
M cc/surfaces/surface_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +127 lines, -1 line 0 comments Download
M cc/surfaces/surfaces_pixeltest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 4 chunks +17 lines, -3 lines 0 comments Download
M components/mus/surfaces/top_level_display_client.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +2 lines, -0 lines 0 comments Download
M components/mus/surfaces/top_level_display_client.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +7 lines, -0 lines 0 comments Download
M components/mus/ws/server_window_surface.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +2 lines, -0 lines 0 comments Download
M components/mus/ws/server_window_surface.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +7 lines, -0 lines 0 comments Download
M content/browser/compositor/delegated_frame_host.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +2 lines, -0 lines 0 comments Download
M content/browser/compositor/delegated_frame_host.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +7 lines, -0 lines 0 comments Download
M content/browser/frame_host/render_widget_host_view_child_frame.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +2 lines, -0 lines 0 comments Download
M content/browser/frame_host/render_widget_host_view_child_frame.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +7 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_android.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +2 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_android.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +7 lines, -0 lines 0 comments Download

Messages

Total messages: 28 (6 generated)
brianderson
https://codereview.chromium.org/1304063014/diff/1/cc/surfaces/surface_aggregator.cc File cc/surfaces/surface_aggregator.cc (right): https://codereview.chromium.org/1304063014/diff/1/cc/surfaces/surface_aggregator.cc#newcode453 cc/surfaces/surface_aggregator.cc:453: void SurfaceAggregator::RemoveUnreferencedChildren() { @jbauman: We are using this function ...
5 years, 3 months ago (2015-09-04 21:56:51 UTC) #1
jbauman
https://codereview.chromium.org/1304063014/diff/1/cc/surfaces/surface.h File cc/surfaces/surface.h (right): https://codereview.chromium.org/1304063014/diff/1/cc/surfaces/surface.h#newcode83 cc/surfaces/surface.h:83: void AddDisplay(Display* display) { Probably best to use BeginFrameSource* ...
5 years, 3 months ago (2015-09-04 23:58:36 UTC) #2
brianderson
Addressed John's comments and made it compile. Also got rid of some of the logic ...
5 years, 3 months ago (2015-09-23 02:09:39 UTC) #3
brianderson
Fixed existing unit tests, but still need to add new unit tests.
5 years, 3 months ago (2015-09-23 21:44:03 UTC) #4
brianderson
Added a bunch of unit tests. Only SurfaceAggregator unittests left. PTAL!
5 years, 3 months ago (2015-09-24 02:02:24 UTC) #5
brianderson
Needs a rebase, but I think this patch is ready to go otherwise. ptal! I ...
5 years, 3 months ago (2015-09-24 23:40:30 UTC) #6
brianderson
+sievers for owners review of content/browser +sky for owners review of components/view_manager Note: The only ...
5 years, 3 months ago (2015-09-24 23:46:13 UTC) #8
sky
Is there any harm in not implementing these in the viewmanager now? By that I ...
5 years, 3 months ago (2015-09-24 23:58:20 UTC) #9
brianderson
On 2015/09/24 23:58:20, sky wrote: > Is there any harm in not implementing these in ...
5 years, 3 months ago (2015-09-25 00:35:47 UTC) #10
brianderson
Actually +sievers.
5 years, 3 months ago (2015-09-25 01:00:58 UTC) #12
sky
LGTM
5 years, 2 months ago (2015-09-25 15:05:38 UTC) #13
brianderson
+boliu for android_webview/
5 years, 2 months ago (2015-09-25 22:42:47 UTC) #15
boliu
android_webview rs lgtm
5 years, 2 months ago (2015-09-25 22:48:46 UTC) #16
no sievers
content lgtm though you might want to put NOTIMPLEMENTED()
5 years, 2 months ago (2015-09-28 22:15:05 UTC) #17
brianderson
All unit tests pass now. Tim: Can you take a look and see what you ...
5 years, 2 months ago (2015-09-29 02:16:57 UTC) #18
mithro-old
Hi Brian, LGTM. As mentioned via chat, everything in this CL looks pretty good. There ...
5 years, 2 months ago (2015-10-01 03:00:24 UTC) #19
jbauman
lgtm except for one change. https://codereview.chromium.org/1304063014/diff/280001/cc/surfaces/surface_factory.cc File cc/surfaces/surface_factory.cc (right): https://codereview.chromium.org/1304063014/diff/280001/cc/surfaces/surface_factory.cc#newcode62 cc/surfaces/surface_factory.cc:62: client_->SetBeginFrameSource(begin_frame_source); I'd prefer to ...
5 years, 2 months ago (2015-10-02 19:21:40 UTC) #20
brianderson
https://codereview.chromium.org/1304063014/diff/240001/cc/surfaces/display.cc File cc/surfaces/display.cc (right): https://codereview.chromium.org/1304063014/diff/240001/cc/surfaces/display.cc#newcode159 cc/surfaces/display.cc:159: // DisplayScheduler. crbug.com/476676 On 2015/10/01 03:00:23, mithro wrote: > ...
5 years, 2 months ago (2015-10-07 20:54:49 UTC) #21
jbauman
https://codereview.chromium.org/1304063014/diff/240001/cc/surfaces/surface_aggregator.cc File cc/surfaces/surface_aggregator.cc (right): https://codereview.chromium.org/1304063014/diff/240001/cc/surfaces/surface_aggregator.cc#newcode56 cc/surfaces/surface_aggregator.cc:56: SurfaceAggregator::~SurfaceAggregator() { On 2015/10/07 20:54:48, brianderson wrote: > On ...
5 years, 2 months ago (2015-10-13 20:23:20 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1304063014/380001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1304063014/380001
5 years, 2 months ago (2015-10-20 19:14:48 UTC) #26
commit-bot: I haz the power
Committed patchset #20 (id:380001)
5 years, 2 months ago (2015-10-20 20:35:44 UTC) #27
commit-bot: I haz the power
5 years, 2 months ago (2015-10-20 20:36:46 UTC) #28
Message was sent while issue was closed.
Patchset 20 (id:??) landed as
https://crrev.com/877996b0753f32b67fac2835756d23f476e72f10
Cr-Commit-Position: refs/heads/master@{#355140}

Powered by Google App Engine
This is Rietveld 408576698