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

Unified Diff: content/browser/permissions/permission_service_impl.cc

Issue 2228663002: Mojo C++ bindings: make permissions service use STL string/vector types (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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: content/browser/permissions/permission_service_impl.cc
diff --git a/content/browser/permissions/permission_service_impl.cc b/content/browser/permissions/permission_service_impl.cc
index e45064030ab5e417a5278323c7f3f58e90b0d3d6..7a34dc93d663952750fd7203040195b90d7a1abd 100644
--- a/content/browser/permissions/permission_service_impl.cc
+++ b/content/browser/permissions/permission_service_impl.cc
@@ -51,7 +51,7 @@ PermissionType PermissionNameToPermissionType(PermissionName name) {
// with single requests.
void PermissionRequestResponseCallbackWrapper(
const base::Callback<void(PermissionStatus)>& callback,
- mojo::Array<PermissionStatus> vector) {
+ const std::vector<PermissionStatus>& vector) {
DCHECK_EQ(vector.size(), 1ul);
callback.Run(vector[0]);
}
@@ -69,11 +69,8 @@ PermissionServiceImpl::PendingRequest::~PendingRequest() {
if (callback.is_null())
return;
- mojo::Array<PermissionStatus> result =
- mojo::Array<PermissionStatus>::New(request_count);
- for (int i = 0; i < request_count; ++i)
- result[i] = PermissionStatus::DENIED;
- callback.Run(std::move(result));
+ std::vector<PermissionStatus> result(request_count, PermissionStatus::DENIED);
+ callback.Run(result);
}
PermissionServiceImpl::PendingSubscription::PendingSubscription(
@@ -114,7 +111,7 @@ void PermissionServiceImpl::OnConnectionError() {
void PermissionServiceImpl::RequestPermission(
PermissionName permission,
- const mojo::String& origin,
+ const std::string& origin,
bool user_gesture,
const PermissionStatusCallback& callback) {
// This condition is valid if the call is coming from a ChildThread instead of
@@ -128,20 +125,17 @@ void PermissionServiceImpl::RequestPermission(
DCHECK(browser_context);
if (!context_->render_frame_host() ||
!browser_context->GetPermissionManager()) {
- callback.Run(GetPermissionStatusFromName(permission, GURL(origin.get())));
+ callback.Run(GetPermissionStatusFromName(permission, GURL(origin)));
return;
}
int pending_request_id = pending_requests_.Add(new PendingRequest(
base::Bind(&PermissionRequestResponseCallbackWrapper, callback), 1));
int id = browser_context->GetPermissionManager()->RequestPermission(
- PermissionNameToPermissionType(permission),
- context_->render_frame_host(),
- GURL(origin.get()),
- user_gesture,
+ PermissionNameToPermissionType(permission), context_->render_frame_host(),
+ GURL(origin), user_gesture,
base::Bind(&PermissionServiceImpl::OnRequestPermissionResponse,
- weak_factory_.GetWeakPtr(),
- pending_request_id));
+ weak_factory_.GetWeakPtr(), pending_request_id));
// Check if the request still exists. It might have been removed by the
// callback if it was run synchronously.
@@ -160,15 +154,10 @@ void PermissionServiceImpl::OnRequestPermissionResponse(
}
void PermissionServiceImpl::RequestPermissions(
- mojo::Array<PermissionName> permissions,
- const mojo::String& origin,
+ const std::vector<PermissionName>& permissions,
+ const std::string& origin,
bool user_gesture,
const RequestPermissionsCallback& callback) {
- if (permissions.is_null()) {
- callback.Run(mojo::Array<PermissionStatus>());
- return;
- }
-
// This condition is valid if the call is coming from a ChildThread instead of
// a RenderFrame. Some consumers of the service run in Workers and some in
// Frames. In the context of a Worker, it is not possible to show a
@@ -180,12 +169,11 @@ void PermissionServiceImpl::RequestPermissions(
DCHECK(browser_context);
if (!context_->render_frame_host() ||
!browser_context->GetPermissionManager()) {
- mojo::Array<PermissionStatus> result(permissions.size());
+ std::vector<PermissionStatus> result(permissions.size());
for (size_t i = 0; i < permissions.size(); ++i) {
- result[i] =
- GetPermissionStatusFromName(permissions[i], GURL(origin.get()));
+ result[i] = GetPermissionStatusFromName(permissions[i], GURL(origin));
}
- callback.Run(std::move(result));
+ callback.Run(result);
return;
}
@@ -196,13 +184,9 @@ void PermissionServiceImpl::RequestPermissions(
int pending_request_id = pending_requests_.Add(
new PendingRequest(callback, permissions.size()));
int id = browser_context->GetPermissionManager()->RequestPermissions(
- types,
- context_->render_frame_host(),
- GURL(origin.get()),
- user_gesture,
+ types, context_->render_frame_host(), GURL(origin), user_gesture,
base::Bind(&PermissionServiceImpl::OnRequestPermissionsResponse,
- weak_factory_.GetWeakPtr(),
- pending_request_id));
+ weak_factory_.GetWeakPtr(), pending_request_id));
// Check if the request still exists. It may have been removed by the
// the response callback.
@@ -220,7 +204,7 @@ void PermissionServiceImpl::OnRequestPermissionsResponse(
RequestPermissionsCallback callback(request->callback);
request->callback.Reset();
pending_requests_.Remove(pending_request_id);
- callback.Run(mojo::Array<PermissionStatus>::From(result));
+ callback.Run(result);
}
void PermissionServiceImpl::CancelPendingOperations() {
@@ -253,16 +237,16 @@ void PermissionServiceImpl::CancelPendingOperations() {
void PermissionServiceImpl::HasPermission(
PermissionName permission,
- const mojo::String& origin,
+ const std::string& origin,
const PermissionStatusCallback& callback) {
- callback.Run(GetPermissionStatusFromName(permission, GURL(origin.get())));
+ callback.Run(GetPermissionStatusFromName(permission, GURL(origin)));
}
void PermissionServiceImpl::RevokePermission(
PermissionName permission,
- const mojo::String& origin,
+ const std::string& origin,
const PermissionStatusCallback& callback) {
- GURL origin_url(origin.get());
+ GURL origin_url(origin);
PermissionType permission_type = PermissionNameToPermissionType(permission);
PermissionStatus status =
GetPermissionStatusFromType(permission_type, origin_url);
@@ -281,10 +265,10 @@ void PermissionServiceImpl::RevokePermission(
void PermissionServiceImpl::GetNextPermissionChange(
PermissionName permission,
- const mojo::String& mojo_origin,
+ const std::string& mojo_origin,
PermissionStatus last_known_status,
const PermissionStatusCallback& callback) {
- GURL origin(mojo_origin.get());
+ GURL origin(mojo_origin);
PermissionStatus current_status =
GetPermissionStatusFromName(permission, origin);
if (current_status != last_known_status) {
« no previous file with comments | « content/browser/permissions/permission_service_impl.h ('k') | third_party/WebKit/Source/modules/permissions/Permissions.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698