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 "chrome/browser/usb/web_usb_permission_provider.h" | 5 #include "chrome/browser/usb/web_usb_permission_provider.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 16 matching lines...) Expand all Loading... |
27 bool FindOriginInDescriptorSet(const device::WebUsbAllowedOrigins* set, | 27 bool FindOriginInDescriptorSet(const device::WebUsbAllowedOrigins* set, |
28 const GURL& origin, | 28 const GURL& origin, |
29 const uint8_t* configuration_value, | 29 const uint8_t* configuration_value, |
30 const uint8_t* first_interface) { | 30 const uint8_t* first_interface) { |
31 if (base::CommandLine::ForCurrentProcess()->HasSwitch( | 31 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
32 switches::kDisableWebUsbSecurity)) | 32 switches::kDisableWebUsbSecurity)) |
33 return true; | 33 return true; |
34 | 34 |
35 if (!set) | 35 if (!set) |
36 return false; | 36 return false; |
37 if (ContainsValue(set->origins, origin)) | 37 if (base::ContainsValue(set->origins, origin)) |
38 return true; | 38 return true; |
39 for (const auto& configuration : set->configurations) { | 39 for (const auto& configuration : set->configurations) { |
40 if (configuration_value && | 40 if (configuration_value && |
41 *configuration_value != configuration.configuration_value) | 41 *configuration_value != configuration.configuration_value) |
42 continue; | 42 continue; |
43 if (ContainsValue(configuration.origins, origin)) | 43 if (base::ContainsValue(configuration.origins, origin)) |
44 return true; | 44 return true; |
45 for (const auto& function : configuration.functions) { | 45 for (const auto& function : configuration.functions) { |
46 if (first_interface && *first_interface != function.first_interface) | 46 if (first_interface && *first_interface != function.first_interface) |
47 continue; | 47 continue; |
48 if (ContainsValue(function.origins, origin)) | 48 if (base::ContainsValue(function.origins, origin)) |
49 return true; | 49 return true; |
50 } | 50 } |
51 } | 51 } |
52 return false; | 52 return false; |
53 } | 53 } |
54 | 54 |
55 } // namespace | 55 } // namespace |
56 | 56 |
57 WebUSBPermissionProvider::WebUSBPermissionProvider( | 57 WebUSBPermissionProvider::WebUSBPermissionProvider( |
58 content::RenderFrameHost* render_frame_host) | 58 content::RenderFrameHost* render_frame_host) |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
127 tab_helper->IncrementConnectionCount(render_frame_host_); | 127 tab_helper->IncrementConnectionCount(render_frame_host_); |
128 } | 128 } |
129 | 129 |
130 void WebUSBPermissionProvider::DecrementConnectionCount() { | 130 void WebUSBPermissionProvider::DecrementConnectionCount() { |
131 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); | 131 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
132 WebContents* web_contents = | 132 WebContents* web_contents = |
133 WebContents::FromRenderFrameHost(render_frame_host_); | 133 WebContents::FromRenderFrameHost(render_frame_host_); |
134 UsbTabHelper* tab_helper = UsbTabHelper::FromWebContents(web_contents); | 134 UsbTabHelper* tab_helper = UsbTabHelper::FromWebContents(web_contents); |
135 tab_helper->DecrementConnectionCount(render_frame_host_); | 135 tab_helper->DecrementConnectionCount(render_frame_host_); |
136 } | 136 } |
OLD | NEW |