I had this `requestLongerTimeout()` call in my local patch in the original
revision D121785 (bug 1723158) but I forgot to push it to Phabricator before
landing. I saw this Mac TV timeout on my try pushes too, and this fixed it.
Differential Revision: https://phabricator.services.mozilla.com/D122160
Chrome has removed 3DES completely[0], but we're still seeing some uses of it
in telemetry. Our assumption is that this is either due to old devices that
can't be upgraded, and hence probably use TLS 1.0, or servers that bafflingly
choose 3DES when there are other, better, ciphersuites in common.
This patch allows 3DES to only be enabled when deprecated versions of TLS are
enabled. This should protect users against the latter case (where 3DES is
unnecessary) while allowing them to use it in the former case (where it may be
necessary).
NB: The only 3DES ciphersuite gecko makes possible to enable is
TLS_RSA_WITH_3DES_EDE_CBC_SHA. This patch also changes the preference
corresponding to this ciphersuite from "security.ssl3.rsa_des_ede3_sha" to
"security.ssl3.deprecated.rsa_des_ede3_sha".
[0] https://www.chromestatus.com/feature/6678134168485888
Differential Revision: https://phabricator.services.mozilla.com/D121797
This change makes all browsers which were not created with an initial `remote`
attribute within a non-`useRemoteTabs` window be unable to process-switch, as
otherwise we may attempt to switch loads into a content process. We need to
keep process switching enabled for explicitly-remote browsers loaded in a
non-`useRemoteTabs` window as it's relied on for tests and can lead to
assertion failures due to loading remote content in the parent process.
Differential Revision: https://phabricator.services.mozilla.com/D121285
This load was causing a process switch after the changes in this patch.
This caused the view-source load to also process-switch back when loaded
and confused some view-source machinery. The load isn't necessary, and
if skipped the process switch due to navigation will not occur.
Differential Revision: https://phabricator.services.mozilla.com/D120736
The changes in the previous part had a few behaviour changes which are visible
in tests, including cross-origin iframes with sandboxed origins now loading
remotely, and process selection for chrome-triggered null principal loads
behaving differently. In general this caused more process switches.
Differential Revision: https://phabricator.services.mozilla.com/D120674
After the changes in this bug, about:blank loads triggered by chrome will
finish in a "web" content process, as they have an untrusted null principal
without a precursor. In a few places throughout the codebase, however, we
perform about:blank loads with the explicit expectation that they do not change
processes. This new remoteTypeOverride option allows the intended final process
to be explicitly specified in this situation.
For security & simplicity reasons, this new attribute is limited to only be
usable on system-principal triggered loads of about:blank in toplevel browsing
contexts.
Differential Revision: https://phabricator.services.mozilla.com/D120671
CheckCurrentWord on content process causes sync IPC, so I would like to remove
this call on content process. New nsIEditorSpellChecker.suggest method can
avoid it.
Differential Revision: https://phabricator.services.mozilla.com/D119937
The bug was that the tooltip was only being shown for reader-mode-button-icon. The tooltip would show if you hovered right over the icon, and it would be undefined otherwise. This patch shows the tooltip regardless of the hover target. The other items on nodeToTooltipMap and nodeToShortcutMap are toolbarbuttons, so their icons are added in CSS and event handling always sees the parent node as the hover target. The reader mode button icon, however, is an <image> child of its parent. Either it or its parent could be hover targets. I considered added some handling in GetDynamicShortcutTooltipText along the lines of checking node.closest(reader-mode-button). I settled on just adding more entries to nodeToTooltipMap and nodeToShortcutMap since it's safer and easier to uplift.
Differential Revision: https://phabricator.services.mozilla.com/D122126
This will help me fix bug 1723160 by letting me add frecency values to Places
result payloads.
I tried to keep this simple and only do what was necessary to fix the bug. Of
course there's a lot more cleanup we could do, like skip the whole conversion
between match objects and UrlbarResults altogether by only creating
UrlbarResults in the first place, but I didn't want to scope creep into fixing
bug 1717511.
Differential Revision: https://phabricator.services.mozilla.com/D122022
This adds `browser.urlbar.experimental.hideHeuristic`. When true, the heuristic
is hidden in the view except for the search tip heuristic.
This is implemented as part of the larger prototype described in the JIRA ticket
(see the bug for a link) and some Slack conversation. There isn't much of a spec
in that ticket, and I think that's OK because we'd like to iterate on a
prototype and we're not sure yet how exactly the UX should work.
For example, should the heuristic always be hidden or only in certain cases?
This revision always hides it (except search tips), but it's easy to imagine
we'll want to introduce some more sophisticated logic. Or more simply we may
want to always show specific types of heuristics, like omnibox, as this revision
does for search tips.
The implementation works by excluding the heuristic in the view. Each heuristic
provider still creates their heuristics. When the view receives the heuristic,
instead of adding and selecting it, it calls `input.setResultForCurrentValue()`
so that the heuristic is set as the current result. When the user presses enter,
the input checks `experimental.hideHeuristic` and whether the current result is
a heuristic.
Differential Revision: https://phabricator.services.mozilla.com/D121785
The ANDROID #ifdefs are necessary because Nimbus does not yet support Android in Gecko. The planned UA experiment won't include Android, so that's not a problem.
Differential Revision: https://phabricator.services.mozilla.com/D121112
Proton removed the default HR appearance and replaced padding with margins. Unfortunately margins are not clickable. So this patch replaces margins with padding while maintaining the look of proton on Windows, MacOS, and Linux.
Differential Revision: https://phabricator.services.mozilla.com/D120253