OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/ui/android/usb_chooser_dialog_android.h" | 5 #include "chrome/browser/ui/android/usb_chooser_dialog_android.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 | 10 |
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
211 base::android::ScopedJavaLocalRef<jstring> device_guid = | 211 base::android::ScopedJavaLocalRef<jstring> device_guid = |
212 base::android::ConvertUTF8ToJavaString(env, device->guid()); | 212 base::android::ConvertUTF8ToJavaString(env, device->guid()); |
213 base::android::ScopedJavaLocalRef<jstring> device_name = | 213 base::android::ScopedJavaLocalRef<jstring> device_name = |
214 base::android::ConvertUTF16ToJavaString(env, device->product_string()); | 214 base::android::ConvertUTF16ToJavaString(env, device->product_string()); |
215 Java_UsbChooserDialog_removeDevice(env, java_dialog_, device_guid, | 215 Java_UsbChooserDialog_removeDevice(env, java_dialog_, device_guid, |
216 device_name); | 216 device_name); |
217 } | 217 } |
218 | 218 |
219 void UsbChooserDialogAndroid::OpenUrl(const std::string& url) { | 219 void UsbChooserDialogAndroid::OpenUrl(const std::string& url) { |
220 content::WebContents::FromRenderFrameHost(render_frame_host_) | 220 content::WebContents::FromRenderFrameHost(render_frame_host_) |
221 ->OpenURL(content::OpenURLParams(GURL(url), content::Referrer(), | 221 ->OpenURL( |
222 NEW_FOREGROUND_TAB, | 222 content::OpenURLParams(GURL(url), content::Referrer(), |
223 ui::PAGE_TRANSITION_AUTO_TOPLEVEL, | 223 WindowOpenDisposition::NEW_FOREGROUND_TAB, |
224 false)); // is_renderer_initiated | 224 ui::PAGE_TRANSITION_AUTO_TOPLEVEL, |
| 225 false)); // is_renderer_initiated |
225 } | 226 } |
226 | 227 |
227 bool UsbChooserDialogAndroid::DisplayDevice( | 228 bool UsbChooserDialogAndroid::DisplayDevice( |
228 scoped_refptr<UsbDevice> device) const { | 229 scoped_refptr<UsbDevice> device) const { |
229 if (!device::UsbDeviceFilter::MatchesAny(device, filters_)) | 230 if (!device::UsbDeviceFilter::MatchesAny(device, filters_)) |
230 return false; | 231 return false; |
231 | 232 |
232 // On Android it is not possible to read the WebUSB descriptors until Chrome | 233 // On Android it is not possible to read the WebUSB descriptors until Chrome |
233 // has been granted permission to open it. Instead we must list all devices | 234 // has been granted permission to open it. Instead we must list all devices |
234 // and perform the allowed origins check after the device has been selected. | 235 // and perform the allowed origins check after the device has been selected. |
235 if (!device->permission_granted()) | 236 if (!device->permission_granted()) |
236 return true; | 237 return true; |
237 | 238 |
238 return device::FindInWebUsbAllowedOrigins( | 239 return device::FindInWebUsbAllowedOrigins( |
239 device->webusb_allowed_origins(), | 240 device->webusb_allowed_origins(), |
240 render_frame_host_->GetLastCommittedURL().GetOrigin()); | 241 render_frame_host_->GetLastCommittedURL().GetOrigin()); |
241 } | 242 } |
242 | 243 |
243 // static | 244 // static |
244 bool UsbChooserDialogAndroid::Register(JNIEnv* env) { | 245 bool UsbChooserDialogAndroid::Register(JNIEnv* env) { |
245 return RegisterNativesImpl(env); | 246 return RegisterNativesImpl(env); |
246 } | 247 } |
OLD | NEW |