bluetooth: Add test for background permission requests This change adds a test for sites which attempt to show the Web Bluetooth permission prompt while they are in the background. This scenario exposed a use-after-free which was fixed without a corresponding test in r829523. This exposed a more general issue that in this scenario the Promise returned by requestDevice() would never resolve. Fixing this requires making sure that the chooser event callback is executed when the controller is destroyed and fixing the resulting reentrancy issues. To make this simpler the success and failure callbacks passed to BluetoothDeviceChooserController have been merged. Bug: 730593,1149692 Change-Id: I9042e2c636322ad3ab2dff04050b45a5c3ec2fbb Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2858256 Commit-Queue: Reilly Grant <reillyg@chromium.org> Reviewed-by: Mike Wasserman <msw@chromium.org> Cr-Commit-Position: refs/heads/master@{#877638}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.