| 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 "extensions/browser/api/webcam_private/webcam_private_api.h" | 5 #include "extensions/browser/api/webcam_private/webcam_private_api.h" |
| 6 | 6 |
| 7 #include "base/lazy_instance.h" | 7 #include "base/lazy_instance.h" |
| 8 #include "content/public/browser/browser_context.h" | 8 #include "content/public/browser/browser_context.h" |
| 9 #include "content/public/browser/media_device_id.h" | 9 #include "content/public/browser/media_device_id.h" |
| 10 #include "content/public/browser/resource_context.h" | 10 #include "content/public/browser/resource_context.h" |
| 11 #include "extensions/browser/api/webcam_private/v4l2_webcam.h" | 11 #include "extensions/browser/api/webcam_private/v4l2_webcam.h" |
| 12 #include "extensions/browser/api/webcam_private/visca_webcam.h" | 12 #include "extensions/browser/api/webcam_private/visca_webcam.h" |
| 13 #include "extensions/browser/process_manager.h" | 13 #include "extensions/browser/process_manager.h" |
| 14 #include "extensions/browser/process_manager_factory.h" | 14 #include "extensions/browser/process_manager_factory.h" |
| 15 #include "extensions/common/api/webcam_private.h" | 15 #include "extensions/common/api/webcam_private.h" |
| 16 #include "url/origin.h" |
| 16 | 17 |
| 17 namespace webcam_private = extensions::api::webcam_private; | 18 namespace webcam_private = extensions::api::webcam_private; |
| 18 | 19 |
| 19 namespace content { | 20 namespace content { |
| 20 class BrowserContext; | 21 class BrowserContext; |
| 21 } // namespace content | 22 } // namespace content |
| 22 | 23 |
| 23 namespace { | 24 namespace { |
| 24 | 25 |
| 25 const char kPathInUse[] = "Path in use"; | 26 const char kPathInUse[] = "Path in use"; |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 106 new WebcamResource(extension_id, webcam.get(), webcam_id)); | 107 new WebcamResource(extension_id, webcam.get(), webcam_id)); |
| 107 callback.Run(webcam_id, true); | 108 callback.Run(webcam_id, true); |
| 108 } else { | 109 } else { |
| 109 callback.Run("", false); | 110 callback.Run("", false); |
| 110 } | 111 } |
| 111 } | 112 } |
| 112 | 113 |
| 113 bool WebcamPrivateAPI::GetDeviceId(const std::string& extension_id, | 114 bool WebcamPrivateAPI::GetDeviceId(const std::string& extension_id, |
| 114 const std::string& webcam_id, | 115 const std::string& webcam_id, |
| 115 std::string* device_id) { | 116 std::string* device_id) { |
| 116 GURL security_origin = | 117 url::Origin security_origin( |
| 117 extensions::Extension::GetBaseURLFromExtensionId(extension_id); | 118 extensions::Extension::GetBaseURLFromExtensionId(extension_id)); |
| 118 | 119 |
| 119 return content::GetMediaDeviceIDForHMAC( | 120 return content::GetMediaDeviceIDForHMAC( |
| 120 content::MEDIA_DEVICE_VIDEO_CAPTURE, | 121 content::MEDIA_DEVICE_VIDEO_CAPTURE, |
| 121 browser_context_->GetResourceContext()->GetMediaDeviceIDSalt(), | 122 browser_context_->GetResourceContext()->GetMediaDeviceIDSalt(), |
| 122 security_origin, | 123 security_origin, |
| 123 webcam_id, | 124 webcam_id, |
| 124 device_id); | 125 device_id); |
| 125 } | 126 } |
| 126 | 127 |
| 127 std::string WebcamPrivateAPI::GetWebcamId(const std::string& extension_id, | 128 std::string WebcamPrivateAPI::GetWebcamId(const std::string& extension_id, |
| 128 const std::string& device_id) { | 129 const std::string& device_id) { |
| 129 GURL security_origin = | 130 url::Origin security_origin( |
| 130 extensions::Extension::GetBaseURLFromExtensionId(extension_id); | 131 extensions::Extension::GetBaseURLFromExtensionId(extension_id)); |
| 131 | 132 |
| 132 return content::GetHMACForMediaDeviceID( | 133 return content::GetHMACForMediaDeviceID( |
| 133 browser_context_->GetResourceContext()->GetMediaDeviceIDSalt(), | 134 browser_context_->GetResourceContext()->GetMediaDeviceIDSalt(), |
| 134 security_origin, device_id); | 135 security_origin, device_id); |
| 135 } | 136 } |
| 136 | 137 |
| 137 WebcamResource* WebcamPrivateAPI::FindWebcamResource( | 138 WebcamResource* WebcamPrivateAPI::FindWebcamResource( |
| 138 const std::string& extension_id, | 139 const std::string& extension_id, |
| 139 const std::string& webcam_id) const { | 140 const std::string& webcam_id) const { |
| 140 DCHECK(webcam_resource_manager_); | 141 DCHECK(webcam_resource_manager_); |
| (...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 430 } | 431 } |
| 431 | 432 |
| 432 template <> | 433 template <> |
| 433 void BrowserContextKeyedAPIFactory<WebcamPrivateAPI> | 434 void BrowserContextKeyedAPIFactory<WebcamPrivateAPI> |
| 434 ::DeclareFactoryDependencies() { | 435 ::DeclareFactoryDependencies() { |
| 435 DependsOn(ExtensionsBrowserClient::Get()->GetExtensionSystemFactory()); | 436 DependsOn(ExtensionsBrowserClient::Get()->GetExtensionSystemFactory()); |
| 436 DependsOn(ProcessManagerFactory::GetInstance()); | 437 DependsOn(ProcessManagerFactory::GetInstance()); |
| 437 } | 438 } |
| 438 | 439 |
| 439 } // namespace extensions | 440 } // namespace extensions |
| OLD | NEW |