| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "content/renderer/media/media_permission_dispatcher.h" | 5 #include "content/renderer/media/media_permission_dispatcher.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/logging.h" | 8 #include "base/logging.h" |
| 9 #include "base/single_thread_task_runner.h" | 9 #include "base/single_thread_task_runner.h" |
| 10 #include "base/threading/thread_task_runner_handle.h" | 10 #include "base/threading/thread_task_runner_handle.h" |
| 11 #include "media/base/bind_to_current_loop.h" | 11 #include "media/base/bind_to_current_loop.h" |
| 12 #include "third_party/WebKit/public/web/WebUserGestureIndicator.h" |
| 12 #include "url/gurl.h" | 13 #include "url/gurl.h" |
| 13 | 14 |
| 14 namespace { | 15 namespace { |
| 15 | 16 |
| 16 using Type = media::MediaPermission::Type; | 17 using Type = media::MediaPermission::Type; |
| 17 | 18 |
| 18 blink::mojom::PermissionName MediaPermissionTypeToPermissionName(Type type) { | 19 blink::mojom::PermissionName MediaPermissionTypeToPermissionName(Type type) { |
| 19 switch (type) { | 20 switch (type) { |
| 20 case Type::PROTECTED_MEDIA_IDENTIFIER: | 21 case Type::PROTECTED_MEDIA_IDENTIFIER: |
| 21 return blink::mojom::PermissionName::PROTECTED_MEDIA_IDENTIFIER; | 22 return blink::mojom::PermissionName::PROTECTED_MEDIA_IDENTIFIER; |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 91 DCHECK(task_runner_->RunsTasksOnCurrentThread()); | 92 DCHECK(task_runner_->RunsTasksOnCurrentThread()); |
| 92 | 93 |
| 93 if (!permission_service_) | 94 if (!permission_service_) |
| 94 connect_to_service_cb_.Run(mojo::GetProxy(&permission_service_)); | 95 connect_to_service_cb_.Run(mojo::GetProxy(&permission_service_)); |
| 95 | 96 |
| 96 int request_id = RegisterCallback(permission_status_cb); | 97 int request_id = RegisterCallback(permission_status_cb); |
| 97 DVLOG(2) << __FUNCTION__ << ": request ID " << request_id; | 98 DVLOG(2) << __FUNCTION__ << ": request ID " << request_id; |
| 98 | 99 |
| 99 permission_service_->RequestPermission( | 100 permission_service_->RequestPermission( |
| 100 MediaPermissionTypeToPermissionName(type), security_origin.spec(), | 101 MediaPermissionTypeToPermissionName(type), security_origin.spec(), |
| 102 blink::WebUserGestureIndicator::isProcessingUserGesture(), |
| 101 base::Bind(&MediaPermissionDispatcher::OnPermissionStatus, weak_ptr_, | 103 base::Bind(&MediaPermissionDispatcher::OnPermissionStatus, weak_ptr_, |
| 102 request_id)); | 104 request_id)); |
| 103 } | 105 } |
| 104 | 106 |
| 105 uint32_t MediaPermissionDispatcher::RegisterCallback( | 107 uint32_t MediaPermissionDispatcher::RegisterCallback( |
| 106 const PermissionStatusCB& permission_status_cb) { | 108 const PermissionStatusCB& permission_status_cb) { |
| 107 DCHECK(task_runner_->RunsTasksOnCurrentThread()); | 109 DCHECK(task_runner_->RunsTasksOnCurrentThread()); |
| 108 | 110 |
| 109 uint32_t request_id = next_request_id_++; | 111 uint32_t request_id = next_request_id_++; |
| 110 DCHECK(!requests_.count(request_id)); | 112 DCHECK(!requests_.count(request_id)); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 122 RequestMap::iterator iter = requests_.find(request_id); | 124 RequestMap::iterator iter = requests_.find(request_id); |
| 123 DCHECK(iter != requests_.end()) << "Request not found."; | 125 DCHECK(iter != requests_.end()) << "Request not found."; |
| 124 | 126 |
| 125 PermissionStatusCB permission_status_cb = iter->second; | 127 PermissionStatusCB permission_status_cb = iter->second; |
| 126 requests_.erase(iter); | 128 requests_.erase(iter); |
| 127 | 129 |
| 128 permission_status_cb.Run(status == blink::mojom::PermissionStatus::GRANTED); | 130 permission_status_cb.Run(status == blink::mojom::PermissionStatus::GRANTED); |
| 129 } | 131 } |
| 130 | 132 |
| 131 } // namespace content | 133 } // namespace content |
| OLD | NEW |