This is needed to pass a web-platform-test. Since unknown protocols use
nsSimpleURI and nsSimpleURI::GetHost returns an error code, that will fail.
Instead, we instantiate an nsStandardURL for the ssh scheme.
Once we change nsSimpleURI to be backed by MozURL we can probably remove this.
Differential Revision: https://phabricator.services.mozilla.com/D30707
--HG--
extra : moz-landing-system : lando
Before, we'd try to create a URI using the GIO protocol handler, and if that
succeeded, we'd return the protocol handler.
Now we can't return it if NS_NewURI succeeds, because NS_NewURI doesn't check
the protocol handler anymore. So instead we just instantiate the handler,
check if the scheme is supported, and if so return it.
Differential Revision: https://phabricator.services.mozilla.com/D30706
--HG--
extra : moz-landing-system : lando
nsSimpleURI doesn't really have the concept of a relative URI.
Since unknown protocol schemes will ultimately fall back to using nsSimpleURI,
we need to make sure that resolving a URI with certain base still works as
before, when those URIs were nsStandardURLs, created by the protocol handlers.
To achieve this we check to see if the "relative path" has a scheme. If it
does, we just return it, to be parsed by NS_NewURI. Otherwise, we use
MozURL (based on rust-url) to figure out the correct relative URL we should
return. This by itself manages to fix several failing web-platform tests.
Differential Revision: https://phabricator.services.mozilla.com/D30705
--HG--
extra : moz-landing-system : lando
* Add main thread assertions for "resource" and "moz-extension" protocols
* Use ::GetSingleton() for resource and moz-extension protocol handlers
Differential Revision: https://phabricator.services.mozilla.com/D30698
--HG--
extra : moz-landing-system : lando
This way all of the nsIURI creation will go through NS_NewURIOnAnyThread.
NS_NewURIOnAnyThread will be renamed to NS_NewURI in the final patch.
Differential Revision: https://phabricator.services.mozilla.com/D30696
--HG--
extra : moz-landing-system : lando
These URL types need both specific applications to be installed on Linux, and for the pref to list them as supported.
We do these checks in nsGIOProtocolHandler::NewChannel instead of performing them when creating the URLs.
Differential Revision: https://phabricator.services.mozilla.com/D30695
--HG--
extra : moz-landing-system : lando
The previous patch for focus CSS was to aggressive -- this reverts that change and better focuses the feature
Differential Revision: https://phabricator.services.mozilla.com/D31327
--HG--
extra : moz-landing-system : lando
bouncer_thunderbird.py is now at c-c:mozharness/releases/bouncer_thunderbird.py
Differential Revision: https://phabricator.services.mozilla.com/D31387
--HG--
extra : moz-landing-system : lando
Just trying to make it slightly nicer. Probably should get a function to get the
root target document frame.
Will file a bug for fission since I _suspect_ fission is going to do something
about IntersectionObserver.
Depends on D31149
Differential Revision: https://phabricator.services.mozilla.com/D31150
--HG--
extra : moz-landing-system : lando
There's nothing here that should be mutating us (and if there was we'd be hosed
already given the amount of weak pointers we keep around), so this is nicer.
Depends on D31148
Differential Revision: https://phabricator.services.mozilla.com/D31149
--HG--
extra : moz-landing-system : lando
Should've no behavior change given the spec issue, but it should read nicer.
Differential Revision: https://phabricator.services.mozilla.com/D31148
--HG--
extra : moz-landing-system : lando
This patch splits ReadFromCache in two - by adding ContinueReadFromCache.
ContinueReadFromCache is called asycly when a cross-process-redirect is
complete.
Sometimes, the channel will be cancelled before the cross-process-redirect
is complete, such as in:
testing/firefox-ui/tests/functional/safebrowsing/test_notification.py
In that case we must make sure to call HandleAsyncAbort if the listener's
onStart/StopRequest callbacks haven't been called.
Differential Revision: https://phabricator.services.mozilla.com/D31226
--HG--
extra : moz-landing-system : lando
Unencrypted samples can carry init data and thus we should set the init data
type regardless of if the sample itself is encrypted (otherwise the init data
info is incomplete for unencrypted samples).
Depends on D32751
Differential Revision: https://phabricator.services.mozilla.com/D32752
--HG--
extra : moz-landing-system : lando
Add another test case for the mp4 key rotation (pssh in fragments) test. In this
case, the test file has a clear (unencrypted) lead. This test seeks to ensure we
don't regress surfacing of init info even if we encounter it for fragments that
start with unencrypted samples.
Add a further check to the key rotation test to ensure that the initDataType is
being surfaced correctly on the encrypted event.
Media files created with shaka packager via:
```
packager-win.exe
in=bipbop.mp4,stream=audio,out=bipbop-clearkey-keyrotation-clear-lead-audio.mp4
in=bipbop.mp4,stream=video,out=bipbop-clearkey-keyrotation-clear-lead-video.mp4
--enable_raw_key_encryption --keys
label=:key_id=00112233445566778899AABBCCDDEEFF:key=00112233445566778899AABBCCDDEEFF
--crypto_period_duration 5 --fragment_duration 5 --clear_lead 3
```
Note that the way shaka packager handles key rotation in this case is just to
left shift the key id and the key. In this case, where crypto_period_duration ==
fragment_duration, a left shift of 1 will take place each time the keys rotate.
This happens once in the test file leaving us with 2 key ids + keys.
Depends on D32750
Differential Revision: https://phabricator.services.mozilla.com/D32751
--HG--
extra : moz-landing-system : lando
test_eme_pssh_in_moof tests if our key rotation works correctly. It currently
does so by using a single video with an audio and video track. This patch
refactors the test so that it does the same thing (all going well), but in a
more extensible way.
The changes in this patch seek to lean more heavily on test harness
functionality in manifest.js and eme.js where possible. This cuts down on some
boilerplate, but means we have to make some concessions in a more verbose
expression of our test media list so the eme.js functions work with it.
Differential Revision: https://phabricator.services.mozilla.com/D32750
--HG--
extra : moz-landing-system : lando
Displays blocked requests in the Network monitor request listing, providing a reason for why the request was blocked based on response codes provided b nsILoadInfo.idl
Differential Revision: https://phabricator.services.mozilla.com/D31907
--HG--
extra : moz-landing-system : lando
Recently we track and position all popups on Wayland which leads to
wrong placement when parent popup window is hidden.
In this patch we use plain gtk_window_move() for hidden popups and
we don't track them so they can't be used as a parent window.
Also implement nsWindow::HideWaylandPopupAndAllChildren() to clearly
hide a popup window with and its children windows.
Differential Revision: https://phabricator.services.mozilla.com/D31056
--HG--
extra : moz-landing-system : lando