Create initial split of //components/signin into internals/externals

//components/signin/core/browser contains three different types of code:

1. Code that forms the guts of IdentityManager and will form the guts of
the Identity Service implementation (e.g., SigninManager).

2. Code that will be clients of IdentityManager (e.g., SigninTracker).

3. Code that will be used on both sides (e.g., AccountInfo).

Currently, all of these are naturally grouped in the same GN target,
since there was never any distinction between them. However, we need to
separate them in GN now to enable converting the code in 2 to use
IdentityManager. This split will also define the scope of the conversion
of the codebase to IdentityManager: everything that is in 1 will need to
have its clients converted to use IdentityManager.

This CL performs an initial split, via the following process:

- Moved signin_manager(_base).*, profile_oauth2_token_service.*, and
  account_tracker_service.* into a new "internals" target that the
  existing target now depends on.
- Kept moving in code (and adding dependencies as needed) until
  "gn check" no longer complained about the "internals" target including
  code that wasn't in any dependencies.

This CL also modifies //services/identity/public/cpp to depend only on
//components/signin/core/browser:internals; this change is is the
concrete benefit from doing the split, as it is what will allow us to
convert client code in //components/signin/core/browser.

Future CLs will refine the split, but this is a good initial checkpoint.

Bug: 901859
Change-Id: Ied46c4cdf0153b78b53516fec9537a83c4c0a71d
Reviewed-by: Mihai Sardarescu <>
Commit-Queue: Colin Blundell <>
Cr-Commit-Position: refs/heads/master@{#605671}
2 files changed