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

Issue 668384 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner: ----
Closed: Sep 19
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug



Sign in to add a comment

Passing OS handles over mojo should be easy

Project Member Reported by sa...@chromium.org, Nov 24 2016

Issue description

OS handles (FDs, HANDLEs, mach ports) can be passed over mojo message pipes wrapped as mojo handles. However, the C++ API is quite low-level and only supports wrapping mach ports as mojo shared buffers.

While that API should be improved to cover the full range of OS handles, we can also provide a higher-level API by typemapping types such as base::File.
 
Project Member

Comment 2 by bugdroid1@chromium.org, Dec 7 2016

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

commit c21489788171f2087b55cca7844508a43c123384
Author: sammc <sammc@chromium.org>
Date: Wed Dec 07 01:14:06 2016

Replace base::File wrapping with typemapping.

BUG= 668384 

Review-Url: https://codereview.chromium.org/2539383002
Cr-Commit-Position: refs/heads/master@{#436814}

[modify] https://crrev.com/c21489788171f2087b55cca7844508a43c123384/components/filesystem/directory_impl.cc
[modify] https://crrev.com/c21489788171f2087b55cca7844508a43c123384/components/filesystem/directory_impl.h
[modify] https://crrev.com/c21489788171f2087b55cca7844508a43c123384/components/filesystem/file_impl.cc
[modify] https://crrev.com/c21489788171f2087b55cca7844508a43c123384/components/filesystem/file_impl_unittest.cc
[modify] https://crrev.com/c21489788171f2087b55cca7844508a43c123384/components/filesystem/public/interfaces/BUILD.gn
[modify] https://crrev.com/c21489788171f2087b55cca7844508a43c123384/components/filesystem/public/interfaces/directory.mojom
[modify] https://crrev.com/c21489788171f2087b55cca7844508a43c123384/components/filesystem/public/interfaces/file.mojom
[modify] https://crrev.com/c21489788171f2087b55cca7844508a43c123384/components/font_service/font_service_app.cc
[modify] https://crrev.com/c21489788171f2087b55cca7844508a43c123384/components/font_service/public/cpp/font_service_thread.cc
[modify] https://crrev.com/c21489788171f2087b55cca7844508a43c123384/components/font_service/public/cpp/font_service_thread.h
[modify] https://crrev.com/c21489788171f2087b55cca7844508a43c123384/components/font_service/public/interfaces/BUILD.gn
[modify] https://crrev.com/c21489788171f2087b55cca7844508a43c123384/components/font_service/public/interfaces/font_service.mojom
[modify] https://crrev.com/c21489788171f2087b55cca7844508a43c123384/components/leveldb/leveldb_mojo_proxy.cc
[modify] https://crrev.com/c21489788171f2087b55cca7844508a43c123384/content/browser/hyphenation/hyphenation_impl.cc
[modify] https://crrev.com/c21489788171f2087b55cca7844508a43c123384/services/catalog/public/cpp/resource_loader.cc
[modify] https://crrev.com/c21489788171f2087b55cca7844508a43c123384/third_party/WebKit/Source/platform/mojo/CommonCustomTypes.typemap
[modify] https://crrev.com/c21489788171f2087b55cca7844508a43c123384/third_party/WebKit/Source/platform/text/hyphenation/HyphenationMinikin.cpp
[modify] https://crrev.com/c21489788171f2087b55cca7844508a43c123384/third_party/WebKit/public/platform/modules/hyphenation/hyphenation.mojom

Comment 3 by sa...@chromium.org, Feb 8 2018

Owner: ----
Status: Available (was: Started)
Status: Fixed (was: Available)
I'm calling this fixed. In addition to the CLs landed on this bug, we have several helpers in the public C++ library now:

- the general-purpose mojo::PlatformHandle scoped wrapper type
- mojo::Wrap/UnwrapPlatformHandle.
- mojo::Wrap/UnwrapMachPort

Sign in to add a comment