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

Side by Side Diff: chrome/browser/ui/webui/options/easy_unlock_handler.cc

Issue 475483003: Wire easy unlock settings UI (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 4 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 2014 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/options/easy_unlock_handler.h"
6
7 #include "base/bind.h"
8 #include "base/values.h"
9 #include "chrome/browser/profiles/profile.h"
10 #include "chrome/browser/signin/easy_unlock_service.h"
11 #include "content/public/browser/web_ui.h"
12 #include "grit/generated_resources.h"
13
14 namespace options {
15
16 EasyUnlockHandler::EasyUnlockHandler() {
17 }
18
19 EasyUnlockHandler::~EasyUnlockHandler() {
20 EasyUnlockService::Get(Profile::FromWebUI(web_ui()))->RemoveObserver(this);
21 }
22
23 void EasyUnlockHandler::GetLocalizedValues(base::DictionaryValue* values) {
24 static OptionsStringResource resources[] = {
25 {"easyUnlockTurnOffButton", IDS_OPTIONS_EASY_UNLOCK_TURN_OFF_BUTTON},
26 {"easyUnlockTurnOffTitle", IDS_OPTIONS_EASY_UNLOCK_TURN_OFF_TITLE},
27 {"easyUnlockTurnOffDescription",
28 IDS_OPTIONS_EASY_UNLOCK_TURN_OFF_DESCRIPTION},
29 {"easyUnlockTurnOffOfflineTitle",
30 IDS_OPTIONS_EASY_UNLOCK_TURN_OFF_OFFLINE_TITLE},
31 {"easyUnlockTurnOffOfflineMessage",
32 IDS_OPTIONS_EASY_UNLOCK_TURN_OFF_OFFLINE_MESSAGE},
33 {"easyUnlockTurnOffErrorTitle",
34 IDS_OPTIONS_EASY_UNLOCK_TURN_OFF_ERROR_TITLE},
35 {"easyUnlockTurnOffErrorMessage",
36 IDS_OPTIONS_EASY_UNLOCK_TURN_OFF_ERROR_MESSAGE},
37 {"easyUnlockTurnOffRetryButton",
38 IDS_OPTIONS_EASY_UNLOCK_TURN_OFF_RETRY_BUTTON},
39 };
40
41 RegisterStrings(values, resources, arraysize(resources));
42 }
43
44 void EasyUnlockHandler::InitializeHandler() {
45 EasyUnlockService::Get(Profile::FromWebUI(web_ui()))->AddObserver(this);
46 }
47
48 void EasyUnlockHandler::RegisterMessages() {
49 web_ui()->RegisterMessageCallback(
50 "easyUnlockGetTurnOffFlowStatus",
51 base::Bind(&EasyUnlockHandler::HandleGetTurnOffFlowStatus,
52 base::Unretained(this)));
53 web_ui()->RegisterMessageCallback(
54 "easyUnlockRequestTurnOff",
55 base::Bind(&EasyUnlockHandler::HandleRequestTurnOff,
56 base::Unretained(this)));
57 web_ui()->RegisterMessageCallback(
58 "easyUnlockTurnOffOverlayDismissed",
59 base::Bind(&EasyUnlockHandler::HandlePageDismissed,
60 base::Unretained(this)));
61 }
62
63 void EasyUnlockHandler::OnTurnOffOperationStatusChanged() {
64 SendTurnOffOperationStatus();
65 }
66
67 void EasyUnlockHandler::SendTurnOffOperationStatus() {
68 EasyUnlockService::TurnOffFlowStatus status =
69 EasyUnlockService::Get(Profile::FromWebUI(web_ui()))
70 ->turn_off_flow_status();
71
72 // Translate status into JS UI state string. Note the translated string
73 // should match UIState defined in easy_unlock_turn_off_overlay.js.
74 std::string status_string;
75 switch (status) {
76 case EasyUnlockService::IDLE:
77 status_string = "idle";
78 break;
79 case EasyUnlockService::PENDING:
80 status_string = "pending";
81 break;
82 case EasyUnlockService::FAIL:
83 status_string = "server-error";
84 break;
85 default:
86 LOG(ERROR) << "Unknown Easy unlock turn-off operation status: " << status;
87 status_string = "idle";
88 break;
89 }
90 web_ui()->CallJavascriptFunction("EasyUnlockTurnOffOverlay.updateUIState",
91 base::StringValue(status_string));
92 }
93
94 void EasyUnlockHandler::HandleGetTurnOffFlowStatus(
95 const base::ListValue* args) {
96 SendTurnOffOperationStatus();
97 }
98
99 void EasyUnlockHandler::HandleRequestTurnOff(const base::ListValue* args) {
100 EasyUnlockService::Get(Profile::FromWebUI(web_ui()))->RunTurnOffFlow();
101 }
102
103 void EasyUnlockHandler::HandlePageDismissed(const base::ListValue* args) {
104 EasyUnlockService::Get(Profile::FromWebUI(web_ui()))->ResetTurnOffFlow();
105 }
106
107 } // namespace options
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/options/easy_unlock_handler.h ('k') | chrome/browser/ui/webui/options/options_ui.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698