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

Side by Side Diff: chrome/browser/supervised_user/supervised_user_service.cc

Issue 1813833002: Add report URL to safe search API functionality. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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 2014 The Chromium Authors. All rights reserved. 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 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/supervised_user/supervised_user_service.h" 5 #include "chrome/browser/supervised_user/supervised_user_service.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 prefs::kSupervisedUserSecondCustodianProfileURL, 100 prefs::kSupervisedUserSecondCustodianProfileURL,
101 }; 101 };
102 102
103 void CreateURLAccessRequest( 103 void CreateURLAccessRequest(
104 const GURL& url, 104 const GURL& url,
105 PermissionRequestCreator* creator, 105 PermissionRequestCreator* creator,
106 const SupervisedUserService::SuccessCallback& callback) { 106 const SupervisedUserService::SuccessCallback& callback) {
107 creator->CreateURLAccessRequest(url, callback); 107 creator->CreateURLAccessRequest(url, callback);
108 } 108 }
109 109
110 void CreateReportUrlRequest(
111 const GURL& url,
112 ReportUrlRequestCreator* creator,
113 const SupervisedUserService::SuccessCallback& callback) {
114 creator->CreateReportUrlRequest(url, callback);
115 }
116
110 void CreateExtensionUpdateRequest( 117 void CreateExtensionUpdateRequest(
111 const std::string& id, 118 const std::string& id,
112 PermissionRequestCreator* creator, 119 PermissionRequestCreator* creator,
113 const SupervisedUserService::SuccessCallback& callback) { 120 const SupervisedUserService::SuccessCallback& callback) {
114 creator->CreateExtensionUpdateRequest(id, callback); 121 creator->CreateExtensionUpdateRequest(id, callback);
115 } 122 }
116 123
117 // Default callback for AddExtensionUpdateRequest. 124 // Default callback for AddExtensionUpdateRequest.
118 void ExtensionUpdateRequestSent(const std::string& id, bool success) { 125 void ExtensionUpdateRequestSent(const std::string& id, bool success) {
119 VLOG_IF(1, !success) << "Failed sending update request for " << id; 126 VLOG_IF(1, !success) << "Failed sending update request for " << id;
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
249 256
250 void SupervisedUserService::AddURLAccessRequest( 257 void SupervisedUserService::AddURLAccessRequest(
251 const GURL& url, 258 const GURL& url,
252 const SuccessCallback& callback) { 259 const SuccessCallback& callback) {
253 AddPermissionRequestInternal( 260 AddPermissionRequestInternal(
254 base::Bind(CreateURLAccessRequest, 261 base::Bind(CreateURLAccessRequest,
255 SupervisedUserURLFilter::Normalize(url)), 262 SupervisedUserURLFilter::Normalize(url)),
256 callback, 0); 263 callback, 0);
257 } 264 }
258 265
266 void SupervisedUserService::AddReportUrlRequest(
267 const GURL& url,
268 const SuccessCallback& callback) {
269 AddReportUrlRequestInternal(
270 base::Bind(CreateReportUrlRequest, url),
271 callback, 0);
272 }
273
259 void SupervisedUserService::AddExtensionUpdateRequest( 274 void SupervisedUserService::AddExtensionUpdateRequest(
260 const std::string& extension_id, 275 const std::string& extension_id,
261 const base::Version& version, 276 const base::Version& version,
262 const SuccessCallback& callback) { 277 const SuccessCallback& callback) {
263 std::string id = GetExtensionUpdateRequestId(extension_id, version); 278 std::string id = GetExtensionUpdateRequestId(extension_id, version);
264 AddPermissionRequestInternal( 279 AddPermissionRequestInternal(
265 base::Bind(CreateExtensionUpdateRequest, id), callback, 0); 280 base::Bind(CreateExtensionUpdateRequest, id), callback, 0);
266 } 281 }
267 282
268 void SupervisedUserService::AddExtensionUpdateRequest( 283 void SupervisedUserService::AddExtensionUpdateRequest(
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
389 void SupervisedUserService::RemoveObserver( 404 void SupervisedUserService::RemoveObserver(
390 SupervisedUserServiceObserver* observer) { 405 SupervisedUserServiceObserver* observer) {
391 observer_list_.RemoveObserver(observer); 406 observer_list_.RemoveObserver(observer);
392 } 407 }
393 408
394 void SupervisedUserService::AddPermissionRequestCreator( 409 void SupervisedUserService::AddPermissionRequestCreator(
395 scoped_ptr<PermissionRequestCreator> creator) { 410 scoped_ptr<PermissionRequestCreator> creator) {
396 permissions_creators_.push_back(creator.release()); 411 permissions_creators_.push_back(creator.release());
397 } 412 }
398 413
414 void SupervisedUserService::AddReportUrlRequestCreator(
415 scoped_ptr<ReportUrlRequestCreator> creator) {
416 report_url_creators_.push_back(std::move(creator));
417 }
418
399 SupervisedUserService::URLFilterContext::URLFilterContext() 419 SupervisedUserService::URLFilterContext::URLFilterContext()
400 : ui_url_filter_(new SupervisedUserURLFilter), 420 : ui_url_filter_(new SupervisedUserURLFilter),
401 io_url_filter_(new SupervisedUserURLFilter) {} 421 io_url_filter_(new SupervisedUserURLFilter) {}
402 SupervisedUserService::URLFilterContext::~URLFilterContext() {} 422 SupervisedUserService::URLFilterContext::~URLFilterContext() {}
403 423
404 SupervisedUserURLFilter* 424 SupervisedUserURLFilter*
405 SupervisedUserService::URLFilterContext::ui_url_filter() const { 425 SupervisedUserService::URLFilterContext::ui_url_filter() const {
406 return ui_url_filter_.get(); 426 return ui_url_filter_.get();
407 } 427 }
408 428
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
594 UpdateManualHosts(); 614 UpdateManualHosts();
595 UpdateManualURLs(); 615 UpdateManualURLs();
596 616
597 #if !defined(OS_ANDROID) 617 #if !defined(OS_ANDROID)
598 // TODO(bauerb): Get rid of the platform-specific #ifdef here. 618 // TODO(bauerb): Get rid of the platform-specific #ifdef here.
599 // http://crbug.com/313377 619 // http://crbug.com/313377
600 BrowserList::AddObserver(this); 620 BrowserList::AddObserver(this);
601 #endif 621 #endif
602 } else { 622 } else {
603 permissions_creators_.clear(); 623 permissions_creators_.clear();
624 report_url_creators_.clear();
604 625
605 pref_change_registrar_.Remove( 626 pref_change_registrar_.Remove(
606 prefs::kDefaultSupervisedUserFilteringBehavior); 627 prefs::kDefaultSupervisedUserFilteringBehavior);
607 pref_change_registrar_.Remove(prefs::kSupervisedUserManualHosts); 628 pref_change_registrar_.Remove(prefs::kSupervisedUserManualHosts);
608 pref_change_registrar_.Remove(prefs::kSupervisedUserManualURLs); 629 pref_change_registrar_.Remove(prefs::kSupervisedUserManualURLs);
609 for (const char* pref : kCustodianInfoPrefs) { 630 for (const char* pref : kCustodianInfoPrefs) {
610 pref_change_registrar_.Remove(pref); 631 pref_change_registrar_.Remove(pref);
611 } 632 }
612 633
613 url_filter_context_.Clear(); 634 url_filter_context_.Clear();
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
747 size_t index, 768 size_t index,
748 bool success) { 769 bool success) {
749 if (success) { 770 if (success) {
750 callback.Run(true); 771 callback.Run(true);
751 return; 772 return;
752 } 773 }
753 774
754 AddPermissionRequestInternal(create_request, callback, index + 1); 775 AddPermissionRequestInternal(create_request, callback, index + 1);
755 } 776 }
756 777
778 void SupervisedUserService::AddReportUrlRequestInternal(
779 const CreateReportUrlRequestCallback& report_url_request,
780 const SuccessCallback& callback,
781 size_t index) {
782 if (index >= report_url_creators_.size()) {
783 callback.Run(false);
784 return;
785 }
786
787 report_url_request.Run(
788 report_url_creators_[index].get(),
789 base::Bind(&SupervisedUserService::OnReportUrlRequestIssues,
790 weak_ptr_factory_.GetWeakPtr(), report_url_request,
791 callback, index));
792 }
793
794 void SupervisedUserService::OnReportUrlRequestIssues(
795 const CreateReportUrlRequestCallback& report_url_request,
796 const SuccessCallback& callback,
797 size_t index,
798 bool success) {
799 if (success) {
800 callback.Run(true);
801 return;
802 }
803
804 AddReportUrlRequestInternal(report_url_request, callback, index + 1);
805 }
806
757 void SupervisedUserService::OnSupervisedUserIdChanged() { 807 void SupervisedUserService::OnSupervisedUserIdChanged() {
758 SetActive(ProfileIsSupervised()); 808 SetActive(ProfileIsSupervised());
759 } 809 }
760 810
761 void SupervisedUserService::OnDefaultFilteringBehaviorChanged() { 811 void SupervisedUserService::OnDefaultFilteringBehaviorChanged() {
762 int behavior_value = profile_->GetPrefs()->GetInteger( 812 int behavior_value = profile_->GetPrefs()->GetInteger(
763 prefs::kDefaultSupervisedUserFilteringBehavior); 813 prefs::kDefaultSupervisedUserFilteringBehavior);
764 SupervisedUserURLFilter::FilteringBehavior behavior = 814 SupervisedUserURLFilter::FilteringBehavior behavior =
765 SupervisedUserURLFilter::BehaviorFromInt(behavior_value); 815 SupervisedUserURLFilter::BehaviorFromInt(behavior_value);
766 url_filter_context_.SetDefaultFilteringBehavior(behavior); 816 url_filter_context_.SetDefaultFilteringBehavior(behavior);
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after
1045 content::RecordAction(UserMetricsAction("ManagedUsers_SwitchProfile")); 1095 content::RecordAction(UserMetricsAction("ManagedUsers_SwitchProfile"));
1046 1096
1047 is_profile_active_ = profile_became_active; 1097 is_profile_active_ = profile_became_active;
1048 } 1098 }
1049 #endif // !defined(OS_ANDROID) 1099 #endif // !defined(OS_ANDROID)
1050 1100
1051 void SupervisedUserService::OnSiteListUpdated() { 1101 void SupervisedUserService::OnSiteListUpdated() {
1052 FOR_EACH_OBSERVER( 1102 FOR_EACH_OBSERVER(
1053 SupervisedUserServiceObserver, observer_list_, OnURLFilterChanged()); 1103 SupervisedUserServiceObserver, observer_list_, OnURLFilterChanged());
1054 } 1104 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698