| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 // Messages for Web Bluetooth API. | 5 // Messages for Web Bluetooth API. |
| 6 // Multiply-included message file, hence no include guard. | 6 // Multiply-included message file, hence no include guard. |
| 7 | 7 |
| 8 // Web Bluetooth Security | 8 // Web Bluetooth Security |
| 9 // The security mechanisms of Bluetooth are described in the specification: | 9 // The security mechanisms of Bluetooth are described in the specification: |
| 10 // https://webbluetoothcg.github.io/web-bluetooth | 10 // https://webbluetoothcg.github.io/web-bluetooth |
| (...skipping 15 matching lines...) Expand all Loading... |
| 26 // website. It is possible to construct a class of devices for which each | 26 // website. It is possible to construct a class of devices for which each |
| 27 // individual device sends the same Bluetooth-level identifying information. UAs | 27 // individual device sends the same Bluetooth-level identifying information. UAs |
| 28 // are not required to attempt to detect this sort of forgery and may let a user | 28 // are not required to attempt to detect this sort of forgery and may let a user |
| 29 // pair this pseudo-device with a website. | 29 // pair this pseudo-device with a website. |
| 30 // | 30 // |
| 31 // To help ensure that only the entity the user approved for access actually has | 31 // To help ensure that only the entity the user approved for access actually has |
| 32 // access, this specification requires that only authenticated environments can | 32 // access, this specification requires that only authenticated environments can |
| 33 // access Bluetooth devices (requestDevice). | 33 // access Bluetooth devices (requestDevice). |
| 34 // """ | 34 // """ |
| 35 // | 35 // |
| 36 // From: Device Discovery: | 36 // From: Per-origin Bluetooth device properties: |
| 37 // """ | 37 // """ |
| 38 // The UA must maintain an allowed devices list for each origin, storing a set | 38 // For each origin, the UA must maintain an allowed devices map, whose keys are |
| 39 // of Bluetooth devices the origin is allowed to access. For each device in the | 39 // the Bluetooth devices the origin is allowed to access, and whose values are |
| 40 // allowed devices list for an origin, the UA must maintain an allowed services | 40 // pairs of a DOMString device id and an allowed services list consisting of |
| 41 // list consisting of UUIDs for GATT Primary Services the origin is allowed to | 41 // UUIDs for GATT Primary Services the origin is allowed to access on the |
| 42 // access on the device. The UA may remove devices from the allowed devices list | 42 // device. |
| 43 // at any time based on signals from the user. For example, if the user chooses | 43 // |
| 44 // not to remember access, the UA might remove a device when the tab that was | 44 // The UA may remove devices from the allowed devices map at any time based on |
| 45 // granted access to it is closed. Or the UA might provide a revocation UI that | 45 // signals from the user. This needs a definition involving removing |
| 46 // allows the user to explicitly remove a device even while a tab is actively | 46 // BluetoothDevice instances from device instance maps and clearing out their |
| 47 // using that device. If a device is removed from this list while a Promise is | 47 // [[representedDevice]] fields. For example, if the user chooses not to |
| 48 // pending to do something with the device, it must be treated the same as if | 48 // remember access, the UA might remove a device when the tab that was granted |
| 49 // the device moved out of Bluetooth range. | 49 // access to it is closed. Or the UA might provide a revocation UI that allows |
| 50 // the user to explicitly remove a device even while a tab is actively using |
| 51 // that device. If a device is removed from this list while a Promise is pending |
| 52 // to do something with the device, it must be treated the same as if the device |
| 53 // moved out of Bluetooth range. |
| 50 // """ | 54 // """ |
| 51 // | 55 // |
| 52 // From: Device Discovery: requestDevice | 56 // From: Device Discovery: requestDevice |
| 53 // http://webbluetoothcg.github.io/web-bluetooth/#device-discovery | 57 // http://webbluetoothcg.github.io/web-bluetooth/#device-discovery |
| 54 // """ | 58 // """ |
| 55 // Display a prompt to the user requesting that the user specify some devices | 59 // Display a prompt to the user requesting that the user specify some devices |
| 56 // from the result of the scan. The UA should show the user the human-readable | 60 // from the result of the scan. The UA should show the user the human-readable |
| 57 // name of each device. If this name is not available because the UA's Bluetooth | 61 // name of each device. If this name is not available because the UA's Bluetooth |
| 58 // system doesn't support privacy-enabled scans, the UA should allow the user to | 62 // system doesn't support privacy-enabled scans, the UA should allow the user to |
| 59 // indicate interest and then perform a privacy-disabled scan to retrieve the | 63 // indicate interest and then perform a privacy-disabled scan to retrieve the |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 128 // The Bluetooth feature, and the BluetoothDispatcherHost are behind | 132 // The Bluetooth feature, and the BluetoothDispatcherHost are behind |
| 129 // the --enable-experimental-web-platform-features flag. | 133 // the --enable-experimental-web-platform-features flag. |
| 130 IPC_MESSAGE_CONTROL2(BluetoothHostMsg_RequestDevice, | 134 IPC_MESSAGE_CONTROL2(BluetoothHostMsg_RequestDevice, |
| 131 int /* thread_id */, | 135 int /* thread_id */, |
| 132 int /* request_id */) | 136 int /* request_id */) |
| 133 | 137 |
| 134 // Configures the mock data set in the browser used while under test. | 138 // Configures the mock data set in the browser used while under test. |
| 135 // TODO(scheib): Disable testing in non-test executables. crbug.com/436284. | 139 // TODO(scheib): Disable testing in non-test executables. crbug.com/436284. |
| 136 IPC_MESSAGE_CONTROL1(BluetoothHostMsg_SetBluetoothMockDataSetForTesting, | 140 IPC_MESSAGE_CONTROL1(BluetoothHostMsg_SetBluetoothMockDataSetForTesting, |
| 137 std::string /* name */) | 141 std::string /* name */) |
| OLD | NEW |