[iOS] ChromeAccountManagerService: rename pref_service_ -> local_state_
The name "pref_service" is typically understood to refer to the *profile* pref service, but ChromeAccountManagerService actually uses the *local state* pref service. While we're here, this also adds a CHECK_IS_TEST() to ensure the pref service can only be null in tests. Bug: none Change-Id: I1e290bc810477c25f3c7fce36082ffb51921b068 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5964924 Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com> Reviewed-by: Jérôme Lebel <jlebel@chromium.org> Commit-Queue: Marc Treib <treib@chromium.org> Cr-Commit-Position: refs/heads/main@{#1374582}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
26198b17db
commit
62ceef6a5e
ios/chrome/browser/signin/model
@ -61,7 +61,7 @@ class ChromeAccountManagerService : public KeyedService,
|
||||
|
||||
// Initializes the service, getting identities corresponding to `profile_name`
|
||||
// from the AccountProfileMapper.
|
||||
ChromeAccountManagerService(PrefService* pref_service,
|
||||
ChromeAccountManagerService(PrefService* local_state,
|
||||
std::string_view profile_name);
|
||||
ChromeAccountManagerService(const ChromeAccountManagerService&) = delete;
|
||||
ChromeAccountManagerService& operator=(const ChromeAccountManagerService&) =
|
||||
@ -116,16 +116,16 @@ class ChromeAccountManagerService : public KeyedService,
|
||||
id<RefreshAccessTokenError> error) override;
|
||||
|
||||
private:
|
||||
// Updates PatternAccountRestriction with the current `pref_service_`. If
|
||||
// `pref_service_` is null, no identity will be filtered.
|
||||
// Updates PatternAccountRestriction with the current `local_state_`. If
|
||||
// `local_state_` is null, no identity will be filtered.
|
||||
void UpdateRestriction();
|
||||
|
||||
// Returns a ResizedAvatarCache based on `avatar_size`.
|
||||
ResizedAvatarCache* GetAvatarCacheForIdentityAvatarSize(
|
||||
IdentityAvatarSize avatar_size);
|
||||
|
||||
// Used to retrieve restricted patterns.
|
||||
raw_ptr<PrefService> pref_service_ = nullptr;
|
||||
// The local-state pref service, used to retrieve restricted patterns.
|
||||
raw_ptr<PrefService> local_state_ = nullptr;
|
||||
// Used to filter ChromeIdentities.
|
||||
PatternAccountRestriction restriction_;
|
||||
// Used to listen pref change.
|
||||
|
@ -7,6 +7,7 @@
|
||||
#import <string_view>
|
||||
|
||||
#import "base/check.h"
|
||||
#import "base/check_is_test.h"
|
||||
#import "base/memory/raw_ref.h"
|
||||
#import "base/strings/sys_string_conversions.h"
|
||||
#import "components/prefs/pref_service.h"
|
||||
@ -166,21 +167,24 @@ typename Collector::ResultType IterateOverIdentities(
|
||||
|
||||
// Returns the PatternAccountRestriction according to the given PrefService.
|
||||
PatternAccountRestriction PatternAccountRestrictionFromPreference(
|
||||
PrefService* pref_service) {
|
||||
PrefService* local_state) {
|
||||
return PatternAccountRestrictionFromValue(
|
||||
pref_service->GetList(prefs::kRestrictAccountsToPatterns));
|
||||
local_state->GetList(prefs::kRestrictAccountsToPatterns));
|
||||
}
|
||||
|
||||
} // anonymous namespace.
|
||||
|
||||
ChromeAccountManagerService::ChromeAccountManagerService(
|
||||
PrefService* pref_service,
|
||||
PrefService* local_state,
|
||||
std::string_view profile_name)
|
||||
: pref_service_(pref_service), profile_name_(profile_name) {
|
||||
// pref_service is null in test environment. In prod environment pref_service
|
||||
// comes from GetApplicationContext()->GetLocalState() and couldn't be null.
|
||||
if (pref_service_) {
|
||||
registrar_.Init(pref_service_);
|
||||
: local_state_(local_state), profile_name_(profile_name) {
|
||||
// `local_state_` may be null in a test environment. In the prod environment,
|
||||
// `local_state_` comes from GetApplicationContext()->GetLocalState() and
|
||||
// couldn't be null.
|
||||
if (!local_state_) {
|
||||
CHECK_IS_TEST();
|
||||
} else {
|
||||
registrar_.Init(local_state_);
|
||||
registrar_.Add(
|
||||
prefs::kRestrictAccountsToPatterns,
|
||||
base::BindRepeating(&ChromeAccountManagerService::UpdateRestriction,
|
||||
@ -267,9 +271,9 @@ void ChromeAccountManagerService::Shutdown() {
|
||||
for (auto& observer : observer_list_) {
|
||||
observer.OnChromeAccountManagerServiceShutdown(this);
|
||||
}
|
||||
if (pref_service_) {
|
||||
if (local_state_) {
|
||||
registrar_.RemoveAll();
|
||||
pref_service_ = nullptr;
|
||||
local_state_ = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
@ -309,7 +313,7 @@ void ChromeAccountManagerService::OnIdentityAccessTokenRefreshFailed(
|
||||
}
|
||||
|
||||
void ChromeAccountManagerService::UpdateRestriction() {
|
||||
restriction_ = PatternAccountRestrictionFromPreference(pref_service_);
|
||||
restriction_ = PatternAccountRestrictionFromPreference(local_state_);
|
||||
OnIdentityListChanged();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user