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

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: 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("resetScreenTitle",
59 l10n_util::GetStringUTF16(IDS_RESET_SCREEN_TITLE));
60 localized_strings->SetString("warningText1",
Nikita (slow) 2012/09/12 13:22:21 resetWarningText
glotov 2012/09/12 22:40:25 Done.
61 l10n_util::GetStringUTF16(IDS_RESET_SCREEN_WARNING_TEXT_1));
62 localized_strings->SetString("warningText2",
Nikita (slow) 2012/09/12 13:22:21 resetWarningDetails
glotov 2012/09/12 22:40:25 Done.
63 l10n_util::GetStringUTF16(IDS_RESET_SCREEN_WARNING_TEXT_2));
64 localized_strings->SetString("cancelButton",
65 l10n_util::GetStringUTF16(IDS_CANCEL));
66 localized_strings->SetString("resetButton",
67 l10n_util::GetStringUTF16(IDS_RESET_SCREEN_RESET));
68 }
69
70 void ResetScreenHandler::Initialize() {
71 if (!page_is_ready() || !delegate_)
72 return;
73
74 if (show_on_init_) {
75 Show();
76 show_on_init_ = false;
77 }
78 }
79
80 void ResetScreenHandler::RegisterMessages() {
81 web_ui()->RegisterMessageCallback("resetOnCancel",
82 base::Bind(&ResetScreenHandler::HandleOnCancel, base::Unretained(this)));
83 web_ui()->RegisterMessageCallback("resetOnReset",
84 base::Bind(&ResetScreenHandler::HandleOnReset, base::Unretained(this)));
85 }
86
87 void ResetScreenHandler::HandleOnCancel(const base::ListValue* args) {
88 if (delegate_)
89 delegate_->OnExit();
90 }
91
92 void ResetScreenHandler::HandleOnReset(const base::ListValue* args) {
93 chromeos::SessionManagerClient* session_manager =
94 chromeos::DBusThreadManager::Get()->GetSessionManagerClient();
95 session_manager->StartDeviceWipe();
96 }
97
98 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698