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

Unified Diff: chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.cc

Issue 330843002: Make the policy fetch for first time login blocking (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Adds comment in LoginUtilTest Created 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.cc
diff --git a/chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.cc b/chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.cc
index 48091bdd93e4b5d9ad95797213f5aee74b2e0914..ad922d83194ef17c758ee71d9bddd36a977f76e0 100644
--- a/chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.cc
+++ b/chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.cc
@@ -17,6 +17,7 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chromeos/login/login_utils.h"
#include "chrome/browser/chromeos/login/users/user.h"
+#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/policy/user_cloud_external_data_manager.h"
#include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h"
@@ -29,6 +30,7 @@
#include "chromeos/chromeos_switches.h"
#include "chromeos/dbus/dbus_thread_manager.h"
#include "components/keyed_service/content/browser_context_dependency_manager.h"
+#include "components/policy/core/browser/browser_policy_connector.h"
#include "components/policy/core/common/cloud/cloud_external_data_manager.h"
#include "components/policy/core/common/cloud/device_management_service.h"
#include "components/user_manager/user_type.h"
@@ -138,6 +140,8 @@ scoped_ptr<UserCloudPolicyManagerChromeOS>
BrowserPolicyConnector::IsNonEnterpriseUser(username)) {
return scoped_ptr<UserCloudPolicyManagerChromeOS>();
}
+ // If the user is known to be a non enterprise user, we don't reach this code.
+ DCHECK(!BrowserPolicyConnector::IsNonEnterpriseUser(username));
Joao da Silva 2014/07/09 12:31:16 This is guaranteed by the statement immediately be
kaliamoorthi 2014/07/11 10:05:19 Done.
policy::BrowserPolicyConnectorChromeOS* connector =
g_browser_process->platform_part()->browser_policy_connector_chromeos();
@@ -145,7 +149,15 @@ scoped_ptr<UserCloudPolicyManagerChromeOS>
const bool is_managed_user = affiliation == USER_AFFILIATION_MANAGED;
bartfab (slow) 2014/07/08 17:40:33 Nit: Better s/is_managed_user/is_affiliated_user/.
kaliamoorthi 2014/07/11 10:05:20 Done.
const bool is_browser_restart =
command_line->HasSwitch(chromeos::switches::kLoginUser);
- const bool wait_for_initial_policy = is_managed_user && !is_browser_restart;
+ const bool wait_for_initial_policy =
+ (chromeos::UserManager::Get()->IsCurrentUserNew() ? true
Andrew T Wilson (Slow) 2014/07/09 13:37:59 Nit: I think: IsCurrentUserNew() || is_managed_us
kaliamoorthi 2014/07/11 10:05:19 Done.
+ : is_managed_user) &&
+ !is_browser_restart;
+
+ const base::TimeDelta initial_policy_fetch_timeout =
+ chromeos::UserManager::Get()->IsCurrentUserNew()
+ ? base::TimeDelta::Max()
+ : base::TimeDelta::FromSeconds(kInitialPolicyFetchTimeoutSeconds);
DeviceManagementService* device_management_service =
connector->device_management_service();
@@ -195,7 +207,7 @@ scoped_ptr<UserCloudPolicyManagerChromeOS>
external_data_manager.Pass(),
component_policy_cache_dir,
wait_for_initial_policy,
- base::TimeDelta::FromSeconds(kInitialPolicyFetchTimeoutSeconds),
+ initial_policy_fetch_timeout,
base::MessageLoopProxy::current(),
file_task_runner,
io_task_runner));

Powered by Google App Engine
This is Rietveld 408576698