ChannelListener throws an exception if the channel gets closed unexpectedly.
Since this test was racing live_channels[1] vs local_channel, sometimes
the server would get closed before local_channel completed, causing an
exception.
This patch introduces SimpleChannelListener which doesn't include so much
logic and may be a better fit when a channel might succeed or fail depending
on certain circumstances.
Differential Revision: https://phabricator.services.mozilla.com/D202413
Previously we had to patch this moz.configure file to be able to disable the
gecko profiler to test the tier 3 platforms or the platforms that don't support
the gecko profiler. It wasn't super straightforward to do it and this patch
makes it easier to do by adding a `--disable-gecko-profiler` build option.
To be able to use it, append the following option to your mozconfig file:
```
ac_add_options --disable-gecko-profiler
```
Differential Revision: https://phabricator.services.mozilla.com/D202301
This code was added before we decided to do fission, when we wanted to separate out different sites that were in the same process so we could prioritize them better. We are not going down that path so we can simplify this code. There should be no change in functionality with this patch, just simpler code.
Differential Revision: https://phabricator.services.mozilla.com/D201705
In the example here, failing to check for an empty string was resulting
in lots of extra work to set up for drawing a shadow, etc., even though
nothing ends up being rendered. Just bail out early if there's no text.
Differential Revision: https://phabricator.services.mozilla.com/D202630
The problem is discovered when playing the file `red-46x48.mp4` in
`test_playback_rate_playpause.html`. That file only contains ONE frame
which is 1 second long.
There is an issue within the media engine, which The won't return an
output frame to us, unless we tell it the stream is ended.
Therefore, after sending the only frame to the media engine, we need to
(1) keep the media format reader to keep requesting data by resolving
the pending promise when the input has been popped so that the format
reader can read EOS.
(2) send the ended event to the media engine in order to get the first
frame.
Differential Revision: https://phabricator.services.mozilla.com/D202336
In [1], we explain why media format reader would keep sending input to
the media engine, and in [2], we explain why that would cause the media
engine dropping frames.
We don't want the media format reader (MFR) to keep sending input
if the dcomp is not ready, because we don't need that much of data.
Therefore, postponing the decoded promise and resolving it when the
output (dcomp) is available.
By doing that, we would store input samples in a reasonable range.
[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1879417#c4
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=1879417#c0
Differential Revision: https://phabricator.services.mozilla.com/D201173
This is more complex than what is strictly necessary to reproduce this issue,
but is reflective of a situation we keep having problems with.
Differential Revision: https://phabricator.services.mozilla.com/D198195
This happens in a similar location to where we find a breakpoint caused by a
change in page name. However, if the breakpoint was caused by something else,
we still need to compute this value so that the next page being constructed
will have the correct page name.
This also "fixes" the WPT /css/printing/page-name-007-print.html, which passed
before this patch just because our previous logic would continue using the last
page value in those cases, which coincidentally matched what was expected.
Part 2 will include a test that specifically detects this discrepency.
Differential Revision: https://phabricator.services.mozilla.com/D196895