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

Issue 1532813002: Replace IOSurfaceManager by directly passing IOSurface Mach ports over Chrome IPC. (Closed)

Created:
5 years ago by Robert Sesek
Modified:
4 years, 11 months ago
CC:
chromium-reviews, creis+watch_chromium.org, danakj+watch_chromium.org, darin-cc_chromium.org, jam, jbauman+watch_chromium.org, kalyank, nasko+codewatch_chromium.org, piman+watch_chromium.org, sievers+watch_chromium.org, vmpstr+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Replace IOSurfaceManager by directly passing IOSurface Mach ports over Chrome IPC. IOSurfaceManager was created as a mechanism to exchange IOSurfaces using Mach ports, at a time when Chrome IPC was unable to broker Mach port attachments. As part of fixing https://crbug.com/466437, Chrome IPC grew the capability to also also send Mach ports as part of a message. With this new capability, the custom Mach IPC channel used by IOSurfaceManager is no longer necessary, and its complexity can be removed. BUG=569226, 323304 Committed: https://crrev.com/5c7c3e9be27c3a79e9462e3d275780b0bc6ad559 Cr-Commit-Position: refs/heads/master@{#367474}

Patch Set 1 : #

Patch Set 2 : Telemetry debug #

Patch Set 3 : Fix --disable-remote-core-animation #

Patch Set 4 : Fix Windows compile #

Total comments: 7

Patch Set 5 : Address comments #

Patch Set 6 : Rebase #

Patch Set 7 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+157 lines, -1716 lines) Patch
M content/app/content_main_runner.cc View 1 2 3 4 5 6 2 chunks +0 lines, -15 lines 0 comments Download
M content/browser/bootstrap_sandbox_manager_mac.cc View 2 chunks +0 lines, -6 lines 0 comments Download
D content/browser/browser_io_surface_manager_mac.h View 1 chunk +0 lines, -130 lines 0 comments Download
D content/browser/browser_io_surface_manager_mac.cc View 1 chunk +0 lines, -331 lines 0 comments Download
D content/browser/browser_io_surface_manager_mac_unittest.cc View 1 chunk +0 lines, -331 lines 0 comments Download
M content/browser/browser_main_loop.cc View 1 2 3 4 5 6 2 chunks +0 lines, -13 lines 0 comments Download
M content/browser/child_process_launcher.cc View 1 2 3 4 5 6 2 chunks +0 lines, -4 lines 0 comments Download
M content/browser/gpu/gpu_process_host.h View 1 2 3 4 5 6 2 chunks +0 lines, -10 lines 0 comments Download
M content/browser/gpu/gpu_process_host.cc View 1 2 3 4 5 6 4 chunks +0 lines, -27 lines 0 comments Download
M content/browser/gpu/gpu_process_host_ui_shim.cc View 1 2 3 4 5 6 2 chunks +6 lines, -19 lines 0 comments Download
D content/browser/in_process_io_surface_manager_mac.h View 1 chunk +0 lines, -48 lines 0 comments Download
D content/browser/in_process_io_surface_manager_mac.cc View 1 chunk +0 lines, -54 lines 0 comments Download
M content/browser/renderer_host/render_process_host_impl.h View 1 2 3 4 5 6 2 chunks +0 lines, -10 lines 0 comments Download
M content/browser/renderer_host/render_process_host_impl.cc View 1 2 3 4 5 6 3 chunks +0 lines, -16 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_mac.mm View 1 2 3 4 5 1 chunk +0 lines, -1 line 0 comments Download
D content/child/child_io_surface_manager_mac.h View 1 chunk +0 lines, -63 lines 0 comments Download
D content/child/child_io_surface_manager_mac.cc View 1 chunk +0 lines, -150 lines 0 comments Download
M content/child/child_thread_impl.cc View 1 2 3 4 5 6 3 chunks +0 lines, -31 lines 0 comments Download
M content/common/child_process_messages.h View 1 2 3 4 5 6 3 chunks +2 lines, -11 lines 0 comments Download
M content/common/gpu/client/gpu_memory_buffer_impl_io_surface.cc View 4 chunks +6 lines, -9 lines 0 comments Download
M content/common/gpu/gpu_memory_buffer_factory_io_surface.h View 1 2 3 4 5 6 2 chunks +3 lines, -1 line 0 comments Download
M content/common/gpu/gpu_memory_buffer_factory_io_surface.cc View 4 chunks +3 lines, -9 lines 0 comments Download
M content/common/gpu/gpu_messages.h View 1 2 3 4 5 6 2 chunks +6 lines, -1 line 0 comments Download
M content/common/gpu/image_transport_surface_overlay_mac.mm View 1 2 3 4 5 6 2 chunks +3 lines, -5 lines 0 comments Download
D content/common/mac/io_surface_manager_messages.h View 1 chunk +0 lines, -67 lines 0 comments Download
D content/common/mac/io_surface_manager_token.h View 1 chunk +0 lines, -16 lines 0 comments Download
M content/content_browser.gypi View 1 2 3 4 5 2 chunks +0 lines, -4 lines 0 comments Download
M content/content_child.gypi View 1 2 3 4 5 1 chunk +0 lines, -2 lines 0 comments Download
M content/content_common.gypi View 1 chunk +0 lines, -2 lines 0 comments Download
M content/content_tests.gypi View 1 2 3 4 5 6 1 chunk +0 lines, -1 line 0 comments Download
M content/test/content_test_suite.cc View 1 2 3 4 5 6 2 chunks +0 lines, -4 lines 0 comments Download
M ui/accelerated_widget_mac/BUILD.gn View 1 2 1 chunk +0 lines, -2 lines 0 comments Download
M ui/accelerated_widget_mac/accelerated_widget_mac.h View 1 2 3 4 5 6 2 chunks +1 line, -2 lines 0 comments Download
M ui/accelerated_widget_mac/accelerated_widget_mac.gyp View 1 2 1 chunk +0 lines, -2 lines 0 comments Download
D ui/accelerated_widget_mac/surface_handle_types.h View 1 2 3 4 5 6 1 chunk +0 lines, -43 lines 0 comments Download
D ui/accelerated_widget_mac/surface_handle_types.cc View 1 2 3 4 5 6 1 chunk +0 lines, -53 lines 0 comments Download
M ui/gfx/BUILD.gn View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M ui/gfx/gfx.gyp View 1 2 3 4 5 3 chunks +4 lines, -4 lines 0 comments Download
M ui/gfx/gpu_memory_buffer.h View 1 2 3 4 5 3 chunks +5 lines, -0 lines 0 comments Download
M ui/gfx/gpu_memory_buffer.cc View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M ui/gfx/ipc/gfx_param_traits.h View 1 2 3 4 2 chunks +18 lines, -0 lines 0 comments Download
M ui/gfx/ipc/gfx_param_traits.cc View 1 2 3 4 5 2 chunks +31 lines, -0 lines 0 comments Download
A ui/gfx/mac/io_surface.h View 1 2 3 4 5 6 1 chunk +43 lines, -0 lines 0 comments Download
A + ui/gfx/mac/io_surface.cc View 1 2 3 4 5 6 3 chunks +20 lines, -15 lines 0 comments Download
D ui/gfx/mac/io_surface_manager.h View 1 chunk +0 lines, -50 lines 0 comments Download
D ui/gfx/mac/io_surface_manager.cc View 1 2 3 4 5 1 chunk +0 lines, -149 lines 0 comments Download
M ui/gl/gl_image_io_surface_unittest.cc View 1 2 3 4 5 6 2 chunks +2 lines, -3 lines 0 comments Download

Messages

Total messages: 32 (15 generated)
Robert Sesek
ccameron, reveman: Please review erikchen: //ipc changes This CL looks substantially larger than it is. ...
5 years ago (2015-12-21 15:30:03 UTC) #8
ccameron
This lgtm. We will probably want to add some end-to-end tests (like, the full multiprocess ...
5 years ago (2015-12-21 19:30:14 UTC) #9
erikchen
+tsepez, in case he wants to chime in on my comments on the Chrome IPC ...
5 years ago (2015-12-21 20:02:57 UTC) #11
reveman
thanks! lgtm https://codereview.chromium.org/1532813002/diff/140001/content/common/gpu/gpu_memory_buffer_factory_io_surface.h File content/common/gpu/gpu_memory_buffer_factory_io_surface.h (right): https://codereview.chromium.org/1532813002/diff/140001/content/common/gpu/gpu_memory_buffer_factory_io_surface.h#newcode69 content/common/gpu/gpu_memory_buffer_factory_io_surface.h:69: IOSurfaceMap io_surfaces_; FYI, this map could now ...
5 years ago (2015-12-21 20:11:16 UTC) #12
Robert Sesek
https://codereview.chromium.org/1532813002/diff/140001/ipc/ipc_message_utils.cc File ipc/ipc_message_utils.cc (right): https://codereview.chromium.org/1532813002/diff/140001/ipc/ipc_message_utils.cc#newcode1056 ipc/ipc_message_utils.cc:1056: bool ParamTraits<base::mac::ScopedRefCountedMachSendRight>::Read( On 2015/12/21 20:02:57, erikchen wrote: > The ...
5 years ago (2015-12-21 20:33:54 UTC) #13
erikchen
On 2015/12/21 20:33:54, Robert Sesek wrote: > https://codereview.chromium.org/1532813002/diff/140001/ipc/ipc_message_utils.cc > File ipc/ipc_message_utils.cc (right): > > https://codereview.chromium.org/1532813002/diff/140001/ipc/ipc_message_utils.cc#newcode1056 ...
5 years ago (2015-12-21 21:06:16 UTC) #14
Robert Sesek
On 2015/12/21 21:06:16, erikchen wrote: > On 2015/12/21 20:33:54, Robert Sesek wrote: > > > ...
5 years ago (2015-12-21 22:00:05 UTC) #15
erikchen
On 2015/12/21 22:00:05, Robert Sesek wrote: > On 2015/12/21 21:06:16, erikchen wrote: > > On ...
5 years ago (2015-12-21 23:00:26 UTC) #16
erikchen
https://codereview.chromium.org/1532813002/diff/140001/ipc/ipc_message_utils.h File ipc/ipc_message_utils.h (right): https://codereview.chromium.org/1532813002/diff/140001/ipc/ipc_message_utils.h#newcode940 ipc/ipc_message_utils.h:940: static bool Read(const Message* m, base::PickleIterator* iter, param_type* r); ...
5 years ago (2015-12-21 23:00:38 UTC) #17
Robert Sesek
On 2015/12/21 23:00:26, erikchen wrote: > I'll provide an example of how (2) is possible, ...
5 years ago (2015-12-23 15:45:14 UTC) #20
Robert Sesek
+avi for //content and //ui OWNERS
5 years ago (2015-12-23 15:45:33 UTC) #22
Avi (use Gerrit)
lgtm approved for the sheer amount of code deleted
5 years ago (2015-12-24 00:42:09 UTC) #23
Robert Sesek
tsepez: Happy new year, please review :-)
4 years, 11 months ago (2016-01-04 21:55:03 UTC) #24
Tom Sepez
Deferring to erik's LGTM.
4 years, 11 months ago (2016-01-04 21:58:23 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1532813002/240001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1532813002/240001
4 years, 11 months ago (2016-01-05 02:16:46 UTC) #28
commit-bot: I haz the power
Committed patchset #7 (id:240001)
4 years, 11 months ago (2016-01-05 03:37:21 UTC) #30
commit-bot: I haz the power
4 years, 11 months ago (2016-01-05 03:38:06 UTC) #32
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/5c7c3e9be27c3a79e9462e3d275780b0bc6ad559
Cr-Commit-Position: refs/heads/master@{#367474}

Powered by Google App Engine
This is Rietveld 408576698