WebUSB Android choosr UI |
|||||
Issue descriptionImplement a chooser UI on Android for WebUSB.
,
Mar 4 2016
,
Mar 25 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4cbad6ed5522e60cda2aa728c08e3aa80545e360 commit 4cbad6ed5522e60cda2aa728c08e3aa80545e360 Author: juncai <juncai@chromium.org> Date: Fri Mar 25 20:40:35 2016 WebUsb Android chooser UI This patch added code to display a chooser UI on Android for WebUsb. BUG= 591735 Review URL: https://codereview.chromium.org/1739523002 Cr-Commit-Position: refs/heads/master@{#383351} [modify] https://crrev.com/4cbad6ed5522e60cda2aa728c08e3aa80545e360/chrome/android/java/src/org/chromium/chrome/browser/BluetoothChooserDialog.java [modify] https://crrev.com/4cbad6ed5522e60cda2aa728c08e3aa80545e360/chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java [add] https://crrev.com/4cbad6ed5522e60cda2aa728c08e3aa80545e360/chrome/android/java/src/org/chromium/chrome/browser/UsbChooserDialog.java [modify] https://crrev.com/4cbad6ed5522e60cda2aa728c08e3aa80545e360/chrome/android/java/strings/android_chrome_strings.grd [modify] https://crrev.com/4cbad6ed5522e60cda2aa728c08e3aa80545e360/chrome/android/javatests/src/org/chromium/chrome/browser/BluetoothChooserDialogTest.java [modify] https://crrev.com/4cbad6ed5522e60cda2aa728c08e3aa80545e360/chrome/android/javatests/src/org/chromium/chrome/browser/ItemChooserDialogTest.java [modify] https://crrev.com/4cbad6ed5522e60cda2aa728c08e3aa80545e360/chrome/browser/android/chrome_jni_registrar.cc [add] https://crrev.com/4cbad6ed5522e60cda2aa728c08e3aa80545e360/chrome/browser/android/usb/web_usb_chooser_service_android.cc [add] https://crrev.com/4cbad6ed5522e60cda2aa728c08e3aa80545e360/chrome/browser/android/usb/web_usb_chooser_service_android.h [modify] https://crrev.com/4cbad6ed5522e60cda2aa728c08e3aa80545e360/chrome/browser/chrome_content_browser_client.cc [modify] https://crrev.com/4cbad6ed5522e60cda2aa728c08e3aa80545e360/chrome/browser/ui/android/bluetooth_chooser_android.cc [add] https://crrev.com/4cbad6ed5522e60cda2aa728c08e3aa80545e360/chrome/browser/ui/android/usb_chooser_dialog_android.cc [add] https://crrev.com/4cbad6ed5522e60cda2aa728c08e3aa80545e360/chrome/browser/ui/android/usb_chooser_dialog_android.h [modify] https://crrev.com/4cbad6ed5522e60cda2aa728c08e3aa80545e360/chrome/browser/usb/usb_chooser_bubble_controller.cc [modify] https://crrev.com/4cbad6ed5522e60cda2aa728c08e3aa80545e360/chrome/browser/usb/usb_tab_helper.cc [modify] https://crrev.com/4cbad6ed5522e60cda2aa728c08e3aa80545e360/chrome/browser/usb/usb_tab_helper.h [add] https://crrev.com/4cbad6ed5522e60cda2aa728c08e3aa80545e360/chrome/browser/usb/web_usb_histograms.cc [add] https://crrev.com/4cbad6ed5522e60cda2aa728c08e3aa80545e360/chrome/browser/usb/web_usb_histograms.h [modify] https://crrev.com/4cbad6ed5522e60cda2aa728c08e3aa80545e360/chrome/chrome_browser.gypi [modify] https://crrev.com/4cbad6ed5522e60cda2aa728c08e3aa80545e360/chrome/chrome_browser_ui.gypi [modify] https://crrev.com/4cbad6ed5522e60cda2aa728c08e3aa80545e360/device/usb/webusb_descriptors.cc [modify] https://crrev.com/4cbad6ed5522e60cda2aa728c08e3aa80545e360/device/usb/webusb_descriptors.h [modify] https://crrev.com/4cbad6ed5522e60cda2aa728c08e3aa80545e360/ui/android/BUILD.gn [add] https://crrev.com/4cbad6ed5522e60cda2aa728c08e3aa80545e360/ui/android/java/src/org/chromium/ui/text/NoUnderlineClickableSpan.java
,
Mar 25 2016
Hmm, I think this broke ToT incremental builds: 03-25 15:36:15.718 8132 8173 W System.err: java.lang.ClassNotFoundException: Didn't find class "org.chromium.chrome.browser.UsbChooserDialog" on path: DexPathList[[zip file "/data/app/org.chromium.chrome-2/base.apk", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/components.dom_distiller.android.dom_distiller_core_java.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/third_party.android_tools.android_support_v7_recyclerview_java.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/content.public.android.content_java.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/device.vibration.android.vibration_manager_android.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/components.bookmarks.common.android.bookmarks_java.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/components.service_tab_launcher.service_tab_launcher_java.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/components.gcm_driver.android.gcm_driver_java.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/media.base.android.media_java.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/third_party.android_protobuf.protobuf_nano_javalib.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/third_party.jsr-305.jsr_305_javalib.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/third_party.android_tools.android_support_v13_java.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/third_party.android_tools.android_gcm_java.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/third_party.android_tools.android_support_v7_appcompat_java.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/device.battery.android.battery_monitor_android.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/third_party.WebKit.public.blink_headers_java.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/device.bluetooth.java.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/device.vibration.mojo_bindings_java.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/ui.android.ui_java.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/third_party.android_media.android_media_java.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/ui.accessibility.ui_accessibility_java.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/third_party.android_tools.android_support_multidex_java.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/third_party.android_tools.android_support_v7_mediarouter_java.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/third_party.gif_player.gif_player_java.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/mojo.public.java.bindings.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/components.invalidation.impl.java.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/device.usb.java.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/net.android.net_java.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/components.web_contents_delegate_android.web_contents_delegate_android_java.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/chrome.android.document_tab_model_info_proto_java.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/device.battery.mojo_bindings_java.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/base.base_java.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/third_party.android_tools.google_play_services_default_java.dex.jar", zip file "/data/local/tmp/incremental-app-org.chromium.chrome/dex/media.midi.midi_ 03-25 15:36:15.723 8132 8173 W System.err: at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 03-25 15:36:15.723 8132 8173 W System.err: at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 03-25 15:36:15.723 8132 8173 W System.err: at java.lang.ClassLoader.loadClass(ClassLoader.java:469) 03-25 15:36:15.723 8132 8173 W System.err: at java.lang.Runtime.nativeLoad(Native Method) 03-25 15:36:15.723 8132 8173 W System.err: at java.lang.Runtime.doLoad(Runtime.java:435) 03-25 15:36:15.723 8132 8173 W System.err: at java.lang.Runtime.loadLibrary(Runtime.java:370) 03-25 15:36:15.723 8132 8173 W System.err: at java.lang.System.loadLibrary(System.java:1076) 03-25 15:36:15.723 8132 8173 W System.err: at org.chromium.base.library_loader.LibraryLoader.loadAlreadyLocked(LibraryLoader.java:271) 03-25 15:36:15.723 8132 8173 W System.err: at org.chromium.base.library_loader.LibraryLoader.ensureInitialized(LibraryLoader.java:123) 03-25 15:36:15.723 8132 8173 W System.err: at org.chromium.chrome.browser.init.NativeInitializationController$1.run(NativeInitializationController.java:85) 03-25 15:36:15.723 8132 8173 W System.err: Suppressed: java.lang.ClassNotFoundException: org.chromium.chrome.browser.UsbChooserDialog 03-25 15:36:15.725 8132 8173 W System.err: at java.lang.Class.classForName(Native Method) 03-25 15:36:15.725 8132 8173 W System.err: at java.lang.BootClassLoader.findClass(ClassLoader.java:781) 03-25 15:36:15.725 8132 8173 W System.err: at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) 03-25 15:36:15.725 8132 8173 W System.err: at java.lang.ClassLoader.loadClass(ClassLoader.java:504) 03-25 15:36:15.725 8132 8173 W System.err: ... 8 more 03-25 15:36:15.725 8132 8173 W System.err: Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available 03-25 15:36:15.753 8132 8173 F chromium: [0325/153615:FATAL:jni_android.cc(122)] Check failed: !ClearException(env) && clazz. Failed to find class org/
,
Mar 25 2016
I think I need to add the UsbChooserDialog.java to the java_sources.gni similar to BluetoothChooserDialog.java: https://code.google.com/p/chromium/codesearch#chromium/src/chrome/android/java_sources.gni&q=BluetoothChooserDialog.java&sq=package:chromium&type=cs&l=15 It seems that java_sources.gni was added this Wednesday.
,
Mar 25 2016
I created a patch for it: https://codereview.chromium.org/1827243005/
,
Mar 25 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/97b28b83bbc4069e994d778fe22809baa53fb736 commit 97b28b83bbc4069e994d778fe22809baa53fb736 Author: juncai <juncai@chromium.org> Date: Fri Mar 25 23:54:34 2016 Add UsbChooserDialog.java to //chrome/android/java_sources.gni This patch added UsbChooserDialog.java to //chrome/android/java_sources.gni BUG= 591735 Review URL: https://codereview.chromium.org/1827243005 Cr-Commit-Position: refs/heads/master@{#383412} [modify] https://crrev.com/97b28b83bbc4069e994d778fe22809baa53fb736/chrome/android/java_sources.gni
,
Mar 29 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1004ae2da751e390402d4a7228bb8132121de167 commit 1004ae2da751e390402d4a7228bb8132121de167 Author: juncai <juncai@chromium.org> Date: Tue Mar 29 17:50:59 2016 UsbChooserDialogAndroid::Select should return when guid is found At UsbChooserDialogAndroid::Select, when guid is found in the for loop, the function should return, no need to continue the for loop. BUG= 591735 Review URL: https://codereview.chromium.org/1838233002 Cr-Commit-Position: refs/heads/master@{#383762} [modify] https://crrev.com/1004ae2da751e390402d4a7228bb8132121de167/chrome/browser/ui/android/usb_chooser_dialog_android.cc
,
Apr 3 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bc29520c1589b48edf5a3447bffb33a8761cc59b commit bc29520c1589b48edf5a3447bffb33a8761cc59b Author: juncai <juncai@chromium.org> Date: Sun Apr 03 16:59:43 2016 Add test code for UsbChooserDialog.java This patch added UsbChooserDialogTest.java to test the class UsbChooserDialog. BUG= 591735 Review URL: https://codereview.chromium.org/1843483002 Cr-Commit-Position: refs/heads/master@{#384832} [modify] https://crrev.com/bc29520c1589b48edf5a3447bffb33a8761cc59b/chrome/android/java/src/org/chromium/chrome/browser/UsbChooserDialog.java [modify] https://crrev.com/bc29520c1589b48edf5a3447bffb33a8761cc59b/chrome/android/java_sources.gni [add] https://crrev.com/bc29520c1589b48edf5a3447bffb33a8761cc59b/chrome/android/javatests/src/org/chromium/chrome/browser/UsbChooserDialogTest.java
,
Apr 19 2016
,
Apr 21 2016
,
Apr 21 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/17e34ed9008b1b1bedebbbbac4db62e8b983d690 commit 17e34ed9008b1b1bedebbbbac4db62e8b983d690 Author: juncai <juncai@chromium.org> Date: Thu Apr 21 23:04:00 2016 WebUSB Android chooser should be closed when "Get help" button is pressed When "Get help" button is pressed and a new tab is opened, the WebUSB Android chooser dialog box is not closed and it overlaps the top part of the new tab. This patch added code to close the dialog box. BUG= 605716 , 591735 Review URL: https://codereview.chromium.org/1906183002 Cr-Commit-Position: refs/heads/master@{#388939} [modify] https://crrev.com/17e34ed9008b1b1bedebbbbac4db62e8b983d690/chrome/browser/ui/android/usb_chooser_dialog_android.cc |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by juncai@chromium.org
, Mar 3 201661.7 KB
61.7 KB View Download
63.4 KB
63.4 KB View Download
63.9 KB
63.9 KB View Download