| 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) {
|
|
|