Commit Graph

194 Commits

Author SHA1 Message Date
Jocelyn Liu
71a7aa2236 Bug 1063449 - Add and implement GATT client connection related bluetooth Web APIs. r=btian, r=bz
This patch mainly covers:
  1) Implement register/unregister client, connect/disconnect methods in BluetoothGatt object.
  2) Add/Modify related webidls for 1).
  3) Implement result handlers, notifications in BluetoothGattManager.
2015-02-13 17:13:00 +01:00
Thomas Zimmermann
cf53a40920 Bug 1126720: Support random postfix for Bluetooth daemon socket name (under bluetooth2/), r=btian
This patch adds support for a random postfix for bluetoothd's socket
name. The postfix is re-generated for every instance of the daemon.
This prevents name collisions between mutliple sessions and malicious
programs from taking over the connection easily.

This patch is based on bug 1119746, patch [05].
2015-02-12 10:12:07 +01:00
Thomas Zimmermann
99a984e211 Bug 1126720: Listen for socket connections when starting Bluetooth (under bluetooth2/), r=btian
Currently, Gecko connects to a running instance of bluetoothd when
it starts the daemon backend. This contains a race condition between
the startup of the daemon and the startup of Gecko.

This patch changes the initialization and cleanup of Bluetooth's
daemon backend so that the Bluetooth daemon connects to Gecko. The
daemon process is now started as part of the initialization and
quits during shutdown. The steps are strictly ordered, so no race
condition exists.

The initialization and cleanup procedures should now be compatible
with BlueZ 5.

This patch is based on bug 1119746, patch [04].
2015-02-12 10:12:07 +01:00
Thomas Zimmermann
c38017e280 Bug 1126720: Fix ref-counting of bluetoothd channels (under bluetooth2/), r=btian
The class |BluetoothDaemonChannel| for the bluetoothd channels
supports reference counting. This patch fixes the respective
variable to use |nsRefPtr| instead of |nsAutoPtr|.

This patch is based on bug 1119746, patch [03]
2015-02-12 10:12:07 +01:00
Thomas Zimmermann
54771250c1 Bug 1126720: Use |int32_t| for |Channel| in Bluetooth Socket HAL (under bluetooth2/), r=btian
This patch is based on bug 1129257.
2015-02-04 17:21:50 +08:00
Thomas Zimmermann
db3ff31476 Bug 1126720: Handle all used type in PDU explicitly (under bluetooth2/), r=btian
This patch is based on bug 1129846.
2015-02-05 15:35:57 +08:00
Thomas Zimmermann
92591b515d Bug 1131653: Move GATT helper classes to BluetoothGattManager namespace, r=btian
Another patch to fix conflicting symbol names in the Bluetooth namespace.
2015-02-11 10:24:10 +01:00
Thomas Zimmermann
f3bcd0dd2a Bug 1131653: Move OPP helper classes into BluetoothOppManager namespace, r=btian
This will resolve possible naming collisions between equally named
classes in the Bluetooth namespace.
2015-02-11 10:24:09 +01:00
Thomas Zimmermann
4cfeb753d3 Bug 1131653: Move A2DP/AVRCP helper classes into BluetoothA2dpManager namespace, r=btian
As for Handsfree helpers, A2DP and AVRCP helpers might create naming
conflicts with other classes. Moving them into |BluetoothA2dpManager|'s
namespace resolves this problem.
2015-02-11 10:24:09 +01:00
Thomas Zimmermann
ff591d7ff2 Bug 1131653: Move Handsfree helper classes into BluetoothHandsfreeManager namespace, r=btian
There are several equal-named, but different, classes in the Bluetooth
namespace. The linker will pick only one of them, which leads to crashes
in the compiled program.
2015-02-11 10:24:09 +01:00
Thomas Zimmermann
a01f7739b4 Bug 1123077: Protect PROPERTY_REMOTE_VERSION_INFO by ANDROID_VERSION, r=shuang 2015-02-03 12:26:56 +01:00
Ben Tian
4a78f1b54b Bug 1128797 - [bluetooth2] Fix build break on emulators, r=shuang 2015-02-03 12:02:07 +08:00
Ben Tian
8d30181595 Bug 1106017 - Patch 2/2: Merge BluetoothUtils.{cpp,h}, r=tzimmermann
--HG--
rename : dom/bluetooth2/bluedroid/BluetoothUtils.cpp => dom/bluetooth2/BluetoothUtils.cpp
rename : dom/bluetooth2/bluedroid/BluetoothUtils.h => dom/bluetooth2/BluetoothUtils.h
2015-02-03 10:06:53 +08:00
Thomas Zimmermann
ad45e70877 Bug 1118693: Added AVRCP support for Bluetooth daemon backend (bluetooth2/), r=btian 2015-01-30 10:05:48 +01:00
Thomas Zimmermann
d0d2425bd1 Bug 1118693: Added Bluetooth AVRCP interface (under bluetooth2/), r=btian 2015-01-30 10:05:48 +01:00
Thomas Zimmermann
f4a5685a22 Bug 1118693: Add Bluetooth AVRCP module (under bluetooth2/), r=btian 2015-01-30 10:05:48 +01:00
Thomas Zimmermann
57eed9ca42 Bug 1118693: Add Bluetooth AVRCP helpers (under bluetooth2/), r=btian 2015-01-30 10:05:48 +01:00
Jamin Liu
21112546e2 Bug 1121404 - Cache addresses of bonded devices and notify adapter properly. r=btian 2015-01-29 15:49:53 +08:00
Jocelyn Liu
8799c4f27b Bug 1126151 - Fix build break resulting from bug 1125356. r=shuang 2015-01-26 22:28:00 -05:00
Thomas Zimmermann
cdf296e1bb Bug 1110049: Add Blueooth A2DP support when using daemon backend (under bluetooth2/), r=btian 2015-01-26 18:39:09 +01:00
Thomas Zimmermann
5906dfd40d Bug 1110049: Added Blueooth A2DP interface for daemon backend (under bluetooth2/), r=btian 2015-01-26 18:39:09 +01:00
Thomas Zimmermann
a5d441e42c Bug 1110049: Added Bluetooth A2DP module for daemon backend (under bluetooth2/), r=btian 2015-01-26 18:39:08 +01:00
Thomas Zimmermann
105f2a4a7a Bug 1110049: Add Bluetooth A2DP helpers (under bluetooth2/), r=btian 2015-01-26 18:39:08 +01:00
Tom Schuster
66ad9a2e49 Bug 1125356 - Use JS_NewPlainObject in the browser. r=bz 2015-01-24 16:38:08 +01:00
Ben Tian
313c39fbfe Bug 1121334 - [bluetooth2] Append device name to BluetoothDevice in BluetoothPairingEvent, r=shuang, f=jaliu 2015-01-16 10:53:55 +08:00
Ben Tian
a2cbd8e9e6 Bug 1118163 - Restore received file for small size (1-packet) file, r=shuang 2015-01-08 18:11:37 +08:00
Dave Huseby
83a6796724 Bug 1107681 - fix up the dom uses of WrapptedJSToDictionary to use the cx-less interface. r=bholley 2014-12-29 11:56:00 +01:00
Jamin Liu
3988677a6b Bug 1088527 - Modify BluetoothOppManager.IsConnected to indicate whether profile is connected or not. r=btian
BluetoothOppManager.IsConnected() couldn't represent the connection status
of Opp profile since it only return true if there is an ongoing
file-transfer session.

This function was used to named |IsTransferring()| in Bug 827267, however,
it was renamed to |IsConnected()| when Bug 842948 landed.
2014-12-26 16:58:11 +08:00
Jamin Liu
ddc5bebb10 Bug 1096266 - Avoid to create Bluetooth profiles on content process since HFP manager need permission to create setting lock. r=shuang, f=btian 2014-12-25 14:46:37 +08:00
Jamin Liu
4cb966142e Bug 1100818 - Launch bluetooth certified app by sending system message if it's not ready for receiving BluetoothPairingEvent. r=btian 2014-12-19 11:12:33 +08:00
Thomas Zimmermann
0fd8a33278 Bug 1103872: Support Handsfree profile when using Bluetooth daemon (under bluetooth2/), r=btian 2014-11-28 11:37:47 +01:00
Thomas Zimmermann
f1c6c7ae79 Bug 1103872: Add Handsfree interface for Bluetooth daemon (under bluetooth2/), r=btian 2014-11-28 11:37:47 +01:00
Thomas Zimmermann
e7723624c9 Bug 1103872: Add Handsfree module for Bluetooth daemon (under bluetooth2/), r=btian 2014-11-28 11:37:47 +01:00
Thomas Zimmermann
28c30fed04 Bug 1103872: Add helpers for Bluetooth daemon Handsfree support (under bluetooth2/), r=btian
This patch adds helpers for packing, unpacking and converting
Handsfree values to and from Bluetooth PDUs.
2014-11-28 11:37:46 +01:00
Thomas Zimmermann
bd5f4fc799 Bug 1102161: Cleanup |BluetoothServiceBluedroid::AdapterStateChangedNotification| (under bluetooth2/), r=btian
This patch replaces |ToggleBtAck| with |AcknowledgeToggleBt| in
|BluetoothServiceBluedroid::AdapterStateChangedNotification| and
cleans up the remaining runnables used by this method.

All runnables need to be handled in the same patch, because the
order of operation must not be changed.
2014-11-28 11:18:15 +01:00
Thomas Zimmermann
67e7eb5b54 Bug 1102161: Replace most instances of |ToggleBtAck| with calls to |AcknowledgeToggleBt| (under bluetooth2/), r=btian
|AcknowledgeToggleBt| completes a Bluetooth start or stop operation
in the context of |BluetoothService|; That was done by |ToggleBtAck|
before.

This patch replaces |ToggleBtAck| with calls to |AcknowledgeToggleBt|
in |BluetoothServiceBluedroid| for all the trivial cases.
2014-11-28 11:18:15 +01:00
Thomas Zimmermann
c7eed9ce1c Bug 1102161: Move helpers of |BluetoothServiceBluedroid| into its namespace (under bluetooth2/), r=btian 2014-11-28 11:18:15 +01:00
Thomas Zimmermann
4f56ee0d82 Bug 1091575: Implement Socket module for Bluetooth daemon (under bluetooth2/), r=btian
This patch adds support for the Bluetooth daemon's Socket module,
which provides OPP functionality.
2014-11-14 10:04:34 +01:00
Thomas Zimmermann
6ff9e20ab8 Bug 1091575: Implement Bluetooth Core module for Bluetooth daemon (under bluetooth2/), r=btian
This patch adds support for the Bluetooth daemon's Core module. It
provides the basic Bluetooth functionality, such as searching and
pairing with devices, and accessing device properties.
2014-11-14 10:04:34 +01:00
Thomas Zimmermann
2b6d77373a Bug 1091575: Add core interfaces and Setup module for Bluetooth daemon (under bluetooth2/), r=btian
This patch adds the core interfaces and the Setup module for
the Bluetooth Daemon. The Setup module implements commands
for enabling and disabling Bluetooth profiles in the daemon.
2014-11-14 10:04:33 +01:00
Shawn Huang
042f661de2 Bug 1096194 - Responding Enhanced call control with ERROR if enhanced call control is not supported, r=btian 2014-11-12 11:15:21 +08:00
Bruce Sun
9aa9fd587b Bug 1079649: Use a temporary (.part) file to store incoming file. (bluetooth2/bluedroid) r=btian 2014-11-10 18:55:50 +08:00
Thomas Zimmermann
9133e20f81 Bug 1084342: Copy received ancillary data into |SocketMessageWatcher|, r=shawnjohnjr
The cast-and-assign pattern for retrieving file descriptors is prone to
SIGBUS signals on platforms that don't support unaligned memory access.
This patch fixes the problem by copying the received data directly.
2014-10-28 10:34:29 +01:00
Thomas Zimmermann
5c750e1803 Bug 1084342: Fix receive buffer size in |SocketMessageWatcher|, r=shawnjohnjr
|SocketMessageWatcher| currently allocates a large amount of memory
for holding ancillary data. The only actually transfered value is a
file descriptor. This patch fixes the buffer size accordingly.
2014-10-28 10:34:18 +01:00
Thomas Zimmermann
0f7868876e Bug 1084342: Move |SocketMessageWatcher| to separate file, r=shawnjohnjr
This patch moves |SocketMessageWatcher| into a separate file. The new
Bluetooth daemon will require it's functionality for OPP profiles.
2014-10-28 10:34:09 +01:00
Jamin Liu
cbd95cfe18 Bug 1069868 - Set Bluetooth property |discoverable| to |false| after Bluetooth enabled. r=shuang
Bluetooth scan mode is BT_SCAN_MODE_CONNECTABLE by default, it means it
should be connectable and non-discoverable.
2014-10-21 01:27:00 -04:00
Thomas Zimmermann
51eba88842 Bug 1083092: Data parameter for |mozilla::ipc::SocketIOSendTask| template, r=shawnjohnjr
The data class in |SocketIOSendTask| is now a template parameter, instead
of being hard-coded to |UnixSocketRawData|. The patch also adds soem minor
cleanups to the file.
2014-10-21 10:52:12 +02:00
Thomas Zimmermann
973c70e366 Bug 1083092: Introduce |mozilla::ipc::SocketBase|, r=shawnjohnjr
The new class |SocketBase| contains the notification mechanism of
|SocketConsumerBase|. The latter still contains I/O methods.
2014-10-21 10:52:11 +02:00
Thomas Zimmermann
b3e7325890 Bug 1074419: Close received socket file descriptors on errors, r=shawnjohnjr 2014-10-01 10:50:33 +02:00
Jocelyn Liu
15364358ea Bug 1083646: Overwrite BLE config in bluedroid to enable BLE for bluetooth2. r=shuang 2014-10-17 14:25:16 +08:00