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 |