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

Side by Side Diff: chrome/browser/ui/webui/chromeos/login/reset_screen_handler.cc

Issue 10928088: Factory reset screen is added (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixed formatting Created 8 years, 3 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/ui/webui/chromeos/login/reset_screen_handler.h"
6
7 #include <string>
8
9 #include "base/bind.h"
10 #include "base/values.h"
11 #include "chromeos/dbus/dbus_thread_manager.h"
12 #include "chromeos/dbus/session_manager_client.h"
13 #include "grit/browser_resources.h"
14 #include "grit/chromium_strings.h"
15 #include "grit/generated_resources.h"
16 #include "ui/base/l10n/l10n_util.h"
17
18 namespace {
19
20 // Reset screen id.
21 const char kResetScreen[] = "reset";
22
23 } // namespace
24
25 namespace chromeos {
26
27 ResetScreenHandler::ResetScreenHandler()
28 : delegate_(NULL), show_on_init_(false) {
29 }
30
31 ResetScreenHandler::~ResetScreenHandler() {
32 if (delegate_)
33 delegate_->OnActorDestroyed(this);
34 }
35
36 void ResetScreenHandler::PrepareToShow() {
37 }
38
39 void ResetScreenHandler::Show() {
40 if (!page_is_ready()) {
41 show_on_init_ = true;
42 return;
43 }
44 ShowScreen(kResetScreen, NULL);
45 }
46
47 void ResetScreenHandler::Hide() {
48 }
49
50 void ResetScreenHandler::SetDelegate(Delegate* delegate) {
51 delegate_ = delegate;
52 if (page_is_ready())
53 Initialize();
54 }
55
56 void ResetScreenHandler::GetLocalizedStrings(
57 base::DictionaryValue* localized_strings) {
58 localized_strings->SetString(
59 "resetScreenTitle", l10n_util::GetStringUTF16(IDS_RESET_SCREEN_TITLE));
60 localized_strings->SetString(
61 "resetWarningText",
62 l10n_util::GetStringFUTF16(
63 IDS_RESET_SCREEN_WARNING_MSG,
64 l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME)));
65 localized_strings->SetString(
66 "resetWarningDetails",
67 l10n_util::GetStringUTF16(IDS_RESET_SCREEN_WARNING_DETAILS));
68 localized_strings->SetString(
69 "cancelButton", l10n_util::GetStringUTF16(IDS_CANCEL));
70 localized_strings->SetString(
71 "resetButton", l10n_util::GetStringUTF16(IDS_RESET_SCREEN_RESET));
72 }
73
74 void ResetScreenHandler::Initialize() {
75 if (!page_is_ready() || !delegate_)
76 return;
77
78 if (show_on_init_) {
79 Show();
80 show_on_init_ = false;
81 }
82 }
83
84 void ResetScreenHandler::RegisterMessages() {
85 web_ui()->RegisterMessageCallback("resetOnCancel",
86 base::Bind(&ResetScreenHandler::HandleOnCancel, base::Unretained(this)));
87 web_ui()->RegisterMessageCallback("resetOnReset",
88 base::Bind(&ResetScreenHandler::HandleOnReset, base::Unretained(this)));
89 }
90
91 void ResetScreenHandler::HandleOnCancel(const base::ListValue* args) {
92 if (delegate_)
93 delegate_->OnExit();
94 }
95
96 void ResetScreenHandler::HandleOnReset(const base::ListValue* args) {
97 chromeos::SessionManagerClient* session_manager =
98 chromeos::DBusThreadManager::Get()->GetSessionManagerClient();
99 session_manager->StartDeviceWipe();
100 }
101
102 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698