This patch fixes the issue by updating the allow list as soon as the
switch been toggled. And the reload still happens after the 500ms delay.
We cache the target tab in order to reload the correct tab in case tabs
change and reload the target tab after the delay. In additon, we won't
reload the tab if is has been closed since it is totally unnecessary.
We also add a test for this.
Differential Revision: https://phabricator.services.mozilla.com/D43139
--HG--
extra : moz-landing-system : lando
performAction, performActionOnRow and performActionOnCell are methods of the
nsITreeView interface that are never called. This is to remove these methods.
A comm-central patch will be along shortly.
Differential Revision: https://phabricator.services.mozilla.com/D39273
I didn't switch to using an A element with href= since the link target depends on the value of a preference, which is set at runtime in browser_dismissFooter.js and would necessitate refactoring of the test.
Differential Revision: https://phabricator.services.mozilla.com/D43124
--HG--
extra : moz-landing-system : lando
The site identity and security sub panels now contain that much information that it warrants to make these more easily navigable for NVDA and other screen readers. The panels behave as before, but the added roles and heading levels cause NVDA and other screen readers to use their browse mode features instead of regular application interaction so blind and visually impaired users can review the information more easily.
Differential Revision: https://phabricator.services.mozilla.com/D42924
--HG--
extra : moz-landing-system : lando
We need to start engagement event recording when the view opens due to `openViewOnFocus`. We already do for mouse clicks since we call `engagementEvent.start` from `_on_mousedown`. But we don't for the Ctrl/Command-L key shortcut. The shortcut command calls `openLocation` in browser.js, which calls `gURLBar.startQuery` but not `engagementEvent.start`.
Every time we call `engagementEvent.start`, we do it before calling `input.startQuery`. The one exception is in `input._on_drop` because there we just handle the dropped value directly instead of starting a new query with it.
The inverse is also mostly true, i.e., every time we call `input.startQuery`, we also call `engagementEvent.start`. The three exceptions are: in UITour (where it looks like we should be calling `urlbar.search` instead), in `UrlbarInput` after picking a keyword offer result, and in `openLocation` in browser.js (mentioned above). So really the only valid place is after picking a keyword entry.
So, it makes sense to move `engagementEvent.start()` into `input.startQuery` so that callers don't have to call it. I added an `event` param to `startQuery`, since `engagementEvent.start` needs one. I considered removing that need. It's possible, but then we would need a way to avoid calling `engagementEvent.start` in the keyword offer case, so `startQuery` would need something like a `suppressEngagementEvent` param. `event` basically functions as that, so I left it.
Another thing to point out about this patch is that I chose to record a "typed" value when the pageproxystate is invalid and the view opens due to `openViewOnFocus`. The view does not show the user's top sites in that case, so "topsites" seems wrong.
Differential Revision: https://phabricator.services.mozilla.com/D42749
--HG--
extra : moz-landing-system : lando
The preference is only exposed if media.videocontrols.picture-in-picture.enabled is set
to true.
Differential Revision: https://phabricator.services.mozilla.com/D42688
--HG--
extra : moz-landing-system : lando
This patch ultimately overrides the user-agent which Fennec users send to Google Search pages, choosing a phone- or tablet-specific UA as appropriate.
It involves adding four new metadata keys to the webcompat addon's metadata for user-agent overrides: blocks, permanentPref, experiment, telemetryKey:
- "blocks" specifies URLs for which any requests should be aborted. This allows us to block the Google service worker for now, as it has caused "content corrupted" issues in the past with other enhanced search addons (see https://github.com/wisniewskit/google-search-fixer/issues/1).
- "permanentPref" specifies an about:config preference, which dictates whether the injection is used. Users may set this to `false` to disable the injection outright, and permanently; `true` or `undefined` values allow the injection to function normally.
- "experiment" specifies the name of the experiment this feature is optionally gated behind. Only a Fennec-specific implementation is provided in this patch. The implementation simply queries Switchboard to determine if the experiment is active.
- "telemetryKey" specifies which telemetry key should be flipped to "true" when this injection runs. We will use this to note whether enhanced search has actually been enabled for this profile. Only a Fennec-specific implementation is given in this patch, which actually just sets a Fennec Shared Preference, which Fennec's core telemetry ping later reads in Java to know what the ping should contain.
Differential Revision: https://phabricator.services.mozilla.com/D41074
--HG--
extra : moz-landing-system : lando