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

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: Rebased and modified existing leak suppression to account for symbol changes 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..dc726fd6cdcd39a04ed61e138b1c25fd08102f2d 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"
@@ -133,6 +135,7 @@ scoped_ptr<UserCloudPolicyManagerChromeOS>
// policy registration.
// USER_TYPE_PUBLIC_ACCOUNT gets its policy from the
// DeviceLocalAccountPolicyService.
+ // Non-managed domains will be skipped by the below check
const std::string& username = user->email();
if (user->GetType() != user_manager::USER_TYPE_REGULAR ||
BrowserPolicyConnector::IsNonEnterpriseUser(username)) {
@@ -142,10 +145,17 @@ scoped_ptr<UserCloudPolicyManagerChromeOS>
policy::BrowserPolicyConnectorChromeOS* connector =
g_browser_process->platform_part()->browser_policy_connector_chromeos();
UserAffiliation affiliation = connector->GetUserAffiliation(username);
- const bool is_managed_user = affiliation == USER_AFFILIATION_MANAGED;
+ const bool is_affiliated_user = affiliation == USER_AFFILIATION_MANAGED;
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 =
+ !is_browser_restart &&
+ (chromeos::UserManager::Get()->IsCurrentUserNew() || is_affiliated_user);
+
+ 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 +205,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));
« no previous file with comments | « chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos_browsertest.cc ('k') | chrome/chrome_tests.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698