| OLD | NEW |
| 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/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 127 | 127 |
| 128 profile_ = profile; | 128 profile_ = profile; |
| 129 // Reuse storage used in ARC OptIn platform app. | 129 // Reuse storage used in ARC OptIn platform app. |
| 130 const std::string site_url = | 130 const std::string site_url = |
| 131 base::StringPrintf("%s://%s/persist?%s", content::kGuestScheme, | 131 base::StringPrintf("%s://%s/persist?%s", content::kGuestScheme, |
| 132 kArcSupportExtensionId, kArcSupportStorageId); | 132 kArcSupportExtensionId, kArcSupportStorageId); |
| 133 storage_partition_ = content::BrowserContext::GetStoragePartitionForSite( | 133 storage_partition_ = content::BrowserContext::GetStoragePartitionForSite( |
| 134 profile_, GURL(site_url)); | 134 profile_, GURL(site_url)); |
| 135 CHECK(storage_partition_); | 135 CHECK(storage_partition_); |
| 136 | 136 |
| 137 // In case UI is disabled we assume that ARC is opted-in. | 137 pref_change_registrar_.Init(profile_->GetPrefs()); |
| 138 if (!IsOptInVerificationDisabled()) { | 138 pref_change_registrar_.Add( |
| 139 pref_change_registrar_.Init(profile_->GetPrefs()); | 139 prefs::kArcEnabled, base::Bind(&ArcAuthService::OnOptInPreferenceChanged, |
| 140 pref_change_registrar_.Add( | 140 base::Unretained(this))); |
| 141 prefs::kArcEnabled, | 141 OnOptInPreferenceChanged(); |
| 142 base::Bind(&ArcAuthService::OnOptInPreferenceChanged, | |
| 143 base::Unretained(this))); | |
| 144 OnOptInPreferenceChanged(); | |
| 145 } else { | |
| 146 auth_code_.clear(); | |
| 147 ArcBridgeService::Get()->HandleStartup(); | |
| 148 SetState(State::ENABLE); | |
| 149 } | |
| 150 } | 142 } |
| 151 | 143 |
| 152 void ArcAuthService::Shutdown() { | 144 void ArcAuthService::Shutdown() { |
| 153 ShutdownBridgeAndCloseUI(); | 145 ShutdownBridgeAndCloseUI(); |
| 154 profile_ = nullptr; | 146 profile_ = nullptr; |
| 155 pref_change_registrar_.RemoveAll(); | 147 pref_change_registrar_.RemoveAll(); |
| 156 } | 148 } |
| 157 | 149 |
| 158 void ArcAuthService::OnMergeSessionSuccess(const std::string& data) { | 150 void ArcAuthService::OnMergeSessionSuccess(const std::string& data) { |
| 159 DCHECK(thread_checker_.CalledOnValidThread()); | 151 DCHECK(thread_checker_.CalledOnValidThread()); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 189 VLOG(2) << "Failed to get ubertoken " << error.ToString() << "."; | 181 VLOG(2) << "Failed to get ubertoken " << error.ToString() << "."; |
| 190 OnAuthCodeFailed(); | 182 OnAuthCodeFailed(); |
| 191 } | 183 } |
| 192 | 184 |
| 193 void ArcAuthService::OnOptInPreferenceChanged() { | 185 void ArcAuthService::OnOptInPreferenceChanged() { |
| 194 DCHECK(thread_checker_.CalledOnValidThread()); | 186 DCHECK(thread_checker_.CalledOnValidThread()); |
| 195 DCHECK(profile_); | 187 DCHECK(profile_); |
| 196 | 188 |
| 197 if (profile_->GetPrefs()->GetBoolean(prefs::kArcEnabled)) { | 189 if (profile_->GetPrefs()->GetBoolean(prefs::kArcEnabled)) { |
| 198 if (state_ != State::ENABLE) { | 190 if (state_ != State::ENABLE) { |
| 199 CloseUI(); | |
| 200 auth_code_.clear(); | 191 auth_code_.clear(); |
| 201 SetState(State::FETCHING_CODE); | 192 if (!IsOptInVerificationDisabled()) { |
| 202 FetchAuthCode(); | 193 CloseUI(); |
| 194 SetState(State::FETCHING_CODE); |
| 195 FetchAuthCode(); |
| 196 } else { |
| 197 ArcBridgeService::Get()->HandleStartup(); |
| 198 SetState(State::ENABLE); |
| 199 } |
| 203 } | 200 } |
| 204 } else { | 201 } else { |
| 205 ShutdownBridgeAndCloseUI(); | 202 ShutdownBridgeAndCloseUI(); |
| 206 } | 203 } |
| 207 } | 204 } |
| 208 | 205 |
| 209 void ArcAuthService::ShutdownBridgeAndCloseUI() { | 206 void ArcAuthService::ShutdownBridgeAndCloseUI() { |
| 210 CloseUI(); | 207 CloseUI(); |
| 211 auth_fetcher_.reset(); | 208 auth_fetcher_.reset(); |
| 212 ubertoken_fethcher_.reset(); | 209 ubertoken_fethcher_.reset(); |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 313 return os << kStateNoCode; | 310 return os << kStateNoCode; |
| 314 case ArcAuthService::State::ENABLE: | 311 case ArcAuthService::State::ENABLE: |
| 315 return os << kStateEnable; | 312 return os << kStateEnable; |
| 316 default: | 313 default: |
| 317 NOTREACHED(); | 314 NOTREACHED(); |
| 318 return os; | 315 return os; |
| 319 } | 316 } |
| 320 } | 317 } |
| 321 | 318 |
| 322 } // namespace arc | 319 } // namespace arc |
| OLD | NEW |