New issue
Advanced search Search tips

Issue 809927 link

Starred by 2 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug


Sign in to add a comment

Replace usage of ProfileIdentityProvider by usage of the Identity Service client library

Project Member Reported by blundell@chromium.org, Feb 7 2018

Issue description

ProfileIdentityProvider is not targeted for survival long-term: it is not needed inside the Identity Service implementation, and it is not needed as part of the Identity Service client API. Hence, its usage by consumers should be replaced by usage of the Identity Service client library.

One subtlety when replacing usage in some consumer is the need to check whether that consumer also interacts with device identity via DeviceIdentityProvider. If so, that issue needs to be handled for that consumer.

See blocking bugs for a non-complete list of consumers that need to be converted.
 
Blocking: 796544
Components: Internals>Services>Identity
Status: Available (was: Untriaged)
Blockedon: 729589
Blockedon: 809452
Blockedon: 809435
Blockedon: 809968
Note that IdentityProvider::RequestLogin() does not belong in the Identity Service at this time. When doing these conversions, that functionality can just be separated out if used (i.e., pass the request_login_callback to invoke separately and have the consumer store/invoke it as desired).

Comment 7 by treib@chromium.org, Feb 16 2018

Cc: treib@chromium.org
Project Member

Comment 8 by bugdroid1@chromium.org, Feb 28 2018

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

commit c1f615f31605760aad574209e858dfd5e9bc31dd
Author: Colin Blundell <blundell@chromium.org>
Date: Wed Feb 28 08:05:44 2018

[Autofill] Move CreditCardSaveManager away from using IdentityProvider

CreditCardSaveManager uses IdentityProvider to get the "active username."
In practice it is always a ProfileIdentityProvider instance that is
passed in (cf.  crbug.com/809435 ), and the active username in that
context is the email address of the primary (authenticated) account.

As we are looking to eliminate ProfileIdentityProvider, this CL relpaces
CreditCardSaveManager's usage with equivalent usage of IdentityManager.

Bug:  809435 , 809927
Change-Id: I12fe0523c7297495b362d4360d056b7208b0077f
Reviewed-on: https://chromium-review.googlesource.com/915945
Commit-Queue: Colin Blundell <blundell@chromium.org>
Reviewed-by: Mathieu Perreault <mathp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539750}
[modify] https://crrev.com/c1f615f31605760aad574209e858dfd5e9bc31dd/components/autofill/core/browser/credit_card_save_manager.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Feb 28 2018

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

commit c9d3b816ea51d7fd06fe179046ff15b41c996c45
Author: Colin Blundell <blundell@chromium.org>
Date: Wed Feb 28 09:40:35 2018

[Autofill] Remove unneeded deps on //components/signin

After recent refactorings, //components/autofill no longer uses
//components/signin. This CL rips out dead includes, APIs, and
dependencies.

TBR=jam@chromium.org

Bug:  809435 , 809927
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: If5289bd88003f9e58f1ce404870fd47b0fffa2e3
Reviewed-on: https://chromium-review.googlesource.com/916197
Commit-Queue: Colin Blundell <blundell@chromium.org>
Reviewed-by: Mathieu Perreault <mathp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539770}
[modify] https://crrev.com/c9d3b816ea51d7fd06fe179046ff15b41c996c45/android_webview/browser/aw_autofill_client.cc
[modify] https://crrev.com/c9d3b816ea51d7fd06fe179046ff15b41c996c45/android_webview/browser/aw_autofill_client.h
[modify] https://crrev.com/c9d3b816ea51d7fd06fe179046ff15b41c996c45/chrome/browser/ui/autofill/chrome_autofill_client.cc
[modify] https://crrev.com/c9d3b816ea51d7fd06fe179046ff15b41c996c45/chrome/browser/ui/autofill/chrome_autofill_client.h
[modify] https://crrev.com/c9d3b816ea51d7fd06fe179046ff15b41c996c45/components/autofill/core/browser/BUILD.gn
[modify] https://crrev.com/c9d3b816ea51d7fd06fe179046ff15b41c996c45/components/autofill/core/browser/DEPS
[modify] https://crrev.com/c9d3b816ea51d7fd06fe179046ff15b41c996c45/components/autofill/core/browser/autofill_client.h
[modify] https://crrev.com/c9d3b816ea51d7fd06fe179046ff15b41c996c45/components/autofill/core/browser/autofill_manager.cc
[modify] https://crrev.com/c9d3b816ea51d7fd06fe179046ff15b41c996c45/components/autofill/core/browser/autofill_test_utils.cc
[modify] https://crrev.com/c9d3b816ea51d7fd06fe179046ff15b41c996c45/components/autofill/core/browser/test_autofill_client.cc
[modify] https://crrev.com/c9d3b816ea51d7fd06fe179046ff15b41c996c45/components/autofill/core/browser/test_autofill_client.h
[modify] https://crrev.com/c9d3b816ea51d7fd06fe179046ff15b41c996c45/ios/chrome/browser/autofill/autofill_controller.mm
[modify] https://crrev.com/c9d3b816ea51d7fd06fe179046ff15b41c996c45/ios/chrome/browser/ui/autofill/chrome_autofill_client_ios.h
[modify] https://crrev.com/c9d3b816ea51d7fd06fe179046ff15b41c996c45/ios/chrome/browser/ui/autofill/chrome_autofill_client_ios.mm
[modify] https://crrev.com/c9d3b816ea51d7fd06fe179046ff15b41c996c45/ios/web_view/internal/autofill/cwv_autofill_controller.mm
[modify] https://crrev.com/c9d3b816ea51d7fd06fe179046ff15b41c996c45/ios/web_view/internal/autofill/web_view_autofill_client_ios.h
[modify] https://crrev.com/c9d3b816ea51d7fd06fe179046ff15b41c996c45/ios/web_view/internal/autofill/web_view_autofill_client_ios.mm

Project Member

Comment 10 by bugdroid1@chromium.org, May 23 2018

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

commit 12b411d210a244ae501ca7fae57ce3e47f2bda7e
Author: Colin Blundell <blundell@chromium.org>
Date: Wed May 23 09:24:26 2018

google_apis: Remove RequestLogin() from IdentityProvider

This method is not used, and removing it is a nice clarification of
the use case of this interface.

TBR=jochen@chromium.org

Bug: 809927
Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I2ff8915f93612f029172f4b6478b7ea9eb04b9e6
Reviewed-on: https://chromium-review.googlesource.com/1046847
Commit-Queue: Colin Blundell <blundell@chromium.org>
Reviewed-by: Colin Blundell <blundell@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Roger Tawa <rogerta@chromium.org>
Cr-Commit-Position: refs/heads/master@{#561016}
[modify] https://crrev.com/12b411d210a244ae501ca7fae57ce3e47f2bda7e/chrome/browser/chromeos/settings/device_identity_provider.cc
[modify] https://crrev.com/12b411d210a244ae501ca7fae57ce3e47f2bda7e/chrome/browser/chromeos/settings/device_identity_provider.h
[modify] https://crrev.com/12b411d210a244ae501ca7fae57ce3e47f2bda7e/chrome/browser/extensions/updater/chrome_extension_downloader_factory.cc
[modify] https://crrev.com/12b411d210a244ae501ca7fae57ce3e47f2bda7e/chrome/browser/invalidation/profile_invalidation_provider_factory.cc
[modify] https://crrev.com/12b411d210a244ae501ca7fae57ce3e47f2bda7e/components/signin/core/browser/profile_identity_provider.cc
[modify] https://crrev.com/12b411d210a244ae501ca7fae57ce3e47f2bda7e/components/signin/core/browser/profile_identity_provider.h
[modify] https://crrev.com/12b411d210a244ae501ca7fae57ce3e47f2bda7e/google_apis/gaia/fake_identity_provider.cc
[modify] https://crrev.com/12b411d210a244ae501ca7fae57ce3e47f2bda7e/google_apis/gaia/fake_identity_provider.h
[modify] https://crrev.com/12b411d210a244ae501ca7fae57ce3e47f2bda7e/google_apis/gaia/identity_provider.h
[modify] https://crrev.com/12b411d210a244ae501ca7fae57ce3e47f2bda7e/ios/chrome/browser/invalidation/ios_chrome_profile_invalidation_provider_factory.mm

Project Member

Comment 11 by bugdroid1@chromium.org, May 23 2018

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

commit 0610146f3b67f0e78c0415ecf098f3a92ac34ac1
Author: Colin Blundell <blundell@chromium.org>
Date: Wed May 23 10:23:23 2018

Port ExtensionDownloader away from IdentityProvider

IdentityProvider is deprecated as a general-purpose means of interacting
with the user's Google accounts. This CL ports ExtensionDownloader
away from it, having it instead take in the OAuth2TokenService directly
as well as a callback that returns the account to use with the webstore.
It also clarifies the lifetime relationship between ExtensionDownloader
and the ProfileOAuth2TokenService/SigninManager instances on which it
depends for authentication.

In the long term ExtensionDownloader will be ported to interact with the
Identity Service for its use case. This CL is an incremental step on the
path that also fills the more near-term goal of eliminating usages of
IdentityProvider.

Bug:  809966 , 809927
Change-Id: I6b82cc318bd807d559e1701391ed3e02fcb489aa
Reviewed-on: https://chromium-review.googlesource.com/1051810
Commit-Queue: Colin Blundell <blundell@chromium.org>
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#561024}
[modify] https://crrev.com/0610146f3b67f0e78c0415ecf098f3a92ac34ac1/chrome/browser/extensions/extension_system_factory.cc
[modify] https://crrev.com/0610146f3b67f0e78c0415ecf098f3a92ac34ac1/chrome/browser/extensions/updater/chrome_extension_downloader_factory.cc
[modify] https://crrev.com/0610146f3b67f0e78c0415ecf098f3a92ac34ac1/chrome/browser/extensions/updater/extension_updater_unittest.cc
[modify] https://crrev.com/0610146f3b67f0e78c0415ecf098f3a92ac34ac1/extensions/browser/updater/extension_downloader.cc
[modify] https://crrev.com/0610146f3b67f0e78c0415ecf098f3a92ac34ac1/extensions/browser/updater/extension_downloader.h

Sign in to add a comment