| Index: chrome/browser/ui/webui/policy_ui.cc
|
| diff --git a/chrome/browser/ui/webui/policy_ui.cc b/chrome/browser/ui/webui/policy_ui.cc
|
| index d2e73e74be61fda360dd2c42cc5b626cb4339405..32aa620785d2b719e101121dab6660ced3269c2d 100644
|
| --- a/chrome/browser/ui/webui/policy_ui.cc
|
| +++ b/chrome/browser/ui/webui/policy_ui.cc
|
| @@ -36,6 +36,7 @@
|
| #include "components/policy/core/common/policy_namespace.h"
|
| #include "components/policy/core/common/policy_service.h"
|
| #include "components/policy/core/common/policy_types.h"
|
| +#include "components/policy/core/common/remote_commands/remote_commands_service.h"
|
| #include "components/policy/core/common/schema.h"
|
| #include "components/policy/core/common/schema_map.h"
|
| #include "components/policy/core/common/schema_registry.h"
|
| @@ -52,6 +53,7 @@
|
| #include "ui/base/l10n/time_format.h"
|
|
|
| #if defined(OS_CHROMEOS)
|
| +#include "chrome/browser/browser_process_platform_part.h"
|
| #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
|
| #include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h"
|
| #include "chrome/browser/chromeos/policy/device_local_account_policy_service.h"
|
| @@ -807,9 +809,22 @@ void PolicyUIHandler::HandleInitialized(const base::ListValue* args) {
|
| }
|
|
|
| void PolicyUIHandler::HandleReloadPolicies(const base::ListValue* args) {
|
| - GetPolicyService()->RefreshPolicies(
|
| - base::Bind(&PolicyUIHandler::OnRefreshPoliciesDone,
|
| - weak_factory_.GetWeakPtr()));
|
| +#if defined(OS_CHROMEOS)
|
| + // Allow user to manually fetch remote commands, in case invalidation
|
| + // service is not working properly.
|
| + // TODO(binjin): evaluate and possibly remove this after invalidation
|
| + // service is landed and tested. http://crbug.com/480982
|
| + policy::BrowserPolicyConnectorChromeOS* connector =
|
| + g_browser_process->platform_part()->browser_policy_connector_chromeos();
|
| + policy::RemoteCommandsService* remote_commands_service =
|
| + connector->GetDeviceCloudPolicyManager()
|
| + ->core()
|
| + ->remote_commands_service();
|
| + if (remote_commands_service)
|
| + remote_commands_service->FetchRemoteCommands();
|
| +#endif
|
| + GetPolicyService()->RefreshPolicies(base::Bind(
|
| + &PolicyUIHandler::OnRefreshPoliciesDone, weak_factory_.GetWeakPtr()));
|
| }
|
|
|
| void PolicyUIHandler::OnRefreshPoliciesDone() const {
|
|
|