Commit Graph

1241 Commits

Author SHA1 Message Date
Ryan VanderMeulen
7d024f80ba Backed out changesets d9cbdfbed1f5 and a38ad201299f (bug 929376) for bustage. 2014-08-25 10:46:22 -04:00
dannyliang
de598a730c Bug 1057309 - Fix BT build break in flatfish. r=tzimmermann 2014-08-25 00:00:00 -04:00
Jamin Liu
d9a2c4553d Bug 929376 - Part 2: Move 'IsConnected' from BluetoothManager to BluetoothAdapter and allow it to be used on content process. r=shawnjohnjr 2014-08-25 03:53:00 -04:00
Eric Chou
7c98fa366f Bug 1013748 - Use StaticRefPtr to hold BluetoothService objects, f=shuang, r=tzimmermann, r=khuey 2014-08-25 17:53:37 +08:00
Thomas Zimmermann
592a4673f7 Bug 1053804: Replace |MainThreadTask| by |CloseScoRunnable|, r=shuang
|MainThreadTask| performs different operations on the main thread,
depending on a given command flag. There is only one command, CLOSE_SCO,
in use.

This patch removes the command infrastructure and replaces |MainThreadTask|
by |CloseScoRunnable|, which implements only this single operation.
2014-08-21 10:10:39 +02:00
Thomas Zimmermann
82e0af3a5a Bug 1053804: Cleanup Bluetooth Handsfree manager, r=shuang
This patch removes the unusued callback code from Bluetooth's
Handsfree manager.
2014-08-21 10:10:39 +02:00
Thomas Zimmermann
8bc1aa2290 Bug 1053804: Integrate runnables into Handsfree notifications, r=shuang
A number of notifications dispatch runnables to the main thread for
invoking actions. This is not requireed, as notifications already
run on the main thread. This patch merges the runnable's code into
the respective notifications.
2014-08-21 10:10:39 +02:00
Thomas Zimmermann
de8efe7881 Bug 1053804: Use Bluetooth Handsfree notifications, r=shuang
This patch replaces Handsfree callbacks by notifications. One
important change is that the first call to |BluetoothHandsfreeManager::Get|
now happens during initialization. Hence the Handsfree manager is now setup
immediately, instead of later at use.
2014-08-21 10:10:38 +02:00
Thomas Zimmermann
72eb36ef53 Bug 1053804: Implement Bluetooth Handsfree notifications, r=shuang
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-08-21 10:10:38 +02:00
Thomas Zimmermann
11b6bf3249 Bug 1053804: Add Bluetooth Handsfree notifications, r=shuang
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-08-21 10:10:37 +02:00
Juan Gomez
c33279c8d0 Bug 1054791 - [Flatfish][Build] Build failed in BluetoothInterface.cpp: 'bt_remote_version_t' does not name a type. r=tdz 2014-08-17 16:21:00 -04:00
Edgar Chen
100dbeef98 Bug 843452 - Part 2-2: Bluetooth changes for MobileConnectionService interface. r=echou 2014-07-02 17:14:08 +08:00
Ryan VanderMeulen
4f864e03ab 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
f2437414d9 Bug 900551 - Disable bluetooth push and tethering tests until Bug 1058158 is fixed; r=jaliu 2014-08-27 21:01:30 -07:00
Kyle Machulis
5af27ceec0 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
Bobby Holley
30602c16ab Bug 1052052 - Hoist Auto*JSContext into nsContentUtils and kill nsCxPusher.{cpp,h}. r=gabor 2014-08-14 18:47:15 -07:00
Thomas Zimmermann
7056e64501 Bug 1048915: Cleanup |BluetoothServiceBluedroid| and related functions, r=shuang
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-08-14 18:12:52 +02:00
Thomas Zimmermann
2de21005cd Bug 1048915: Integrate helper runnables into notification methods, r=shuang
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-08-14 18:12:52 +02:00
Thomas Zimmermann
e21a2e0183 Bug 1048915: Use Bluetooth Core notifications, r=shuang
This patch connects backend and Gecko side of the notification
code. Gecko will now receive notifications instead of Bluedroid
callbacks.
2014-08-14 18:12:52 +02:00
Thomas Zimmermann
183d826644 Bug 1048915: Implement Bluetooth Core notifications, r=shuang
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-08-14 18:12:51 +02:00
Thomas Zimmermann
9fd34d94f9 Bug 1048915: Add Bluetooth Core notifications, r=shuang
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-08-14 18:12:51 +02:00
Thomas Zimmermann
b5ad6a21b0 Bug 1048915: Add infrastructure for Bluetooth notifications, r=shuang
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-08-14 18:12:51 +02:00
Vicamo Yang
12b2ecd464 Bug 1048098: remove redundant flushPermissions, flushPrefEnv from tearing down procedure. r=btian, r=echen 2014-08-08 18:28:58 +08:00
Jocelyn Liu
5ca98183ca Bug 1050494: Clear sBluetoothThread in BluetoothDBusService on shutdown to fix memory leak. r=shuang 2014-08-08 16:22:32 +08:00
Thomas Zimmermann
a918b9bec8 Bug 1050299: Wrap BlutoothInterface array initializaton in preprocessor macro, r=shuang
This patch fixes array initialization in the |Convert| functions of
|BluetoothInterface|. Designated initializers are not supported by
all compilers, so we wrap them into a macro and only used them when
possible.
2014-08-07 16:51:14 +02:00
Thomas Zimmermann
cb9d02fafc Bug 992206: Cleanup interface of |BluetoothSocket|, r=shuang
This patch cleans up the interface of Bluedroid's |BluetoothScoket|
to look more similar the interface of |UnixSocketConsumer|, from
which it descends.
2014-08-07 11:37:50 +02:00
Thomas Zimmermann
745af07704 Bug 992206: Use |SocketIOShutdownTask| for Bluetooth sockets, r=shuang 2014-08-07 11:37:50 +02:00
Thomas Zimmermann
ae10ab1fe5 Bug 992206: Use |SocketIOSendTask| for Bluetooth sockets, r=shuang 2014-08-07 11:37:49 +02:00
Thomas Zimmermann
f84576c02e Bug 992206: Use |SocketIOTask| for Bluetooth sockets, r=shuang 2014-08-07 11:37:49 +02:00
Thomas Zimmermann
984e597698 Bug 992206: Use |SocketIOBase| for Bluetooth sockets, r=shuang 2014-08-07 11:37:49 +02:00
Thomas Zimmermann
95c4438192 Bug 992206: Use |SocketIODeleteInstanceRunnable| for Bluetooth sockets, r=shuang 2014-08-07 11:37:49 +02:00
Thomas Zimmermann
adfd295aad Bug 992206: Use |SocketIORequestClosingRunnable| for Bluetooth sockets, r=shuang 2014-08-07 11:37:48 +02:00
Thomas Zimmermann
ee67071005 Bug 992206: Use |SocketIOReceiveRunnable| for Bluetooth sockets, r=shuang 2014-08-07 11:37:48 +02:00
Thomas Zimmermann
17a41cf856 Bug 992206: Use |SocketIOEventRunnable| for Bluetooth sockets, r=shuang 2014-08-07 11:37:48 +02:00
Thomas Zimmermann
d534878cd1 Bug 992206: Use |SocketIORunnable| for Bluetooth sockets, r=shuang 2014-08-07 11:37:47 +02:00
Thomas Zimmermann
0758fa5854 Bug 992206: Use |SocketConsumerBase| for Bluetooth sockets, r=shuang 2014-08-07 11:37:47 +02:00
Thomas Zimmermann
091d002338 Bug 992206: Cleanup fields in |DroidSocketImpl|, r=shuang
|DroidSocketImpl| contains several unused fields that are removed
by this patch.
2014-08-07 11:37:47 +02:00
Jocelyn Liu
17daee6cee Bug 1047757: Call ClearOnShutdown(sBluetoothService) to fix memory leak. r=shuang 2014-08-07 14:01:24 +08:00
Thomas Zimmermann
faea02b189 Bug 1038591: Convert Bluedroid status codes and error handlers, r=shuang
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-06 11:45:32 +02:00
Thomas Zimmermann
361a5a41d5 Bug 1038591: Convert Bluetooth AVRCP data types in |BluetoothAvrcpInterface|, r=shuang
With this patch |BluetoothAvrcpInterface| is responsible for converting all
Bluetooth data types to Bluedroid types. All callers have been adapted.
2014-08-06 11:45:22 +02:00
Thomas Zimmermann
da98b6b73e Bug 1038591: Convert Bluetooth A2DP data types in |BluetoothA2dpInterface|, r=shuang
With this patch |BluetoothA2dpInterface| is responsible for converting all
Bluetooth data types to Bluedroid types. All callers have been adapted.
2014-08-06 11:45:14 +02:00
Thomas Zimmermann
7a7ebd8e5e Bug 1038591: Convert Bluetooth Handsfree data types in |BluetoothHandsfreeInterface|, r=shuang
With this patch |BluetoothHandsfreeInterface| is responsible for converting all
Bluetooth data types to Bluedroid types. All callers have been adapted.
2014-08-06 11:45:05 +02:00
Thomas Zimmermann
fc3af497c6 Bug 1038591: Convert Bluetooth Socket data types in |BluetoothSocketInterface|, r=shuang
With this patch |BluetoothSocketInterface| is responsible for converting all
Bluetooth data types to Bluedroid types. All callers have been adapted.
2014-08-06 11:44:56 +02:00
Thomas Zimmermann
98b2781ca9 Bug 1038591: Convert Bluetooth data types in |BluetoothInterface|, r=shuang
With this patch, |BluetoothInterface| is responsible for converting
all Bluetooth data types to Bluedroid types. All callers have been
adapted.
2014-08-06 11:44:47 +02:00
Ed Morley
802659f09d Backed out changeset 9281f9896ce0 (bug 1048098) for webapi test failures 2014-08-05 12:22:00 +01:00
Vicamo Yang
02b4e50f12 Bug 1048098: remove redundant flushPermissions, flushPrefEnv from tearing down procedure. r=btian, r=echen 2014-08-05 16:19:06 +08:00
Thomas Zimmermann
f9375161ab Bug 1045486: Rename |ConnectResultHandler| to |ConnectSocketResultHandler|, r=shuang
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-05 09:29:14 +02:00
Thomas Zimmermann
3de797f9bb Bug 1045486: Fix member types of |BluetoothInterfaceRunnable{1,3}<>|, r=shuang
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-05 09:28:35 +02:00
Thomas Zimmermann
a220c486c1 Bug 1046737: Use value to maintain Bluetooth bonding arrays, r=shuang
The Bluedroid code uses indices into global arrays while pairing
with devices. These arrays might get changed in between and the
indices become incorrect. The result is undefined.

The patch fixes the problem by using the value, a reply runnable,
directly for array lookups. No indices are required.

This bug was fixed in bluetooth2/ already, but not yet backported.
2014-08-01 10:26:20 +02:00
Nathan Froyd
d86ff9f990 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
5befe1dccb Bug 1045461: Fix HFP fallback code to work with latest Bluetooth changes, r=shuang
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:09 +02:00
Carsten "Tomcat" Book
9f1293819a merge mozilla-inbound to mozilla-central a=merge 2014-07-23 15:50:58 +02:00
Thomas Zimmermann
334db0a7df Bug 1029390: Asynchronous |BluetoothAvrcpInterface::SetVolume|, r=shuang 2014-07-23 07:56:23 +02:00
Thomas Zimmermann
91c489af19 Bug 1029390: Asynchronous AVRCP response interfaces, r=shuang 2014-07-23 07:56:23 +02:00
Thomas Zimmermann
f3ed04c2d8 Bug 1029390: Asynchronous A2DP connect/disconnect, r=shuang 2014-07-23 07:56:23 +02:00
Thomas Zimmermann
08bd1b58db Bug 1029390: Asynchronous init and cleanup of A2DP/AVRCP, r=shuang 2014-07-23 07:56:22 +02:00
Thomas Zimmermann
96a69642e3 Bug 1029390: Add A2DP/AVRCP result-handler infrastructure, r=shuang 2014-07-23 07:56:18 +02:00
Mike Hommey
9ae3c48776 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
75d0df4847 Bug 1029389: Asynchronous |BluetoothHandsfreeInterface::PhoneStateChange|, r=shuang 2014-07-15 10:56:55 +02:00
Thomas Zimmermann
e4272d9672 Bug 1029389: Asynchronous Bluetooth Handsfree response methods, r=shuang 2014-07-15 10:56:55 +02:00
Thomas Zimmermann
23e1230403 Bug 1029389: Asynchronous |BluetoothHandsfreeInterface::DeviceStatusNotification|, r=shuang 2014-07-15 10:56:55 +02:00
Thomas Zimmermann
f303de6a9a Bug 1029389: Asynchronous |BluetoothHandsfreeInterface::VolumeControl|, r=shuang 2014-07-15 10:56:54 +02:00
Thomas Zimmermann
0e440b9331 Bug 1029389: Asynchronous Bluetooth Handsfree voice-recognition functions, r=shuang 2014-07-15 10:56:54 +02:00
Thomas Zimmermann
eaa665192e Bug 1029389: Asynchronous Bluetooth Handsfree connection handling, r=shuang 2014-07-15 10:56:54 +02:00
Thomas Zimmermann
f36d7fcdd1 Bug 1029389: Asynchronous Bluetooth Handsfree init and cleanup methods, r=shuang 2014-07-15 10:56:53 +02:00
Thomas Zimmermann
466b3de750 Bug 1029389: Add result-handler class for Bluetooth Handsfree profile, r=shuang 2014-07-15 10:56:53 +02:00
Thomas Zimmermann
5922253a50 Bug 1029389: Asynchronous starting and stopping of profile managers, r=shuang
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-15 10:56:53 +02:00
Thomas Zimmermann
525eab6a15 Bug 1038097: Include <errno.h> in BluetoothInterface.cpp, r=shuang
This patch adds a missing include statement for <errno.h> to
BluetoothInterface.cpp. This fixes the build for flatfish
devices. For safety, the patch also adds an include statement
for <unistd.h>, which might be necessary for several functions.
2014-07-14 13:43:11 +02:00
Thomas Zimmermann
e54dcfd3a7 Bug 1035240: Close file descriptor in BluetoothSocket, r=shuang
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-11 09:22:51 +02:00
Thomas Zimmermann
aa4af73f0a Bug 1029387: Remove socket setup from BluetoothSocket, r=shuang
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-10 15:11:09 +02:00
Thomas Zimmermann
3c839fc138 Bug 1029387: Handle socket setup for |Accept| in BluetoothInterface, r=shuang
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-10 15:10:54 +02:00
Thomas Zimmermann
d23c61e5d2 Bug 1029387: Handle socket setup for |Connect| in BluetoothInterface, r=shuang
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-10 15:10:45 +02:00
Thomas Zimmermann
12a6ce5437 Bug 1029387: Introduce connection status for Bluedroid sockets, r=shuang
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-10 15:10:36 +02:00
Thomas Zimmermann
b2f94a0df3 Bug 1029387: Convert Bluedroid Socket's Connect method to asynchronous design, r=shuang 2014-07-10 15:10:26 +02:00
Thomas Zimmermann
907eb2797c Bug 1029387: Convert Bluedroid Socket's Listen method to asynchronous design, r=shuang 2014-07-10 15:10:13 +02:00
Thomas Zimmermann
f87c512bc8 Bug 1029387: Add result handler for Bluetooth Socket interface, r=shuang 2014-07-10 15:09:44 +02:00
Shawn Huang
82df54a710 Bug 1033273 - Part 1: Add InitHfpInterface/DeinitHfpinterface. r=btian 2014-07-03 00:04:00 -04:00
Shawn Huang
897601714b Bug 1033234 - Fix build break when building JB 4.2. r=tzimmermann 2014-07-02 22:58:00 -04:00
Thomas Zimmermann
1e1abb5f92 Bug 1029386: Asynchronous Bluedroid DUT and LE interfaces, r=shuang 2014-07-03 09:53:39 +02:00
Thomas Zimmermann
7fc27209e5 Bug 1029386: Asynchronous authentification in Bluedroid, r=shuang 2014-07-03 09:53:32 +02:00
Thomas Zimmermann
5ad7032e90 Bug 1029386: Asynchronous Bluedroid device bonding, r=shuang 2014-07-03 09:53:20 +02:00
Thomas Zimmermann
920ff4a3a8 Bug 1029386: Asynchronous discovery methods in Bluedroid, r=shuang 2014-07-03 09:53:06 +02:00
Thomas Zimmermann
de027ee659 Bug 1029386: Asynchronous remote-service methods in Bluedroid, r=shuang 2014-07-03 09:52:52 +02:00
Thomas Zimmermann
9a7c41c9e2 Bug 1029386: Asynchronous Bluedroid device-property methods, r=shuang 2014-07-03 09:52:35 +02:00
Thomas Zimmermann
32dc1214e2 Bug 1029386: Asynchronous Bluedroid adapter methods, r=shuang 2014-07-03 09:52:19 +02:00
Thomas Zimmermann
25befc9c4f Bug 1029386: Asynchronous Bluedroid starting and stopping, r=shuang 2014-07-03 09:51:57 +02:00
Thomas Zimmermann
104df52f65 Bug 1029386: Split Bluedroid start/stop code, r=shuang
This patch prepares refactoring of the Bluedroid start and stop
code towards an asynchronous design.
2014-07-03 09:51:40 +02:00
Thomas Zimmermann
e2ec3ca124 Bug 1029386: Add result handler for Bluetooth Core profile, r=shuang
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-03 09:51:27 +02:00
Thomas Zimmermann
54c1bbb4d7 Bug 1027030: Convert Bluetooth to use Bluedroid wrappers, r=shuang
This patch converts the Bluedroid backend to use the wrapper
classes. The affected interfaces are Core, Sockets, Handsfree,
A2DP, and AVRCP.
2014-06-27 15:45:26 +08:00
Thomas Zimmermann
1d930119cb Bug 1027030: Wrap Bluedroid interfaces in classes, r=shuang
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-06-27 15:45:26 +08:00
Shawn Huang
77d1ca35fb Bug 1007576 - [bluez] Update CoD value after device found while doing NFC pairing, r=echou 2014-06-27 11:43:01 +08:00
Shawn Huang
4e3d86dd66 Bug 1027506 - [bluedroid] Don't reset call array after HFP link lost, r=echou 2014-06-26 09:58:50 +08:00
Olli Pettay
2091da9022 Bug 1029866 - Rename InitUsingWin(...) to Init(...), r=bobowencode
--HG--
extra : rebase_source : e04aac99fe64270f283cf49ed52b8f7512a2fa3b
2014-06-25 13:17:17 +03:00
Shawn Huang
7870ea14a7 Bug 1015819 - Part 2: [bluez] Restore CoD value based on SDP records. r=echou, f=btian 2014-06-24 02:36:00 -04:00
Shawn Huang
0c9bf361e3 Bug 1015819 - Part 1: [bluedroid] Restore CoD value based on SDP records. r=echou, f=btian 2014-06-20 00:48:00 -04:00
Bob Owen
e193d7fb7a Bug 1023969 - Part 4: Replace |AutoPushJSContext|s in BluetoothDevice::SetPropertyByValue. r=bholley 2014-06-20 14:42:33 +01:00
Bob Owen
96c16f60ff Bug 1023969 - Part 3: Replace AutoPushJSContext in BluetoothManager GetAdapterTask::ParseSuccessfulReply. r=bholley 2014-06-19 20:17:59 +01:00
Bob Owen
3fbaac6efc Bug 1023969 - Part 2: Replace |AutoPushJSContext|s in BluetoothAdapter::SetPropertyByValue. r=bholley 2014-06-19 20:14:32 +01:00
Bob Owen
9fe35d7da0 Bug 1023969 - Part 1: Replace AutoPushJSContext in BluetoothAdapter GetDevicesTask::ParseSuccessfulReply. r=bholley 2014-06-19 20:09:03 +01:00
Hsin-Yi Tsai
2904c42c3d Bug 981519 - number and name presentation - part 5 - BT module. r=btian 2014-04-17 11:46:03 +08:00
Shawn Huang
d881e1b563 Bug 989976 - [bluedroid] Hit SIGBUS on unaligned access while doing AdapterPropertiesChangeCallback. r=echou 2014-06-17 01:38:00 -04:00
Jamin Liu
5899b96884 Bug 968709 - Add a marionette test for pairing APIs of BluetoothAdapter. r=echou, f=vyang 2014-06-05 19:17:00 -04:00
Jamin Liu
e2db2beef2 Bug 968709 - Add a marionette test case to Bluetooth set to make sure the URL of Marionette client is correct. r=vyang
Few marionette tests in unit-test set may navigate to specific URL and
wouldn't restore the URL of marionette client when the tests end.
Navigate the URL to default value before running Bluetooth test to make
sure the correctness of test.
2014-06-18 00:20:00 -04:00
Hsin-Yi Tsai
4400e2ac88 Backed out changeset e152089ae843 (bug 981519) for causing regression bug 1026081 2014-06-17 15:37:31 +08:00
Jamin Liu
b96cb2f7ad Bug 1009157 - Ensures that we can receive BT enable/disabled events in marionette test every times. r=echou
Ensures that we can always receive that "enabled"/"disabled" event by
installing the event handler *before* we ever enable/disable Bluetooth. Or
we might just miss those events and get a timeout error.
2014-06-15 22:50:00 +02:00
Hsin-Yi Tsai
2144c354c7 Bug 981519 - number and name presentation - part 5 - BT module. r=btian 2014-04-17 11:46:03 +08:00
Boris Zbarsky
1284410aa0 Bug 1009675 part 2. Return WebIDL 'any' values as handles. r=peterv 2014-06-11 16:26:52 -04:00
Ed Morley
1d5dc90a99 Backed out changeset 5f7e58de5d56 (bug 968709) for causing bug 1023167 2014-06-10 11:49:10 +01:00
Ed Morley
a2964856e1 Backed out changeset 8d2cc1387119 (bug 968709) 2014-06-10 11:48:43 +01:00
Daniel Holbert
f98266464a Bug 1022417: Annotate BluetoothHfpManager::GetVolumeTask as MOZ_FINAL to calm GCC Wdelete-non-virtual-dtor build warning. blanket-r=ehsan 2014-06-08 14:58:02 -07:00
Eric Chou
900f727b36 Bug 1002391 - Get the latest SDP records of the target device, r=shuang
Use BlueZ API 'CreateDevice' to update the SDP records of those
unknown devices. On the other hand, still use 'DiscoverServices'
to update SDP records of paired devices.
2014-06-06 18:14:22 +08:00
Jamin Liu
056d16c7ed Bug 968709 - Add a marionette test for pairing APIs of BluetoothAdapter. r=echou, f=vyang 2014-06-06 11:38:24 +08:00
Jamin Liu
921d0a8c8a Bug 968709 - Add a marionette test case to Bluetooth set to make sure the URL of Marionette client is correct. r=echou, f=vyang
Few marionette tests in unit-test set may navigate to specific URL and
wouldn't restore the URL of marionette client when the tests end.
Navigate the URL to default value before running Bluetooth test to make
sure the correctness of test.
2014-06-06 11:38:24 +08:00
Vicamo Yang
8cb64a40e2 Bug 927320 - 2/2: rename related variables. r=aknow,btian 2014-06-03 22:15:30 +08:00
Vicamo Yang
a2515b9bfe 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
Kyle Huey
960814eb6e Bug 1011110: Don't allow replying to a BluetoothRequest twice. r=bent 2014-06-02 19:02:27 -07:00
Steve Fink
b3dbf53538 Bug 1017419 - Handlify nsTArrayToJSArray, r=terrence
--HG--
extra : rebase_source : 802407d2c25fe060e16b546890859720664158ae
2014-06-02 09:40:13 -07:00
Szu-Yu Chen [:aknow]
ae59cc5c7a Bug 1016849 - Part 3: Remove isActive (bluetooth). r=btian 2014-05-29 00:16:00 -04:00
Eric Chou
147437e906 Bug 1015826 - Dispatch part of BondStateChangedCallback to main thread, r=tzimmermann 2014-05-29 11:24:09 +08:00
Eric Chou
e0f5c75ecf Bug 1015826 - Dispatch part of RemoteDevicePropertiesCallback to main thread, r=tzimmermann 2014-05-29 11:24:07 +08:00
Eric Chou
d58e778695 Bug 1015826 - Use Atomic to ensure thread-safe, r=tzimmermann 2014-05-29 11:24:05 +08:00
Eric Chou
b4286968bc Bug 1015826 - Dispatch part of AdapterPropertiesCallback to main thread, r=tzimmermann
Please note that sSetPropertyRunnableArray[0] should be fired after
firing "PropertyChanged" to BluetoothAdapter, however this is not
guaranteed in current implementation. This patch also fixed this
potential problem.
2014-05-29 11:24:03 +08:00
Eric Chou
fce091a6e1 Bug 1015826 - Remove unneccessary variable sIsBtEnabled to avoid racing issues, r=tzimmermann 2014-05-29 11:24:02 +08:00
Carsten "Tomcat" Book
6ac945962e Backed out changeset 349ca77481c0 (bug 968709) for marionette test failures 2014-05-28 13:02:01 +02:00
Jamin Liu
f588731c34 Bug 968709 - Add a marionette test for pairing APIs of BluetoothAdapter. r=echou, f=vyang 2014-05-22 22:42:00 +02:00
Ben Tian
f5c943538a Bug 1016243 - [cleanup] Remove unused function BluetoothService::RemoveObserverFromTable, r=shuang 2014-05-27 17:02:44 +08:00
Ryan VanderMeulen
466e829323 Merge inbound to m-c on a CLOSED TREE. 2014-05-27 16:23:41 -04:00
Reuben Morais
2ea427cafe Bug 952486 - Use CheckPermissions instead of Func for several interfaces. r=bz 2014-05-25 15:31:11 -03:00
Eric Chou
34bbff1ce7 Bug 942104 - Notify BluetoothAdapter about discovery state changed (bluez), r=gyeh 2014-05-23 14:01:41 +08:00
Eric Chou
b50caa8526 Bug 942104 - Notify BluetoothAdapter about discovery state changed (bluedroid), r=gyeh 2014-05-23 14:01:37 +08:00
Eric Chou
c72ced4ee5 Bug 942104 - Fire event 'discoverystatechanged', r=gyeh 2014-05-23 14:00:25 +08:00
Eric Chou
787f8770b3 Bug 942104 - Add an event listener "ondiscoverystatechanged", r=gyeh, r=mrbkap 2014-05-23 14:00:14 +08:00
Eric Chou
ea5cc07ed5 Bug 942104 - Avoid exposing Bluetooth interface to all web pages, r=bz
Current Bluetooth related webidl implementation would make interfaces
such as BluetoothAdapter exposed to all web pages, and obviously we
don't want to see that.
2014-05-23 14:00:10 +08:00
Birunthan Mohanathas
53a11ecbdf Bug 869836 - Part 4: Use EqualsLiteral instead of Equals(NS_LITERAL_STRING(...)). r=ehsan 2014-05-22 06:48:51 +03:00
Birunthan Mohanathas
016d46e5f3 Bug 869836 - Part 3: Use Append('c') instead of AppendLiteral("c"). r=ehsan 2014-05-22 06:48:51 +03:00
Birunthan Mohanathas
41bdca1ff6 Bug 869836 - Part 2: Use AppendLiteral instead of Append(NS_LITERAL_STRING(...)). r=ehsan 2014-05-22 06:48:50 +03:00
Birunthan Mohanathas
2779282281 Bug 869836 - Part 12: Use Assign('c') instead of AssignLiteral("c"). r=ehsan
--HG--
extra : rebase_source : a6b15019cee452973dd8bf3112c15e14175855a9
2014-05-26 21:55:08 +03:00
Birunthan Mohanathas
65f503e85a Bug 869836 - Part 11: Use Append('c') instead of AppendLiteral("c"). r=ehsan
--HG--
extra : rebase_source : 08bcbfd804f1adcab40c7d59fa56deda1f6e0829
2014-05-26 21:54:58 +03:00
Birunthan Mohanathas
05e61fd2cb Bug 869836 - Part 10: Use Truncate instead of AssignLiteral(""). r=ehsan
--HG--
extra : rebase_source : e75c900e72e5367518f2b923a839fd23acf29a42
2014-05-26 21:54:53 +03:00
Shawn Huang
96c131f612 Bug 1005901 - [bluedroid] Always do cleanup after disable. r=btian 2014-05-16 04:48:00 -04:00
Jamin Liu
0c8ed67653 Bug 1003472 - If OPP manager can't get valid service channel, refresh SDP records until timeout is hit. r=shuang
If user tries to send a file to a device which just completes the pairing
process, the OPP manager may update SDP records when it's not ready.

It's especially likely to occur in BT file transfer with inline pairing
since OPP manager would request for a service channel to send the file when
device is just paired.
2014-05-16 14:35:20 +08:00
Thomas Zimmermann
b11ec67cd4 Bug 997137: Inherit |DroidSocketImpl| from |UnixFdWatcher|, r=echou
This patch converts |DroidSocketImpl| to inherit from |UnixFdWatcher|.
|UnixFdWatcher| maintains a Unix file descriptor on the I/O loop, and
replaces similar functionality in |DroidSocketImpl|.

As a side effect, all file descriptors in |DroidSocketImpl| are now
non-blocking. This does change the way how the code works, but ensures
that it doesn't block on the I/O thread.
2014-05-14 13:21:10 +02:00
Edgar Chen
31f7c58ed0 Bug 898445 - Part 3: Bluetooth changes for MobileConnection webidl. r=echou 2014-02-25 18:01:23 +08:00
Ben Tian
58bb477865 Bug 1003020 - Update to the latest battery level when HFP manager initializes, r=shuang 2014-04-29 19:12:36 +08:00
Chris Peterson
ed406b4edb Bug 990764 - Replace MOZ_ASSUME_UNREACHABLE in dom. r=smaug 2014-04-20 00:36:40 -07:00
Jamin Liu
0f19238a18 Bug 1003663 - Handle the case that user turn off BT during the middle of BT reply. r=echou, f=shuang
- End the session if BT is turn off during the middle of BT profile connection.
- Clear static queues(array) when BT is on.
2014-05-08 19:20:15 +08:00
Ting-Yu Lin
d06a72a66e Bug 1006986 - Fix build fail for flame debug. r=echou 2014-05-06 22:39:00 -04:00
Jamin Liu
219dbe6881 Bug 1003658 - Avoid to create reference cycle in BluetoothProfileController which would cause memory leak. r=echou, f=shuang 2014-05-07 10:57:27 +08:00
Jamin Liu
fcc15cdd85 Bug 1003657 - Don't keep reference in GetDefaultAdapterPathInternal() to avoid memory leak. r=echou, f=shuang 2014-05-06 11:45:51 +08:00
Ben Tian
4d407f77c6 Bug 1003762 - [bluedroid] Notify BluetoothRilListener of service change, r=echou 2014-05-05 09:28:20 +08:00
Nathan Froyd
b2b2d28887 Bug 1003306 - part 2 - use services::GetPermissionManager everywhere that's appropriate; r=ehsan 2014-04-29 13:27:26 -04:00
Shawn Huang
23cbe5bf2f Bug 993954 - Check sBluetoothChild is null when closing Settings application
It is possible that sBluetoothChild set to nullptr and RecvNotify get called from MessageLoop.
This patch check sBluetoothChild.
2014-04-30 16:58:15 +01:00
Hsin-Yi Tsai
4ea85d9e67 Bug 1000670 - part 5 - BT - impl NotifyClirModeChanged. r=echou 2014-04-24 14:53:03 +08:00
Birunthan Mohanathas
504b581650 Bug 900908 - Part 3: Change uses of numbered macros in nsIClassInfoImpl.h/nsISupportsImpl.h to the variadic variants. r=froydnj 2014-04-27 03:06:00 -04:00
Jamin Liu
506643cfdc Bug 990423 - [Bluetooth] Fix the incorrect condition for reporting call held status when call state changed. r=echou, f=btian
---
 dom/bluetooth/bluez/BluetoothHfpManager.cpp |  108 ++++++++++++++++++++++++---
 dom/bluetooth/bluez/BluetoothHfpManager.h   |    2 +
 2 files changed, 99 insertions(+), 11 deletions(-)
2014-04-25 09:59:32 +08:00
Ben Tian
859092caad Bug 997580 - Don't notify bluedroid of callstate change during transition. r=echou 2014-04-24 11:56:11 +08:00
Ben Tian
44c4e14766 Bug 993286 - Patch 3/3: Add Call.Set() function, r=echou, a=1.4+ 2014-04-21 18:19:53 +08:00
Ben Tian
19a4883c27 Bug 993286 - Patch 2/3: Support AT+CHLD=3 to merge calls, r=echou, a=1.4+ 2014-04-24 14:55:27 +08:00
Ben Tian
0d89f014b5 Bug 993286 - Patch 1/3: Get call setup state from call array, r=echou, a=1.4+ 2014-04-24 13:56:07 +08:00
Shawn Huang
4bc3688ef5 Bug 997626 - [bluez] Handle RequestPairingConsent event and reply pairing confirmation directly. r=echou, f=btian
Consent pairing event raises under the following conditions:
1. Local IO capabilities are DisplayYesNo and remote IO capabiltiies are DisplayOnly or NoInputNoOutput.
2. Call PairingConsent callback for "incoming" request.
This patch is try to directly reply pairing confirmation for consent cases.

How to test:
1. Initialize pairing request with IO capabilities-NoInputNoOutput as
headset role to b2g phone
2. Check pairing status of bluetooth headset
2014-04-22 08:37:01 -04:00
Jocelyn Liu
12a0e3559f Bug 993289: Fix the logic while updating call setup state, f=btian, r=echou 2014-04-22 16:42:38 +08:00
Jocelyn Liu
446990d843 Bug 993288 - Separate BTHF_CALL_STATE_INCOMING and BTHF_CALL_STATE_WAITING for CLCC response only, for other cases, use BTHF_CALL_STATE_INCOMING for both states. r=echou 2014-04-17 16:55:45 +08:00
Jocelyn Liu
9997af6979 Bug 993290 - Respond OK after receiving ATDxxx and improve readability on ProcessDialCall(). r=echou 2014-04-17 03:09:00 +02:00
Shawn Huang
362d61b71d Bug 994411 - [bluedroid] Ignore pending MO call index, while making MO call with bluetooth headset, r=echou 2014-04-17 17:38:28 +08:00
Thomas Zimmermann
9c757eef59 Bug 995912: Remove BLUEZ_DBUS_BASE_IFC from RawDBusConnection, r=qdot, echou
This patch removes the constant BLUEZ_DBUS_BASE_IFC from the file
RawDBusconnection.cpp. The constant is specific to BlueZ, and that's
where it's located now.
2014-04-17 11:16:12 +02:00
Jocelyn Liu
30a8f4051e Bug 993280: Respond OK to HF for AT+CLCC and AT+CHLD, r=echou 2014-04-17 17:18:57 +08:00
Shawn Huang
67e9b24d0b Bug 994411 - [bluez] Ignore pending MO call index, while making MO call with bluetooth headset, r=echou 2014-04-17 14:26:35 +08:00
Ryan VanderMeulen
739b9ad99c Merge inbound to m-c. 2014-04-15 23:26:35 -04:00
Kyle Huey
91420b7d1d Bug 991812: Remove uses of RefCounted<T> that live in Gecko. r=ehsan
--HG--
extra : rebase_source : 239ff77ec3765a3f190ed75b1645c6011e5d1dbd
2014-04-14 12:04:24 -07:00
Thomas Zimmermann
a66cd36350 Bug 992922: Cleanup unused code for Bluedroid sockets 2014-04-15 15:35:00 +02:00
Thomas Zimmermann
d777760bcf Bug 992922: Move listen operation to |DroidSocketImpl|, r=echou, f=shuang
With this patch, the listen operation for Bluedroid sockets
runs on the I/O thread. The related interface is identical to
the one of |UnixSocketConsumer|.
2014-04-15 15:35:00 +02:00
Thomas Zimmermann
3dc34550ea Bug 992922: Move connect operation to |DroidSocketImpl|, r=echou, f=shuang
With this patch, the connect operation for Bluedroid sockets
runs on the I/O thread. The related interface is identical to
the one of |UnixSocketConsumer|.
2014-04-15 15:35:00 +02:00
Ben Tian
0a4cacfaa0 Bug 995061 - Patch 2/2: [bluedroid] apply macro to append named value in bluetooth service, r=echou 2014-04-11 11:52:58 +08:00
Ben Tian
b42332e388 Bug 995061 - Patch 1/2: [bluedroid] define and apply macro to append named value in profile managers, r=echou 2014-04-11 11:52:44 +08:00
Benoit Jacob
82a6b65cf9 Bug 987305 - Refactor EnumSerializer - r=nfroyd 2014-04-14 10:17:40 -04:00
Ben Tian
f9baee610f Bug 993278 - [bluedroid][HFP] Respond OK even if subscriber number information is empty, r=echou 2014-04-10 16:32:54 +08:00
Ben Tian
e4e1a45e59 Bug 993275 - [Bluedroid] Ensure icon for audio service devices, r=echou 2014-04-14 09:50:47 +08:00
Ed Morley
a7f50452e1 Merge latest green inbound changeset and mozilla-central 2014-04-10 17:55:29 +01:00
Boris Zbarsky
67f4d02e6f Bug 993889 part 1. Remove "scope" argument from nsContentUtils::WrapNative. r=bholley 2014-04-10 00:58:41 -04:00
Ben Tian
08943460b4 Bug 989845 - [bluedroid] Implement KeyPressedCallback to handle HSP commands, r=echou 2014-04-09 17:44:03 +08:00
Carsten "Tomcat" Book
baf5a527c2 Merge m-c to b2g-inbound 2014-04-09 14:47:41 +02:00
Thomas Zimmermann
c17f083026 Bug 990392: Fix comments about shared variables in BluetoothDBusService, r=echou 2014-04-09 13:59:19 +02:00
Thomas Zimmermann
6b8a4a099b Bug 990392: Move |sControllerArray| to main thread, r=echou
|sControllerArray| is only being used on the main thread, but
cleared on the I/O thread. During the BlueZ shutdown, we go
through the main thread, where we can clear |sControllerArray|;
moving the variable to main thread exclusively.
2014-04-09 13:59:15 +02:00
Thomas Zimmermann
b2be68fa3c Bug 990392: Move |sAdapterPath| to I/O thread, r=echou
|sAdapterPath| is being accessed from within the main and the
I/O thread in a possible non-thread-safe way. This patch moves
all access to the I/O thread.
2014-04-09 13:59:11 +02:00
Thomas Zimmermann
50d149adb5 Bug 990392: Cleanup |GetServiceChannel| in BluetoothDBusService, r=echou
This patch prepares moving |sAdapterAdded| to the I/O thread. For
|GetServiceChannel| it gets pushed into task classes on the I/O
thread and the interface of these classes is cleaned up.
2014-04-09 13:59:06 +02:00
Thomas Zimmermann
2f25ccaa33 Bug 990392: Move sAuthorizedServiceClass to I/O thread, r=echou
|sAuthorizedServiceClass| is being set on the main thread, but read
from within the I/O thread. Making the variable a static constant
array and moving all access to the I/O thread fixes potential race
conditions.
2014-04-09 13:59:03 +02:00
Thomas Zimmermann
56e5764077 Bug 990392: Make |sIsPairing| non-atomic, r=echou
|sIsPairing| is not a shared resource. No need to make it atomic.
2014-04-09 13:58:59 +02:00
Boris Zbarsky
fdbb455d4f Bug 991742 part 8. Remove the "aScope" argument of WebIDL/nsWrapperCache WrapObject() methods. r=bholley
This patch was mostly generated with the following command:

find . -name "*.h" -o -name "*.cpp" | xargs sed -e '/WrapObject(JSContext/ {; N; s/\(WrapObject(JSContext *\* *a\{0,1\}[Cc]x\),\n\{0,1\} *JS::Handle<JSObject\*> a\{0,1\}[sS]cope/\1/ ; }' -i ""

and then reverting the changes that made to
dom/bindings/BindingUtils.h, since those WrapObject methods are not
the ones we're trying to change here, plus a bunch of manual fixups
for cases that this command did not catch (including all the callsites
of WrapObject()).
2014-04-08 18:27:18 -04:00
Boris Zbarsky
3f26a82832 Bug 991742 part 6. Remove the "aScope" argument of binding Wrap() methods. r=bholley
This patch was mostly generated with this command:

find . -name "*.h" -o -name "*.cpp" | xargs sed -e 's/Binding::Wrap(aCx, aScope, this/Binding::Wrap(aCx, this/' -e 's/Binding_workers::Wrap(aCx, aScope, this/Binding_workers::Wrap(aCx, this/' -e 's/Binding::Wrap(cx, scope, this/Binding::Wrap(cx, this/' -i ""

plus a few manual fixes to dom/bindings/Codegen.py, js/xpconnect/src/event_impl_gen.py, and a few C++ files that were not caught in the search-and-replace above.
2014-04-08 18:27:17 -04:00
Shawn Huang
c5b77ab127 Bug 977023 - [bluedroid][KK] AVRCP 1.3/1.4 Pass Through command for fastwd and rewind command. r=gyeh 2014-04-04 08:19:48 -04:00
Carsten "Tomcat" Book
762dd9db1d Backed out changeset 3ad927b99e82 (bug 972249) for permanent test failure in marionette on a CLOSED TREE 2014-04-03 15:09:43 +02:00
Thomas Zimmermann
36febf5c86 Bug 972249: Remove |sGetPropertyMonitor|, r=echou
This bug has probably been solved by bug 983576, so we can remove
the extra locking.
2014-04-03 13:01:09 +02:00
Jamin Liu
e7cf2b54ec Bug 860698 - B2G Bluetooth: Add a test case for discover remote device through BluetoothAdapter. r=vyang, r=echou 2014-04-02 08:51:46 -04:00
Ben Tian
501d7d531f Bug 990428 - Do not reset mSlcConnected=false when indicator status update is disabled, f=jaliu, r=echou 2014-04-01 14:40:49 +08:00
Dave Hylands
c0521cde0d Bug 984269 - Fix bustage on a CLOSED TREE 2014-04-01 16:32:21 -07:00
Ryan VanderMeulen
52484dbcb0 Merge inbound to m-c. 2014-04-01 16:45:00 -04:00
Jamin Liu
72a93a4448 Bug 988111 - Unregister Bluetooth signal handler when BT objects were disconnected from owner window. r=echou, f=shuang 2014-04-01 08:58:56 -04:00
Jamin Liu
f952f1aad2 Bug 980039 - Don't create BT adapter if the owner window of BT manager was cleaned up. r=echou, f=shuang
It's meaningless to create a adapter for a BluetoothManager which was disconnected from its owner window.
2014-04-01 08:58:55 -04:00
Jamin Liu
ac3e84ab48 Bug 860697 - B2G Bluetooth: Add test cases to set/get properties of BluetoothAdapter. r=vyang, r=echou 2014-04-01 08:58:54 -04:00
Ben Tian
81be826851 Bug 984284 - [m-c] a2dp headset icon show on the notification bar, r=echou 2014-03-26 17:02:40 +08:00
Masayuki Nakano
b185105992 Bug 984269 Rename nsDOMEventTargetHelper to mozilla::DOMEventTargetHelper r=smaug
--HG--
rename : dom/events/nsDOMEventTargetHelper.cpp => dom/events/DOMEventTargetHelper.cpp
rename : dom/events/nsDOMEventTargetHelper.h => dom/events/DOMEventTargetHelper.h
2014-04-01 15:13:50 +09:00
Thomas Zimmermann
076abc8a39 Bug 983576: Annotate all assertions for non-main threads in BlueZ backend, r=echou
This patch adds an annotation to each assertion for non-main threads in
the BlueZ backend of Bluetooth. This should make is easy and obvious to
see in which context a method or function is expected to run.
2014-03-27 11:43:49 +01:00
Thomas Zimmermann
ce990a5595 Bug 983576: Annotate global BlueZ variables, r=echou
The global variables in BluetoothDBusService.cpp are now annotated
for their multi-threading access. Some code still seems to access
some of these variables in an unprotected manner. Follow-up patches
should clean this up.

As a side effect, this patch makes several variables as constant,
which improves correctness of the code.
2014-03-27 11:43:49 +01:00
Thomas Zimmermann
b689b9e6cc Bug 983576: Fail if sDBusConnection is not set, r=echou
Until now, we had corner cases in Bluetooth where DBus messages might
have been received on connections that are shutting down. This can't
happen any longer and this patch replaces the respective tests with
assertions.
2014-03-27 11:43:49 +01:00
Thomas Zimmermann
2b29d92ffb Bug 983576: Refactor BlueZ start/stop code, r=echou
With this patch, the start code of Bluetooth's BlueZ back mostly
runs on the I/O thread. Only the loading of the BT firmware and
the blocking connection setup is done on the BT thread.

The stop code has been moved to the I/O thread, except for some
initial waiting and the final cleanup of the firmware. The code
doesn't wait for errors anymore when cleaning up the connection
to DBus. This makes it run completely non-blocking. The initial
waiting may later be replaced by something more sophisticated.
2014-03-27 11:43:48 +01:00
Thomas Zimmermann
6b22653376 Bug 983576: Move DispatchToBtThread to mozilla::bluetooth namespace, r=echou
This patch moves DispatchToBtThread to mozilla::bluetooth, so that
it is available on the I/O thread.
2014-03-27 11:43:48 +01:00
Jocelyn Liu
b487187ebe Bug 986375 - Use defined constants for HFP result code to avoid typo. r=echou 2014-03-26 19:08:00 +01:00
Thomas Zimmermann
a910cb0a34 Bug 985949: Correctly forget pointer references in Bluedroid backend, r=echou
This patch fixes a regression from bug 967364. An nsRefPtr is now
correctly cleared by |forget| without causing a crash.
2014-03-24 10:44:29 +01:00
Thomas Zimmermann
7541f838f3 Bug 985949: Fix pointer handling in BlueZ backend, r=echou
This is caused by bug 967364. We need to hand over data structures
to DBus operations and forget about them if the operation returned
success. Until now, we could just tell their nsRefPtrs to |forget|
about them, but with bug 967364 applied we need to swap an empty
value into the pointer.
2014-03-24 10:44:28 +01:00
Shawn Huang
28433a4df0 Bug 986352 - [bluedroid] Fix hfp-fallback build break due to miss Reset() for BluetoothHfpManager, r=echou 2014-03-21 17:12:16 +08:00
Thomas Zimmermann
f76d832ae7 Bug 979370: Remove |BluetoothService::IsEnabledInternal|, r=echou
The method |IsEnabledInternal| of |BluetoothService| is not used
any longer. This patch removes it.
2014-03-14 10:50:29 +01:00
Thomas Zimmermann
450432213e Bug 979370: Remove |ToggleBtTask|, r=echou
|ToggleBtTask| runs on the same thread as the start and stop methods
of |BluetoothService|. This patch merges the code of |ToggleBtTask|
into the start and stop methods and removes the class.
2014-03-14 10:50:18 +01:00
Thomas Zimmermann
18247847ee Bug 979370: Split |BluetoothService::StartStopBluetooth|, r=echou
This patch splits |BluetoothService::StartStopBluetooth| into two
separate functions. Both have mostly different code paths.
2014-03-14 10:50:02 +01:00
Thomas Zimmermann
06c550c2fb Bug 979370: Move Bluetooth thread into BlueZ backend, r=echou
The Bluetooth thread is only necessary for starting and stopping
Bluetooth with the BlueZ backend. Bluedroid implements its multi-
threading internally.

This patch moves the Bluetooth thread into the BlueZ backend. Two
runnables implement the starting and stopping code. The methods
|StartInternal| and |StopInternal| of |BluetoothDBusService| each
create an instance of the respective runnable and send it to the
internal BT thread. The code in |BluetoothService| runs completely
on the main thread.

For the Bluedroid back end, the patch changes a number of thread
assertions.
2014-03-14 10:49:33 +01:00
Shawn Huang
9c0179433d Bug 976485 - [bluedroid] Fix sometimes Avrcp 1.3 play status is out of sync. r=gyeh 2014-03-13 09:12:41 -04:00
Ben Tian
10eac88b1c Bug 981458 - Revise +CIEV string for battery charge indicator, r=gyeh 2014-03-12 17:21:07 +08:00
Vicamo Yang
d3877e1b45 Bug 957917 - 2/2: test cases. r=hsinyi 2014-03-11 22:18:00 +08:00
Shawn Huang
e44679a57d Bug 979160 - Outgoing connection failure shall trigger OnConnect instead of OnDisconnect, r=echou 2014-03-10 10:33:32 +08:00
Ryan VanderMeulen
48db9fe113 Backed out changesets a7ea2d51414d and 901717199390 (bug 957917) for causing bug 980375. 2014-03-06 16:30:35 -05:00
Thomas Zimmermann
4e48226bf0 Bug 978809: Send ToggleBtAck after finishing BlueZ connection setup, r=echou
With this patch, ToggleBtAck is sent by the BlueZ backend of
Bluetooth after the connection has been set up completely.
2014-03-06 12:45:16 +01:00
Thomas Zimmermann
99747bb5a9 Bug 978809: Remove sToggleBtMonitor from Bluedroid backend, r=echou
When enabling or disabling Bluetooth, the Bluedroid backend waits
on sToggleBtMonitor until a BT adapter has been activated. Once
the monitor gets notified, the backend sends a ToggleBtAck runnable
to the main thread.

This patch removes sToggleBtMonitor from the Bluetooth Bluedroid
backend. Instead of signalling the monitor's notification, the
Bluedroid handler function sends the ToggleBtAck directly.
2014-03-06 12:43:35 +01:00
Eric Chou
73b0511a00 Bug 976943 - Replace OnConnect/OnDisconnect with one function, f=btian, r=gyeh
In BluetoothProfileController, it's meaningless to separate OnConnect
and OnDisconnect since the following steps would be the same for both
cases. Therefore I introduced a function called NotifyCompletion() for
each profile manager to report the completion of connecting/disconnecting
operations.
2014-03-06 19:26:28 +08:00
Eric Chou
54e43ece14 Bug 976943 - Add error handing for connect/disconnect process, f=btian, r=gyeh 2014-03-06 19:26:22 +08:00
Eric Chou
ac9e55852b Bug 976883 - Handle unknown property sent from bt stack properly, f=btian, r=shuang 2014-03-05 15:50:54 +08:00
Shawn Huang
2406f1830e Bug 951634: Add TimerCallback in Profile Controller, r=gyeh 2014-01-29 19:13:10 +08:00
Vicamo Yang
5d40847cb4 Bug 957917 - 2/2: test cases. r=hsinyi 2014-03-05 10:37:45 +08:00
Jamin Liu
83f4d786be Bug 972730 - Avoid disabling BT before the BT adapter is initialized in marionette test. r=echou, f=vicamo
The current Bluetooth API can't allow user to disable BT before the BT
adapter is initialized.
In practice, We block the clicking event in gaia layer to prevent user
to turn off BT before BT enable procedure complete.
If we use marionette test to force emulator turn on and turn off BT in
a short period of time, it may crash emulator.

Listen to 'adapteradded' event rather than 'enabled' as the end of
BT enable to make sure we wouldn't disable BT when it's not ready.
2014-03-03 10:20:24 -05:00
Thomas Zimmermann
a8ee0089df Bug 977146: Push ToggleBtAck into implementations of {Start|Stop}Internal, r=echou
The methods {Start|Stop}Internal for BlueZ and Bluedroid now send
ToggleBtAck to signal completeness of the operation.

The current patch allows for further cleanups in the BlueZ code. It
does not change the semantics or code flow.
2014-03-03 13:07:17 +01:00
Thomas Zimmermann
8ea9711415 Bug 977146: Declare ToggleBtAck in header file, r=echou
Declaring ToggleBtAck in the header file of BluetoothService makes
it available ot others classes.
2014-03-03 13:07:17 +01:00
Thomas Zimmermann
79dfb23a1e Bug 977146: Set PROP_BLUETOOTH_ENABLED in ToggleBtAck, r=echou
PROP_BLUETOOTH_ENABLED signals the Bluetooth state to other
components in the system. Setting its value in ToggleBtAck
on the main thread avoids duplicated code in the upcoming
patches.
2014-03-03 13:07:16 +01:00
Carsten "Tomcat" Book
ac78ac1ab1 Merge mozilla-central to b2g-inbound 2014-02-27 15:59:39 +01:00
Hsin-Yi Tsai
4e8b35038d Bug 881174 - part5 - cdma 3way call: BT. r=gyeh 2014-02-21 17:53:23 +08:00
Ben Tian
2a9faeacea Bug 939672 - Patch 2/2: Move NS_DECL_ISUPPORTS and NS_DECL_NSIOBSERVER into BluetoothProfileManagerBase.h 2014-02-20 18:15:47 +08:00
Ben Tian
ccbb3da8ce Bug 939672 - Patch 1/2: [bluedroid] Add fallback BluetoothHfpManager, r=gyeh
--HG--
rename : dom/bluetooth/bluedroid/BluetoothHfpManager.cpp => dom/bluetooth/bluedroid/hfp/BluetoothHfpManager.cpp
rename : dom/bluetooth/bluedroid/BluetoothHfpManager.h => dom/bluetooth/bluedroid/hfp/BluetoothHfpManager.h
2014-02-25 11:37:37 +08:00
Ben Tian
dd16b6a00e Bug 972732 - Patch 1/2: Remove bluez/linux and bluedroid/gonk folders, r=echou
--HG--
rename : dom/bluetooth/bluedroid/gonk/BluetoothServiceBluedroid.cpp => dom/bluetooth/bluedroid/BluetoothServiceBluedroid.cpp
rename : dom/bluetooth/bluedroid/gonk/BluetoothServiceBluedroid.h => dom/bluetooth/bluedroid/BluetoothServiceBluedroid.h
rename : dom/bluetooth/bluez/linux/BluetoothDBusService.cpp => dom/bluetooth/bluez/BluetoothDBusService.cpp
rename : dom/bluetooth/bluez/linux/BluetoothDBusService.h => dom/bluetooth/bluez/BluetoothDBusService.h
2014-02-25 10:38:51 +08:00
Ehsan Akhgari
d0e585a794 Bug 975732 - Move one CXXFLAGS variable in dom/bluetooth to DEFINES; r=mshal 2014-02-22 21:42:12 -05:00
Ehsan Akhgari
83afc1afae Bug 935778 - Part 0.4: Spray even more MOZ_DECLARE_REFCOUNTED_TYPENAME across the tree 2014-02-21 09:11:33 -05:00
Thomas Zimmermann
00cd6cf056 Bug 972253: Remove GetDBusConnection, r=echou
All calls to GetDBusConnection have been replaced by direct references
to sDBusConnection.
2014-02-20 12:56:11 +01:00
Thomas Zimmermann
d2c1b2933a Bug 972253: Cleanup Start/Stop methods in BlueZ backend, r=echou
This patch cleans up the code for starting and stopping DBus
connections in the BlueZ backend of Bluetooth. It also fixes
a bug were the initial 'adapteradded' reply might have been
missed.
2014-02-20 12:55:57 +01:00
Thomas Zimmermann
84813f9187 Bug 972253: Merge the content of DBusThread.cpp into Bluetooth code, r=echou
DBusThread.{cpp,h} maintains state for Bluetooth. This patch moves
the content of these files to Bluetooth's Bluez backend.
2014-02-20 12:55:41 +01:00
Sam Joch
c47f9b1be2 Bug 968215 - SettingsService needs to have a callback when transaction are completed. r=bent 2014-02-07 12:19:58 +01:00
Thomas Zimmermann
fda3904fd3 Bug 969314: Cleanup Gonk start/stop code in BluetoothDBusService, r=echou
This patch removes all unnecessary code when starting and stopping
Gonk in BluetoothDBusService. The change simplifies the respective
methods considerably.
2014-02-13 16:28:11 +01:00
Thomas Zimmermann
7a5ca6f23b Bug 969314: Cleanup handling of libbluedroid.so, r=echou
This patch cleans up the handling of libbluedroid.so and its
interfaces. Open and closing the library is now handled internally
and contained functions are wrapped in class methods.
2014-02-13 16:28:09 +01:00
Thomas Zimmermann
8c51180a57 Bug 969314: Merge BluetoothGonkService into BluetoothDBusService, r=echou
This patch merges the code from BluetoothGonkService into
BluetoothDBusService. The merged code is protected by ifdef
statements.
2014-02-13 16:28:07 +01:00
Vicamo Yang
5d4b7b07b3 Bug 969109 follow-up: strictly define the order of participating promises. r=echou, f=jaliu 2014-02-13 19:52:05 +08:00
Ben Tian
5470a466c1 Bug 969447 - Unable to turn bluetooth on after turning it on and off several times, r=echou, a=1.3+ 2014-02-13 12:08:41 +08:00
Ryan VanderMeulen
5cda66cc43 Backed out changeset eea91c2d859d (bug 969447) for Marionette-webapi bustage.
CLOSED TREE
2014-02-11 12:48:09 -05:00
Ben Tian
144f0626fb Bug 969447 - Unable to turn bluetooth on after turning it on and off several times, r=echou 2014-02-11 18:14:58 +08:00
Eric Chou
b095e499cf Bug 962310 - Support in-process bt file transfer, f=bent, r=gyeh
Currently if an app which lives in chrome process calls SendFile()
to send a file via Bluetooth, it would crash.
2014-02-11 10:07:23 +08:00
Carsten "Tomcat" Book
16f899824c merge b2g-inbound to mozilla-central 2014-02-10 12:52:16 +01:00