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 e464400c0cc5618681451f5eba6191d746681cc7..102b9f5ecca5733f0851f9e3a26c885b4df00458 100644 |
--- a/chrome/browser/supervised_user/supervised_user_service.cc |
+++ b/chrome/browser/supervised_user/supervised_user_service.cc |
@@ -78,6 +78,20 @@ const char* const kCustodianInfoPrefs[] = { |
prefs::kSupervisedUserSecondCustodianProfileURL, |
}; |
+void CreateURLAccessRequest( |
+ const GURL& url, |
+ PermissionRequestCreator* creator, |
+ const SupervisedUserService::SuccessCallback& callback) { |
+ creator->CreateURLAccessRequest(url, callback); |
+} |
+ |
+void CreateExtensionUpdateRequest( |
+ const std::string& extension_id, |
+ PermissionRequestCreator* creator, |
+ const SupervisedUserService::SuccessCallback& callback) { |
+ creator->CreateExtensionUpdateRequest(extension_id, callback); |
+} |
+ |
#if defined(ENABLE_EXTENSIONS) |
enum ExtensionState { |
EXTENSION_FORCED, |
@@ -531,8 +545,8 @@ size_t SupervisedUserService::FindEnabledPermissionRequestCreator( |
return permissions_creators_.size(); |
} |
-void SupervisedUserService::AddAccessRequestInternal( |
- const GURL& url, |
+void SupervisedUserService::AddPermissionRequestInternal( |
+ const CreatePermissionRequestCallback& create_request, |
const SuccessCallback& callback, |
size_t index) { |
// Find a permission request creator that is enabled. |
@@ -542,14 +556,15 @@ void SupervisedUserService::AddAccessRequestInternal( |
return; |
} |
- permissions_creators_[next_index]->CreatePermissionRequest( |
- url, |
+ create_request.Run( |
+ permissions_creators_[next_index], |
base::Bind(&SupervisedUserService::OnPermissionRequestIssued, |
- weak_ptr_factory_.GetWeakPtr(), url, callback, next_index)); |
+ weak_ptr_factory_.GetWeakPtr(), create_request, |
+ callback, next_index)); |
} |
void SupervisedUserService::OnPermissionRequestIssued( |
- const GURL& url, |
+ const CreatePermissionRequestCallback& create_request, |
const SuccessCallback& callback, |
size_t index, |
bool success) { |
@@ -558,7 +573,7 @@ void SupervisedUserService::OnPermissionRequestIssued( |
return; |
} |
- AddAccessRequestInternal(url, callback, index + 1); |
+ AddPermissionRequestInternal(create_request, callback, index + 1); |
} |
void SupervisedUserService::OnSupervisedUserIdChanged() { |
@@ -631,10 +646,21 @@ bool SupervisedUserService::AccessRequestsEnabled() { |
return FindEnabledPermissionRequestCreator(0) < permissions_creators_.size(); |
} |
-void SupervisedUserService::AddAccessRequest(const GURL& url, |
- const SuccessCallback& callback) { |
- AddAccessRequestInternal(SupervisedUserURLFilter::Normalize(url), callback, |
- 0); |
+void SupervisedUserService::AddURLAccessRequest( |
+ const GURL& url, |
+ const SuccessCallback& callback) { |
+ AddPermissionRequestInternal( |
+ base::Bind(CreateURLAccessRequest, |
+ SupervisedUserURLFilter::Normalize(url)), |
+ callback, 0); |
+} |
+ |
+void SupervisedUserService::AddExtensionUpdateRequest( |
+ const std::string& extension_id, |
+ const SuccessCallback& callback) { |
+ AddPermissionRequestInternal( |
+ base::Bind(CreateExtensionUpdateRequest, extension_id), |
+ callback, 0); |
} |
void SupervisedUserService::InitSync(const std::string& refresh_token) { |