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

Issue 776524 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

ServiceManager should have a singleton capability.

Project Member Reported by jcivelli@chromium.org, Oct 19 2017

Issue description

The service manager already supports the all_users capability, which means the user ID is ignored when resolving a service.
We also need the singleton capability, which would make a service only resolved by its name.

It's useful with packages service. If a packaged service is resolved with an identity using a different instance ID, the service manager will attempt to create a new embedder service for that identity and will fail.
By making it a singleton, we guarantee the embedder service will always be resolved properly.
 
Status: Fixed (was: Untriaged)
Project Member

Comment 2 by bugdroid1@chromium.org, Oct 27 2017

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

commit b9b27a9c77c8526fe2f42b5fe4ded7a0df4ce5a2
Author: Jay Civelli <jcivelli@google.com>
Date: Fri Oct 27 22:08:53 2017

Adding a new singleton capability for packaged service.

In order to ensure that packaged services with different instance IDs
are run in different processes, introducing a new singleton capability
that packaged services should now use.

Also removed unused init_edk parameter from ServiceTest.

Bug:  776524 
Tbr: jam@chromium.org
Change-Id: I0093c2682c83fe8eb978bc97851e3b8e341fa627
Reviewed-on: https://chromium-review.googlesource.com/728951
Reviewed-by: Ken Rockot <rockot@chromium.org>
Reviewed-by: Jay Civelli <jcivelli@chromium.org>
Commit-Queue: Jay Civelli <jcivelli@chromium.org>
Cr-Commit-Position: refs/heads/master@{#512314}
[modify] https://crrev.com/b9b27a9c77c8526fe2f42b5fe4ded7a0df4ce5a2/content/browser/dom_storage/local_storage_context_mojo_unittest.cc
[modify] https://crrev.com/b9b27a9c77c8526fe2f42b5fe4ded7a0df4ce5a2/content/network/network_service_unittest.cc
[modify] https://crrev.com/b9b27a9c77c8526fe2f42b5fe4ded7a0df4ce5a2/services/identity/identity_manager_unittest.cc
[modify] https://crrev.com/b9b27a9c77c8526fe2f42b5fe4ded7a0df4ce5a2/services/preferences/pref_service_factory_unittest.cc
[modify] https://crrev.com/b9b27a9c77c8526fe2f42b5fe4ded7a0df4ce5a2/services/service_manager/public/cpp/identity.cc
[modify] https://crrev.com/b9b27a9c77c8526fe2f42b5fe4ded7a0df4ce5a2/services/service_manager/public/cpp/identity.h
[modify] https://crrev.com/b9b27a9c77c8526fe2f42b5fe4ded7a0df4ce5a2/services/service_manager/public/cpp/service_test.cc
[modify] https://crrev.com/b9b27a9c77c8526fe2f42b5fe4ded7a0df4ce5a2/services/service_manager/public/cpp/service_test.h
[modify] https://crrev.com/b9b27a9c77c8526fe2f42b5fe4ded7a0df4ce5a2/services/service_manager/service_manager.cc
[modify] https://crrev.com/b9b27a9c77c8526fe2f42b5fe4ded7a0df4ce5a2/services/service_manager/service_manager.h
[modify] https://crrev.com/b9b27a9c77c8526fe2f42b5fe4ded7a0df4ce5a2/services/service_manager/tests/service_manager/BUILD.gn
[modify] https://crrev.com/b9b27a9c77c8526fe2f42b5fe4ded7a0df4ce5a2/services/service_manager/tests/service_manager/OWNERS
[add] https://crrev.com/b9b27a9c77c8526fe2f42b5fe4ded7a0df4ce5a2/services/service_manager/tests/service_manager/all_users_manifest.json
[modify] https://crrev.com/b9b27a9c77c8526fe2f42b5fe4ded7a0df4ce5a2/services/service_manager/tests/service_manager/embedder.cc
[modify] https://crrev.com/b9b27a9c77c8526fe2f42b5fe4ded7a0df4ce5a2/services/service_manager/tests/service_manager/embedder_manifest.json
[add] https://crrev.com/b9b27a9c77c8526fe2f42b5fe4ded7a0df4ce5a2/services/service_manager/tests/service_manager/regular_manifest.json
[modify] https://crrev.com/b9b27a9c77c8526fe2f42b5fe4ded7a0df4ce5a2/services/service_manager/tests/service_manager/service_manager_unittest.cc
[modify] https://crrev.com/b9b27a9c77c8526fe2f42b5fe4ded7a0df4ce5a2/services/service_manager/tests/service_manager/service_manager_unittest_manifest.json
[modify] https://crrev.com/b9b27a9c77c8526fe2f42b5fe4ded7a0df4ce5a2/services/service_manager/tests/service_manager/singleton_manifest.json

Sign in to add a comment