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

Issue 1712143002: [mojo-edk] Add support for transferring mach ports. (Closed)

Created:
4 years, 10 months ago by Anand Mistry (off Chromium)
Modified:
4 years, 9 months ago
CC:
Aaron Boodman, abarth-chromium, ben+mojo_chromium.org, chrome-apps-syd-reviews_chromium.org, chromium-reviews, darin (slow to review), qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[mojo-edk] Add support for transferring mach ports. This change adds the ability to transfer mach ports over Mojo. Mach ports can either be wrapped using CreatePlatformHandleWrapper() or a Mojo shared buffer can be created using CreateSharedBufferWrapper(). For now, Mojo shared buffers created using MojoCreateSharedBuffer() (or MojoCreateDataPipe()) will still use posix shared memory. BUG=582468 Committed: https://crrev.com/ba362cd27ec5b4410bd992daccc88a164988384a Cr-Commit-Position: refs/heads/master@{#381615}

Patch Set 1 #

Patch Set 2 : Work. #

Patch Set 3 : More work. #

Patch Set 4 : Mostly working. #

Patch Set 5 : Rebase #

Patch Set 6 : Quicker than building locally. #

Patch Set 7 : Try again #

Patch Set 8 : Foo #

Patch Set 9 : Work #

Patch Set 10 : More work. #

Patch Set 11 : Cleanup for submit. #

Patch Set 12 : Register for content and remove test disabling. #

Patch Set 13 : Build? #

Patch Set 14 : More stuff. #

Total comments: 33

Patch Set 15 : Address review comments. #

Patch Set 16 : Rebase #

Total comments: 4

Patch Set 17 : Rebase #

Patch Set 18 : Move setup code #

Patch Set 19 : Fix build #

Unified diffs Side-by-side diffs Delta from patch set Stats (+918 lines, -51 lines) Patch
M content/browser/browser_main_loop.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 chunks +5 lines, -1 line 0 comments Download
M mojo/edk/embedder/embedder.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +11 lines, -0 lines 0 comments Download
M mojo/edk/embedder/embedder.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 mojo/edk/embedder/embedder_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +134 lines, -0 lines 0 comments Download
M mojo/edk/embedder/platform_handle.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +6 lines, -1 line 0 comments Download
M mojo/edk/embedder/platform_handle.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +4 lines, -4 lines 0 comments Download
M mojo/edk/embedder/platform_shared_buffer.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +0 lines, -5 lines 0 comments Download
M mojo/edk/system/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +7 lines, -0 lines 0 comments Download
M mojo/edk/system/channel.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +22 lines, -2 lines 0 comments Download
M mojo/edk/system/channel.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 8 chunks +78 lines, -10 lines 0 comments Download
M mojo/edk/system/channel_posix.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +37 lines, -1 line 0 comments Download
M mojo/edk/system/core.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +7 lines, -0 lines 0 comments Download
M mojo/edk/system/core.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +6 lines, -0 lines 0 comments Download
A mojo/edk/system/mach_port_relay.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +94 lines, -0 lines 0 comments Download
A mojo/edk/system/mach_port_relay.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +155 lines, -0 lines 0 comments Download
M mojo/edk/system/node_channel.h View 1 2 3 4 5 6 7 8 9 10 11 12 8 chunks +34 lines, -3 lines 0 comments Download
M mojo/edk/system/node_channel.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 12 chunks +159 lines, -7 lines 0 comments Download
M mojo/edk/system/node_controller.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 4 chunks +20 lines, -1 line 0 comments Download
M mojo/edk/system/node_controller.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 10 chunks +80 lines, -11 lines 0 comments Download
M mojo/edk/test/mojo_test_base.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 3 chunks +38 lines, -5 lines 0 comments Download
M mojo/edk/test/multiprocess_test_helper.h View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
M mojo/edk/test/multiprocess_test_helper.cc View 1 2 3 4 5 2 chunks +6 lines, -0 lines 0 comments Download
M mojo/mojo_edk.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +6 lines, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 36 (12 generated)
Anand Mistry (off Chromium)
Three points to make: 1. base::PortProvider::Observer doesn't currently do anything. That will be implemented in ...
4 years, 9 months ago (2016-03-09 06:13:56 UTC) #3
Ken Rockot(use gerrit already)
Just nits and questions but lgtm overall. I defer to Erik for MachPortRelay review and ...
4 years, 9 months ago (2016-03-09 08:34:31 UTC) #4
erikchen
https://codereview.chromium.org/1712143002/diff/260001/content/browser/renderer_host/render_process_host_impl.cc File content/browser/renderer_host/render_process_host_impl.cc (right): https://codereview.chromium.org/1712143002/diff/260001/content/browser/renderer_host/render_process_host_impl.cc#newcode627 content/browser/renderer_host/render_process_host_impl.cc:627: mojo::edk::SetMachPortProviderIfNeeded(MachBroker::GetInstance()); On 2016/03/09 08:34:31, Ken Rockot wrote: > I'm ...
4 years, 9 months ago (2016-03-09 19:13:17 UTC) #5
Anand Mistry (off Chromium)
So, the major change in this version is that I've split the Mach port handling ...
4 years, 9 months ago (2016-03-11 07:44:18 UTC) #6
erikchen
mojo/edk/system/mach_port_relay.{h,cc} lgtm In the future, please create a local branch A, which includes your first ...
4 years, 9 months ago (2016-03-11 18:09:40 UTC) #7
Anand Mistry (off Chromium)
sievers@chromium.org: Please review changes in //content
4 years, 9 months ago (2016-03-12 06:10:29 UTC) #9
Anand Mistry (off Chromium)
-sievers, +jam who works on mojo
4 years, 9 months ago (2016-03-14 22:05:55 UTC) #11
jam
https://codereview.chromium.org/1712143002/diff/300001/content/browser/browser_child_process_host_impl.cc File content/browser/browser_child_process_host_impl.cc (right): https://codereview.chromium.org/1712143002/diff/300001/content/browser/browser_child_process_host_impl.cc#newcode145 content/browser/browser_child_process_host_impl.cc:145: mojo::edk::SetMachPortProviderIfNeeded(MachBroker::GetInstance()); it doesn't make sense that this code is ...
4 years, 9 months ago (2016-03-15 16:27:42 UTC) #12
Anand Mistry (off Chromium)
https://codereview.chromium.org/1712143002/diff/300001/content/browser/browser_child_process_host_impl.cc File content/browser/browser_child_process_host_impl.cc (right): https://codereview.chromium.org/1712143002/diff/300001/content/browser/browser_child_process_host_impl.cc#newcode145 content/browser/browser_child_process_host_impl.cc:145: mojo::edk::SetMachPortProviderIfNeeded(MachBroker::GetInstance()); On 2016/03/15 16:27:42, jam wrote: > it doesn't ...
4 years, 9 months ago (2016-03-15 20:26:10 UTC) #13
jam
https://codereview.chromium.org/1712143002/diff/300001/content/browser/browser_child_process_host_impl.cc File content/browser/browser_child_process_host_impl.cc (right): https://codereview.chromium.org/1712143002/diff/300001/content/browser/browser_child_process_host_impl.cc#newcode145 content/browser/browser_child_process_host_impl.cc:145: mojo::edk::SetMachPortProviderIfNeeded(MachBroker::GetInstance()); On 2016/03/15 20:26:10, Anand Mistry wrote: > On ...
4 years, 9 months ago (2016-03-15 23:13:09 UTC) #14
Anand Mistry (off Chromium)
https://codereview.chromium.org/1712143002/diff/300001/content/browser/browser_child_process_host_impl.cc File content/browser/browser_child_process_host_impl.cc (right): https://codereview.chromium.org/1712143002/diff/300001/content/browser/browser_child_process_host_impl.cc#newcode145 content/browser/browser_child_process_host_impl.cc:145: mojo::edk::SetMachPortProviderIfNeeded(MachBroker::GetInstance()); On 2016/03/15 23:13:09, jam wrote: > On 2016/03/15 ...
4 years, 9 months ago (2016-03-15 23:30:56 UTC) #15
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1712143002/320001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1712143002/320001
4 years, 9 months ago (2016-03-16 00:09:49 UTC) #17
jam
On 2016/03/15 23:30:56, Anand Mistry wrote: > https://codereview.chromium.org/1712143002/diff/300001/content/browser/browser_child_process_host_impl.cc > File content/browser/browser_child_process_host_impl.cc (right): > > https://codereview.chromium.org/1712143002/diff/300001/content/browser/browser_child_process_host_impl.cc#newcode145 ...
4 years, 9 months ago (2016-03-16 00:12:44 UTC) #18
Anand Mistry (off Chromium)
Well, I would really like to land this, but I'm about to get on a ...
4 years, 9 months ago (2016-03-16 00:24:11 UTC) #19
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 9 months ago (2016-03-16 01:18:56 UTC) #21
Anand Mistry (off Chromium)
On 2016/03/16 00:24:11, Anand Mistry wrote: > Well, I would really like to land this, ...
4 years, 9 months ago (2016-03-16 04:22:01 UTC) #22
Anand Mistry (off Chromium)
jam: PTAL. I've moved the setup code for mojo to browser startup, and I've also ...
4 years, 9 months ago (2016-03-16 22:17:11 UTC) #23
jam
On 2016/03/16 22:17:11, Anand Mistry wrote: > jam: PTAL. I've moved the setup code for ...
4 years, 9 months ago (2016-03-16 22:33:36 UTC) #24
Anand Mistry (off Chromium)
On 2016/03/16 22:33:36, jam wrote: > On 2016/03/16 22:17:11, Anand Mistry wrote: > > jam: ...
4 years, 9 months ago (2016-03-16 23:11:45 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1712143002/340001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1712143002/340001
4 years, 9 months ago (2016-03-16 23:14:21 UTC) #28
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_rel_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/196388)
4 years, 9 months ago (2016-03-16 23:27:31 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1712143002/360001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1712143002/360001
4 years, 9 months ago (2016-03-16 23:34:03 UTC) #33
commit-bot: I haz the power
Committed patchset #19 (id:360001)
4 years, 9 months ago (2016-03-17 00:53:57 UTC) #34
commit-bot: I haz the power
4 years, 9 months ago (2016-03-17 00:55:07 UTC) #36
Message was sent while issue was closed.
Patchset 19 (id:??) landed as
https://crrev.com/ba362cd27ec5b4410bd992daccc88a164988384a
Cr-Commit-Position: refs/heads/master@{#381615}

Powered by Google App Engine
This is Rietveld 408576698