This patch converts all public interfaces of the Bluetooth backend code
to take UUIDs as |BluetoothUuid|. The code currently uses a mixture of
|BluetoothUuid| and arrays/pointers.
In a following patch, all DevTools moz.build files will use DevToolsModules to
install JS modules at a path that corresponds directly to their source tree
location. Here we rewrite all require and import calls to match the new
location that these files are installed to.
A2DP connects and disconnects are completed from a separate result-handler
runnable. Dispatching runnables to complete AVRCP (dis-)connects implements
the same behavior for AVRCP.
The current IPC parsing code is incorrect. AVRCP remote features are
specified as bitmask, but the current IPC code treats them as values.
This patch fixes this.
Except the d'tors, we usually don't call any interfaces of the Bluetooth
backend interfaces. All methods are overriden in child classes.
This patch move the methods from the interface's header file to the source
file. Only the result handlers' d'tors are located in the header, as they
can be inlined.
This refactoring patch separates the preparation of the fetch event
object from its dispatching, so that consumers would be able to
dispatch the event asynchronously.
This makes an AudioBlock valid for code testing mBufferFormat without IsNull(),
without the need for explicit SetNull().
This is useful so that setting AudioNodeStream::mLastChunks each iteration is
not required for inactive nodes.
This allows simpler processing of the finished state to mark the node as an
inactive input of any downstream nodes. Otherwise the input could not be
considered inactive until after downstream nodes have finished processing,
but ProcessInput() may not be called again on finished streams.
AudioBufferSourceNode now behaves the same as OscillatorNode and similarly
to nodes that release a playing ref.
Per the product discussion, the Notification API should be disabled in
ServiceWorker in release builds for 42 since the UX isn't great [1].
The aim is to release in 44.
Apologies for the code duplication for pref checking in Notification and
ServiceWorkerRegistration. There isn't a easy way to get
ServiceWorkerRegistration's generated binding to include Notification.h without
having an attribute/method that uses Notification.
[1]: https://mana.mozilla.org/wiki/x/TgAJAw
Each of GetNextCachedData and GetCachedDataEndInternal grab the monitor
on entrance, but GetCachedRanges has already grabbed the monitor for us.
We can call the *Internal variants instead, which assert that the
monitor is held.
FlushPartialBlockInternal is only ever called by methods that are
already holding the MediaCache's monitor. So we don't need to reacquire
it every time we call this method.
fixup p1