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

Unified 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/supervised_user/supervised_user_service.cc
diff --git a/chrome/browser/supervised_user/supervised_user_service.cc b/chrome/browser/supervised_user/supervised_user_service.cc
index f3c6ad03427cef82c5916b9e545ad67aac23ba5f..740f42b0be56e96be6ecec23cdd2aa08e2d0be17 100644
--- a/chrome/browser/supervised_user/supervised_user_service.cc
+++ b/chrome/browser/supervised_user/supervised_user_service.cc
@@ -107,6 +107,13 @@ void CreateURLAccessRequest(
creator->CreateURLAccessRequest(url, callback);
}
+void CreateReportUrlRequest(
+ const GURL& url,
+ ReportUrlRequestCreator* creator,
+ const SupervisedUserService::SuccessCallback& callback) {
+ creator->CreateReportUrlRequest(url, callback);
+}
+
void CreateExtensionUpdateRequest(
const std::string& id,
PermissionRequestCreator* creator,
@@ -256,6 +263,14 @@ void SupervisedUserService::AddURLAccessRequest(
callback, 0);
}
+void SupervisedUserService::AddReportUrlRequest(
+ const GURL& url,
+ const SuccessCallback& callback) {
+ AddReportUrlRequestInternal(
+ base::Bind(CreateReportUrlRequest, url),
+ callback, 0);
+}
+
void SupervisedUserService::AddExtensionUpdateRequest(
const std::string& extension_id,
const base::Version& version,
@@ -396,6 +411,11 @@ void SupervisedUserService::AddPermissionRequestCreator(
permissions_creators_.push_back(creator.release());
}
+void SupervisedUserService::AddReportUrlRequestCreator(
+ scoped_ptr<ReportUrlRequestCreator> creator) {
+ report_url_creators_.push_back(std::move(creator));
+}
+
SupervisedUserService::URLFilterContext::URLFilterContext()
: ui_url_filter_(new SupervisedUserURLFilter),
io_url_filter_(new SupervisedUserURLFilter) {}
@@ -601,6 +621,7 @@ void SupervisedUserService::SetActive(bool active) {
#endif
} else {
permissions_creators_.clear();
+ report_url_creators_.clear();
pref_change_registrar_.Remove(
prefs::kDefaultSupervisedUserFilteringBehavior);
@@ -754,6 +775,35 @@ void SupervisedUserService::OnPermissionRequestIssued(
AddPermissionRequestInternal(create_request, callback, index + 1);
}
+void SupervisedUserService::AddReportUrlRequestInternal(
+ const CreateReportUrlRequestCallback& report_url_request,
+ const SuccessCallback& callback,
+ size_t index) {
+ if (index >= report_url_creators_.size()) {
+ callback.Run(false);
+ return;
+ }
+
+ report_url_request.Run(
+ report_url_creators_[index].get(),
+ base::Bind(&SupervisedUserService::OnReportUrlRequestIssues,
+ weak_ptr_factory_.GetWeakPtr(), report_url_request,
+ callback, index));
+}
+
+void SupervisedUserService::OnReportUrlRequestIssues(
+ const CreateReportUrlRequestCallback& report_url_request,
+ const SuccessCallback& callback,
+ size_t index,
+ bool success) {
+ if (success) {
+ callback.Run(true);
+ return;
+ }
+
+ AddReportUrlRequestInternal(report_url_request, callback, index + 1);
+}
+
void SupervisedUserService::OnSupervisedUserIdChanged() {
SetActive(ProfileIsSupervised());
}

Powered by Google App Engine
This is Rietveld 408576698