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

Side by Side Diff: chrome/browser/chromeos/arc/arc_support_host.cc

Issue 1847463002: arc: Use v2/auth LSO page. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebased Created 4 years, 8 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/api/messaging/arc_support_host.h" 5 #include "chrome/browser/chromeos/arc/arc_support_host.h"
6 6
7 #include "ash/system/chromeos/devicetype_utils.h" 7 #include "ash/system/chromeos/devicetype_utils.h"
8 #include "base/json/json_reader.h" 8 #include "base/json/json_reader.h"
9 #include "base/json/json_writer.h" 9 #include "base/json/json_writer.h"
10 #include "base/thread_task_runner_handle.h" 10 #include "base/thread_task_runner_handle.h"
11 #include "base/values.h" 11 #include "base/values.h"
12 #include "chrome/browser/browser_process.h" 12 #include "chrome/browser/browser_process.h"
13 #include "chrome/grit/generated_resources.h" 13 #include "chrome/grit/generated_resources.h"
14 #include "ui/base/l10n/l10n_util.h" 14 #include "ui/base/l10n/l10n_util.h"
15 #include "ui/base/webui/web_ui_util.h" 15 #include "ui/base/webui/web_ui_util.h"
16 16
17 namespace { 17 namespace {
18 const char kAction[] = "action"; 18 const char kAction[] = "action";
19 const char kCode[] = "code";
19 const char kStatus[] = "status"; 20 const char kStatus[] = "status";
20 const char kData[] = "data"; 21 const char kData[] = "data";
21 const char kPage[] = "page"; 22 const char kPage[] = "page";
22 const char kActionSetLocalization[] = "setLocalization"; 23 const char kActionSetLocalization[] = "setLocalization";
23 const char kActionCheckAuthCode[] = "checkAuthCode"; 24 const char kActionStartLso[] = "startLso";
24 const char kActionCancelAuthCode[] = "cancelAuthCode"; 25 const char kActionCancelAuthCode[] = "cancelAuthCode";
26 const char kActionSetAuthCode[] = "setAuthCode";
25 const char kActionCloseUI[] = "closeUI"; 27 const char kActionCloseUI[] = "closeUI";
26 const char kActionShowPage[] = "showPage"; 28 const char kActionShowPage[] = "showPage";
27 } // namespace 29 } // namespace
28 30
29 // static 31 // static
30 const char ArcSupportHost::kHostName[] = "com.google.arc_support"; 32 const char ArcSupportHost::kHostName[] = "com.google.arc_support";
31 33
32 // static 34 // static
33 const char* const ArcSupportHost::kHostOrigin[] = { 35 const char* const ArcSupportHost::kHostOrigin[] = {
34 "chrome-extension://cnbgggchhmkkdmeppjobngjoejnihlei/" 36 "chrome-extension://cnbgggchhmkkdmeppjobngjoejnihlei/"};
35 };
36 37
37 // static 38 // static
38 scoped_ptr<extensions::NativeMessageHost> ArcSupportHost::Create() { 39 scoped_ptr<extensions::NativeMessageHost> ArcSupportHost::Create() {
39 return scoped_ptr<NativeMessageHost>(new ArcSupportHost()); 40 return scoped_ptr<NativeMessageHost>(new ArcSupportHost());
40 } 41 }
41 42
42 ArcSupportHost::ArcSupportHost() { 43 ArcSupportHost::ArcSupportHost() {
43 arc::ArcAuthService::Get()->AddObserver(this); 44 arc::ArcAuthService::Get()->AddObserver(this);
44 } 45 }
45 46
(...skipping 27 matching lines...) Expand all
73 localized_strings->SetString( 74 localized_strings->SetString(
74 "greetingLegacy", 75 "greetingLegacy",
75 l10n_util::GetStringUTF16(IDS_ARC_OPT_IN_DIALOG_LEGACY)); 76 l10n_util::GetStringUTF16(IDS_ARC_OPT_IN_DIALOG_LEGACY));
76 localized_strings->SetString( 77 localized_strings->SetString(
77 "buttonGetStarted", 78 "buttonGetStarted",
78 l10n_util::GetStringUTF16(IDS_ARC_OPT_IN_DIALOG_BUTTON_GET_STARTED)); 79 l10n_util::GetStringUTF16(IDS_ARC_OPT_IN_DIALOG_BUTTON_GET_STARTED));
79 localized_strings->SetString( 80 localized_strings->SetString(
80 "buttonRetry", 81 "buttonRetry",
81 l10n_util::GetStringUTF16(IDS_ARC_OPT_IN_DIALOG_BUTTON_RETRY)); 82 l10n_util::GetStringUTF16(IDS_ARC_OPT_IN_DIALOG_BUTTON_RETRY));
82 localized_strings->SetString( 83 localized_strings->SetString(
83 "progressLSOLoading", 84 "progressLsoLoading",
84 l10n_util::GetStringUTF16(IDS_ARC_OPT_IN_DIALOG_PROGRESS_LSO)); 85 l10n_util::GetStringUTF16(IDS_ARC_OPT_IN_DIALOG_PROGRESS_LSO));
85 localized_strings->SetString( 86 localized_strings->SetString(
86 "progressAndroidLoading", 87 "progressAndroidLoading",
87 l10n_util::GetStringUTF16(IDS_ARC_OPT_IN_DIALOG_PROGRESS_ANDROID)); 88 l10n_util::GetStringUTF16(IDS_ARC_OPT_IN_DIALOG_PROGRESS_ANDROID));
89 localized_strings->SetString(
90 "authorizationFailed",
91 l10n_util::GetStringUTF16(IDS_ARC_OPT_IN_DIALOG_AUTHORIZATION_FAILED));
88 92
89 const std::string& app_locale = g_browser_process->GetApplicationLocale(); 93 const std::string& app_locale = g_browser_process->GetApplicationLocale();
90 webui::SetLoadTimeDataDefaults(app_locale, localized_strings.get()); 94 webui::SetLoadTimeDataDefaults(app_locale, localized_strings.get());
91 95
92 base::DictionaryValue request; 96 base::DictionaryValue request;
93 std::string request_string; 97 std::string request_string;
94 request.SetString(kAction, kActionSetLocalization); 98 request.SetString(kAction, kActionSetLocalization);
95 request.Set(kData, std::move(localized_strings)); 99 request.Set(kData, std::move(localized_strings));
96 base::JSONWriter::Write(request, &request_string); 100 base::JSONWriter::Write(request, &request_string);
97 client_->PostMessageFromNativeHost(request_string); 101 client_->PostMessageFromNativeHost(request_string);
(...skipping 20 matching lines...) Expand all
118 response.SetInteger(kPage, static_cast<int>(page)); 122 response.SetInteger(kPage, static_cast<int>(page));
119 response.SetString(kStatus, status); 123 response.SetString(kStatus, status);
120 std::string response_string; 124 std::string response_string;
121 base::JSONWriter::Write(response, &response_string); 125 base::JSONWriter::Write(response, &response_string);
122 client_->PostMessageFromNativeHost(response_string); 126 client_->PostMessageFromNativeHost(response_string);
123 } 127 }
124 128
125 void ArcSupportHost::OnMessage(const std::string& request_string) { 129 void ArcSupportHost::OnMessage(const std::string& request_string) {
126 scoped_ptr<base::Value> request_value = 130 scoped_ptr<base::Value> request_value =
127 base::JSONReader::Read(request_string); 131 base::JSONReader::Read(request_string);
128 scoped_ptr<base::DictionaryValue> request( 132 base::DictionaryValue* request;
129 static_cast<base::DictionaryValue*>(request_value.release())); 133 if (!request_value || !request_value->GetAsDictionary(&request)) {
130 if (!request.get()) {
131 NOTREACHED(); 134 NOTREACHED();
132 return; 135 return;
133 } 136 }
134 137
135 std::string action; 138 std::string action;
136 if (!request->GetString(kAction, &action)) { 139 if (!request->GetString(kAction, &action)) {
137 NOTREACHED(); 140 NOTREACHED();
138 return; 141 return;
139 } 142 }
140 143
141 if (action == kActionCheckAuthCode) { 144 if (action == kActionStartLso) {
142 arc::ArcAuthService::Get()->CheckAuthCode(); 145 arc::ArcAuthService::Get()->StartLso();
146 } else if (action == kActionSetAuthCode) {
147 std::string code;
148 if (!request->GetString(kCode, &code)) {
149 NOTREACHED();
150 return;
151 }
152 arc::ArcAuthService::Get()->SetAuthCodeAndStartArc(code);
143 } else if (action == kActionCancelAuthCode) { 153 } else if (action == kActionCancelAuthCode) {
144 arc::ArcAuthService::Get()->CancelAuthCode(); 154 arc::ArcAuthService::Get()->CancelAuthCode();
145 } else { 155 } else {
146 NOTREACHED(); 156 NOTREACHED();
147 } 157 }
148 } 158 }
149 159
150 scoped_refptr<base::SingleThreadTaskRunner> ArcSupportHost::task_runner() 160 scoped_refptr<base::SingleThreadTaskRunner> ArcSupportHost::task_runner()
151 const { 161 const {
152 return base::ThreadTaskRunnerHandle::Get(); 162 return base::ThreadTaskRunnerHandle::Get();
153 } 163 }
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/arc/arc_support_host.h ('k') | chrome/browser/extensions/api/messaging/arc_support_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698