New issue
Advanced search Search tips

Issue 895591 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 10
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 875030
issue 904240



Sign in to add a comment

Identity needs some love

Project Member Reported by roc...@chromium.org, Oct 15

Issue description

The service_manager::Identity type is a string triplet consisting of service name, "user ID", and an "instance" qualifier. These three fields each serve a distinct and useful purpose, but the terminology can be confusing.

In particular, there is no actual correlation between "user ID" and anything resembling an actual "user" on the host system. More generally, the field is used to isolate groups of service instances from others, and to allow services in a specific group to automatically have their requests routed by default (and often exclusively) to other services within the same group. As such, the term "partition" more generically encapsulates this function without being so specific as "user".

Furthermore, both the user ID (henceforth "partition") and instance fields are free-form strings, but in practice both require only the capacity for uniqueness. Human readability is an uninteresting constraint, and in practice we tend to use GUID strings for these fields anyway. As such, they can be more efficiently represented as UnguessableToken fields.

Finally, the Identity values received from the Service Manager (via either Service::OnStart, or various ServiceManagerListener notifications) are not currently guaranteed to map 1:1 to actual service instances. This is because a service Identity (A,B,C) may be reused if an instance dies and is restarted by the Service Manager, yet there is no guarantee of relative ordering between client-facing events pertaining to the old instance and client-facing events pertaining to the new one.  Bug 840127  covers this in more detail. TL;DR: we add one more UnguessableToken to Identity, which is treated strictly as a GUID identifying the specific instance uniquely across all time and space.
 
Labels: ServiceManagerImprovification
Blocking: 875030
Cc: rsesek@chromium.org dcheng@chromium.org
Moving the discussion here. FWIW the reasons I liked "partition" better than "instance group" are:

a) to me partition carries an implied connotation of serving as a kind of security boundary
b) less typing!

But the rhythm of "instance group" and "instance" is nice too. Eh...
Description: Show this description
Owner: rockot@google.com
Project Member

Comment 6 by bugdroid1@chromium.org, Nov 6

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

commit d2ed25a78d2e2824b327e183b7cca843e616610f
Author: Ken Rockot <rockot@chromium.org>
Date: Tue Nov 06 22:25:37 2018

[service-manager] Rename Identity fields

Renames the "user ID" and "instance name" fields to "instance
group" and "instance ID", respectively, per discussion on the bug.

A follow-up will change the types of the instance group and ID fields to
be optional UnguessableTokens instead of free-form strings.

TBR=jam@chromium.org

Bug:  895591 
Change-Id: I0c4d75f5e12a468dad251f238813bc79c497830a
Reviewed-on: https://chromium-review.googlesource.com/c/1318836
Commit-Queue: Ken Rockot <rockot@google.com>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Oksana Zhuravlova <oksamyt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#605849}
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/chrome/browser/chrome_site_per_process_browsertest.cc
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/chrome/browser/safe_browsing/client_side_detection_service.cc
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/chrome/browser/spellchecker/spell_check_host_chrome_impl.cc
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/chrome/browser/spellchecker/spell_check_host_chrome_impl_mac.cc
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/chrome/browser/spellchecker/spellcheck_factory.cc
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/chrome/browser/spellchecker/spellcheck_service.cc
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/chrome/browser/spellchecker/spellcheck_service_browsertest.cc
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/chrome/browser/spellchecker/test/spellcheck_content_browser_client.cc
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/docs/servicification.md
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/extensions/browser/api/declarative_net_request/utils.cc
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/services/catalog/catalog.cc
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/services/catalog/catalog.h
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/services/catalog/entry.cc
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/services/catalog/entry_unittest.cc
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/services/catalog/service_options.h
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/services/file/file_service.cc
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/services/resource_coordinator/memory_instrumentation/coordinator_impl.cc
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/services/service_manager/public/cpp/identity.cc
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/services/service_manager/public/cpp/identity.h
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/services/service_manager/public/cpp/identity_mojom_traits.h
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/services/service_manager/public/cpp/service_test.cc
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/services/service_manager/public/cpp/service_test.h
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/services/service_manager/public/java/src/org/chromium/services/service_manager/Connector.java
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/services/service_manager/public/mojom/connector.mojom
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/services/service_manager/public/mojom/constants.mojom
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/services/service_manager/runner/host/service_process_launcher.cc
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/services/service_manager/service_manager.cc
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/services/service_manager/service_manager.h
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/services/service_manager/tests/connect/connect_test.mojom
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/services/service_manager/tests/connect/connect_test_app.cc
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/services/service_manager/tests/connect/connect_test_class_app.cc
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/services/service_manager/tests/connect/connect_test_exe.cc
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/services/service_manager/tests/connect/connect_test_package.cc
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/services/service_manager/tests/connect/connect_unittest.cc
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/services/service_manager/tests/service_manager/service_manager_unittest.cc
[modify] https://crrev.com/d2ed25a78d2e2824b327e183b7cca843e616610f/services/test/user_id/user_id_service.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Nov 7

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

commit 8c6991c7f7452c5a5aa28383b899b4c45abbdf8c
Author: Ken Rockot <rockot@google.com>
Date: Wed Nov 07 21:23:19 2018

[base] Add Token type

This adds a simple base::Token type which supports random generation OR
constexpr construction from fixed values. Trivially changes
UnguessableToken to be implemented on top of Token.

Token and UnguessableToken are essentially the same data type, with
Token having weaker constraints on what qualifies as valid usage.
Specifically, it is considered valid and reasonable to construct
constexpr Token objects over pre-generated random values.

Bug:  895591 
Change-Id: I9fdc0eafdb1dd184a4f013c93708bc2136e6095f
Reviewed-on: https://chromium-review.googlesource.com/c/1320190
Commit-Queue: Ken Rockot <rockot@google.com>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#606164}
[modify] https://crrev.com/8c6991c7f7452c5a5aa28383b899b4c45abbdf8c/base/BUILD.gn
[add] https://crrev.com/8c6991c7f7452c5a5aa28383b899b4c45abbdf8c/base/token.cc
[add] https://crrev.com/8c6991c7f7452c5a5aa28383b899b4c45abbdf8c/base/token.h
[add] https://crrev.com/8c6991c7f7452c5a5aa28383b899b4c45abbdf8c/base/token_unittest.cc
[modify] https://crrev.com/8c6991c7f7452c5a5aa28383b899b4c45abbdf8c/base/unguessable_token.cc
[modify] https://crrev.com/8c6991c7f7452c5a5aa28383b899b4c45abbdf8c/base/unguessable_token.h

Project Member

Comment 8 by bugdroid1@chromium.org, Nov 8

Project Member

Comment 9 by bugdroid1@chromium.org, Nov 9

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

commit 1060490ecae01406391a04a8109e03f5c2ddfb00
Author: Ken Rockot <rockot@google.com>
Date: Fri Nov 09 20:52:08 2018

[service-manager] Add globally unique ID to Identity

Adds a globally_unique_id field to each service's Identity, generated
and assigned by the Service Manager when starting any new service
instance.

This ensures that every running service instance has an Identity that
is globally unique across space and time.

TBR=jam@chromium.org

Bug:  840127 , 895591 
Change-Id: If32863b7d8562e3a2cd9625d8eed2db8e83c67cb
Reviewed-on: https://chromium-review.googlesource.com/c/1318806
Commit-Queue: Ken Rockot <rockot@google.com>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Oksana Zhuravlova <oksamyt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#606960}
[modify] https://crrev.com/1060490ecae01406391a04a8109e03f5c2ddfb00/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/1060490ecae01406391a04a8109e03f5c2ddfb00/content/public/common/services.md
[modify] https://crrev.com/1060490ecae01406391a04a8109e03f5c2ddfb00/services/service_manager/README.md
[modify] https://crrev.com/1060490ecae01406391a04a8109e03f5c2ddfb00/services/service_manager/public/cpp/identity.cc
[modify] https://crrev.com/1060490ecae01406391a04a8109e03f5c2ddfb00/services/service_manager/public/cpp/identity.h
[modify] https://crrev.com/1060490ecae01406391a04a8109e03f5c2ddfb00/services/service_manager/public/cpp/identity_mojom_traits.h
[modify] https://crrev.com/1060490ecae01406391a04a8109e03f5c2ddfb00/services/service_manager/public/cpp/service_binding.h
[modify] https://crrev.com/1060490ecae01406391a04a8109e03f5c2ddfb00/services/service_manager/public/mojom/BUILD.gn
[modify] https://crrev.com/1060490ecae01406391a04a8109e03f5c2ddfb00/services/service_manager/public/mojom/connector.mojom
[modify] https://crrev.com/1060490ecae01406391a04a8109e03f5c2ddfb00/services/service_manager/service_manager.cc
[modify] https://crrev.com/1060490ecae01406391a04a8109e03f5c2ddfb00/services/service_manager/service_manifests.md
[modify] https://crrev.com/1060490ecae01406391a04a8109e03f5c2ddfb00/services/service_manager/tests/connect/BUILD.gn
[modify] https://crrev.com/1060490ecae01406391a04a8109e03f5c2ddfb00/services/service_manager/tests/connect/connect_unittest.cc
[modify] https://crrev.com/1060490ecae01406391a04a8109e03f5c2ddfb00/services/service_manager/tests/service_manager/BUILD.gn
[add] https://crrev.com/1060490ecae01406391a04a8109e03f5c2ddfb00/services/service_manager/tests/service_manager/service_manager_listener_unittest.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Nov 10

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

commit da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8
Author: Ken Rockot <rockot@google.com>
Date: Sat Nov 10 01:01:45 2018

[service-manager] Make instance_group a Token

Changes Identity's instance group ID from a free-form string to a
base::Token. Updates the 25-billion things which depend on this field.

Some more details:

- This removes kRootUserID in favor of a new C++ constant,
  kSystemInstanceGroup, a base::Token with a more approrpiate name given
  its purpose.

- Also removes kInheritUserID. Because the instance group field is
  optional in an outgoing request Identity, nullopt is used to mean
  "inherit".

- Not all conceptual references to "user ID" have been removed yet,
  since this CL is big enough as it is. For example, we still have a
  test-only service name "user_id", which no longer makes sense.

Follow-up CLs will also change the instance ID field to a Token and
clean up remaining conceptual references to "user ID".

Bug:  895591 
Change-Id: Idef13a269c6935123db68fa2621cecaca345974c
Reviewed-on: https://chromium-review.googlesource.com/c/1325944
Commit-Queue: Ken Rockot <rockot@google.com>
Reviewed-by: Oksana Zhuravlova <oksamyt@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Eugene But <eugenebut@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607057}
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/ash/assistant/assistant_controller.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/ash/multi_device_setup/multi_device_notification_presenter.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/ash/multi_device_setup/multi_device_notification_presenter_unittest.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/ash/public/interfaces/user_info.mojom
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/ash/session/test_session_controller_client.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/ash/session/test_session_controller_client.h
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/ash/test/ash_test_helper.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/chrome/browser/prefs/profile_pref_store_manager_unittest.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/chrome/browser/spellchecker/spell_check_host_chrome_impl.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/chrome/browser/spellchecker/spell_check_host_chrome_impl_mac.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/chrome/browser/spellchecker/spellcheck_factory.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/chrome/browser/spellchecker/spellcheck_service.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/chrome/browser/ui/ash/session_controller_client.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/chrome/browser/ui/ash/session_controller_client_unittest.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/chrome/service/service_utility_process_host.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/content/browser/browser_child_process_host_impl.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/content/browser/browser_context.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/content/browser/dom_storage/test/mojo_test_with_file_service.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/content/browser/media/media_interface_proxy.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/content/browser/service_manager/service_manager_context.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/content/common/service_manager/service_manager_connection_impl_unittest.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/content/public/browser/browser_context.h
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/content/public/browser/content_browser_client.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/content/public/browser/content_browser_client.h
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/content/public/test/mock_render_process_host.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/content/renderer/mojo/blink_interface_provider_impl.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/content/renderer/render_thread_impl_browsertest.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/extensions/browser/sandboxed_unpacker.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/ios/web/browser_state.mm
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/ios/web/public/browser_state.h
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/ios/web/service_manager_connection_impl_unittest.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/ios/web/service_manager_context.mm
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/ios/web/shell/test/service_manager_egtest.mm
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/catalog/catalog.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/catalog/catalog.h
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/data_decoder/public/cpp/safe_json_parser_impl.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/data_decoder/public/cpp/safe_xml_parser.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/file/file_service.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/file/user_id_map.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/file/user_id_map.h
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/background/tests/background_service_manager_unittest.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/connect_util.h
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/public/cpp/BUILD.gn
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/public/cpp/connector.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/public/cpp/connector.h
[add] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/public/cpp/constants.cc
[add] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/public/cpp/constants.h
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/public/cpp/identity.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/public/cpp/identity.h
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/public/cpp/identity_mojom_traits.h
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/public/cpp/service_test.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/public/cpp/service_test.h
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/public/cpp/test/test_connector_factory.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/public/cpp/test/test_connector_factory.h
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/public/java/src/org/chromium/services/service_manager/Connector.java
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/public/mojom/connector.mojom
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/public/mojom/constants.mojom
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/public/mojom/service.mojom
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/runner/host/service_process_launcher.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/service_manager.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/service_manifests.md
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/standalone/context.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/tests/connect/BUILD.gn
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/tests/connect/connect_test.mojom
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/tests/connect/connect_unittest.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/tests/lifecycle/lifecycle_unittest.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/tests/service_manager/service_manager_listener_unittest.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/service_manager/tests/service_manager/service_manager_unittest.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/test/user_id/public/mojom/BUILD.gn
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/test/user_id/public/mojom/user_id.mojom
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/test/user_id/user_id_service.cc
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/services/test/user_id/user_id_service.h
[modify] https://crrev.com/da7edc6bbc5b5de0d6ac20b8de3e3d458a096ce8/ui/views/mus/views_mus_test_suite.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Nov 10

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

commit 315def7cce5076007e500674ec475e785c180566
Author: Ken Rockot <rockot@google.com>
Date: Sat Nov 10 02:16:10 2018

[service-manager] Make instance_id a Token

Changes Identity's instance ID field from a free-form string to a
base::Token.

Prior to this change, the default instance ID was the empty string. Now
it's a zero-valued token. BindInterface attempts which do not specify an
instance ID implicitly connect to the instance with a zero-valued
instance ID.

All usage of GUIDs where relevant to instance isolation (namely media
CDM and various data decoder helpers) have been changed to Tokens.

Bug:  895591 
Change-Id: Id14c19402f0fd924a2f467bee40860293a5abe16
Reviewed-on: https://chromium-review.googlesource.com/c/1327526
Commit-Queue: Ken Rockot <rockot@google.com>
Reviewed-by: Oksana Zhuravlova <oksamyt@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Xiaohan Wang <xhwang@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607082}
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/chrome/browser/media/library_cdm_test_helper.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/chrome/browser/media/library_cdm_test_helper.h
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/chrome/browser/media/router/data_decoder_util.h
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/chrome/browser/safe_json_parser_browsertest.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/chrome/browser/safe_xml_parser_browsertest.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/chrome/gpu/chrome_content_gpu_client.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/chrome/gpu/chrome_content_gpu_client.h
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/components/cast_channel/cast_message_handler.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/components/cast_channel/cast_message_handler.h
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/components/cast_channel/cast_message_handler_unittest.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/components/cast_channel/cast_test_util.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/content/browser/browser_child_process_host_impl.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/content/browser/media/cdm_registry_impl_unittest.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/content/browser/media/key_system_support_impl_unittest.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/content/browser/media/media_interface_proxy.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/content/browser/media/media_interface_proxy.h
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/content/browser/media/video_decoder_proxy.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/content/browser/media/video_decoder_proxy.h
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/content/browser/renderer_host/render_process_host_impl.h
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/content/common/media/cdm_info.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/content/public/common/cdm_info.h
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/content/public/gpu/content_gpu_client.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/content/public/gpu/content_gpu_client.h
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/content/public/test/mock_render_process_host.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/content/renderer/media/media_interface_factory.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/content/renderer/media/media_interface_factory.h
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/content/renderer/render_thread_impl_browsertest.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/extensions/browser/api/declarative_net_request/utils.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/extensions/browser/sandboxed_unpacker.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/media/cdm/cdm_paths.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/media/cdm/cdm_paths.h
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/media/cdm/cdm_proxy.h
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/media/mojo/interfaces/interface_factory.mojom
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/media/mojo/services/gpu_mojo_media_client.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/media/mojo/services/gpu_mojo_media_client.h
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/media/mojo/services/interface_factory_impl.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/media/mojo/services/interface_factory_impl.h
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/media/mojo/services/media_service_unittest.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/media/mojo/services/mojo_media_client.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/media/mojo/services/mojo_media_client.h
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/media/mojo/services/test_mojo_media_client.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/media/mojo/services/test_mojo_media_client.h
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/services/data_decoder/public/cpp/safe_json_parser.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/services/data_decoder/public/cpp/safe_json_parser.h
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/services/data_decoder/public/cpp/safe_json_parser_impl.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/services/data_decoder/public/cpp/safe_json_parser_impl.h
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/services/data_decoder/public/cpp/safe_xml_parser.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/services/data_decoder/public/cpp/safe_xml_parser.h
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/services/resource_coordinator/memory_instrumentation/coordinator_impl.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/services/service_manager/public/cpp/identity.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/services/service_manager/public/cpp/identity.h
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/services/service_manager/public/cpp/identity_mojom_traits.h
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/services/service_manager/public/java/src/org/chromium/services/service_manager/Connector.java
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/services/service_manager/public/mojom/connector.mojom
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/services/service_manager/service_manager.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/services/service_manager/service_manifests.md
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/services/service_manager/tests/connect/connect_test.mojom
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/services/service_manager/tests/connect/connect_test_app.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/services/service_manager/tests/connect/connect_test_class_app.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/services/service_manager/tests/connect/connect_test_exe.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/services/service_manager/tests/connect/connect_test_package.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/services/service_manager/tests/connect/connect_unittest.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/services/service_manager/tests/service_manager/service_manager_unittest.cc
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/third_party/widevine/cdm/BUILD.gn
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/third_party/widevine/cdm/DEPS
[modify] https://crrev.com/315def7cce5076007e500674ec475e785c180566/third_party/widevine/cdm/widevine_cdm_common.h

Status: Fixed (was: Assigned)
Calling this one done.

Comment 13 by rockot@google.com, Jan 17 (5 days ago)

Blocking: 904240

Sign in to add a comment