Index: chrome/browser/supervised_user/supervised_user_service.h |
diff --git a/chrome/browser/supervised_user/supervised_user_service.h b/chrome/browser/supervised_user/supervised_user_service.h |
index 7c625867d67568a8719941efa7076b361da31621..ca6b8a6fda0c4216e673e7eedbda3cec1f4c305f 100644 |
--- a/chrome/browser/supervised_user/supervised_user_service.h |
+++ b/chrome/browser/supervised_user/supervised_user_service.h |
@@ -21,6 +21,7 @@ |
#include "base/strings/string16.h" |
#include "build/build_config.h" |
#include "chrome/browser/supervised_user/experimental/supervised_user_blacklist.h" |
+#include "chrome/browser/supervised_user/report_url_request_creator.h" |
#include "chrome/browser/supervised_user/supervised_user_url_filter.h" |
#include "chrome/browser/supervised_user/supervised_users.h" |
#include "chrome/browser/ui/browser_list_observer.h" |
@@ -120,6 +121,9 @@ class SupervisedUserService : public KeyedService, |
// Adds an access request for the given URL. |
void AddURLAccessRequest(const GURL& url, const SuccessCallback& callback); |
+ // Adds a report url request to the SafeSearch API. |
+ void AddReportUrlRequest(const GURL& url, const SuccessCallback& callback); |
+ |
// Adds an update request for the given WebStore item (App/Extension). |
void AddExtensionUpdateRequest(const std::string& extension_id, |
const base::Version& version, |
@@ -180,6 +184,8 @@ class SupervisedUserService : public KeyedService, |
void AddPermissionRequestCreator( |
scoped_ptr<PermissionRequestCreator> creator); |
+ void AddReportUrlRequestCreator(scoped_ptr<ReportUrlRequestCreator> creator); |
Marc Treib
2016/03/18 11:28:54
All this complexity with a "RequestCreator" interf
atanasova
2016/03/21 10:42:25
Done.
|
+ |
// ProfileKeyedService override: |
void Shutdown() override; |
@@ -211,6 +217,8 @@ class SupervisedUserService : public KeyedService, |
using CreatePermissionRequestCallback = |
base::Callback<void(PermissionRequestCreator*, const SuccessCallback&)>; |
+ using CreateReportUrlRequestCallback = |
+ base::Callback<void(ReportUrlRequestCreator*, const SuccessCallback&)>; |
// A bridge from the UI thread to the SupervisedUserURLFilters, one of which |
// lives on the IO thread. This class mediates access to them and makes sure |
@@ -307,6 +315,16 @@ class SupervisedUserService : public KeyedService, |
size_t index, |
bool success); |
+ void AddReportUrlRequestInternal( |
+ const CreateReportUrlRequestCallback& report_url_request, |
+ const SuccessCallback& callback, |
+ size_t index); |
+ void OnReportUrlRequestIssues( |
+ const CreateReportUrlRequestCallback& report_url_request, |
+ const SuccessCallback& callback, |
+ size_t index, |
+ bool success); |
+ |
void OnSupervisedUserIdChanged(); |
void OnDefaultFilteringBehaviorChanged(); |
@@ -398,6 +416,9 @@ class SupervisedUserService : public KeyedService, |
// Used to create permission requests. |
ScopedVector<PermissionRequestCreator> permissions_creators_; |
+ // Used to create report url requests. |
+ std::vector<scoped_ptr<ReportUrlRequestCreator>> report_url_creators_; |
+ |
base::ObserverList<SupervisedUserServiceObserver> observer_list_; |
base::WeakPtrFactory<SupervisedUserService> weak_ptr_factory_; |