Commit Graph

263 Commits

Author SHA1 Message Date
Thomas Zimmermann
aaea2d45ed Bug 1056539: Implement Bluetooth Handsfree notifications (under bluetooth2/), r=btian
The patch adds notifications support to the Handsfree manager. Each
notification's method is taken from the respective callback code, with
changes to the arguments' data types.
2014-09-02 18:02:55 +02:00
Thomas Zimmermann
11d43ac9ea Bug 1056539: Add Bluetooth Handsfree notifications (under bluetooth2/), r=btian
The notification interface consists of virtual methods that are
invoked form the Bluetooth backend on certain events. The Handsfree
manager can implement the methods to handle these events.
2014-09-02 18:02:55 +02:00
Thomas Zimmermann
ce880cd1db Bug 1054242: Cleanup |BluetoothServiceBluedroid| and related functions (under bluetooth2/), r=btian
This patch removes unsued code from |BluetoothServiceBluedroid|, related
functions, and cleans up the file. It

 * removes callbacks,
 * removes callback helper tasks,
 * removes helper functions, and
 * cleans up global variables.
2014-09-02 12:38:46 +02:00
Thomas Zimmermann
22bd7a3082 Bug 1054242: Integrate helper runnables into notification methods (under bluetooth2/), r=btian
Bluedroid callbacks were usually called on a separate thread that
was specific to this task. So Gecko's Bluetooth Core contained a
number of runnables for executing callback operations on the main
thread.

Since all notifications always run on the main thread, the extra
runnables are not required any longer. This patch integrates them
into the notification methods where possible.
2014-09-02 12:38:46 +02:00
Thomas Zimmermann
e456465bea Bug 1054242: Use Bluetooth Core notifications (under bluetooth2/), r=btian
This patch connects backend and Gecko side of the notification
code. Gecko will now receive notifications instead of Bluedroid
callbacks.
2014-09-02 12:38:46 +02:00
Thomas Zimmermann
ba20a966b7 Bug 1054242: Implement Bluetooth Core notifications (under bluetooth2/), r=btian
This patch adds the Gecko-side of the Core notifications. The current
implementation of the notification methods has been copied from the
repsective Bluedroid callback methods, with only minor changes to adapt
them to Gecko data types.
2014-09-02 12:38:45 +02:00
Thomas Zimmermann
374b11c2ec Bug 1054242: Add Bluetooth Core notifications (under bluetooth2/), r=btian
A notification is a callback from the Bluetooth backend to inform
Gecko about a event. Bluedroid uses function pointers for this, but
in Gecko we use method calls instead.

Gecko implements notification handlers for the Bluetooth backend. The
backend converts incomming events to Gecko types and forwards them to
the registered notification handler.
2014-09-02 12:38:45 +02:00
Thomas Zimmermann
6f4742436b Bug 1054242: Add infrastructure for Bluetooth notifications (under bluetooth2/), r=btian
This patch adds some runnable classes for running class methods on
the main thread. This is the base of the upcomming notification
mechanism for Bluetooth.
2014-09-02 12:38:45 +02:00
Birunthan Mohanathas
882fe73908 Bug 1058101 - Flatten dom/network/src/ into parent directory. r=mccr8
--HG--
rename : dom/network/src/Connection.cpp => dom/network/Connection.cpp
rename : dom/network/src/Connection.h => dom/network/Connection.h
rename : dom/network/src/Constants.h => dom/network/Constants.h
rename : dom/network/src/NetUtils.cpp => dom/network/NetUtils.cpp
rename : dom/network/src/NetUtils.h => dom/network/NetUtils.h
rename : dom/network/src/NetworkStatsDB.jsm => dom/network/NetworkStatsDB.jsm
rename : dom/network/src/NetworkStatsManager.js => dom/network/NetworkStatsManager.js
rename : dom/network/src/NetworkStatsManager.manifest => dom/network/NetworkStatsManager.manifest
rename : dom/network/src/NetworkStatsService.jsm => dom/network/NetworkStatsService.jsm
rename : dom/network/src/NetworkStatsServiceProxy.js => dom/network/NetworkStatsServiceProxy.js
rename : dom/network/src/NetworkStatsServiceProxy.manifest => dom/network/NetworkStatsServiceProxy.manifest
rename : dom/network/src/PTCPServerSocket.ipdl => dom/network/PTCPServerSocket.ipdl
rename : dom/network/src/PTCPSocket.ipdl => dom/network/PTCPSocket.ipdl
rename : dom/network/src/PUDPSocket.ipdl => dom/network/PUDPSocket.ipdl
rename : dom/network/src/TCPServerSocket.js => dom/network/TCPServerSocket.js
rename : dom/network/src/TCPServerSocketChild.cpp => dom/network/TCPServerSocketChild.cpp
rename : dom/network/src/TCPServerSocketChild.h => dom/network/TCPServerSocketChild.h
rename : dom/network/src/TCPServerSocketParent.cpp => dom/network/TCPServerSocketParent.cpp
rename : dom/network/src/TCPServerSocketParent.h => dom/network/TCPServerSocketParent.h
rename : dom/network/src/TCPSocket.js => dom/network/TCPSocket.js
rename : dom/network/src/TCPSocket.manifest => dom/network/TCPSocket.manifest
rename : dom/network/src/TCPSocketChild.cpp => dom/network/TCPSocketChild.cpp
rename : dom/network/src/TCPSocketChild.h => dom/network/TCPSocketChild.h
rename : dom/network/src/TCPSocketParent.cpp => dom/network/TCPSocketParent.cpp
rename : dom/network/src/TCPSocketParent.h => dom/network/TCPSocketParent.h
rename : dom/network/src/TCPSocketParentIntermediary.js => dom/network/TCPSocketParentIntermediary.js
rename : dom/network/src/Types.h => dom/network/Types.h
rename : dom/network/src/UDPSocket.cpp => dom/network/UDPSocket.cpp
rename : dom/network/src/UDPSocket.h => dom/network/UDPSocket.h
rename : dom/network/src/UDPSocketChild.cpp => dom/network/UDPSocketChild.cpp
rename : dom/network/src/UDPSocketChild.h => dom/network/UDPSocketChild.h
rename : dom/network/src/UDPSocketParent.cpp => dom/network/UDPSocketParent.cpp
rename : dom/network/src/UDPSocketParent.h => dom/network/UDPSocketParent.h
2014-08-27 10:13:39 -07:00
Kyle Machulis
d83f17e7d0 Bug 846200 - Update Marionette JS WebAPI Tests to use new settings-api permissions; r=echou r=echen
--HG--
extra : rebase_source : 36a9f3e055a2ff7bcf624e9ef7f8f1e4619de6da
2014-08-27 21:01:29 -07:00
Wes Kocher
2c9ce1520b Backed out 17 changesets (bug 843452)
Backed out changeset e72a0297d488 (bug 843452)
Backed out changeset 73f62ce4190f (bug 843452)
Backed out changeset 6d4a49ebd9fc (bug 843452)
Backed out changeset ac93e396669f (bug 843452)
Backed out changeset cf4fc721821e (bug 843452)
Backed out changeset 9a94ea71d232 (bug 843452)
Backed out changeset b95ff097374d (bug 843452)
Backed out changeset 8d6428a93500 (bug 843452)
Backed out changeset e31b86ef0e80 (bug 843452)
Backed out changeset bd4efde535cd (bug 843452)
Backed out changeset 02bbcd8ac571 (bug 843452)
Backed out changeset f7f41bf82b22 (bug 843452)
Backed out changeset 20f42764cd38 (bug 843452)
Backed out changeset 82f8670f5c17 (bug 843452)
Backed out changeset 52f25f1278e3 (bug 843452)
Backed out changeset 181337820a7c (bug 843452)
Backed out changeset 9bd12641af03 (bug 843452)

--HG--
rename : dom/mobileconnection/interfaces/nsIMobileConnectionService.idl => dom/mobileconnection/interfaces/nsIMobileConnectionProvider.idl
2014-08-28 16:51:41 -07:00
Edgar Chen
a8ba048e6e Bug 843452 - Part 2-2: Bluetooth changes for MobileConnectionService interface. r=echou 2014-07-02 17:14:08 +08:00
Ryan VanderMeulen
b392753c94 Backed out 11 changesets (bug 1059079, bug 1015518, bug 900551, bug 846200) for Gaia UI test failures on a CLOSED TREE.
Backed out changeset d85b4e48b3b4 (bug 1015518)
Backed out changeset 663b73ba69ec (bug 1015518)
Backed out changeset 5cf1cb5fa022 (bug 900551)
Backed out changeset b953dd5bfdaa (bug 900551)
Backed out changeset a2b6d7c84100 (bug 900551)
Backed out changeset ceb79fe83d15 (bug 900551)
Backed out changeset f6acf344fbf0 (bug 900551)
Backed out changeset fa269ea53937 (bug 846200)
Backed out changeset b89c84a850f9 (bug 846200)
Backed out changeset b7a7dfbe4e3f (bug 846200)
Backed out changeset c6f54d821c11 (bug 1059079)
2014-08-28 12:49:49 -04:00
Kyle Machulis
d511ae9336 Bug 846200 - Update Marionette JS WebAPI Tests to use new settings-api permissions; r=echou r=echen 2014-08-27 21:01:29 -07:00
Jamin Liu
a5650999b4 Bug 1032755 - Return a DOMException with error message when BluetoothReplyRunnable rejects the promise. r=btian 2014-08-25 14:51:29 +08:00
Thomas Zimmermann
b5af5384e0 Bug 1050174: Cleanup interface of |BluetoothSocket| (under bluetoth2/), r=btian
This patch cleans up the interface of Bluedroid's |BluetoothScoket|
to look more similar the interface of |UnixSocketConsumer|, from
which it descends.
2014-08-21 09:30:37 +02:00
Thomas Zimmermann
65390413b4 Bug 1050174: Use |SocketIOShutdownTask| for Bluetooth sockets (under bluetooth2/), r=btian 2014-08-21 09:30:37 +02:00
Thomas Zimmermann
687df7c88d Bug 1050174: Use |SocketIOSendTask| for Bluetooth sockets (under bluetooth2/), r=btian 2014-08-21 09:30:37 +02:00
Thomas Zimmermann
a78eebb573 Bug 1050174: Use |SocketIOTask| for Bluetooth sockets (under bluetooth2/), r=btian 2014-08-21 09:30:36 +02:00
Thomas Zimmermann
2c81ab87b1 Bug 1050174: Use |SocketIOBase| for Bluetooth sockets (under bluetooth2/), r=btian 2014-08-21 09:30:36 +02:00
Thomas Zimmermann
7f22b95680 Bug 1050174: Use |SocketIODeleteInstanceRunnable| for Bluetooth sockets (under bluetooth2/), r=btian 2014-08-21 09:30:36 +02:00
Thomas Zimmermann
88c87ce68d Bug 1050174: Use |SocketIORequestClosingRunnable| for Bluetooth sockets (under bluetooth2/), r=btian 2014-08-21 09:30:36 +02:00
Thomas Zimmermann
e7f495af17 Bug 1050174: Use |SocketIOReceiveRunnable| for Bluetooth sockets (under bluetooth2/), r=btian 2014-08-21 09:30:35 +02:00
Thomas Zimmermann
8ee99a171e Bug 1050174: Use |SocketIOEventRunnable| for Bluetooth sockets (under bluetooth2/), r=btian 2014-08-21 09:30:35 +02:00
Thomas Zimmermann
f584114663 Bug 1050174: Use |SocketIORunnable| for Bluetooth sockets (under bluetooth2/), r=btian 2014-08-21 09:30:35 +02:00
Thomas Zimmermann
3eafa853fe Bug 1050174: Use |SocketConsumerBase| for Bluetooth sockets (under bluetooth2/), r=btian 2014-08-21 09:30:34 +02:00
Thomas Zimmermann
e0177d1acf Bug 1050174: Cleanup fields in |DroidSocketImpl| (under bluetooth2/), r=btian
|DroidSocketImpl| contains several unused fields that are removed
by this patch.
2014-08-21 09:30:34 +02:00
Ed Morley
000d251175 Merge latest green b2g-inbound changeset and mozilla-central; a=merge 2014-08-15 16:54:17 +01:00
Thomas Zimmermann
6d48625e03 Bug 1050126: Convert Bluedroid status codes and error handlers (under bluetooth2/), r=btian
This patch converts Bluedroid status codes in Gecko to the
backend-neutral data type |BluetoothStatus|. All error handlers
have been adapted. The Bluedroid type |bt_status_t| only remains
in |BluetoothInterface|.
2014-08-15 13:41:19 +02:00
Thomas Zimmermann
2df1175640 Bug 1050126: Convert Bluetooth AVRCP data types in |BluetoothAvrcpInterface| (under bluetooth2/), r=btian
With this patch |BluetoothAvrcpInterface| is responsible for converting all
Bluetooth data types to Bluedroid types. All callers have been adapted.
2014-08-15 13:41:19 +02:00
Thomas Zimmermann
f5815c691d Bug 1050126: Convert Bluetooth A2DP data types in |BluetoothA2dpInterface| (under bluetooth2/), r=btian
With this patch |BluetoothA2dpInterface| is responsible for converting all
Bluetooth data types to Bluedroid types. All callers have been adapted.
2014-08-15 13:41:19 +02:00
Thomas Zimmermann
95f487bc6c Bug 1050126: Convert Bluetooth Handsfree data types in |BluetoothHandsfreeInterface| (under bluetooth2/), r=btian
With this patch |BluetoothHandsfreeInterface| is responsible for converting all
Bluetooth data types to Bluedroid types. All callers have been adapted.
2014-08-15 13:41:19 +02:00
Thomas Zimmermann
5318420588 Bug 1050126: Convert Bluetooth Socket data types in |BluetoothSocketInterface| (under bluetooth2/), r=btian
With this patch |BluetoothSocketInterface| is responsible for converting all
Bluetooth data types to Bluedroid types. All callers have been adapted.
2014-08-15 13:41:18 +02:00
Thomas Zimmermann
b39228ca25 Bug 1050126: Convert Bluetooth data types in |BluetoothInterface| (under bluetooth2/), r=btian
With this patch, |BluetoothInterface| is responsible for converting
all Bluetooth data types to Bluedroid types. All callers have been
adapted.
2014-08-15 13:41:18 +02:00
Jamin Liu
22c8f01856 Bug 1043180 - Write a marionette test for Bluetooth pairing based on Bluetooth API v2. r=btian 2014-08-14 11:34:22 +08:00
Jamin Liu
a722811aa2 Bug 1036234 - Fix the follow-up errors from implementation of pairing event handlers. r=btian 2014-08-14 11:34:10 +08:00
Jamin Liu
d3a304e7e3 Bug 1036234 - Implement pairing event handlers of BluetoothAdapter. r=btian, r=mrbkap
- EventHandler ondevicepaired;
- EventHandler ondeviceunpaired;
2014-08-12 16:30:42 +08:00
Jamin Liu
c92f96eaa6 Bug 1036233 - Implement pairing methods of Bluetooth API v2. r=btian, r=mrbkap
- Promise<void> pair(DOMString aAddress)
- Promise<void> unpair(DOMString aAddress)
- sequence<BluetoothDevice> getPairedDevices()
2014-08-12 16:30:36 +08:00
Jamin Liu
628526cbe7 Bug 1036233 - Initialize the data member of BluetoothDevice. r=btian 2014-08-12 16:30:26 +08:00
Nigel Babu
9858b7f9c4 Backed out changeset 2d0ebc1bc7d6 (bug 1036233) for build bustage ON A CLOSED TREE 2014-08-12 09:00:30 +05:30
Nigel Babu
c92019faa9 Backed out changeset c5d50f1bc995 (bug 1036233) for build bustage ON A CLOSED TREE 2014-08-12 09:00:20 +05:30
Nigel Babu
da90530683 Backed out changeset a471c7c73409 (bug 1036234) for build bustage on A CLOSED TREE 2014-08-12 09:00:08 +05:30
Jamin Liu
86709c14f4 Bug 1036234 - Implement pairing event handlers of BluetoothAdapter. r=btian, r=mrbkap
- EventHandler ondevicepaired;
- EventHandler ondeviceunpaired;
2014-08-12 10:49:59 +08:00
Jamin Liu
a33ca7691a Bug 1036233 - Implement pairing methods of Bluetooth API v2. r=btian, r=mrbkap
- Promise<void> pair(DOMString aAddress)
- Promise<void> unpair(DOMString aAddress)
- sequence<BluetoothDevice> getPairedDevices()
2014-08-12 10:49:53 +08:00
Jamin Liu
c6f4dbe265 Bug 1036233 - Initialize the data member of BluetoothDevice. r=btian 2014-08-12 10:49:43 +08:00
Vicamo Yang
d154baf8a2 Bug 1048098: remove redundant flushPermissions, flushPrefEnv from tearing down procedure. r=btian, r=echen 2014-08-08 18:28:58 +08:00
Jocelyn Liu
c8da47a765 Bug 1050494: Clear sBluetoothThread in BluetoothDBusService on shutdown to fix memory leak. r=shuang 2014-08-08 16:22:32 +08:00
Thomas Zimmermann
ca0a369d25 Bug 1048770: Rename |ConnectResultHandler| to |ConnectSocketResultHandler| (under bluetooth2/), r=btian
The linker mixes up |ConnectResultHandler| from BluetoothSocket.cpp
and BluetoothHfpManager.cpp. Consequently one of them gets removed
when linking libxul.so.

This patch works around the problem by renaming |ConnectResultHandler|
in BluetoothSocket.cpp to |ConnectSocketResultHandler|.
2014-08-08 09:58:18 +02:00
Thomas Zimmermann
280f80389e Bug 1048770: Fix member types of |BluetoothInterfaceRunnable{1,3}<>| (under bluetooth2/), r=btian
When sending a |BluetoothInterfaceRunnable3<>| to the main thread,
in the case of BluetoothSocketResultHandler, the connect and accept
operations transfer string objects by reference from the I/O thread.
When the reference is accessed, the actual string might be removed
already.

The patch fixes the problem by storing the strings as value in the
runnable object.
2014-08-08 09:58:17 +02:00
Jocelyn Liu
ea23543f04 Bug 1047757: Call ClearOnShutdown(sBluetoothService) to fix memory leak. r=shuang 2014-08-07 14:01:24 +08:00
Ed Morley
4f96f64e62 Backed out changeset 9281f9896ce0 (bug 1048098) for webapi test failures 2014-08-05 12:22:00 +01:00
Jocelyn Liu
a140f8eca4 Bug 1036228 - Patch3: Handle pairing requests and fire pairing events in BluetoothAdapter. r=btian, r=bz 2014-08-05 18:25:54 +08:00
Jocelyn Liu
3580066831 Bug 1036228 - Patch2: Handle pairing requests reported by bluedroid in bluetooth services. r=btian 2014-08-05 18:25:47 +08:00
Jocelyn Liu
668a01a43f Bug 1036228 - Patch1: Add BluetoothPairingRequestListeningHandle.webidl and implement it. r=btian, r=bz 2014-08-05 18:25:42 +08:00
Vicamo Yang
d84ab8839a Bug 1048098: remove redundant flushPermissions, flushPrefEnv from tearing down procedure. r=btian, r=echen 2014-08-05 16:19:06 +08:00
Nathan Froyd
9ea6c585f8 Bug 1042878 - part 2 - move MOZ_CAIRO_CFLAGS et al additions to C*FLAGS into moz.build; r=glandium 2014-07-24 11:55:33 -04:00
Thomas Zimmermann
4397d37546 Bug 1045461: Fix HFP fallback code to work with latest Bluetooth changes (under bluetooth2/), r=btian
Recent patches to Bluetooth introduced asynchronous initialization of
profile manager. The code in hfp-fallback was not adapted then. This
patch updates the broken code.
2014-07-29 10:47:31 +02:00
Jocelyn Liu
ce11b55a6f Bug 1033898 - Patch1: Add BluetoothPairingEvent and BluetoothPairingHandlewebidls and their class implementations. r=btian, r=bz 2014-07-28 22:09:00 +02:00
Thomas Zimmermann
92ce6a6aa2 Bug 1042691: Asynchronous |BluetoothAvrcpInterface::SetVolume| (under bluetooth2/), r=btian 2014-07-28 09:52:52 +02:00
Thomas Zimmermann
9ce0ff1312 Bug 1042691: Asynchronous AVRCP response interfaces (under bluetooth2/), r=btian 2014-07-28 09:52:51 +02:00
Thomas Zimmermann
c3e8519f16 Bug 1042691: Asynchronous A2DP connect/disconnect (under bluetooth2/), r=btian 2014-07-28 09:52:51 +02:00
Thomas Zimmermann
18e0912f89 Bug 1042691: Asynchronous init and cleanup of A2DP/AVRCP (under bluetooth2/), r=btian 2014-07-28 09:52:51 +02:00
Thomas Zimmermann
19904b0ddd Bug 1042691: Add A2DP/AVRCP result-handler infrastructure (under bluetooth2/), r=btian 2014-07-28 09:52:50 +02:00
Jocelyn Liu
eeed6bee33 Bug 1036232 - Remove redundant code of entering compartment in BT manager and adapter. r=btian 2014-07-25 03:24:00 +02:00
Jocelyn Liu
64b21ec330 Bug 1038632 - Patch2: Maintain device objects in BluetoothAdapter. r=btian 2014-07-25 15:21:44 +08:00
Mike Hommey
d10b15b035 Bug 1041860 - Avoid setting FINAL_LIBRARY to libraries that further use a FINAL_LIBRARY. r=mshal 2014-07-23 08:37:51 +09:00
Thomas Zimmermann
9f759fe733 Bug 1038645: Asynchronous |BluetoothHandsfreeInterface::PhoneStateChange| (under bluetooth2/), r=btian 2014-07-22 13:53:29 +02:00
Thomas Zimmermann
e6da23b9d8 Bug 1038645: Asynchronous Bluetooth Handsfree response methods (under bluetooth2/), r=btian 2014-07-22 13:53:29 +02:00
Thomas Zimmermann
3e3e02dad1 Bug 1038645: Asynchronous |BluetoothHandsfreeInterface::DeviceStatusNotification| (under bluetooth2/), r=btian 2014-07-22 13:53:29 +02:00
Thomas Zimmermann
92a4009c42 Bug 1038645: Asynchronous |BluetoothHandsfreeInterface::VolumeControl| (under bluetooth2/), r=btian 2014-07-22 13:53:28 +02:00
Thomas Zimmermann
cdaab67638 Bug 1038645: Asynchronous Bluetooth Handsfree voice-recognition functions (under bluetooth2/), r=btian 2014-07-22 13:53:28 +02:00
Thomas Zimmermann
46caa9f422 Bug 1038645: Asynchronous Bluetooth Handsfree connection handling (under bluetooth2/), r=btian 2014-07-22 13:53:28 +02:00
Thomas Zimmermann
0873a65ff9 Bug 1038645: Asynchronous Bluetooth Handsfree init and cleanup methods (under bluetooth2/), r=btian 2014-07-22 13:53:28 +02:00
Thomas Zimmermann
e4f30d0b9a Bug 1038645: Add result-handler class for Bluetooth Handsfree profile (under bluetooth2/), r=btian 2014-07-22 13:53:27 +02:00
Thomas Zimmermann
9b1bbedfbc Bug 1038645: Asynchronous starting and stopping of profile managers (under bluetooth2/), r=btian
Profile managers use the new class |BluetoothProfileResultHandler|
to signal the result of initializing of cleaning up operations to
|BluetoothServiceBluedroid|. |BluetoothServiceBluedroid| proceeds
once all profile handlers have finished.

Future patches will build upon this patch to create completely
asynchronous profile managers.
2014-07-22 13:53:27 +02:00
Thomas Zimmermann
c3c2e2ac90 Bug 1041440: Create Promise using |Promise::Create|, r=btian
This patch fixes a call to the private constructor of |Promise|.
2014-07-21 12:41:29 +02:00
Ben Tian
b2b985efa6 Bug 1038026 - Fire onattributechanged event when adapter fails to turn on/off BT and restores state to Disabled/Enabled, r=echou 2014-07-21 10:44:09 +08:00
Boris Zbarsky
c03ab46f93 Bug 1040263. Eagerly create and preserve Promise reflectors so we always have them available during unlink. r=nsm,bholley. 2014-07-18 21:31:11 -04:00
Ben Tian
79f9bf4974 Bug 1038053 - Resolve stopDiscovery when adapter is not discovering, r=echou 2014-07-17 18:02:40 +08:00
Thomas Zimmermann
f720f629b0 Bug 1039216: Fix build break when building JB 4.2 (under bluetooth2/), r=btian 2014-07-02 17:42:21 +08:00
Thomas Zimmermann
32aeb1c404 Bug 1037342: Close file descriptor in BluetoothSocket (under bluetooth2/), r=btian
Currently, BluetoothSocket leaks its file descriptor on close
operations. With this patch when Gecko closes an instance of
BluetoothSocket, the file descriptor is now closed as well.
2014-07-17 09:44:19 +02:00
Jamin Liu
265f64f451 Bug 1035651 - Write a marionette test for BluetoothDevice based on Bluetooth API v2. r=btian 2014-07-17 11:08:02 +08:00
Thomas Zimmermann
8324e4bb8a Bug 1036977: Remove socket setup from BluetoothSocket (under bluetooth2/), r=btian
This patch removes all code related to socket setup from Bluedroid's
BluetoothSocket. The socket setup is handled by BluetoothInterface;
transparantly to its users.

Since most of the socket setup is now hidden, a comment was added to
DroidSocketImpl that explains the connection phases in server and
client.
2014-07-16 10:25:10 +02:00
Thomas Zimmermann
833c315295 Bug 1036977: Handle socket setup for |Accept| in BluetoothInterface (under bluetooth2/), r=btian
This patch moves the accept phase of Bluedroid's |Listen| to the
implementation of BluetoothInterface. |BluetoothInterface::Accept|
handles Bluedroid's socket-setup messages and executes the result
handler with the received file descriptor and data.
2014-07-16 10:24:41 +02:00
Thomas Zimmermann
218eee1aee Bug 1036977: Handle socket setup for |Connect| in BluetoothInterface (under bluetooth2/), r=btian
Bluedroid's internal socket setup transfers 2 messages and possibly
a file descriptor as the first data of a socket connection.

This patch moves the socket-setup code for the |Connect| call to
the implementation of BluetoothInterface. BluetoothSocket only
handles the socket setup of |Listen|, and general socket state.
2014-07-16 10:24:33 +02:00
Thomas Zimmermann
aafa226fd6 Bug 1036977: Introduce connection status for Bluedroid sockets (under bluetooth2/), r=btian
In preparaton of moving the Bluedroid socket setup to BluetoothInterface,
this patch introduces connection states for Bluetooth sockets. There are
4 states,

  - Disconnected,
  - Listening,
  - Connecting, and
  - Connected.

All sockets start in Disconnected and transition to Connected via one
of the other states. Server socket transition through Listening, Client
sockets transition through Connecting. There is currently a lot of code
duplication in read and write methods. This will be cleaned up when the
connection setup is handled by BluetoothInterface.
2014-07-16 10:24:19 +02:00
Thomas Zimmermann
e262949b42 Bug 1036977: Convert Bluedroid Socket's Connect method to asynchronous design (under bluetooth2/), r=btian 2014-07-16 10:24:05 +02:00
Thomas Zimmermann
ad4f6361d2 Bug 1036977: Convert Bluedroid Socket's Listen method to asynchronous design (under bluetooth2/), r=btian 2014-07-16 10:23:52 +02:00
Thomas Zimmermann
970da4830d Bug 1036977: Add result handler for Bluetooth Socket interface (under bluetooth2/), r=btian 2014-07-16 10:23:35 +02:00
Jamin Liu
45a8eef1a9 Bug 1035652 - Write a marionette test for verifying the discovery process based on bluetooth API v2. r=btian 2014-07-16 16:23:16 +08:00
Ben Tian
d44e5969c2 Bug 1037291 - Make BluetoothDiscoveryHandle expire when discovery is stopped, r=echou 2014-07-14 11:23:58 +08:00
Jocelyn Liu
7c565b4fb1 Bug 1006315: Revise BluetoothDevice.webidl and implement it for new WebBluetooth API. r=btian, r=bz 2014-07-14 10:47:19 +08:00
Ben Tian
85a5b3fe70 Bug 1027504 - Implement BluetoothClassOfDevice, r=bz, r=echou 2014-07-10 14:42:10 +08:00
Thomas Zimmermann
007b4fd7cc Bug 1033961: Asynchronous Bluedroid DUT and LE interfaces (under bluetooth2/), r=btian 2014-07-09 09:39:43 +02:00
Thomas Zimmermann
0ef5154365 Bug 1033961: Asynchronous authentification in Bluedroid (under bluetooth2/), r=btian 2014-07-09 09:39:31 +02:00
Thomas Zimmermann
bea0ee1af9 Bug 1033961: Asynchronous Bluedroid device bonding (under bluetooth2/), r=btian 2014-07-09 09:39:18 +02:00
Thomas Zimmermann
164d45aec7 Bug 1033961: Asynchronous discovery methods in Bluedroid (under bluetooth2/), r=btian 2014-07-09 09:39:04 +02:00
Thomas Zimmermann
16d0770aea Bug 1033961: Asynchronous remote-service methods in Bluedroid (under bluetooth2/), r=btian 2014-07-09 09:38:49 +02:00
Thomas Zimmermann
06ae360365 Bug 1033961: Asynchronous Bluedroid device-property methods (under bluetooth2/), r=btian 2014-07-09 09:38:35 +02:00
Thomas Zimmermann
2244cbf6c3 Bug 1033961: Asynchronous Bluedroid adapter methods (under bluetooth2/), r=btian 2014-07-09 09:38:20 +02:00
Thomas Zimmermann
5a28ab6e1b Bug 1033961: Asynchronous Bluedroid starting and stopping (under bluetooth2/), r=btian 2014-07-09 09:38:06 +02:00
Thomas Zimmermann
1988138e46 Bug 1033961: Split Bluedroid start/stop code (under bluetooth2/), r=btian
This patch prepares refactoring of the Bluedroid start and stop
code towards an asynchronous design.
2014-07-09 09:37:53 +02:00
Thomas Zimmermann
300611466e Bug 1033961: Add result handler for Bluetooth Core profile (under bluetooth2/), r=btian
The result-handler class contains a method for each interface
in the Core profile and a method for failed calls. The patch
also adds runnable classes that execute a result handler's
method on the main thread.
2014-07-09 09:37:40 +02:00
Jamin Liu
66461e6980 Bug 1030536 - Write a marionette test for verifying the setters of adapter based on bluetooth API v2. r=btian 2014-07-09 09:52:11 +08:00
Jamin Liu
462d75d9f0 Bug 1006317 - Write a marionette test for BT on/off based on bluetooth API v2. r=btian 2014-07-08 14:57:01 +08:00
Jamin Liu
b48a248443 Bug 1006320 - Add a marionette test for verifying the functionality BluetoothManager based on bluetooth API v2. r=btian 2014-07-04 16:38:40 +08:00
Jamin Liu
16f26f7455 Bug 1006320 - Remove useless bluetooth API tests from bluetooth2 folder. r=btian 2014-07-04 16:38:26 +08:00
Shawn Huang
b7e83249a9 Bug 1033273 - Part 2: Add InitHfpInterface/DeinitHfpinterface. r=btian 2014-07-03 00:05:00 -04:00
Ben Tian
2ff7fd09f0 Bug 1006314 - Patch 3/3: Revise BluetoothAdapter, r=bz, r=echou 2014-07-02 16:25:50 +08:00
Ben Tian
c3b9087fe4 Bug 1006314 - Patch 2/3: Implement BluetoothDiscoveryHandle, r=bz, r=echou 2014-07-02 11:16:37 +08:00
Ben Tian
1a9fa9cd7d Bug 1033130 - [bluetooth2] Add missing including of BluetoothInterface.h in BluetoothA2dpManager.cpp, r=shuang 2014-07-02 10:36:28 +08:00
Jocelyn Liu
da8dca02d5 Bug 1031253 - Patch: Reject promise if StartStopGonkBluetooth failed. r=btian 2014-07-02 10:13:39 +08:00
Jocelyn Liu
0a7df369c5 Bug 1031252 - Patch: Reject promise for setProperty requests if BT is not enabled. r=btian 2014-07-02 09:41:33 +08:00
Thomas Zimmermann
57a0574fb3 Bug 1031185: Convert Bluetooth to use Bluedroid wrappers (under bluedroid2/), r=btian
This patch converts the Bluedroid backend to use the wrapper
classes. The affected interfaces are Core, Sockets, Handsfree,
A2DP, and AVRCP.
2014-07-01 17:50:46 +02:00
Thomas Zimmermann
2dddff3b83 Bug 1031185: Wrap Bluedroid interfaces in classes (under bluedroid2/), r=btian
This patch adds classes around all Bluedroid interfaces that are
currently used by Gecko. These are Core, Socket, Handsfree, A2DP,
and AVRCP.

All arguments and return values are still Bluedroid types and
constants. Future patches will convert them to interface-neutral
artifacts.
2014-07-01 17:50:30 +02:00
Ben Tian
299ed67cbc Bug 1031230 - Change usage of AutoJSAPI in |DispatchAttributeEvent| for bug 951991, r=shuang 2014-06-27 17:38:25 +08:00
Olli Pettay
7da5fd8ae0 Bug 1029866 - Rename InitUsingWin(...) to Init(...), r=bobowencode
--HG--
extra : rebase_source : e04aac99fe64270f283cf49ed52b8f7512a2fa3b
2014-06-25 13:17:17 +03:00
Jim Blandy
4d6a633bba Bug 914753: Make Emacs file variable header lines correct, or at least consistent. DONTBUILD r=ehsan
The -*- file variable lines -*- establish per-file settings that Emacs will
pick up. This patch makes the following changes to those lines (and touches
nothing else):

 - Never set the buffer's mode.

   Years ago, Emacs did not have a good JavaScript mode, so it made sense
   to use Java or C++ mode in .js files. However, Emacs has had js-mode for
   years now; it's perfectly serviceable, and is available and enabled by
   default in all major Emacs packagings.

   Selecting a mode in the -*- file variable line -*- is almost always the
   wrong thing to do anyway. It overrides Emacs's default choice, which is
   (now) reasonable; and even worse, it overrides settings the user might
   have made in their '.emacs' file for that file extension. It's only
   useful when there's something specific about that particular file that
   makes a particular mode appropriate.

 - Correctly propagate settings that establish the correct indentation
   level for this file: c-basic-offset and js2-basic-offset should be
   js-indent-level. Whatever value they're given should be preserved;
   different parts of our tree use different indentation styles.

 - We don't use tabs in Mozilla JS code. Always set indent-tabs-mode: nil.
   Remove tab-width: settings, at least in files that don't contain tab
   characters.

 - Remove js2-mode settings that belong in the user's .emacs file, like
   js2-skip-preprocessor-directives.
2014-06-24 22:12:07 -07:00
Jocelyn Liu
769c107a12 Bug 1006310 - Patch2: Revise SetName and SetDiscoverable to use Promise. r=btian, r=bz 2014-06-24 15:31:10 +08:00
Jocelyn Liu
a2b96f0d94 Bug 1027992 - Patch: Throw an exception when Promise can't be created for enable/disable adapter requests. r=bz 2014-06-24 15:29:34 +08:00
Bob Owen
835b0d6248 Bug 1023969 - Part 7: Replace |AutoPushJSContext|s in bluetooth2 BluetoothDevice::SetPropertyByValue. r=bholley 2014-06-21 18:44:36 +01:00
Bob Owen
a352de6fc6 Bug 1023969 - Part 6: Replace |AutoPushJSContext|s in bluetooth2 BluetoothAdapter::SetPropertyByValue. r=bholley 2014-06-21 18:42:28 +01:00
Bob Owen
07b75c6f25 Bug 1023969 - Part 5: Replace AutoPushJSContext in bluetooth2 BluetoothAdapter GetDevicesTask::ParseSuccessfulReply. r=bholley 2014-06-21 18:39:08 +01:00
Jocelyn Liu
76947bb503 Bug 1027552 - Align values in BluetoothAttributeEvent.attrs with webidl, r=btian 2014-06-23 10:32:58 +08:00
Jamin Liu
fe59e68db4 Bug 1020300 - Dispatch part of AdapterStateChangedCallback to main thread. r=btian 2014-06-20 12:07:23 +08:00
Ben Tian
af69931684 Bug 1026454 - Fire PropertyChanged when discovery state changes, r=echou 2014-06-19 15:47:03 +08:00
Jocelyn Liu
f1a5b855e8 Bug 1019544 - Patch2: Fire onattributechanged to gaia while BluetoothAdapter received PropertyChanged event. r=btian, r=bz 2014-06-19 12:03:12 +08:00
Jocelyn Liu
47ac174896 Bug 1019544 - Patch1: Revise BluetoothAttributeEvent to fire a single event for multiple attribute changes, r=bz 2014-06-19 12:03:09 +08:00
Ben Tian
e1a4567e4e Bug 1020736 - Wrap adapter's new properties for BluetoothManager::GetAdapters call in BluetoothServiceBluedroid, r=echou 2014-06-16 16:47:11 +08:00
Ben Tian
344c8d7a04 Bug 1016196 - Patch 2/2: Add logs for Promise in BluetoothReplyRunnable, r=echou 2014-06-16 15:50:45 +08:00
Ben Tian
4321c0291d Bug 1016196 - Patch 1/2: Add Promise support in BluetoothReplyRunnable, r=echou 2014-05-28 18:11:25 +08:00
Ben Tian
d760772c79 Bug 1016186 - Wrap nsRefPtr<BluetoothAdapter> instead of BluetoothAdapter*, r=echou 2014-06-05 14:52:45 +08:00
Ben Tian
b344f6d176 Bug 1016186 - Do not fire AdapterAdded event when BT is turned on, r=echou 2014-06-04 16:11:59 +08:00
Ben Tian
253e55090e Bug 1025732 - [bluetooth2][RIL] Add number and name presentation, r=shuang 2014-06-16 11:53:56 +08:00
Boris Zbarsky
2bb59ed300 Bug 1009675 part 2. Return WebIDL 'any' values as handles. r=peterv 2014-06-11 16:26:52 -04:00
Jocelyn Liu
20a1372da6 Bug 1022498 - Patch1: Passing nsresult while using Promise::MaybeReject, r=btian 2014-06-09 16:22:27 +08:00
Ben Tian
52c1b3378a Bug 1006308 - Implement adapter enable/disable functions, r=btian 2014-06-04 18:30:08 +08:00
Ben Tian
da3b03f592 Bug 1019372 - Patch 6/6: [bluetooth2] Dispatch part of DiscoveryChangedCallback to main thread, r=echou 2014-06-03 11:50:50 +08:00
Ben Tian
351cd07dbb Bug 1019372 - Patch 5/6: [bluetooth2] Dispatch part of BondStateChangedCallback to main thread, r=echou 2014-06-03 11:45:04 +08:00
Ben Tian
f8aa42bc30 Bug 1019372 - Patch 4/6: [bluetooth2] Dispatch part of RemoteDevicePropertiesCallback to main thread, r=echou 2014-06-03 11:43:40 +08:00
Ben Tian
49475c0bac Bug 1019372 - Patch 3/6: [bluetooth2] Use Atomic on certain primitive variables to ensure thread-safe, r=echou 2014-06-03 11:42:39 +08:00
Ben Tian
22ac382752 Bug 1019372 - Patch 2/6: [bluetooth2] Dispatch part of AdapterPropertiesCallback to main thread, r=echou 2014-06-03 11:41:56 +08:00
Ben Tian
901b249bff Bug 1019372 - Patch 1/6: [bluetooth2] Remove unneccessary variable sIsBtEnabled to avoid racing issue, r=echou 2014-06-03 11:40:42 +08:00
Ben Tian
5019f35a9b Bug 1020046 - Apply Bug 1011110 to bluetooth2, r=shuang 2014-06-04 10:03:14 +08:00
Vicamo Yang
709ef83097 Bug 927320 - 2/2: rename related variables. r=aknow,btian 2014-06-03 22:15:30 +08:00
Vicamo Yang
546cc64d56 Bug 927320 - 1/2: rename TelephonyProvider to TelephonyService. r=aknow
--HG--
rename : dom/telephony/gonk/TelephonyProvider.js => dom/telephony/gonk/TelephonyService.js
rename : dom/telephony/gonk/TelephonyProvider.manifest => dom/telephony/gonk/TelephonyService.manifest
rename : dom/telephony/ipc/TelephonyIPCProvider.cpp => dom/telephony/ipc/TelephonyIPCService.cpp
rename : dom/telephony/ipc/TelephonyIPCProvider.h => dom/telephony/ipc/TelephonyIPCService.h
rename : dom/telephony/nsIGonkTelephonyProvider.idl => dom/telephony/nsIGonkTelephonyService.idl
rename : dom/telephony/nsITelephonyProvider.idl => dom/telephony/nsITelephonyService.idl
2014-06-03 22:15:25 +08:00
Ben Tian
17483b32b5 Bug 1019377 - Fix build break due to RIL and nsTArrayToJSArray changes (bug 1016849 and bug 1017419), r=shuang 2014-06-03 14:18:00 +08:00
Ben Tian
e4c2c7b81b Bug 1006309 - Patch 4/4: Add logs specific for refined WebBluetooth API. r=echou 2014-05-29 17:20:19 +08:00
Ben Tian
efe3026d03 Bug 1006309 - Patch 3/4: Query adapters list from bluetooth backend, r=echou 2014-05-29 17:16:20 +08:00
Ben Tian
75ebfffc15 Bug 1006309 - Patch 2/4: BluetoothManager implementation, r=echou, r=bz 2014-05-29 17:14:45 +08:00