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

Unified Diff: chrome/browser/supervised_user/child_accounts/permission_request_creator_apiary.cc

Issue 971733003: Supervised users: When an extension requires new permissions, send request to custodian (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@test_ext_install_disable
Patch Set: test Created 5 years, 10 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/child_accounts/permission_request_creator_apiary.cc
diff --git a/chrome/browser/supervised_user/child_accounts/permission_request_creator_apiary.cc b/chrome/browser/supervised_user/child_accounts/permission_request_creator_apiary.cc
index 37a7ce6a92fc76f9dfd1afbd1aceee6e75dc35ab..668fe4a1d642da52bba3ec697bd56eb7c11a1e92 100644
--- a/chrome/browser/supervised_user/child_accounts/permission_request_creator_apiary.cc
+++ b/chrome/browser/supervised_user/child_accounts/permission_request_creator_apiary.cc
@@ -33,34 +33,47 @@ const char kApiUrl[] =
const char kApiScope[] = "https://www.googleapis.com/auth/kid.permission";
const int kNumRetries = 1;
-const char kNamespace[] = "PERMISSION_CHROME_URL";
+
+const char kAuthorizationHeaderFormat[] = "Authorization: Bearer %s";
+
+// Request keys.
+const char kNamespaceKey[] = "namespace";
+const char kObjectRefKey[] = "objectRef";
+const char kStateKey[] = "state";
+
+// Request values.
+const char kNamespaceURLRequest[] = "PERMISSION_CHROME_URL";
+const char kNamespaceUpdateRequest[] = "PERMISSION_CHROME_CWS_ITEM_UPDATE";
const char kState[] = "PENDING";
+// Response keys.
const char kPermissionRequestKey[] = "permissionRequest";
const char kIdKey[] = "id";
-static const char kAuthorizationHeaderFormat[] = "Authorization: Bearer %s";
-
struct PermissionRequestCreatorApiary::Request {
- Request(const GURL& url_requested,
+ Request(const std::string& request_namespace,
+ const std::string& object_ref,
const SuccessCallback& callback,
int url_fetcher_id);
~Request();
- GURL url_requested;
+ std::string request_namespace;
+ std::string object_ref;
SuccessCallback callback;
scoped_ptr<OAuth2TokenService::Request> access_token_request;
std::string access_token;
bool access_token_expired;
int url_fetcher_id;
- scoped_ptr<net::URLFetcher> url_fetcher;
+ scoped_ptr<URLFetcher> url_fetcher;
};
PermissionRequestCreatorApiary::Request::Request(
- const GURL& url_requested,
+ const std::string& request_namespace,
+ const std::string& object_ref,
const SuccessCallback& callback,
int url_fetcher_id)
- : url_requested(url_requested),
+ : request_namespace(request_namespace),
+ object_ref(object_ref),
callback(callback),
access_token_expired(false),
url_fetcher_id(url_fetcher_id) {
@@ -97,11 +110,16 @@ bool PermissionRequestCreatorApiary::IsEnabled() const {
return true;
}
-void PermissionRequestCreatorApiary::CreatePermissionRequest(
+void PermissionRequestCreatorApiary::CreateURLAccessRequest(
const GURL& url_requested,
const SuccessCallback& callback) {
- requests_.push_back(new Request(url_requested, callback, url_fetcher_id_));
- StartFetching(requests_.back());
+ CreateRequest(kNamespaceURLRequest, url_requested.spec(), callback);
+}
+
+void PermissionRequestCreatorApiary::CreateExtensionUpdateRequest(
+ const std::string& extension_id,
+ const SuccessCallback& callback) {
+ CreateRequest(kNamespaceUpdateRequest, extension_id, callback);
}
GURL PermissionRequestCreatorApiary::GetApiUrl() const {
@@ -127,6 +145,15 @@ std::string PermissionRequestCreatorApiary::GetApiScope() const {
}
}
+void PermissionRequestCreatorApiary::CreateRequest(
+ const std::string& request_namespace,
+ const std::string& object_ref,
+ const SuccessCallback& callback) {
+ requests_.push_back(
+ new Request(request_namespace, object_ref, callback, url_fetcher_id_));
+ StartFetching(requests_.back());
+}
+
void PermissionRequestCreatorApiary::StartFetching(Request* request) {
OAuth2TokenService::ScopeSet scopes;
scopes.insert(GetApiScope());
@@ -160,9 +187,10 @@ void PermissionRequestCreatorApiary::OnGetTokenSuccess(
base::StringPrintf(kAuthorizationHeaderFormat, access_token.c_str()));
base::DictionaryValue dict;
- dict.SetStringWithoutPathExpansion("namespace", kNamespace);
- dict.SetStringWithoutPathExpansion("objectRef", (*it)->url_requested.spec());
- dict.SetStringWithoutPathExpansion("state", kState);
+ dict.SetStringWithoutPathExpansion(kNamespaceKey, (*it)->request_namespace);
+ dict.SetStringWithoutPathExpansion(kObjectRefKey, (*it)->object_ref);
+ dict.SetStringWithoutPathExpansion(kStateKey, kState);
+
std::string body;
base::JSONWriter::Write(&dict, &body);
(*it)->url_fetcher->SetUploadData("application/json", body);

Powered by Google App Engine
This is Rietveld 408576698