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

Unified Diff: chrome/browser/chromeos/login/screens/device_disabled_screen.cc

Issue 692383005: Add DeviceDisablingManager to manage device disabling (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@f_3_425574_disable_header_bar
Patch Set: Move the parsing of the disabled message to DeviceDisablingManager as well. Created 6 years, 1 month 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/login/screens/device_disabled_screen.cc
diff --git a/chrome/browser/chromeos/login/screens/device_disabled_screen.cc b/chrome/browser/chromeos/login/screens/device_disabled_screen.cc
index d89d7e6c5cbf5429859c813485b7fc330c6670b3..b18e8e164a2d46daa70fd6954fb5c1ee61e789ee 100644
--- a/chrome/browser/chromeos/login/screens/device_disabled_screen.cc
+++ b/chrome/browser/chromeos/login/screens/device_disabled_screen.cc
@@ -6,21 +6,11 @@
#include <string>
-#include "base/bind.h"
-#include "base/command_line.h"
#include "base/logging.h"
-#include "base/prefs/pref_service.h"
-#include "base/values.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/browser_process_platform_part.h"
-#include "chrome/browser/chromeos/login/screens/base_screen_delegate.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
-#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
-#include "chrome/browser/chromeos/policy/enterprise_install_attributes.h"
-#include "chrome/browser/chromeos/policy/server_backed_device_state.h"
-#include "chrome/common/pref_names.h"
-#include "chromeos/chromeos_switches.h"
-#include "components/policy/core/common/cloud/cloud_policy_constants.h"
+#include "chrome/browser/chromeos/system/device_disabling_manager.h"
namespace chromeos {
@@ -29,8 +19,7 @@ DeviceDisabledScreen::DeviceDisabledScreen(
DeviceDisabledScreenActor* actor)
: BaseScreen(base_screen_delegate),
showing_(false),
- actor_(actor),
- weak_factory_(this) {
+ actor_(actor) {
DCHECK(actor_);
if (actor_)
actor_->SetDelegate(this);
@@ -48,40 +37,9 @@ void DeviceDisabledScreen::Show() {
if (!actor_ || showing_)
return;
- if (policy::GetRestoreMode() != policy::RESTORE_MODE_DISABLED ||
- CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kDisableDeviceDisabling)) {
- // Skip the screen if the device is not marked as disabled or device
- // disabling has been turned off by flag.
- IndicateDeviceNotDisabled();
- return;
- }
-
- policy::BrowserPolicyConnectorChromeOS* connector =
- g_browser_process->platform_part()->browser_policy_connector_chromeos();
- if (connector->GetDeviceMode() == policy::DEVICE_MODE_PENDING) {
- // Ensure that the device mode is known before proceeding.
- connector->GetInstallAttributes()->ReadImmutableAttributes(
- base::Bind(&DeviceDisabledScreen::Show,
- weak_factory_.GetWeakPtr()));
- return;
- }
-
- if (connector->GetDeviceMode() != policy::DEVICE_MODE_NOT_SET) {
- // Skip the screen if the device is owned already. The device disabling
- // screen should only be shown during OOBE.
- IndicateDeviceNotDisabled();
- return;
- }
-
showing_ = true;
-
- std::string message;
- g_browser_process->local_state()->GetDictionary(
- prefs::kServerBackedDeviceState)->GetString(
- policy::kDeviceStateDisabledMessage,
- &message);
- actor_->Show(message);
+ actor_->Show(g_browser_process->platform_part()->device_disabling_manager()->
+ GetDisabledMessage());
}
void DeviceDisabledScreen::Hide() {
@@ -102,8 +60,4 @@ void DeviceDisabledScreen::OnActorDestroyed(DeviceDisabledScreenActor* actor) {
actor_ = nullptr;
}
-void DeviceDisabledScreen::IndicateDeviceNotDisabled() {
- get_base_screen_delegate()->OnExit(BaseScreenDelegate::DEVICE_NOT_DISABLED);
-}
-
} // namespace chromeos

Powered by Google App Engine
This is Rietveld 408576698