Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(81)

Side by Side Diff: device/usb/usb_device_android.cc

Issue 2914453002: Check UsbDevice string fields for null. (Closed)
Patch Set: Use ScopedJavaLocalRef as a local var type. Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "device/usb/usb_device_android.h" 5 #include "device/usb/usb_device_android.h"
6 6
7 #include "base/android/build_info.h" 7 #include "base/android/build_info.h"
8 #include "base/android/jni_string.h" 8 #include "base/android/jni_string.h"
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/location.h" 10 #include "base/location.h"
(...skipping 17 matching lines...) Expand all
28 JNIEnv* env, 28 JNIEnv* env,
29 base::WeakPtr<UsbServiceAndroid> service, 29 base::WeakPtr<UsbServiceAndroid> service,
30 const JavaRef<jobject>& usb_device) { 30 const JavaRef<jobject>& usb_device) {
31 ScopedJavaLocalRef<jobject> wrapper = 31 ScopedJavaLocalRef<jobject> wrapper =
32 Java_ChromeUsbDevice_create(env, usb_device); 32 Java_ChromeUsbDevice_create(env, usb_device);
33 uint16_t device_version = 0; 33 uint16_t device_version = 0;
34 if (base::android::BuildInfo::GetInstance()->sdk_int() >= 23) 34 if (base::android::BuildInfo::GetInstance()->sdk_int() >= 23)
35 device_version = Java_ChromeUsbDevice_getDeviceVersion(env, wrapper); 35 device_version = Java_ChromeUsbDevice_getDeviceVersion(env, wrapper);
36 base::string16 manufacturer_string, product_string, serial_number; 36 base::string16 manufacturer_string, product_string, serial_number;
37 if (base::android::BuildInfo::GetInstance()->sdk_int() >= 21) { 37 if (base::android::BuildInfo::GetInstance()->sdk_int() >= 21) {
38 manufacturer_string = ConvertJavaStringToUTF16( 38 ScopedJavaLocalRef<jstring> manufacturer_jstring =
39 env, Java_ChromeUsbDevice_getManufacturerName(env, wrapper)); 39 Java_ChromeUsbDevice_getManufacturerName(env, wrapper);
40 product_string = ConvertJavaStringToUTF16( 40 if (!manufacturer_jstring.is_null())
41 env, Java_ChromeUsbDevice_getProductName(env, wrapper)); 41 manufacturer_string = ConvertJavaStringToUTF16(env, manufacturer_jstring);
42 serial_number = ConvertJavaStringToUTF16( 42 ScopedJavaLocalRef<jstring> product_jstring =
43 env, Java_ChromeUsbDevice_getSerialNumber(env, wrapper)); 43 Java_ChromeUsbDevice_getProductName(env, wrapper);
44 if (!product_jstring.is_null())
45 product_string = ConvertJavaStringToUTF16(env, product_jstring);
46 ScopedJavaLocalRef<jstring> serial_jstring =
47 Java_ChromeUsbDevice_getSerialNumber(env, wrapper);
48 if (!serial_jstring.is_null())
49 serial_number = ConvertJavaStringToUTF16(env, serial_jstring);
44 } 50 }
45 return make_scoped_refptr(new UsbDeviceAndroid( 51 return make_scoped_refptr(new UsbDeviceAndroid(
46 env, service, 52 env, service,
47 0x0200, // USB protocol version, not provided by the Android API. 53 0x0200, // USB protocol version, not provided by the Android API.
48 Java_ChromeUsbDevice_getDeviceClass(env, wrapper), 54 Java_ChromeUsbDevice_getDeviceClass(env, wrapper),
49 Java_ChromeUsbDevice_getDeviceSubclass(env, wrapper), 55 Java_ChromeUsbDevice_getDeviceSubclass(env, wrapper),
50 Java_ChromeUsbDevice_getDeviceProtocol(env, wrapper), 56 Java_ChromeUsbDevice_getDeviceProtocol(env, wrapper),
51 Java_ChromeUsbDevice_getVendorId(env, wrapper), 57 Java_ChromeUsbDevice_getVendorId(env, wrapper),
52 Java_ChromeUsbDevice_getProductId(env, wrapper), device_version, 58 Java_ChromeUsbDevice_getProductId(env, wrapper), device_version,
53 manufacturer_string, product_string, serial_number, wrapper)); 59 manufacturer_string, product_string, serial_number, wrapper));
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 scoped_refptr<UsbDeviceHandle> device_handle, 203 scoped_refptr<UsbDeviceHandle> device_handle,
198 const GURL& landing_page) { 204 const GURL& landing_page) {
199 if (landing_page.is_valid()) 205 if (landing_page.is_valid())
200 webusb_landing_page_ = landing_page; 206 webusb_landing_page_ = landing_page;
201 207
202 device_handle->Close(); 208 device_handle->Close();
203 CallRequestPermissionCallbacks(true); 209 CallRequestPermissionCallbacks(true);
204 } 210 }
205 211
206 } // namespace device 212 } // namespace device
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698