Note AudioSinkWrapper can now report correct playback position when the media is video-only or audio-only.
We will handle the case where audio ends before video in next patch where it needs to switch to system clock when audio reaches the end.
a. MediaMetadataManager is connected to MediaDecoderReader::mTimedMetadataEvent to receive TimedMetadata events.
b. OggReader publish TimedMetadata events through MediaDecoderReader::mTimedMetadataEvent.
c. MDSM calls MediaMetadataManager::DispatchMetadataIfNeeded to publish metadata if playback positoin reaches the publish time.
d. MediaDecoder is connected to MediaMetadataManager::mTimedMetadataEvent to receive TimedMetadata events.
e. MediaDecoder updates its metadata when TimedMetadata events are received.
TEST-UNEXPECTED-FAIL | /eventsource/eventsource-close.htm | EventSource: close(), test events - assert_unreached: Dunno what to do with message number 3 Reached unreachable code
Backed out changeset e2612be99d7d (bug 571294)
Backed out changeset 9aea0c4a0822 (bug 1196479)
Backed out changeset 196e98128c58 (bug 571294)
Backed out changeset 1d662c2552bd (bug 571294)
The browser.ui.zoom.force-user-scalable pref can be modified by the user from
the Fennec settings screen, and allows them zoom pages despite the meta-viewport
tag that might otherwise restrict zooming. This effectively ignores the effect
of the user-scalable, minimum-scale, and maximum-scale meta-viewport tokens.
--HG--
extra : commitid : MWjCDpGJkH
This is a long-standing issue that has thus far never been exposed because
the values modified in this patch have not been used (desktop mode only exists
on Fennec, and Fennec does it's own computation for these values in browser.js).
However upcoming patches will change Fennec to use this, and so this issue needs
to be corrected.
--HG--
extra : commitid : 9BjFOc4PdLc
In the case of DisplayWidthHeight viewports, setting the allowDoubleTapToZoom
flag to true is fine because the ZoomConstraintsClient code will flip it back
to false based on the width of the CSS viewport. Setting it to true in the
GetViewportInfo code allows us to maintain the invariant that the default value
of allowDoubleTapToZoom is the same as the initial value of allowZoom.
--HG--
extra : commitid : JVnPDtrwQsq
The logic was very similar and PromiseWorkerProxy is well tested. We defy
convention a bit by calling CleanUp() in another runnable later in time after
resolving the Promise, but it does not violate any invariants.
--HG--
extra : commitid : 6YhT7k9KrJ1
extra : rebase_source : 5ca90f54951853021f03e81531dbbfa4f2552d7e
Get rid of having users dispatch control runnables. It was error prone and
required too much reasoning. It was also possible to end up in a state where
callers would dispatch a WorkerRunnable, which would succeed, so they would not
dispatch a WorkerControlRunnable. Then the worker would stop Running,
canceling and releasing the runnable leading to releasing the proxy in an
unclean state. Instead, we AddRef() and add the feature and remove the feature
and Release() on Notify(). If callers successfully run a WorkerRunnable they
clean the proxy. If not, the proxy stays alive until the worker switches to
Canceling state.
--HG--
extra : commitid : BnnijSibVYe
extra : rebase_source : 15f6810dfbd0c88a983196de401c55e782b1d1d8