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

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

Issue 1829703002: Add ArcEnabled policy implementation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed comments. Created 4 years, 8 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
« no previous file with comments | « chrome/browser/chromeos/arc/arc_auth_service.h ('k') | chrome/browser/policy/DEPS » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "base/bind.h"
10 #include "base/bind_helpers.h"
9 #include "base/command_line.h" 11 #include "base/command_line.h"
10 #include "base/strings/stringprintf.h" 12 #include "base/strings/stringprintf.h"
11 #include "chrome/browser/chromeos/arc/arc_auth_notification.h" 13 #include "chrome/browser/chromeos/arc/arc_auth_notification.h"
12 #include "chrome/browser/chromeos/arc/arc_optin_uma.h" 14 #include "chrome/browser/chromeos/arc/arc_optin_uma.h"
13 #include "chrome/browser/chromeos/profiles/profile_helper.h" 15 #include "chrome/browser/chromeos/profiles/profile_helper.h"
14 #include "chrome/browser/extensions/extension_util.h" 16 #include "chrome/browser/extensions/extension_util.h"
15 #include "chrome/browser/policy/profile_policy_connector.h" 17 #include "chrome/browser/policy/profile_policy_connector.h"
16 #include "chrome/browser/policy/profile_policy_connector_factory.h" 18 #include "chrome/browser/policy/profile_policy_connector_factory.h"
17 #include "chrome/browser/prefs/pref_service_syncable_util.h" 19 #include "chrome/browser/prefs/pref_service_syncable_util.h"
18 #include "chrome/browser/profiles/profile.h" 20 #include "chrome/browser/profiles/profile.h"
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 // Reuse storage used in ARC OptIn platform app. 219 // Reuse storage used in ARC OptIn platform app.
218 const std::string site_url = 220 const std::string site_url =
219 base::StringPrintf("%s://%s/persist?%s", content::kGuestScheme, 221 base::StringPrintf("%s://%s/persist?%s", content::kGuestScheme,
220 kArcSupportExtensionId, kArcSupportStorageId); 222 kArcSupportExtensionId, kArcSupportStorageId);
221 storage_partition_ = content::BrowserContext::GetStoragePartitionForSite( 223 storage_partition_ = content::BrowserContext::GetStoragePartitionForSite(
222 profile_, GURL(site_url)); 224 profile_, GURL(site_url));
223 CHECK(storage_partition_); 225 CHECK(storage_partition_);
224 226
225 // In case UI is disabled we assume that ARC is opted-in. 227 // In case UI is disabled we assume that ARC is opted-in.
226 if (!IsOptInVerificationDisabled()) { 228 if (!IsOptInVerificationDisabled()) {
229 pref_change_registrar_.Init(profile_->GetPrefs());
230 pref_change_registrar_.Add(
231 prefs::kArcEnabled,
232 base::Bind(&ArcAuthService::OnOptInPreferenceChanged,
233 base::Unretained(this)));
227 if (profile_->GetPrefs()->GetBoolean(prefs::kArcEnabled)) { 234 if (profile_->GetPrefs()->GetBoolean(prefs::kArcEnabled)) {
228 OnOptInPreferenceChanged(); 235 OnOptInPreferenceChanged();
229 } else { 236 } else {
230 UpdateEnabledStateUMA(false); 237 UpdateEnabledStateUMA(false);
231 if (!disable_ui_for_testing && profile_->IsNewProfile()) { 238 if (!disable_ui_for_testing && profile_->IsNewProfile()) {
232 PrefServiceSyncableFromProfile(profile_)->AddObserver(this); 239 PrefServiceSyncableFromProfile(profile_)->AddObserver(this);
233 OnIsSyncingChanged(); 240 OnIsSyncingChanged();
234 } 241 }
235 } 242 }
236 } else { 243 } else {
(...skipping 14 matching lines...) Expand all
251 } 258 }
252 259
253 void ArcAuthService::Shutdown() { 260 void ArcAuthService::Shutdown() {
254 ShutdownBridgeAndCloseUI(); 261 ShutdownBridgeAndCloseUI();
255 if (profile_) { 262 if (profile_) {
256 syncable_prefs::PrefServiceSyncable* pref_service_syncable = 263 syncable_prefs::PrefServiceSyncable* pref_service_syncable =
257 PrefServiceSyncableFromProfile(profile_); 264 PrefServiceSyncableFromProfile(profile_);
258 pref_service_syncable->RemoveObserver(this); 265 pref_service_syncable->RemoveObserver(this);
259 pref_service_syncable->RemoveSyncedPrefObserver(prefs::kArcEnabled, this); 266 pref_service_syncable->RemoveSyncedPrefObserver(prefs::kArcEnabled, this);
260 } 267 }
268 pref_change_registrar_.RemoveAll();
261 profile_ = nullptr; 269 profile_ = nullptr;
262 } 270 }
263 271
264 void ArcAuthService::ShowUI(UIPage page, const base::string16& status) { 272 void ArcAuthService::ShowUI(UIPage page, const base::string16& status) {
265 if (disable_ui_for_testing || IsOptInVerificationDisabled()) 273 if (disable_ui_for_testing || IsOptInVerificationDisabled())
266 return; 274 return;
267 275
268 SetUIPage(page, status); 276 SetUIPage(page, status);
269 const extensions::AppWindowRegistry* const app_window_registry = 277 const extensions::AppWindowRegistry* const app_window_registry =
270 extensions::AppWindowRegistry::Get(profile_); 278 extensions::AppWindowRegistry::Get(profile_);
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 void ArcAuthService::OnSyncedPrefChanged(const std::string& path, 322 void ArcAuthService::OnSyncedPrefChanged(const std::string& path,
315 bool from_sync) { 323 bool from_sync) {
316 DCHECK(thread_checker_.CalledOnValidThread()); 324 DCHECK(thread_checker_.CalledOnValidThread());
317 325
318 // Update UMA only for local changes 326 // Update UMA only for local changes
319 if (!from_sync) { 327 if (!from_sync) {
320 UpdateOptInActionUMA(profile_->GetPrefs()->GetBoolean(prefs::kArcEnabled) 328 UpdateOptInActionUMA(profile_->GetPrefs()->GetBoolean(prefs::kArcEnabled)
321 ? OptInActionType::OPTED_IN 329 ? OptInActionType::OPTED_IN
322 : OptInActionType::OPTED_OUT); 330 : OptInActionType::OPTED_OUT);
323 } 331 }
324
325 OnOptInPreferenceChanged();
326 } 332 }
327 333
328 void ArcAuthService::OnOptInPreferenceChanged() { 334 void ArcAuthService::OnOptInPreferenceChanged() {
329 DCHECK(thread_checker_.CalledOnValidThread()); 335 DCHECK(thread_checker_.CalledOnValidThread());
330 DCHECK(profile_); 336 DCHECK(profile_);
331 337
332 if (profile_->GetPrefs()->GetBoolean(prefs::kArcEnabled)) { 338 if (profile_->GetPrefs()->GetBoolean(prefs::kArcEnabled)) {
333 if (state_ != State::ACTIVE) { 339 if (state_ != State::ACTIVE) {
334 CloseUI(); 340 CloseUI();
335 auth_code_.clear(); 341 auth_code_.clear();
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
526 return os << kStateFetchingCode; 532 return os << kStateFetchingCode;
527 case ArcAuthService::State::ACTIVE: 533 case ArcAuthService::State::ACTIVE:
528 return os << kStateActive; 534 return os << kStateActive;
529 default: 535 default:
530 NOTREACHED(); 536 NOTREACHED();
531 return os; 537 return os;
532 } 538 }
533 } 539 }
534 540
535 } // namespace arc 541 } // namespace arc
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/arc/arc_auth_service.h ('k') | chrome/browser/policy/DEPS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698