The Windows parental controls API (e.g. IWindowsParentalControls) appears to
have been removed entirely from at least more recent builds of Windows 10. The
interfaces are still defined, but at runtime creating instances of them fails.
This patch enables us to tell if web filtering is enabled for the current user
on Windows 10 without going through that API by directly reading the relevant
registry value.
All methods of nsIParentalControlsService other than parentalControlsEnabled
have been left unimplemented because it isn't obvious how to implement them
in this environment, since no replacement for the old API seems to have been
provided. For example, it appears that loggingEnabled could be implemented
using the same registry key, but the logging mechanism is unlikely to be
compatible with the old one, so reporting that it is enabled may be unsafe.
Differential Revision: https://phabricator.services.mozilla.com/D47508
--HG--
extra : moz-landing-system : lando
We have several tests which assume that the CSS associated with a content
script will have loaded by the time the script executes. There is nothing
guaranteeing this, though, and they currently mostly pass due to a combination
of luck and successful pre-loading.
This patch fixes the injection logic to always wait for a script's CSS entries
to finish loading before executing its JS, so behavior at least consistently
matches expectations.
Differential Revision: https://phabricator.services.mozilla.com/D47493
--HG--
extra : moz-landing-system : lando
Now that we only use a single field of the browser that gets passed in
to isWebRemoteType, I think it makes more sense to just pass in the
remote type directly.
Differential Revision: https://phabricator.services.mozilla.com/D47179
--HG--
extra : moz-landing-system : lando
Nika said that any `web'-prefixed remote type should be valid, so this
function can be simplified. For instance, webLargeAllocation should
return true.
This removes the need for ownerGlobal, so a few wrappers can be
removed.
Differential Revision: https://phabricator.services.mozilla.com/D45374
--HG--
extra : moz-landing-system : lando
It's useless if the tab is already visible (i.e., has renderLayers=true), per
the previous patches, and that's the only point at which it gets called.
Differential Revision: https://phabricator.services.mozilla.com/D47131
--HG--
extra : moz-landing-system : lando
As we roll out the TLS 1.0 and 1.1 deprecation, sites that don't support TLS 1.2
will show the neterror page. This adds a box to that page that shows in this
specific case. That box explains what is going on and gives an option to
re-enable TLS 1.0.
As mentioned, this will show alongside an option to reset TLS-related
preferences if any overrides are active.
Hitting the button will set the new pref to 'true' and reload the page.
Once the override is engaged, the option won't show, but that option to reset
preferences will show (as this is a TLS-related preference).
The intent is to remove this affordance in March 2020 as we formally move to
having TLS 1.2 the minimum version. All going to plan, this will only affect
prerelease channels, though anyone who has tweaked security.tls.version.* could
also see this.
Differential Revision: https://phabricator.services.mozilla.com/D45799
--HG--
extra : moz-landing-system : lando
For remote content documents, select dropdowns (for <select size="1">) are rendered in the parent process using a XUL menupopup.
This means that the accessibility code for HTML selects doesn't apply.
In the menupopup, the optgroup is a sibling of its contained options.
For accessibility, we want to preserve the hierarchy such that the options are inside the optgroup.
We do this using aria-owns on the optgroup item.
This required some tweaks to XULMenuitemAccessible, as it couldn't previously handle grouping Accessibles between the menupopup and its items.
Differential Revision: https://phabricator.services.mozilla.com/D43901
--HG--
extra : moz-landing-system : lando
As we roll out the TLS 1.0 and 1.1 deprecation, sites that don't support TLS 1.2
will show the neterror page. This adds a box to that page that shows in this
specific case. That box explains what is going on and gives an option to
re-enable TLS 1.0.
As mentioned, this will show alongside an option to reset TLS-related
preferences if any overrides are active.
Hitting the button will set the new pref to 'true' and reload the page.
Once the override is engaged, the option won't show, but that option to reset
preferences will show (as this is a TLS-related preference).
The intent is to remove this affordance in March 2020 as we formally move to
having TLS 1.2 the minimum version. All going to plan, this will only affect
prerelease channels, though anyone who has tweaked security.tls.version.* could
also see this.
Differential Revision: https://phabricator.services.mozilla.com/D45799
--HG--
extra : moz-landing-system : lando
The browser.windows.onCreated event is triggered before
browser.windows.create returns. Waiting until browser.windows.create has
resolved may resolve the memory leak from bug 1474041.
Differential Revision: https://phabricator.services.mozilla.com/D47106
--HG--
extra : moz-landing-system : lando
Dialog window on Linux/Gtk adds extra border/titlebar to PIP window
so don't use it there.
Differential Revision: https://phabricator.services.mozilla.com/D47058
--HG--
extra : moz-landing-system : lando
Modify test and some description naming from "block autoplay" to "delay autoplay" and split the blocking autoplay test to new independent task.
Differential Revision: https://phabricator.services.mozilla.com/D45106
--HG--
extra : moz-landing-system : lando
Current test cases are all about calling `video.play()`, we don't have test case for media with autoplay keyword.
Differential Revision: https://phabricator.services.mozilla.com/D44922
--HG--
extra : moz-landing-system : lando
As the things we do in those tests are not really "block" autoplay, which is not to allow autoplay starts, what we do is actually delaying them until tab goes to foreground or user clicking `play tab` icon on the tab.
In order to distinguish them from the real blocking-autoplay, and reflect what we really do in those tests, rename all of them with prefix "browser_delay_autoplay_*".
Differential Revision: https://phabricator.services.mozilla.com/D44921
--HG--
rename : toolkit/content/tests/browser/browser_block_autoplay_media.js => toolkit/content/tests/browser/browser_delay_autoplay_media.js
rename : toolkit/content/tests/browser/browser_block_autoplay_media_pausedAfterPlay.js => toolkit/content/tests/browser/browser_delay_autoplay_media_pausedAfterPlay.js
rename : toolkit/content/tests/browser/browser_block_multipleMedia.js => toolkit/content/tests/browser/browser_delay_autoplay_multipleMedia.js
rename : toolkit/content/tests/browser/browser_block_notInTreeAudio.js => toolkit/content/tests/browser/browser_delay_autoplay_notInTreeAudio.js
rename : toolkit/content/tests/browser/browser_block_autoplay_playAfterTabVisible.js => toolkit/content/tests/browser/browser_delay_autoplay_playAfterTabVisible.js
rename : toolkit/content/tests/browser/browser_block_playMediaInMuteTab.js => toolkit/content/tests/browser/browser_delay_autoplay_playMediaInMuteTab.js
rename : toolkit/content/tests/browser/browser_block_plugIn.js => toolkit/content/tests/browser/browser_delay_autoplay_plugIn.js
rename : toolkit/content/tests/browser/browser_block_silentAudioTrack_media.js => toolkit/content/tests/browser/browser_delay_autoplay_silentAudioTrack_media.js
rename : toolkit/content/tests/browser/browser_block_webAudio.js => toolkit/content/tests/browser/browser_delay_autoplay_webAudio.js
extra : moz-landing-system : lando
We could simply check `TabBlockEvent` to know whether we starts delaying media playback or not. We don't need to check media element's `computedSuspended`. Because `computedSuspended` is something, which was designed to get the internal suspended state of `AudioChannelWrapper`, in our case, as the delaying autoplay is not related to `AudioChannelWrapper` anymore, so the state we got actually couldn't reflect anything.
Differential Revision: https://phabricator.services.mozilla.com/D44920
--HG--
extra : moz-landing-system : lando