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

Side by Side Diff: chrome/browser/ui/webui/supervised_user_internals_message_handler.cc

Issue 1808653003: Move the supervised user error page to a component (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase to fix compile problem Created 4 years, 9 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/ui/webui/supervised_user_internals_message_handler.h" 5 #include "chrome/browser/ui/webui/supervised_user_internals_message_handler.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
11 #include "base/memory/ref_counted.h" 11 #include "base/memory/ref_counted.h"
12 #include "base/strings/string_util.h" 12 #include "base/strings/string_util.h"
13 #include "base/strings/stringprintf.h" 13 #include "base/strings/stringprintf.h"
14 #include "base/strings/utf_string_conversions.h" 14 #include "base/strings/utf_string_conversions.h"
15 #include "base/values.h" 15 #include "base/values.h"
16 #include "chrome/browser/profiles/profile.h" 16 #include "chrome/browser/profiles/profile.h"
17 #include "chrome/browser/signin/account_tracker_service_factory.h" 17 #include "chrome/browser/signin/account_tracker_service_factory.h"
18 #include "chrome/browser/supervised_user/supervised_user_service.h" 18 #include "chrome/browser/supervised_user/supervised_user_service.h"
19 #include "chrome/browser/supervised_user/supervised_user_service_factory.h" 19 #include "chrome/browser/supervised_user/supervised_user_service_factory.h"
20 #include "chrome/browser/supervised_user/supervised_user_settings_service.h" 20 #include "chrome/browser/supervised_user/supervised_user_settings_service.h"
21 #include "chrome/browser/supervised_user/supervised_user_settings_service_factor y.h" 21 #include "chrome/browser/supervised_user/supervised_user_settings_service_factor y.h"
22 #include "components/signin/core/browser/account_tracker_service.h" 22 #include "components/signin/core/browser/account_tracker_service.h"
23 #include "components/supervised_user_error_page/supervised_user_error_page.h"
23 #include "components/url_formatter/url_fixer.h" 24 #include "components/url_formatter/url_fixer.h"
24 #include "content/public/browser/browser_thread.h" 25 #include "content/public/browser/browser_thread.h"
25 #include "content/public/browser/web_ui.h" 26 #include "content/public/browser/web_ui.h"
26 27
27 using content::BrowserThread; 28 using content::BrowserThread;
28 29
29 namespace { 30 namespace {
30 31
31 // Creates a 'section' for display on about:supervised-user-internals, 32 // Creates a 'section' for display on about:supervised-user-internals,
32 // consisting of a title and a list of fields. Returns a pointer to the new 33 // consisting of a title and a list of fields. Returns a pointer to the new
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 84
84 std::string FilteringBehaviorToString( 85 std::string FilteringBehaviorToString(
85 SupervisedUserURLFilter::FilteringBehavior behavior, bool uncertain) { 86 SupervisedUserURLFilter::FilteringBehavior behavior, bool uncertain) {
86 std::string result = FilteringBehaviorToString(behavior); 87 std::string result = FilteringBehaviorToString(behavior);
87 if (uncertain) 88 if (uncertain)
88 result += " (Uncertain)"; 89 result += " (Uncertain)";
89 return result; 90 return result;
90 } 91 }
91 92
92 std::string FilteringBehaviorReasonToString( 93 std::string FilteringBehaviorReasonToString(
93 SupervisedUserURLFilter::FilteringBehaviorReason reason) { 94 supervised_user_error_page::FilteringBehaviorReason reason) {
94 switch (reason) { 95 switch (reason) {
95 case SupervisedUserURLFilter::DEFAULT: 96 case supervised_user_error_page::DEFAULT:
96 return "Default"; 97 return "Default";
97 case SupervisedUserURLFilter::ASYNC_CHECKER: 98 case supervised_user_error_page::ASYNC_CHECKER:
98 return "AsyncChecker"; 99 return "AsyncChecker";
99 case SupervisedUserURLFilter::BLACKLIST: 100 case supervised_user_error_page::BLACKLIST:
100 return "Blacklist"; 101 return "Blacklist";
101 case SupervisedUserURLFilter::MANUAL: 102 case supervised_user_error_page::MANUAL:
102 return "Manual"; 103 return "Manual";
103 case SupervisedUserURLFilter::WHITELIST: 104 case supervised_user_error_page::WHITELIST:
104 return "Whitelist"; 105 return "Whitelist";
105 } 106 }
106 return "Unknown/invalid"; 107 return "Unknown/invalid";
107 } 108 }
108 109
109 } // namespace 110 } // namespace
110 111
111 // Helper class that lives on the IO thread, listens to the 112 // Helper class that lives on the IO thread, listens to the
112 // SupervisedUserURLFilter there, and posts results back to the UI thread. 113 // SupervisedUserURLFilter there, and posts results back to the UI thread.
113 class SupervisedUserInternalsMessageHandler::IOThreadHelper 114 class SupervisedUserInternalsMessageHandler::IOThreadHelper
114 : public base::RefCountedThreadSafe<IOThreadHelper, 115 : public base::RefCountedThreadSafe<IOThreadHelper,
115 BrowserThread::DeleteOnIOThread>, 116 BrowserThread::DeleteOnIOThread>,
116 public SupervisedUserURLFilter::Observer { 117 public SupervisedUserURLFilter::Observer {
117 public: 118 public:
118 using OnURLCheckedCallback = 119 using OnURLCheckedCallback =
119 base::Callback<void(const GURL&, 120 base::Callback<void(const GURL&,
120 SupervisedUserURLFilter::FilteringBehavior, 121 SupervisedUserURLFilter::FilteringBehavior,
121 SupervisedUserURLFilter::FilteringBehaviorReason, 122 supervised_user_error_page::FilteringBehaviorReason,
122 bool uncertain)>; 123 bool uncertain)>;
123 124
124 IOThreadHelper(scoped_refptr<const SupervisedUserURLFilter> filter, 125 IOThreadHelper(scoped_refptr<const SupervisedUserURLFilter> filter,
125 const OnURLCheckedCallback& callback) 126 const OnURLCheckedCallback& callback)
126 : filter_(filter), callback_(callback) { 127 : filter_(filter), callback_(callback) {
127 BrowserThread::PostTask(BrowserThread::IO, 128 BrowserThread::PostTask(BrowserThread::IO,
128 FROM_HERE, 129 FROM_HERE,
129 base::Bind(&IOThreadHelper::InitOnIOThread, this)); 130 base::Bind(&IOThreadHelper::InitOnIOThread, this));
130 } 131 }
131 132
132 private: 133 private:
133 friend class base::DeleteHelper<IOThreadHelper>; 134 friend class base::DeleteHelper<IOThreadHelper>;
134 friend struct BrowserThread::DeleteOnThread<BrowserThread::IO>; 135 friend struct BrowserThread::DeleteOnThread<BrowserThread::IO>;
135 virtual ~IOThreadHelper() { 136 virtual ~IOThreadHelper() {
136 DCHECK_CURRENTLY_ON(BrowserThread::IO); 137 DCHECK_CURRENTLY_ON(BrowserThread::IO);
137 filter_->RemoveObserver(this); 138 filter_->RemoveObserver(this);
138 } 139 }
139 140
140 // SupervisedUserURLFilter::Observer: 141 // SupervisedUserURLFilter::Observer:
141 void OnSiteListUpdated() override {} 142 void OnSiteListUpdated() override {}
142 void OnURLChecked(const GURL& url, 143 void OnURLChecked(const GURL& url,
143 SupervisedUserURLFilter::FilteringBehavior behavior, 144 SupervisedUserURLFilter::FilteringBehavior behavior,
144 SupervisedUserURLFilter::FilteringBehaviorReason reason, 145 supervised_user_error_page::FilteringBehaviorReason reason,
145 bool uncertain) override { 146 bool uncertain) override {
146 BrowserThread::PostTask(BrowserThread::UI, 147 BrowserThread::PostTask(BrowserThread::UI,
147 FROM_HERE, 148 FROM_HERE,
148 base::Bind(callback_, 149 base::Bind(callback_,
149 url, behavior, reason, uncertain)); 150 url, behavior, reason, uncertain));
150 } 151 }
151 152
152 void InitOnIOThread() { 153 void InitOnIOThread() {
153 DCHECK_CURRENTLY_ON(BrowserThread::IO); 154 DCHECK_CURRENTLY_ON(BrowserThread::IO);
154 filter_->AddObserver(this); 155 filter_->AddObserver(this);
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
287 void SupervisedUserInternalsMessageHandler::SendSupervisedUserSettings( 288 void SupervisedUserInternalsMessageHandler::SendSupervisedUserSettings(
288 const base::DictionaryValue* settings) { 289 const base::DictionaryValue* settings) {
289 web_ui()->CallJavascriptFunction( 290 web_ui()->CallJavascriptFunction(
290 "chrome.supervised_user_internals.receiveUserSettings", 291 "chrome.supervised_user_internals.receiveUserSettings",
291 *(settings ? settings : base::Value::CreateNullValue().get())); 292 *(settings ? settings : base::Value::CreateNullValue().get()));
292 } 293 }
293 294
294 void SupervisedUserInternalsMessageHandler::OnTryURLResult( 295 void SupervisedUserInternalsMessageHandler::OnTryURLResult(
295 const std::map<std::string, base::string16>& whitelists, 296 const std::map<std::string, base::string16>& whitelists,
296 SupervisedUserURLFilter::FilteringBehavior behavior, 297 SupervisedUserURLFilter::FilteringBehavior behavior,
297 SupervisedUserURLFilter::FilteringBehaviorReason reason, 298 supervised_user_error_page::FilteringBehaviorReason reason,
298 bool uncertain) { 299 bool uncertain) {
299 std::vector<std::string> whitelists_list; 300 std::vector<std::string> whitelists_list;
300 for (const auto& whitelist : whitelists) { 301 for (const auto& whitelist : whitelists) {
301 whitelists_list.push_back( 302 whitelists_list.push_back(
302 base::StringPrintf("%s: %s", whitelist.first.c_str(), 303 base::StringPrintf("%s: %s", whitelist.first.c_str(),
303 base::UTF16ToUTF8(whitelist.second).c_str())); 304 base::UTF16ToUTF8(whitelist.second).c_str()));
304 } 305 }
305 std::string whitelists_str = base::JoinString(whitelists_list, "; "); 306 std::string whitelists_str = base::JoinString(whitelists_list, "; ");
306 base::DictionaryValue result; 307 base::DictionaryValue result;
307 result.SetString("allowResult", 308 result.SetString("allowResult",
308 FilteringBehaviorToString(behavior, uncertain)); 309 FilteringBehaviorToString(behavior, uncertain));
309 result.SetBoolean("manual", reason == SupervisedUserURLFilter::MANUAL && 310 result.SetBoolean("manual", reason == supervised_user_error_page::MANUAL &&
310 behavior == SupervisedUserURLFilter::ALLOW); 311 behavior == SupervisedUserURLFilter::ALLOW);
311 result.SetString("whitelists", whitelists_str); 312 result.SetString("whitelists", whitelists_str);
312 web_ui()->CallJavascriptFunction( 313 web_ui()->CallJavascriptFunction(
313 "chrome.supervised_user_internals.receiveTryURLResult", result); 314 "chrome.supervised_user_internals.receiveTryURLResult", result);
314 } 315 }
315 316
316 void SupervisedUserInternalsMessageHandler::OnURLChecked( 317 void SupervisedUserInternalsMessageHandler::OnURLChecked(
317 const GURL& url, 318 const GURL& url,
318 SupervisedUserURLFilter::FilteringBehavior behavior, 319 SupervisedUserURLFilter::FilteringBehavior behavior,
319 SupervisedUserURLFilter::FilteringBehaviorReason reason, 320 supervised_user_error_page::FilteringBehaviorReason reason,
320 bool uncertain) { 321 bool uncertain) {
321 DCHECK_CURRENTLY_ON(BrowserThread::UI); 322 DCHECK_CURRENTLY_ON(BrowserThread::UI);
322 base::DictionaryValue result; 323 base::DictionaryValue result;
323 result.SetString("url", url.possibly_invalid_spec()); 324 result.SetString("url", url.possibly_invalid_spec());
324 result.SetString("result", FilteringBehaviorToString(behavior, uncertain)); 325 result.SetString("result", FilteringBehaviorToString(behavior, uncertain));
325 result.SetString("reason", FilteringBehaviorReasonToString(reason)); 326 result.SetString("reason", FilteringBehaviorReasonToString(reason));
326 web_ui()->CallJavascriptFunction( 327 web_ui()->CallJavascriptFunction(
327 "chrome.supervised_user_internals.receiveFilteringResult", result); 328 "chrome.supervised_user_internals.receiveFilteringResult", result);
328 } 329 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698