New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 696031 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner:
please use my google.com address
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug

Blocked on:
issue 696036
issue 696045



Sign in to add a comment

Mojo EDK: Support incongruity across process boundaries

Project Member Reported by roc...@chromium.org, Feb 24 2017

Issue description

When the contemporary implementation of the Mojo EDK was developed, support for version skew across process boundaries was not considered as a worthwhile design goal, and so many low-level control protocol features are not tolerant to version skew.

With the subsequent adoption by ARC++ and other products with similarly challenging distribution, packaging, and/or release constraints interested in using Mojo for IPC, maintaining some amount of cross-version compatibility has become an important priority.

Until now that condition has been met by using extreme caution when modifying the EDK to avoid accidentally changing internal protocols in a way that could cause breakage in the face of version skew. However, as we want to continue making improvements to the EDK - adding new primitive features, extending existing capabilities, experimenting with and shipping more efficient inter-process transport mechanisms - it's important that we be able to do so in a way that retains backwards-compatibility when newer features are not in use.

This will allow the EDK to evolve while also allowing embedders adopt new EDK versions at a pace which is suitable to their own requirements.

This is a tracking bug to cover all issues related to that effort.
 

Comment 1 by roc...@chromium.org, Feb 24 2017

Cc: jcivelli@chromium.org
FYI, since I'm now also making changes to the low-level message pipe header format to support handle property serialization, and I'll be doing some tricky stuff to keep the world safe from breakage.

Comment 2 by roc...@chromium.org, Feb 24 2017

Blockedon: 696036

Comment 3 by roc...@chromium.org, Feb 24 2017

Blockedon: 696045

Comment 4 by yzshen@chromium.org, Feb 27 2017

Is it possible to adopt some mojom definition/versoining ideas? Or one step further, directly using mojom to define EDK-level messages?

Comment 5 by roc...@chromium.org, Feb 27 2017

I've given it a lot of thought and after speaking with yzshen@ and jcivelli@ offline I'm convinced that the suggestion in #4 is worth pursuing.

It is quite a large undertaking, but it presents several great opportunities to make the EDK more robust and more maintainable, especially given the year+ of experience we have using it in production now.

Going to start a doc to outline the work since it's pretty large.
Project Member

Comment 6 by bugdroid1@chromium.org, May 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c7f6819e1e825876b2df2a3b5b378eebfe684c65

commit c7f6819e1e825876b2df2a3b5b378eebfe684c65
Author: Ken Rockot <rockot@chromium.org>
Date: Thu May 04 16:12:15 2017

Clean up Mojo embedder APIs

Some preparatory work for introducing new internal IPC protocol. Cleans
up how Mojo is initialized, deletes some dead code, reoganizes embedder
API surface and extends existing documentation, establishes the basic
concepts of broker and broker client processes, and introduces a nominal
unified API for managing physical process connections.

BUG= 696031 
TBR=alokp@chromium.org
TBR=tsepez@chromium.org

Change-Id: Ibb8750218dc672e73ecf46aa5c3cb540769d46a0
Reviewed-on: https://chromium-review.googlesource.com/495371
Reviewed-by: Ken Rockot <rockot@chromium.org>
Reviewed-by: Jay Civelli <jcivelli@chromium.org>
Commit-Queue: Ken Rockot <rockot@chromium.org>
Cr-Commit-Position: refs/heads/master@{#469351}
[modify] https://crrev.com/c7f6819e1e825876b2df2a3b5b378eebfe684c65/chromecast/app/cast_test_launcher.cc
[modify] https://crrev.com/c7f6819e1e825876b2df2a3b5b378eebfe684c65/content/app/BUILD.gn
[modify] https://crrev.com/c7f6819e1e825876b2df2a3b5b378eebfe684c65/content/app/DEPS
[modify] https://crrev.com/c7f6819e1e825876b2df2a3b5b378eebfe684c65/content/app/content_service_manager_main_delegate.cc
[modify] https://crrev.com/c7f6819e1e825876b2df2a3b5b378eebfe684c65/content/app/content_service_manager_main_delegate.h
[modify] https://crrev.com/c7f6819e1e825876b2df2a3b5b378eebfe684c65/content/app/mojo/mojo_init.cc
[modify] https://crrev.com/c7f6819e1e825876b2df2a3b5b378eebfe684c65/mojo/edk/embedder/configuration.h
[modify] https://crrev.com/c7f6819e1e825876b2df2a3b5b378eebfe684c65/mojo/edk/embedder/connection_params.cc
[modify] https://crrev.com/c7f6819e1e825876b2df2a3b5b378eebfe684c65/mojo/edk/embedder/connection_params.h
[modify] https://crrev.com/c7f6819e1e825876b2df2a3b5b378eebfe684c65/mojo/edk/embedder/embedder.cc
[modify] https://crrev.com/c7f6819e1e825876b2df2a3b5b378eebfe684c65/mojo/edk/embedder/embedder.h
[modify] https://crrev.com/c7f6819e1e825876b2df2a3b5b378eebfe684c65/mojo/edk/embedder/pending_process_connection.cc
[modify] https://crrev.com/c7f6819e1e825876b2df2a3b5b378eebfe684c65/mojo/edk/embedder/pending_process_connection.h
[modify] https://crrev.com/c7f6819e1e825876b2df2a3b5b378eebfe684c65/mojo/edk/system/channel.cc
[modify] https://crrev.com/c7f6819e1e825876b2df2a3b5b378eebfe684c65/mojo/edk/system/configuration.cc
[modify] https://crrev.com/c7f6819e1e825876b2df2a3b5b378eebfe684c65/mojo/edk/system/configuration.h
[modify] https://crrev.com/c7f6819e1e825876b2df2a3b5b378eebfe684c65/mojo/edk/system/mapping_table.cc
[modify] https://crrev.com/c7f6819e1e825876b2df2a3b5b378eebfe684c65/mojo/edk/system/node_controller.cc
[modify] https://crrev.com/c7f6819e1e825876b2df2a3b5b378eebfe684c65/services/service_manager/embedder/BUILD.gn
[modify] https://crrev.com/c7f6819e1e825876b2df2a3b5b378eebfe684c65/services/service_manager/embedder/main.cc
[modify] https://crrev.com/c7f6819e1e825876b2df2a3b5b378eebfe684c65/services/service_manager/embedder/main_delegate.cc
[modify] https://crrev.com/c7f6819e1e825876b2df2a3b5b378eebfe684c65/services/service_manager/embedder/main_delegate.h
[modify] https://crrev.com/c7f6819e1e825876b2df2a3b5b378eebfe684c65/tools/ipc_fuzzer/message_replay/replay_process.cc

Project Member

Comment 7 by bugdroid1@chromium.org, May 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ea1716a00c9d7ba48f98537099a1ccd750bdaa37

commit ea1716a00c9d7ba48f98537099a1ccd750bdaa37
Author: Ken Rockot <rockot@chromium.org>
Date: Thu May 11 07:38:59 2017

Update EDK IPC API

This continues the replacement of the inaccurate EDK API model of
"parent" and "child" process relationships with something that more
accurately reflects the behavior of the system. This terminology
change only affects the public API for now, so the underlying
protocol details remain poorly named.

Rather than implying that a process may only be introduced into the
process graph by its parent, and rather than giving the developer a
series of public, stateless API functions to set up interprocess
connections, this CL introduces the concept of an "invitation" to join a
group of interconnected Mojo embedders.

If a process is acting as the broker, or is itself already a broker
client, it may send an OutgoingBrokerClientInvitation over some OS IPC
resource (e.g. an OS pipe). The target process can then construct an
IncomingBrokerClientInvitation from some corresponding OS IPC resource
(e.g. the other end of that pipe) which has been shared with it
out-of-band. This object can be used to accept the invitation and thus
join the process graph as a new broker client.

Cross-process bootstrap message pipes may be "attached" to an invitation
by the sender and "extracted" by the accepting process.

Note that in order to facilitate the new pipe attachment API which
encourages user-selected message pipe names (rather than much less
convenient unguessable nonces that require more out-of-band
communication), port reservations made on behalf of outgoing invitations
are now strictly scoped to the invitation target, allowing names to be
reused for different invitations and avoiding any risk of a misbehaving
process claiming someone else's port.

The vast majority of changes outside //mojo here are strictly aesthetic
adaptations to the new API and do not constitute any kind of behavioral
change.

Follow-up CLs will replace usage of SetParentPipeHandle* and
CreateChildMessagePipe with IncomingBrokerClientInvitation API usage,
and eliminate the peer-connection-related functions with a
new stateful PeerConnection object; thus completing the public API
changes necessary to support the transition to a more flexible
transport protocol selection.

BUG= 696031 

Change-Id: I4b9a8f76fc8457b31a3dc1390ecec3fc0235b732
Reviewed-on: https://chromium-review.googlesource.com/498972
Commit-Queue: Ken Rockot <rockot@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Jay Civelli <jcivelli@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Cr-Commit-Position: refs/heads/master@{#470863}
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/chrome/browser/chromeos/arc/video/gpu_arc_video_service_host.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/chrome/browser/safe_browsing/chrome_cleaner/srt_fetcher_win.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/chrome/service/service_utility_process_host.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/chrome/service/service_utility_process_host.h
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/chrome/test/base/mojo_test_connector.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/chrome/utility/importer/firefox_importer_unittest_utils_mac.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/components/arc/arc_session.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/components/nacl/broker/nacl_broker_listener.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/components/nacl/broker/nacl_broker_listener.h
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/components/nacl/browser/BUILD.gn
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/components/nacl/browser/nacl_broker_host_win.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/components/nacl/browser/nacl_broker_host_win.h
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/components/nacl/browser/nacl_broker_service_win.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/components/nacl/browser/nacl_broker_service_win.h
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/components/nacl/browser/nacl_process_host.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/components/nacl/common/nacl_messages.h
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/content/browser/browser_child_process_host_impl.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/content/browser/browser_child_process_host_impl.h
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/content/browser/child_process_launcher.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/content/browser/child_process_launcher.h
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/content/browser/renderer_host/render_process_host_impl.h
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/content/browser/utility_process_host_impl.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/content/child/child_thread_impl.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/content/child/child_thread_impl.h
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/content/common/child_process_host_impl.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/content/common/child_process_host_impl.h
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/content/common/in_process_child_thread_params.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/content/common/in_process_child_thread_params.h
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/content/common/service_manager/child_connection.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/content/common/service_manager/child_connection.h
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/content/public/browser/browser_child_process_host.h
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/content/public/common/child_process_host.h
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/content/renderer/render_thread_impl_browsertest.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/mojo/edk/embedder/BUILD.gn
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/mojo/edk/embedder/README.md
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/mojo/edk/embedder/connection_params.h
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/mojo/edk/embedder/embedder.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/mojo/edk/embedder/embedder.h
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/mojo/edk/embedder/embedder_unittest.cc
[add] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/mojo/edk/embedder/incoming_broker_client_invitation.cc
[add] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/mojo/edk/embedder/incoming_broker_client_invitation.h
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/mojo/edk/embedder/named_platform_channel_pair.h
[add] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/mojo/edk/embedder/outgoing_broker_client_invitation.cc
[add] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/mojo/edk/embedder/outgoing_broker_client_invitation.h
[delete] https://crrev.com/8afbdf7d2bfa9779d548d9d131ae0415813453fb/mojo/edk/embedder/pending_process_connection.cc
[delete] https://crrev.com/8afbdf7d2bfa9779d548d9d131ae0415813453fb/mojo/edk/embedder/pending_process_connection.h
[add] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/mojo/edk/embedder/transport_protocol.h
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/mojo/edk/system/core.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/mojo/edk/system/core.h
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/mojo/edk/system/node_controller.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/mojo/edk/system/node_controller.h
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/mojo/edk/test/multiprocess_test_helper.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/remoting/host/win/unprivileged_process_delegate.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/remoting/host/win/wts_session_process_delegate.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/services/service_manager/runner/common/client_util.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/services/service_manager/runner/common/client_util.h
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/services/service_manager/runner/host/service_process_launcher.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/services/service_manager/runner/host/service_process_launcher.h
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/services/service_manager/tests/service_manager/service_manager_unittest.cc
[modify] https://crrev.com/ea1716a00c9d7ba48f98537099a1ccd750bdaa37/services/service_manager/tests/util.cc

Project Member

Comment 8 by bugdroid1@chromium.org, May 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c30b5ae26dd734cc3b69b8d49f4d95c426d22750

commit c30b5ae26dd734cc3b69b8d49f4d95c426d22750
Author: Ken Rockot <rockot@chromium.org>
Date: Thu May 11 19:27:01 2017

Mojo EDK: Kill SetParentPipe* and CreateChildMessagePipe

Replaces these APIs with IncomingBrokerClientInvitation usage.
This new API more accurately reflects the intended design of
the system and forces developers to select a transport protocol
when joining a Mojo embedder process graph.

BUG= 696031 
TBR=jam@chromium.org

Change-Id: I90460badec6622447432b0bb76b202c8a14270ed
Reviewed-on: https://chromium-review.googlesource.com/502548
Reviewed-by: Ken Rockot <rockot@chromium.org>
Reviewed-by: Jay Civelli <jcivelli@chromium.org>
Commit-Queue: Ken Rockot <rockot@chromium.org>
Cr-Commit-Position: refs/heads/master@{#471041}
[modify] https://crrev.com/c30b5ae26dd734cc3b69b8d49f4d95c426d22750/chrome/browser/safe_browsing/chrome_cleaner/srt_fetcher_browsertest_win.cc
[modify] https://crrev.com/c30b5ae26dd734cc3b69b8d49f4d95c426d22750/chrome/utility/importer/firefox_importer_unittest_utils_mac.cc
[modify] https://crrev.com/c30b5ae26dd734cc3b69b8d49f4d95c426d22750/components/nacl/common/nacl_service.cc
[modify] https://crrev.com/c30b5ae26dd734cc3b69b8d49f4d95c426d22750/content/browser/service_manager/service_manager_context.cc
[modify] https://crrev.com/c30b5ae26dd734cc3b69b8d49f4d95c426d22750/content/child/child_thread_impl.cc
[modify] https://crrev.com/c30b5ae26dd734cc3b69b8d49f4d95c426d22750/content/child/child_thread_impl.h
[modify] https://crrev.com/c30b5ae26dd734cc3b69b8d49f4d95c426d22750/mojo/edk/embedder/README.md
[modify] https://crrev.com/c30b5ae26dd734cc3b69b8d49f4d95c426d22750/mojo/edk/embedder/embedder.cc
[modify] https://crrev.com/c30b5ae26dd734cc3b69b8d49f4d95c426d22750/mojo/edk/embedder/embedder.h
[modify] https://crrev.com/c30b5ae26dd734cc3b69b8d49f4d95c426d22750/mojo/edk/embedder/incoming_broker_client_invitation.cc
[modify] https://crrev.com/c30b5ae26dd734cc3b69b8d49f4d95c426d22750/mojo/edk/embedder/incoming_broker_client_invitation.h
[modify] https://crrev.com/c30b5ae26dd734cc3b69b8d49f4d95c426d22750/mojo/edk/test/multiprocess_test_helper.cc
[modify] https://crrev.com/c30b5ae26dd734cc3b69b8d49f4d95c426d22750/remoting/host/desktop_process_main.cc
[modify] https://crrev.com/c30b5ae26dd734cc3b69b8d49f4d95c426d22750/remoting/host/remoting_me2me_host.cc
[modify] https://crrev.com/c30b5ae26dd734cc3b69b8d49f4d95c426d22750/services/service_manager/public/cpp/standalone_service/standalone_service.cc
[modify] https://crrev.com/c30b5ae26dd734cc3b69b8d49f4d95c426d22750/services/service_manager/runner/common/client_util.cc
[modify] https://crrev.com/c30b5ae26dd734cc3b69b8d49f4d95c426d22750/services/service_manager/runner/common/client_util.h
[modify] https://crrev.com/c30b5ae26dd734cc3b69b8d49f4d95c426d22750/tools/ipc_fuzzer/message_replay/replay_process.cc
[modify] https://crrev.com/c30b5ae26dd734cc3b69b8d49f4d95c426d22750/tools/ipc_fuzzer/message_replay/replay_process.h

Project Member

Comment 9 by bugdroid1@chromium.org, May 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/29bd77bcacd88ec3d568905098484c83c988d4fd

commit 29bd77bcacd88ec3d568905098484c83c988d4fd
Author: Ken Rockot <rockot@chromium.org>
Date: Fri May 12 00:33:20 2017

Mojo EDK: Require explicit TransportProtocol in ConnectionParams ctor

This removes the ConnectionParams constructor which implies
TransportProtocol::kLegacy and updates all callers to specify the
protocl explicitly.

No functional change, so TBRing.

BUG= 696031 
TBR=jam@chromium.org
TBR=jcivelli@chromium.org

Change-Id: Ifb02e7b49eabefa94b1cf29388ea728dd5962177
Reviewed-on: https://chromium-review.googlesource.com/503610
Reviewed-by: Ken Rockot <rockot@chromium.org>
Commit-Queue: Ken Rockot <rockot@chromium.org>
Cr-Commit-Position: refs/heads/master@{#471145}
[modify] https://crrev.com/29bd77bcacd88ec3d568905098484c83c988d4fd/chrome/browser/chromeos/arc/video/gpu_arc_video_service_host.cc
[modify] https://crrev.com/29bd77bcacd88ec3d568905098484c83c988d4fd/chrome/browser/safe_browsing/chrome_cleaner/srt_fetcher_win.cc
[modify] https://crrev.com/29bd77bcacd88ec3d568905098484c83c988d4fd/chrome/service/service_utility_process_host.cc
[modify] https://crrev.com/29bd77bcacd88ec3d568905098484c83c988d4fd/chrome/test/base/mojo_test_connector.cc
[modify] https://crrev.com/29bd77bcacd88ec3d568905098484c83c988d4fd/chrome/utility/importer/firefox_importer_unittest_utils_mac.cc
[modify] https://crrev.com/29bd77bcacd88ec3d568905098484c83c988d4fd/components/arc/arc_session.cc
[modify] https://crrev.com/29bd77bcacd88ec3d568905098484c83c988d4fd/components/nacl/broker/nacl_broker_listener.cc
[modify] https://crrev.com/29bd77bcacd88ec3d568905098484c83c988d4fd/content/browser/child_process_launcher.cc
[modify] https://crrev.com/29bd77bcacd88ec3d568905098484c83c988d4fd/mojo/edk/embedder/README.md
[modify] https://crrev.com/29bd77bcacd88ec3d568905098484c83c988d4fd/mojo/edk/embedder/connection_params.cc
[modify] https://crrev.com/29bd77bcacd88ec3d568905098484c83c988d4fd/mojo/edk/embedder/connection_params.h
[modify] https://crrev.com/29bd77bcacd88ec3d568905098484c83c988d4fd/mojo/edk/embedder/embedder_unittest.cc
[modify] https://crrev.com/29bd77bcacd88ec3d568905098484c83c988d4fd/mojo/edk/system/broker_host.cc
[modify] https://crrev.com/29bd77bcacd88ec3d568905098484c83c988d4fd/mojo/edk/system/core.cc
[modify] https://crrev.com/29bd77bcacd88ec3d568905098484c83c988d4fd/mojo/edk/system/node_controller.cc
[modify] https://crrev.com/29bd77bcacd88ec3d568905098484c83c988d4fd/remoting/host/win/unprivileged_process_delegate.cc
[modify] https://crrev.com/29bd77bcacd88ec3d568905098484c83c988d4fd/remoting/host/win/wts_session_process_delegate.cc
[modify] https://crrev.com/29bd77bcacd88ec3d568905098484c83c988d4fd/services/service_manager/runner/host/service_process_launcher.cc
[modify] https://crrev.com/29bd77bcacd88ec3d568905098484c83c988d4fd/services/service_manager/tests/service_manager/service_manager_unittest.cc
[modify] https://crrev.com/29bd77bcacd88ec3d568905098484c83c988d4fd/services/service_manager/tests/util.cc
[modify] https://crrev.com/29bd77bcacd88ec3d568905098484c83c988d4fd/tools/ipc_fuzzer/message_replay/replay_process.cc

Project Member

Comment 10 by bugdroid1@chromium.org, May 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/47f4e89ec7a4477a18c12595cca6d2aa46231f78

commit 47f4e89ec7a4477a18c12595cca6d2aa46231f78
Author: Ken Rockot <rockot@chromium.org>
Date: Thu May 18 23:42:22 2017

Mojo EDK: Scoped peer process connections

Encloses the ad hoc ConnectToPeerProcess and ClosePeerConnection APIs
within a new PeerConnection scoper which implicitly controls the
lifetime of the connection.

In addition to being safer, this new API plumbs through ConnectionParams
for peer process connections.

This eliminates the remaining legacy EDK IPC API surface.

BUG= 696031 
TBR=jam@chromium.org

Change-Id: I1795e0328fd0e8242fb905ab0437dbc2985e6746
Reviewed-on: https://chromium-review.googlesource.com/505714
Commit-Queue: Ken Rockot <rockot@chromium.org>
Reviewed-by: Jay Civelli <jcivelli@chromium.org>
Cr-Commit-Position: refs/heads/master@{#472973}
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/chrome/app_shim/chrome_main_app_mode_mac.mm
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/chrome/browser/apps/app_shim/app_shim_host_mac.cc
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/chrome/browser/apps/app_shim/app_shim_host_mac.h
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/chrome/browser/apps/app_shim/app_shim_host_manager_browsertest_mac.mm
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/chrome/browser/printing/cloud_print/test/cloud_print_proxy_process_browsertest.cc
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/chrome/browser/service_process/service_process_control.cc
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/chrome/browser/service_process/service_process_control.h
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/chrome/service/service_process.cc
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/chrome/service/service_process.h
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/mojo/edk/embedder/BUILD.gn
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/mojo/edk/embedder/embedder.cc
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/mojo/edk/embedder/embedder.h
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/mojo/edk/embedder/embedder_unittest.cc
[add] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/mojo/edk/embedder/peer_connection.cc
[add] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/mojo/edk/embedder/peer_connection.h
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/mojo/edk/system/core.cc
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/mojo/edk/system/core.h
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/mojo/edk/system/node_controller.cc
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/mojo/edk/system/node_controller.h
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/mojo/edk/test/multiprocess_test_helper.cc
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/mojo/edk/test/multiprocess_test_helper.h
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/remoting/host/security_key/fake_security_key_ipc_client.cc
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/remoting/host/security_key/fake_security_key_ipc_client.h
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/remoting/host/security_key/fake_security_key_ipc_server.cc
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/remoting/host/security_key/fake_security_key_ipc_server.h
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/remoting/host/security_key/security_key_ipc_client.cc
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/remoting/host/security_key/security_key_ipc_client.h
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/remoting/host/security_key/security_key_ipc_server_impl.cc
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/remoting/host/security_key/security_key_ipc_server_impl.h
[modify] https://crrev.com/47f4e89ec7a4477a18c12595cca6d2aa46231f78/remoting/host/security_key/security_key_ipc_server_unittest.cc

Status: WontFix (was: Assigned)
Marking obsolete in favor of mojo_core shipping

Sign in to add a comment