| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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/policy/user_policy_manager_factory_chromeos.h" | 5 #include "chrome/browser/chromeos/policy/user_policy_manager_factory_chromeos.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 192 } | 192 } |
| 193 is_active_directory = true; | 193 is_active_directory = true; |
| 194 break; | 194 break; |
| 195 } | 195 } |
| 196 | 196 |
| 197 const bool is_browser_restart = | 197 const bool is_browser_restart = |
| 198 command_line->HasSwitch(chromeos::switches::kLoginUser); | 198 command_line->HasSwitch(chromeos::switches::kLoginUser); |
| 199 const user_manager::UserManager* const user_manager = | 199 const user_manager::UserManager* const user_manager = |
| 200 user_manager::UserManager::Get(); | 200 user_manager::UserManager::Get(); |
| 201 | 201 |
| 202 // We want to block for policy in a few situations: if the user is new, or if | 202 // We want to block for policy if the session has never been initialized |
| 203 // we are forcing an online signin. An online signin will be forced if there | 203 // (generally true if the user is new, or if there was a crash before the |
| 204 // has been a credential error, or if the initial session creation was not | 204 // profile finished initializing). There is code in UserSelectionScreen to |
| 205 // completed (the oauth_token_status is not set to valid by OAuth2LoginManager | 205 // force an online signin for uninitialized sessions to help ensure we are |
| 206 // until profile creation/session restore is complete). | 206 // able to load policy. |
| 207 const bool block_forever_for_policy = | 207 const bool block_forever_for_policy = |
| 208 !user_manager->IsLoggedInAsStub() && | 208 !user_manager->IsLoggedInAsStub() && |
| 209 (user_manager->IsCurrentUserNew() || | 209 !user_manager->GetActiveUser()->profile_ever_initialized(); |
| 210 user_manager->GetActiveUser()->force_online_signin() || | |
| 211 user_manager->GetActiveUser()->oauth_token_status() != | |
| 212 user_manager::User::OAUTH2_TOKEN_STATUS_VALID); | |
| 213 | 210 |
| 214 const bool wait_for_policy_fetch = | 211 const bool wait_for_policy_fetch = |
| 215 block_forever_for_policy || !is_browser_restart; | 212 block_forever_for_policy || !is_browser_restart; |
| 216 | 213 |
| 217 base::TimeDelta initial_policy_fetch_timeout; | 214 base::TimeDelta initial_policy_fetch_timeout; |
| 218 if (block_forever_for_policy) { | 215 if (block_forever_for_policy) { |
| 219 initial_policy_fetch_timeout = base::TimeDelta::Max(); | 216 initial_policy_fetch_timeout = base::TimeDelta::Max(); |
| 220 } else if (wait_for_policy_fetch) { | 217 } else if (wait_for_policy_fetch) { |
| 221 initial_policy_fetch_timeout = | 218 initial_policy_fetch_timeout = |
| 222 base::TimeDelta::FromSeconds(kInitialPolicyFetchTimeoutSeconds); | 219 base::TimeDelta::FromSeconds(kInitialPolicyFetchTimeoutSeconds); |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 325 | 322 |
| 326 bool UserPolicyManagerFactoryChromeOS::HasTestingFactory( | 323 bool UserPolicyManagerFactoryChromeOS::HasTestingFactory( |
| 327 content::BrowserContext* context) { | 324 content::BrowserContext* context) { |
| 328 return false; | 325 return false; |
| 329 } | 326 } |
| 330 | 327 |
| 331 void UserPolicyManagerFactoryChromeOS::CreateServiceNow( | 328 void UserPolicyManagerFactoryChromeOS::CreateServiceNow( |
| 332 content::BrowserContext* context) {} | 329 content::BrowserContext* context) {} |
| 333 | 330 |
| 334 } // namespace policy | 331 } // namespace policy |
| OLD | NEW |