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

Issue 690189 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Mar 2017
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Services should be able to specify required files that should be mapped in their process.

Project Member Reported by jcivelli@chromium.org, Feb 8 2017

Issue description

Manifest files should let you define files that are available in the service once started.
This is needed as part of the effort to move process launching to the service manager.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Feb 16 2017

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

commit dad0cefaebae56eb5ed984b62ccebee165723a6a
Author: jcivelli <jcivelli@chromium.org>
Date: Thu Feb 16 18:38:59 2017

Files required by a service now listed in manifest.

The files required in a service process can now be listed in the service's
manifest.
In the manifest the file path is given with a string ID and a platform. The file
is then opened in the parent process and passed to the child process, its ID is
specified with a new command-line switch that associates the manifest specified
key and a GlobalDescriptor ID. There are used to populate the new
FileDescriptorStore which is similar to GlobalDescriptor but uses string as keys
(which makes it easier to prevent ID collisions between multiple services).
The service code can then retrieve the FD from the FileDescriptorStore.
The goal is to eventually switch entirely to only using the FileDescriptorStore,
and getting rid of the GlobalDescriptor.

BUG= 690189 

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

[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/android_webview/BUILD.gn
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/android_webview/lib/main/aw_main_delegate.cc
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/base/BUILD.gn
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/base/android/apk_assets.cc
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/base/android/apk_assets.h
[add] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/base/file_descriptor_store.cc
[add] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/base/file_descriptor_store.h
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/base/posix/global_descriptors.cc
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/base/posix/global_descriptors.h
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/content/app/BUILD.gn
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/content/app/DEPS
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/content/app/android/child_process_service_impl.cc
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/content/app/content_main_runner.cc
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/content/browser/BUILD.gn
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/content/browser/child_process_launcher.cc
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/content/browser/child_process_launcher.h
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/content/browser/child_process_launcher_helper.h
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/content/browser/child_process_launcher_helper_android.cc
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/content/browser/child_process_launcher_helper_linux.cc
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/content/browser/child_process_launcher_helper_mac.cc
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/content/browser/child_process_launcher_helper_posix.cc
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/content/browser/child_process_launcher_helper_posix.h
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/content/browser/child_process_launcher_helper_win.cc
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/content/browser/service_manager/service_manager_context.cc
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/content/gpu/gpu_main.cc
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/content/ppapi_plugin/ppapi_plugin_main.cc
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/content/public/android/java/src/org/chromium/content/app/ChildProcessServiceImpl.java
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/content/public/app/mojo/content_renderer_manifest.json
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/content/public/app/mojo/content_utility_manifest.json
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/content/public/common/BUILD.gn
[add] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/content/public/common/content_descriptor_keys.cc
[add] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/content/public/common/content_descriptor_keys.h
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/content/public/common/content_descriptors.h
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/content/public/common/content_switches.cc
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/content/public/common/content_switches.h
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/content/utility/utility_main.cc
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/services/catalog/BUILD.gn
[add] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/services/catalog/data/required_files
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/services/catalog/entry.cc
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/services/catalog/entry.h
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/services/catalog/entry_unittest.cc
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/services/catalog/public/cpp/BUILD.gn
[add] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/services/catalog/public/cpp/manifest_parsing_util.cc
[add] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/services/catalog/public/cpp/manifest_parsing_util.h
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/services/catalog/store.cc
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/services/catalog/store.h
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/services/service_manager/background/BUILD.gn
[modify] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/services/service_manager/public/cpp/BUILD.gn
[add] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/services/service_manager/public/cpp/lib/shared_file_util.cc
[add] https://crrev.com/dad0cefaebae56eb5ed984b62ccebee165723a6a/services/service_manager/public/cpp/shared_file_util.h

Status: Fixed (was: Untriaged)

Sign in to add a comment