Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(273)

Side by Side Diff: chrome/browser/chromeos/arc/arc_auth_service.cc

Issue 2149853004: arc: Implement safe access to ArcAuthService. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update arc unit tests expectations for not-allowed profiles. Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/arc/arc_auth_service.h" 5 #include "chrome/browser/chromeos/arc/arc_auth_service.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "ash/shelf/shelf_delegate.h" 9 #include "ash/shelf/shelf_delegate.h"
10 #include "ash/shell.h" 10 #include "ash/shell.h"
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 335 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
336 return profile_ != nullptr; 336 return profile_ != nullptr;
337 } 337 }
338 338
339 void ArcAuthService::OnPrimaryUserProfilePrepared(Profile* profile) { 339 void ArcAuthService::OnPrimaryUserProfilePrepared(Profile* profile) {
340 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 340 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
341 DCHECK(profile && profile != profile_); 341 DCHECK(profile && profile != profile_);
342 342
343 Shutdown(); 343 Shutdown();
344 344
345 profile_ = profile;
346 SetState(State::STOPPED);
347
348 if (!IsAllowedForProfile(profile)) 345 if (!IsAllowedForProfile(profile))
349 return; 346 return;
350 347
351 // TODO(khmel): Move this to IsAllowedForProfile. 348 // TODO(khmel): Move this to IsAllowedForProfile.
352 if (IsArcDisabledForEnterprise() && IsAccountManaged(profile)) { 349 if (IsArcDisabledForEnterprise() && IsAccountManaged(profile)) {
353 VLOG(2) << "Enterprise users are not supported in ARC."; 350 VLOG(2) << "Enterprise users are not supported in ARC.";
354 return; 351 return;
355 } 352 }
356 353
354 profile_ = profile;
355 SetState(State::STOPPED);
356
357 PrefServiceSyncableFromProfile(profile_)->AddSyncedPrefObserver( 357 PrefServiceSyncableFromProfile(profile_)->AddSyncedPrefObserver(
358 prefs::kArcEnabled, this); 358 prefs::kArcEnabled, this);
359 359
360 context_.reset(new ArcAuthContext(this, profile_)); 360 context_.reset(new ArcAuthContext(this, profile_));
361 361
362 // In case UI is disabled we assume that ARC is opted-in. 362 // In case UI is disabled we assume that ARC is opted-in.
363 if (IsOptInVerificationDisabled()) { 363 if (IsOptInVerificationDisabled()) {
364 auth_code_.clear(); 364 auth_code_.clear();
365 StartArc(); 365 StartArc();
366 return; 366 return;
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
630 } 630 }
631 631
632 bool ArcAuthService::IsArcManaged() const { 632 bool ArcAuthService::IsArcManaged() const {
633 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 633 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
634 DCHECK(profile_); 634 DCHECK(profile_);
635 return profile_->GetPrefs()->IsManagedPreference(prefs::kArcEnabled); 635 return profile_->GetPrefs()->IsManagedPreference(prefs::kArcEnabled);
636 } 636 }
637 637
638 bool ArcAuthService::IsArcEnabled() const { 638 bool ArcAuthService::IsArcEnabled() const {
639 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 639 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
640 if (!IsAllowed())
641 return false;
642
640 DCHECK(profile_); 643 DCHECK(profile_);
641 return profile_->GetPrefs()->GetBoolean(prefs::kArcEnabled); 644 return profile_->GetPrefs()->GetBoolean(prefs::kArcEnabled);
642 } 645 }
643 646
644 void ArcAuthService::EnableArc() { 647 void ArcAuthService::EnableArc() {
645 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 648 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
646 DCHECK(profile_); 649 DCHECK(profile_);
647 650
648 if (IsArcEnabled()) { 651 if (IsArcEnabled()) {
649 OnOptInPreferenceChanged(); 652 OnOptInPreferenceChanged();
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
751 return os << kStateFetchingCode; 754 return os << kStateFetchingCode;
752 case ArcAuthService::State::ACTIVE: 755 case ArcAuthService::State::ACTIVE:
753 return os << kStateActive; 756 return os << kStateActive;
754 default: 757 default:
755 NOTREACHED(); 758 NOTREACHED();
756 return os; 759 return os;
757 } 760 }
758 } 761 }
759 762
760 } // namespace arc 763 } // namespace arc
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/arc/arc_auth_service.h ('k') | chrome/browser/chromeos/arc/arc_auth_service_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698