Commit Graph

869 Commits

Author SHA1 Message Date
Ben Tian
e8b4284209 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
acf3671de1 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
e8b418c5f5 Bug 987305 - Refactor EnumSerializer - r=nfroyd 2014-04-14 10:17:40 -04:00
Ben Tian
d6ec57b510 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
145b3964a3 Bug 993275 - [Bluedroid] Ensure icon for audio service devices, r=echou 2014-04-14 09:50:47 +08:00
Ed Morley
67b81d9bd4 Merge latest green inbound changeset and mozilla-central 2014-04-10 17:55:29 +01:00
Boris Zbarsky
a0bb95a823 Bug 993889 part 1. Remove "scope" argument from nsContentUtils::WrapNative. r=bholley 2014-04-10 00:58:41 -04:00
Ben Tian
a79696fb7f Bug 989845 - [bluedroid] Implement KeyPressedCallback to handle HSP commands, r=echou 2014-04-09 17:44:03 +08:00
Carsten "Tomcat" Book
065e1fb950 Merge m-c to b2g-inbound 2014-04-09 14:47:41 +02:00
Thomas Zimmermann
66715d0adc Bug 990392: Fix comments about shared variables in BluetoothDBusService, r=echou 2014-04-09 13:59:19 +02:00
Thomas Zimmermann
27f401f1f0 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
55cb24ce69 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
9b9679dcad 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
5f7b0b5d90 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
710a04c9cc 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
79dab91ff6 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
d4bd64ee2c 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
470f62290d 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
873720ec22 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
dcd2bcd10b 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
ce3a6d74e2 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
78473067ed 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
8d3c875bf6 Bug 984269 - Fix bustage on a CLOSED TREE 2014-04-01 16:32:21 -07:00
Ryan VanderMeulen
0d5b7940ce Merge inbound to m-c. 2014-04-01 16:45:00 -04:00
Jamin Liu
ff14390381 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
02da1fe1b4 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
3a8f5a713d 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
f9d9512acb Bug 984284 - [m-c] a2dp headset icon show on the notification bar, r=echou 2014-03-26 17:02:40 +08:00
Masayuki Nakano
930436ef24 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
41ccdb8f5d 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
f756e17674 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
49823019b0 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
371fc3f23b 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
b2c765fcbf 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
11efa3b360 Bug 986375 - Use defined constants for HFP result code to avoid typo. r=echou 2014-03-26 19:08:00 +01:00
Thomas Zimmermann
697d1bf608 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
f48e139273 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
187be6656a 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
23eb2cae61 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
a7b1e31f1b 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
7cdb5bf24d 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
cdaa2663bf 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
276d7a631f 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
1201c02cee Bug 981458 - Revise +CIEV string for battery charge indicator, r=gyeh 2014-03-12 17:21:07 +08:00
Vicamo Yang
e02ccd0835 Bug 957917 - 2/2: test cases. r=hsinyi 2014-03-11 22:18:00 +08:00
Shawn Huang
feba044fd1 Bug 979160 - Outgoing connection failure shall trigger OnConnect instead of OnDisconnect, r=echou 2014-03-10 10:33:32 +08:00
Ryan VanderMeulen
cb6ce085e9 Backed out changesets a7ea2d51414d and 901717199390 (bug 957917) for causing bug 980375. 2014-03-06 16:30:35 -05:00
Thomas Zimmermann
1e4c0c54eb 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
e36fd9541b 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
1a2e41ef89 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