| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "android_webview/native/permission/permission_request_handler.h" | 5 #include "android_webview/native/permission/permission_request_handler.h" |
| 6 | 6 |
| 7 #include <utility> |
| 8 |
| 7 #include "android_webview/native/permission/aw_permission_request.h" | 9 #include "android_webview/native/permission/aw_permission_request.h" |
| 8 #include "android_webview/native/permission/aw_permission_request_delegate.h" | 10 #include "android_webview/native/permission/aw_permission_request_delegate.h" |
| 9 #include "android_webview/native/permission/permission_request_handler_client.h" | 11 #include "android_webview/native/permission/permission_request_handler_client.h" |
| 10 #include "base/android/scoped_java_ref.h" | 12 #include "base/android/scoped_java_ref.h" |
| 11 #include "base/bind.h" | 13 #include "base/bind.h" |
| 12 #include "content/public/browser/navigation_details.h" | 14 #include "content/public/browser/navigation_details.h" |
| 13 #include "content/public/browser/navigation_entry.h" | 15 #include "content/public/browser/navigation_entry.h" |
| 14 #include "content/public/browser/web_contents.h" | 16 #include "content/public/browser/web_contents.h" |
| 15 | 17 |
| 16 using base::android::ScopedJavaLocalRef; | 18 using base::android::ScopedJavaLocalRef; |
| (...skipping 26 matching lines...) Expand all Loading... |
| 43 | 45 |
| 44 void PermissionRequestHandler::SendRequest( | 46 void PermissionRequestHandler::SendRequest( |
| 45 scoped_ptr<AwPermissionRequestDelegate> request) { | 47 scoped_ptr<AwPermissionRequestDelegate> request) { |
| 46 if (Preauthorized(request->GetOrigin(), request->GetResources())) { | 48 if (Preauthorized(request->GetOrigin(), request->GetResources())) { |
| 47 request->NotifyRequestResult(true); | 49 request->NotifyRequestResult(true); |
| 48 return; | 50 return; |
| 49 } | 51 } |
| 50 | 52 |
| 51 base::WeakPtr<AwPermissionRequest> weak_request; | 53 base::WeakPtr<AwPermissionRequest> weak_request; |
| 52 base::android::ScopedJavaLocalRef<jobject> java_peer = | 54 base::android::ScopedJavaLocalRef<jobject> java_peer = |
| 53 AwPermissionRequest::Create(request.Pass(), &weak_request); | 55 AwPermissionRequest::Create(std::move(request), &weak_request); |
| 54 requests_.push_back(weak_request); | 56 requests_.push_back(weak_request); |
| 55 client_->OnPermissionRequest(java_peer, weak_request.get()); | 57 client_->OnPermissionRequest(java_peer, weak_request.get()); |
| 56 PruneRequests(); | 58 PruneRequests(); |
| 57 } | 59 } |
| 58 | 60 |
| 59 void PermissionRequestHandler::CancelRequest(const GURL& origin, | 61 void PermissionRequestHandler::CancelRequest(const GURL& origin, |
| 60 int64_t resources) { | 62 int64_t resources) { |
| 61 // The request list might have multiple requests with same origin and | 63 // The request list might have multiple requests with same origin and |
| 62 // resources. | 64 // resources. |
| 63 RequestIterator i = FindRequest(origin, resources); | 65 RequestIterator i = FindRequest(origin, resources); |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 132 bool PermissionRequestHandler::Preauthorized(const GURL& origin, | 134 bool PermissionRequestHandler::Preauthorized(const GURL& origin, |
| 133 int64_t resources) { | 135 int64_t resources) { |
| 134 std::map<std::string, int64_t>::iterator i = | 136 std::map<std::string, int64_t>::iterator i = |
| 135 preauthorized_permission_.find(origin.GetOrigin().spec()); | 137 preauthorized_permission_.find(origin.GetOrigin().spec()); |
| 136 | 138 |
| 137 return i != preauthorized_permission_.end() && | 139 return i != preauthorized_permission_.end() && |
| 138 (resources & i->second) == resources; | 140 (resources & i->second) == resources; |
| 139 } | 141 } |
| 140 | 142 |
| 141 } // namespace android_webivew | 143 } // namespace android_webivew |
| OLD | NEW |