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

Issue 745453002: Create an AcceleratedWidgetMac (Closed)

Created:
6 years, 1 month ago by ccameron
Modified:
6 years, 1 month ago
Reviewers:
danakj, tapted, piman
CC:
chromium-reviews, yusukes+watch_chromium.org, yukishiino+watch_chromium.org, jam, penghuang+watch_chromium.org, sievers+watch_chromium.org, jbauman+watch_chromium.org, nona+watch_chromium.org, darin-cc_chromium.org, kalyank, piman+watch_chromium.org, danakj+watch_chromium.org, James Su
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

Create an AcceleratedWidgetMac Split BrowserCompositorCALayerTreeMac into two parts. One part is the ui::Compositor bits of the structure, and the other is the AcceleratedWidgetMac which has the gfx::AcceleratedWidget bits of the structure. Update BrowserCompositorViewMac to explicitly hold these two parts, the ui::Compositor and the AcceleratedWidgetMac, and rename it to BrowserCompositorMac. Make AcceleratedWidgetMacNSView provide the link to bind an AcceleratedWidgetMac to draw the contents of an NSView. An AcceleratedWidgetMac may be bound to multiple NSViews in sequence. Update the recycling mechanism of BrowserCompositorMac to use this binding mechanism. Remove some of the few dependencies that AcceleratedWidgetMac would have on content by making the callers for GotAcceleratedFrame specify a callback for when the frame displays (in addition to the callback that the client has, as the client may be far away from the caller). The next steps after this are to move the AcceleratedWidgetMac to ui, and then to typedef ui::AcceleratedWidgetMac* to gfx::AcceleratedWidget for Mac. BUG=424058 Committed: https://crrev.com/b9f5521acd4912794b6e3040dc5c9a59d0013f04 Cr-Commit-Position: refs/heads/master@{#305188}

Patch Set 1 #

Total comments: 7

Patch Set 2 : Chnage names from client to NSView #

Total comments: 14

Patch Set 3 : Incorporate review feedback #

Total comments: 11

Patch Set 4 : Incorporate review feedback #

Patch Set 5 : Fix compile #

Unified diffs Side-by-side diffs Delta from patch set Stats (+262 lines, -287 lines) Patch
M content/browser/compositor/browser_compositor_ca_layer_tree_mac.h View 1 2 6 chunks +57 lines, -34 lines 0 comments Download
M content/browser/compositor/browser_compositor_ca_layer_tree_mac.mm View 1 2 3 11 chunks +79 lines, -95 lines 0 comments Download
M content/browser/compositor/browser_compositor_view_mac.h View 1 2 3 1 chunk +27 lines, -64 lines 0 comments Download
M content/browser/compositor/browser_compositor_view_mac.mm View 1 2 3 1 chunk +35 lines, -56 lines 0 comments Download
M content/browser/compositor/io_surface_layer_mac.mm View 1 chunk +1 line, -2 lines 0 comments Download
M content/browser/compositor/software_output_device_mac.mm View 1 chunk +1 line, -1 line 0 comments Download
M content/browser/gpu/gpu_process_host_ui_shim.cc View 1 2 3 4 3 chunks +10 lines, -2 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_mac.h View 1 2 6 chunks +17 lines, -15 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_mac.mm View 1 2 3 11 chunks +35 lines, -18 lines 0 comments Download

Messages

Total messages: 17 (5 generated)
ccameron
So, this would be the first step. The next one would be to move AcceleratedWidgetMac ...
6 years, 1 month ago (2014-11-20 04:35:55 UTC) #2
ccameron
https://codereview.chromium.org/745453002/diff/1/content/browser/compositor/browser_compositor_ca_layer_tree_mac.h File content/browser/compositor/browser_compositor_ca_layer_tree_mac.h (right): https://codereview.chromium.org/745453002/diff/1/content/browser/compositor/browser_compositor_ca_layer_tree_mac.h#newcode35 content/browser/compositor/browser_compositor_ca_layer_tree_mac.h:35: // a time, though). Oh, I was thinking to ...
6 years, 1 month ago (2014-11-20 04:37:20 UTC) #3
tapted
Looks good I think. There's a few more dependencies (the old CL was http://crrev.com/656033002 if ...
6 years, 1 month ago (2014-11-20 05:38:54 UTC) #4
ccameron
Thanks! Updated, and adding piman & danakj. This addresses the issue that gfx::AcceleratedWidget is a ...
6 years, 1 month ago (2014-11-20 21:33:51 UTC) #6
tapted
lgtm - I'll try basing the ui/views and in-process changes on this today to see ...
6 years, 1 month ago (2014-11-20 23:18:07 UTC) #7
piman
LGTM
6 years, 1 month ago (2014-11-21 00:15:48 UTC) #8
ccameron
Thanks! https://codereview.chromium.org/745453002/diff/40001/content/browser/compositor/browser_compositor_view_mac.h File content/browser/compositor/browser_compositor_view_mac.h (right): https://codereview.chromium.org/745453002/diff/40001/content/browser/compositor/browser_compositor_view_mac.h#newcode20 content/browser/compositor/browser_compositor_view_mac.h:20: static BrowserCompositorMac* Create(); On 2014/11/20 23:18:07, tapted wrote: ...
6 years, 1 month ago (2014-11-21 01:32:41 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/745453002/60001
6 years, 1 month ago (2014-11-21 01:35:58 UTC) #11
commit-bot: I haz the power
Try jobs failed on following builders: android_chromium_gn_compile_dbg on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/android_chromium_gn_compile_dbg/builds/19347) win_chromium_compile_dbg on tryserver.chromium.win (http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_compile_dbg/builds/36210)
6 years, 1 month ago (2014-11-21 02:05:27 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/745453002/80001
6 years, 1 month ago (2014-11-21 08:43:33 UTC) #15
commit-bot: I haz the power
Committed patchset #5 (id:80001)
6 years, 1 month ago (2014-11-21 09:32:54 UTC) #16
commit-bot: I haz the power
6 years, 1 month ago (2014-11-21 09:33:43 UTC) #17
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/b9f5521acd4912794b6e3040dc5c9a59d0013f04
Cr-Commit-Position: refs/heads/master@{#305188}

Powered by Google App Engine
This is Rietveld 408576698