Merge mozilla-central to mozilla-inbound
Bug 1042946 - Discard back buffer on error in ClientTiledLayerBuffer::ValidateTile() r=nical
Bug 1042884 - Do nothing in AudioStream::OpenCubeb() after shutdown. r=kinetik
Bug 1043015 - running mochitest-remote without ssltunnel gives bizarre errors.  r=jgraham
Bug 1039542 - TraceLogger: Reset the lastChildId when resuming the tracelogger, r=bbouvier
Bug 1039976 - IonMonkey: Improve generated code of MTypeObjectDispatch with one case, r=jandem
Backed out changeset 3f9060993657 (bug 1042327)
Backed out changeset ed7a32143aeb (bug 1041530) for OS X debug mochitest failures
Bug 1027713 - Part 1 - Add a volume API in cubeb and use it instead of doing our own soft gain. r=kinetik

--HG--
extra : rebase_source : c94c9f6792c002d515f2fee0cf708928e76f91a8
Bug 1027713 - Part 2 - Add a cubeb API to query the name of the audio output device in use. r=kinetik

--HG--
extra : rebase_source : fed39350db9e7c56c003a288e040fd6f901088d2
Bug 1027713 - Part 3 - Add a cubeb API to signal that the output device changed.  r=kinetik

The reentrant mutex is needed so that users can call back into cubeb's API from
the callback.

--HG--
extra : rebase_source : 42e7c8f09d02b30b35a7f80418df5e722b52faae
Bug 1027713 - Part 4 - Pan audio to the right when we are using gUM and outputing sound using MacBookPro speakers. r=jesup

--HG--
extra : rebase_source : d77a3e6d17b237dc46301a34ed36b6d3e8e0aeda
Bug 1023947 - Part 1 - Drop frame instead of buffering them when we are swiching device.  r=jesup

--HG--
extra : rebase_source : 9e5f70c2c8aa9bc826e8bee561285da5220bf895
Bug 1023947 - Part 2 - Allow getting the current input device in cubeb.  r=kinetik

--HG--
extra : rebase_source : bc273a2f790b2fa09e8c50c95091f5db9856d42b
Bug 1023947 - Part 3 - Reset the output AudioStream when switching to an audio input device that uses the headphone jack on osx. r=jesup

--HG--
extra : rebase_source : 7b7bc135dbc5ea9d2b76738ff3fc57cbb962eed2
Bug 1027713 - Part 5 - Trigger the panning logic on stream creation. r=jesup

UpdateStreamOrder is not called often because it's expensive (it's called only
when the graph topology changed), and it's earlier in the MSG loop than the
audio stream creation, so we need to tell the newly created AudioStream that a
microphone is active on creation as well.

The panning logic is also now triggered on stream start, because it is async.
Bug 1042308 - Return All MediaBuffers to OMXCodec during OMXCodec shutdown r=cajbir,nical
Bug 1029648 - Fix a typo; r=jonco
Bug 1041751 - Do not create an empty APZ test data bucket for each paint when APZ test logging is not pref'd on. r=kats
Bug 1029620 P3 Factor non-CORS simple content type checkout out of XHR. r=ehsan