Labels in the identity popup that are potentially multiline get dynamic heights set
as part of the descriptionHeightWorkaround. This causes some cross-platform glitches
in vertically centering the icon and the label of the disabled indicator.
The disabled label doesn't really need to be multiline, so we avoid doing that. This
also means that we need to make some changes to handle long "Disabled" labels a little
more gracefully, but looking at existing translations of the word "Disabled" we won't
run into trouble: https://transvision.mozfr.org/string/?entity=browser/chrome/browser/browser.dtd:contentBlocking.disabled.label&repo=gecko_strings
Differential Revision: https://phabricator.services.mozilla.com/D6041
--HG--
extra : moz-landing-system : lando
This removes subscribe UI and functionality from the main browser window,
the page info window, and from feed previews. It may leave some stray strings
in subscribe.properties/dtd, which will be removed in bug 1477669 when the
preview code goes away completely.
Differential Revision: https://phabricator.services.mozilla.com/D5982
--HG--
extra : moz-landing-system : lando
When the user is editing the text in the URL bar (typing, backspace, etc.), the first suggestion is always selected.
Because accessibility clients require autocomplete items to be "focused", the code needs to differentiate between explicit selection (e.g. via down/up arrow) and auto selection (e.g. when typing).
Otherwise, the focus continually moves away from the text box while the user is typing, as was previously occurring.
This makes it very difficult for the user to edit text, particularly backspace/delete.
There was a previous attempt to handle this, but it was somewhat fragile and broke completely some time ago.
Now, rather than trying to handle this based on autocomplete events, it is handled in the input and key press events.
For input events, accessibility focus is forced back to the text box and further accessibility focus events are suppressed.
For down arrow, up arrow, etc. key presses, accessibility focus events for suggestions are enabled.
This makes it easier to understand and predict the user experience, rather than relying on underlying autocomplete implementation details.
This is tested using an accessibility browser test, which makes it easier to make assertions about accessibility focus.
This also means that if the underlying implementation details change (e.g. HTML + aria-activedescendant instead of XUL + DOMMenuItemActive events), this test should still be valid and allow us to catch regressions.
Differential Revision: https://phabricator.services.mozilla.com/D5987
--HG--
extra : moz-landing-system : lando
This removes subscribe UI and functionality from the main browser window,
the page info window, and from feed previews. It may leave some stray strings
in subscribe.properties/dtd, which will be removed in bug 1477669 when the
preview code goes away completely.
Differential Revision: https://phabricator.services.mozilla.com/D5982
--HG--
extra : moz-landing-system : lando
The aushelper add-on is no longer needed and needs to be removed before bootstrapping for add-ons is removed
Depends on D5918
Differential Revision: https://phabricator.services.mozilla.com/D5919
--HG--
extra : moz-landing-system : lando
The aushelper add-on is being removed and this test needs the minimum number of values in extensions.getAddons.cache.enabled lowered so it passes
Differential Revision: https://phabricator.services.mozilla.com/D5892
--HG--
extra : moz-landing-system : lando
Some mozconfigs actually rely on testing whether the variable is set or
not, which may or may not depending on the mozharness configuration,
and doesn't necessarily match what the mozconfigs do.
So in all mozconfigs that enable PGO, make them use an environment
rathen than ac_add_options.
Differential Revision: https://phabricator.services.mozilla.com/D5843
--HG--
extra : moz-landing-system : lando
* A new accepted-cards element to represent the labeled list of card icons
* Add the accepted cards section to the summary and card add/edit page
* mochitest for the accepted-cards element
* Make cc-type a required field and validate it against the list of supported networks
* Add verification of the pay button disabling when card network is not supported
Depends on D5823
Differential Revision: https://phabricator.services.mozilla.com/D5824
--HG--
extra : moz-landing-system : lando
* Includes a workaround to explicitly cloneInto the paymentMethods data when we create the PaymentRequest object in the content window in tests.
MozReview-Commit-ID: LFy0h3fIXXA
Differential Revision: https://phabricator.services.mozilla.com/D5823
--HG--
extra : moz-landing-system : lando
To use this (Windows/Linux instructions), press Ctrl+L to give focus to the location bar. Shift+Tab to move focus backwards to the tab.
Ctrl+Left/Ctrl+Right to change which tab is focused
Ctrl+Space to add/remove a tab from the multiselection
Moving a tab has been changed from Ctrl+Left/Ctrl+Right to Ctrl+Shift+Left/Ctrl+Shift+Right, respectively.
Differential Revision: https://phabricator.services.mozilla.com/D4670
--HG--
extra : moz-landing-system : lando
There is a race condition between the time we decide to fetch an icon and the time we actually store that icon, where the original browser currentURI may have changed.
Differential Revision: https://phabricator.services.mozilla.com/D5685
--HG--
extra : moz-landing-system : lando
Now that Linux PGO builds also do LTO and all the Linux builds use
clang, there's not much use for separate LTO builds.
Differential Revision: https://phabricator.services.mozilla.com/D5632
The aushelper add-on is no longer needed and needs to be removed before bootstraping for add-ons is removed
Depends on D5338
Differential Revision: https://phabricator.services.mozilla.com/D5339
--HG--
extra : moz-landing-system : lando
There is a race condition between the time we decide to fetch an icon and the time we actually store that icon, where the original browser currentURI may have changed.
Differential Revision: https://phabricator.services.mozilla.com/D5685
--HG--
extra : moz-landing-system : lando
Update the page action id for Screenshots in the list of built-in actions
because Screenshots now use WebExtension pageAction instead of Photon.
Differential Revision: https://phabricator.services.mozilla.com/D3338
--HG--
extra : moz-landing-system : lando
This patch was temporarily reverted to avoid bug 1483033 for Firefox 63.
MozReview-Commit-ID: 4VaQgZQCVlE
Differential Revision: https://phabricator.services.mozilla.com/D5621
--HG--
extra : moz-landing-system : lando
Remove the _manifestURI field and handling of the MozApplicationManifest message.
Differential Revision: https://phabricator.services.mozilla.com/D5336
--HG--
extra : moz-landing-system : lando
Other (internal API) changes besides extension API changes:
- This also introduces support for opening a window with multiple tabs
in a non-default container tab.
- This also adds LOAD_FLAGS_DISALLOW_INHERIT_PRINCIPAL to the
gBrowser.loadTabs call, unless allowInheritPrincipal is set. Currently
there are no callers that set this flag, but in case it's desired,
I added an opt-in via window.arguments[10] in browser.xul/js.
For single-argument URLs, the flag is an opt-out, since there are
multiple callers that rely on principal inheritance (bug 1475201).
Depends on D4928
Differential Revision: https://phabricator.services.mozilla.com/D4929
--HG--
extra : moz-landing-system : lando
This is a preparation to support cookieStoreId in the windows.create.
Depends on D4920
Differential Revision: https://phabricator.services.mozilla.com/D4928
--HG--
extra : moz-landing-system : lando
In this patch, remove main codes of old animation inspector such the
inspector/animation-old directory. Additionally, remove the codes that had been
referring the old codes.
Also, remove a CSS variable which no longer reffered in inspector from
devtools/client/themes/breadcrumbs.css, because this caused a test failure occur
from browser/base/content/test/static/browser_parsable_css.js. In this patch,
remove animationinspector.css as well. The reason why the error was not occurred
so far is that it had been interpreted that animationinspector.css refer to the
variable.
Differential Revision: https://phabricator.services.mozilla.com/D5498
--HG--
extra : rebase_source : 4a63e28f6087b9cf42cf8f02b84ed62cfe905809
Move all fields of nsISSLStatus to nsITransportSecurityProvider
Remove nsISSLStatus interface and definition
Update all code and test references to nsISSLStatus
Maintain ability to read in older version of serialized nsISSLStatus. This
is verified with psm_DeserializeCert gtest.
Differential Revision: https://phabricator.services.mozilla.com/D3704
--HG--
extra : moz-landing-system : lando
Bug 1473786 enabled LTO on mac builds for nightlies, but this had the
side effect of enabling it on unrelated builds that just happen to
include the nightly mozconfig just because out mozconfigs kind of suck.
Differential Revision: https://phabricator.services.mozilla.com/D5482
--HG--
extra : moz-landing-system : lando
Adding the tooltip "aHTMLTooltip" to the parent XUL element causes an
nsXULTooltipListener to be added the XUL element. The "aHTMLTooltip" has
the page attribute set, so when the popup is shown the tooltip binding
will fill the tooltip text from the HTML element's title attribute.
MozReview-Commit-ID: KumhzLTTg3b
Differential Revision: https://phabricator.services.mozilla.com/D5300
--HG--
extra : moz-landing-system : lando
The "startInputSession" test helper triggers the autocompletion logic to
kick off the test. In all cases except for "testSuggestions", the search
suggestions are set synchronously. Consequently, the
"waitForAutocompleteResultAt" call at the end of starting the input
session would find the expected suggestion item at the given index.
However, in the case of "testSuggestions", the results are generated
asynchronously. There is no guarantee that the results are set. The test
has only been passing so far because the result items from the previous
test are still cached, and cleared after a 100ms delay by:
https://searchfox.org/mozilla-central/rev/a41fd8cb947266ea2e3f463fc6e31c88bfab9d41/toolkit/components/places/UnifiedComplete.js#1728
On slow test runs, the test fails intermittently when the clean-up logic
runs before the test checked the suggestion item.
This patch fixes the issue by splitting "startInputSession", and only
use "waitForAutocompleteResultAt" after having sent the suggestions.
Differential Revision: https://phabricator.services.mozilla.com/D5170
--HG--
extra : moz-landing-system : lando
Use PrioEncoder to encode a few already-included histograms, so we can compare results on the Telemetry server side.
Differential Revision: https://phabricator.services.mozilla.com/D5088
--HG--
extra : moz-landing-system : lando
nsISHistoryListener can cancel several operations, but the functionality is
only ever used for OnHistoryReload(). So this patch removes it for the other
operations.
--HG--
extra : rebase_source : 433422e9160f7d645570baaaff4779c4bcc3ec04
Move all fields of nsISSLStatus to nsITransportSecurityProvider
Remove nsISSLStatus interface and definition
Update all code and test references to nsISSLStatus
Maintain ability to read in older version of serialized nsISSLStatus. This
is verified with psm_DeserializeCert gtest.
Differential Revision: https://phabricator.services.mozilla.com/D3704
--HG--
extra : moz-landing-system : lando
- Implemented stored "install source of the extensions" for telemetry events.
- Added test assertions related to the expected install and addon installTelemetryInfo.
- Added installTelemetryInfo to addon installed from "drag-and-drop" file urls on Firefox Desktop.
Differential Revision: https://phabricator.services.mozilla.com/D4445
--HG--
extra : moz-landing-system : lando
This patch moves the ExtensionTelemetry helpers (added into ExtensionUtils.jsm by Bug 1483002)
into a new ExtensionTelemetry.jsm and makes the ExtensionTelemetry a lazy getter on every one
of the JSM and API modules that are going to use it, so that we don't have to load these helpers
until they are actually used and we can reduce their impact on the base content memory usage.
Differential Revision: https://phabricator.services.mozilla.com/D5266
--HG--
extra : moz-landing-system : lando
This is a follow up to Bug 1482667. The list of callers was gathered by instrumenting
the webidl calls to these methods and dumping JS stack when they are called in browser.xul.
Differential Revision: https://phabricator.services.mozilla.com/D5185
--HG--
extra : moz-landing-system : lando
Fixes bug 1488105 and adds two new test files:
- browser test to test ping-pong from background page, sidebar and browserAction.
- xpcshell test with same test logic, mainly for Android test coverage.
The test uses uses contentScripts.register instead of the manifest
file to also have test coverage for contentScripts.register + child
frames in the background page.
These tests serve as a regression test for bug 1488105 and bug 1463074.
Differential Revision: https://phabricator.services.mozilla.com/D5261
--HG--
extra : moz-landing-system : lando
This is a first stab at the new tokenizer.
It's not expected to be perfect yet, but good enough to be modified and replace the existing code in unifiedComplete with just a few modifications.
It's mostly intended to start setting up a code and tests structure.
Differential Revision: https://phabricator.services.mozilla.com/D2838
--HG--
extra : moz-landing-system : lando
This creates a basic object with minimal search functionality. It currently uses a dummy ProvidersManager that can be replaced once we get the real one.
There are two test files, the unit one is aiming to test at a unit level - stubbing out the manager, and checking the functionality works correctly.
The second is for checking integration with the providers manager, and it does the right things when linked together. For now, this has just a simple check that uses the dummy ProvidersManager for the case of returning a single result matching the URL.
Depends on D4566
Differential Revision: https://phabricator.services.mozilla.com/D4973
--HG--
extra : moz-landing-system : lando
This is a first stab at the new tokenizer.
It's not expected to be perfect yet, but good enough to be modified and replace the existing code in unifiedComplete with just a few modifications.
It's mostly intended to start setting up a code and tests structure.
Differential Revision: https://phabricator.services.mozilla.com/D2838
--HG--
extra : moz-landing-system : lando
Some Gtk+ themes use non-rectangular toplevel windows. To fully support
such themes we need to make toplevel window transparent with ARGB visual
and make background of toplevel window transparent.
It may cause performance issue so let's disable it by default and
put it under a preference to allow distros to enable it per default theme.
Depends on D4665
Differential Revision: https://phabricator.services.mozilla.com/D4667
--HG--
extra : moz-landing-system : lando
The browser_all_files_referenced.js test partly relies on finding chrome
and resource urls in the libxul binary, but with LTO, clang actually
replaces AssignASCII calls to inline copies using immediate values, like
this:
movabsq $0x726573776f72622f, %rcx
movq %rcx, 0x8(%rax)
movabsq $0x2f3a656d6f726863, %rcx
movq %rcx, (%rax)
Those immediate values are, respectively, "/browser" and "chrome:/".
Somehow, the aboutNetError-new url is the only one where that causes
problems, which is kind of surprising, in a sense. It's also in a
special position, being temporary until aboutNetError is actually
replaced and the new about:certerror rides the train. Chances are, if we
add an exception for aboutNetError-new in the
browser_all_files_referenced.js test itself, it would remain there after
the new about:certerror rides the train.
However, using the somehow circumvoluted Assign(NS_LITERAL_CSTRING())
construct, we can prevent clang from LTOing the string into pieces. And
there are better chances the code will go away when the new
about:certerror rides the train.
Differential Revision: https://phabricator.services.mozilla.com/D5017
This patch contains a set of changes needed to add WEBEXT telemetry probes keyed by addon id.
The telemetry probes keyed by addon id has been added as separate telemetry histograms
named after the related generic WEBEXT probe with the additional "_BY_ADDONID" suffix.
A set of small helper methods have been defined in a new ExtensionTelemetry object, exported
by the ExtensionUtils.jsm.
Differential Revision: https://phabricator.services.mozilla.com/D4437
--HG--
extra : moz-landing-system : lando
This has two parts:
(1) urlbar already had a formatValue method. Right now, it only does the URL formatting (domain highlighting, crossing out https for mixed content pages) that we do when the urlbar is not focused. This patch generalizes that method into a kind of "any formatting you want to do, do it here" method, and it adds alias formatting.
formatValue is called by the base autocomplete binding when `value` is set. So it's called when the selection in the popup changes and the autocomplete controller subsequently sets the input value. (It's also called by urlbar on focus and blur.) And if anyone else sets the value directly, it'll be called then too of course.
But it's not called when you're just typing in the input, so I added a call in urlbar.onResultsAdded, where we were calling highlightSearchAlias, to handle the first heuristic result being added or modified as a result of what you type.
So I think that should cover all possible times we need to highlight the alias?
(2) Just looking at the selected result to get the alias in the input doesn't work all the time. If you click a search tile on newtab and then key around in the popup, sometimes when you key down to the one-off buttons, the input value reverts to the alias (it's the user-typed value I guess?), but at the time that the value setter is called during the revert, the popup's selected index is still the last selection in the popup. IOW the selected index doesn't match up with what's in the input.
Rather than deal with that, it seems safer to call PlacesSearchAutocompleteProvider.findMatchByAlias() on the first word in the input. But that has a couple of problems. It's async, and I noticed there can be a slight delay in the highlighting appearing. Also, we've already gotten the information returned by that method, when we generated the results in the first place, so it seems inelegant to call it again.
So what I've done instead is to cache aliases in the popup when results are added, and then just look up the first word in the input in these aliases. We shouldn't reset this cache until the first result of a new search comes in.
Differential Revision: https://phabricator.services.mozilla.com/D3850
--HG--
extra : moz-landing-system : lando
Also remove a useless line that looks like some debugging code I accidentally left in.
Differential Revision: https://phabricator.services.mozilla.com/D5059
--HG--
extra : moz-landing-system : lando
nsISHEntry.index is readonly, but if you pass `true` as getEntryAtIndex()'s
second argument, nsISHEntry.index will be modified. This is pretty gross.
This patch changes `index` so it's not readonly (because it's not!) and removes
getEntryAtIndex()'s second argument.
--HG--
extra : rebase_source : c519d77fcc1c3bda2f260b5888ce9cd0f6cfdab5
This switches send-tab to use the new FxA "device commands" feature
by default, rather than the old sync client commands channel.
Differential Revision: https://phabricator.services.mozilla.com/D4892
--HG--
extra : moz-landing-system : lando
This also makes various AutofillRecords methods async, with the exception of
remove() and removeAll().
Noted that I didn't implement any kind of "lock" for FormAutofillStorage --
please do not call these methods concurrently -- if you must please |await|
for the last call to resolve. This most likely would happen in tests, and
shouldn't happen in the real world, given that all user actions happen on
macrotasks, and probably not at the next tick, unless Quicksilver is a
Firefox user.
FormAutofillStorage can be improved if there are complex use cases for it.
Differential Revision: https://phabricator.services.mozilla.com/D4420
--HG--
extra : moz-landing-system : lando
It turns out nsSecureBrowserUIImpl is considerably more complicated than it
needs to be. This patch reimplements it in terms of OnLocationChange only, which
is all it needs to produce the same behavior as before.
Differential Revision: https://phabricator.services.mozilla.com/D3548
--HG--
extra : moz-landing-system : lando
We're ending up in a case here where document.activeElement is null in
browser.xhtml but it's a <browser> tag in browser.xul.
We'll need more analysis and testing to decide if we want the HTML or XUL
activeElement behavior, and then adjust as needed. But in the meantime,
this unbreaks a bunch of browser.xhtml tests and is a safe null check in
both cases.
Differential Revision: https://phabricator.services.mozilla.com/D4705
--HG--
extra : moz-landing-system : lando
The pagehide handler has been as dead as a doornail for a while now,
but the side-effect of forcing the creation of an about:blank document
in non-remote windows was implicitly relied upon by some tests.
This removes the dead code and fixes up some tests.
Differential Revision: https://phabricator.services.mozilla.com/D4962
--HG--
extra : moz-landing-system : lando
This avoids the conflict with cmd-enter/click to open links in new tabs on
macOS. It also removes support for the use of `shift` to complete to '.net',
and allows users to toggle a pref to turn off `ctrl` support on all OSes.
Differential Revision: https://phabricator.services.mozilla.com/D2604
--HG--
extra : moz-landing-system : lando
This also makes various AutofillRecords methods async, with the exception of
remove() and removeAll().
Noted that I didn't implement any kind of "lock" for FormAutofillStorage --
please do not call these methods concurrently -- if you must please |await|
for the last call to resolve. This most likely would happen in tests, and
shouldn't happen in the real world, given that all user actions happen on
macrotasks, and probably not at the next tick, unless Quicksilver is a
Firefox user.
FormAutofillStorage can be improved if there are complex use cases for it.
Differential Revision: https://phabricator.services.mozilla.com/D4420
--HG--
extra : moz-landing-system : lando
It turns out nsSecureBrowserUIImpl is considerably more complicated than it
needs to be. This patch reimplements it in terms of OnLocationChange only, which
is all it needs to produce the same behavior as before.
Differential Revision: https://phabricator.services.mozilla.com/D3548
--HG--
extra : moz-landing-system : lando
extension.getViews() returns all windows whose context.active property
is true. In an upcoming commit, this "active" property will no longer be
set to false upon pagehide (which is a bit too early, since the window
has not unloaded yet), but set to false if the window is truly unloaded
(or frozen in the bfcache).
In the extension.getViews() test, the parts that close the popup or tab
should not immediately resume the test, but wait until the window in the
extension process has unloaded. Otherwise there is a rare chance that
extension.getViews() will return the window that was expected to be
closed, which results in a test failure.
Differential Revision: https://phabricator.services.mozilla.com/D4992
--HG--
extra : moz-landing-system : lando
Use tab.setAttribute instead of tab.setUserContextId, in case the XBL
bindings are not ready yet.
Differential Revision: https://phabricator.services.mozilla.com/D5013
--HG--
extra : moz-landing-system : lando
The container tab indicator should also be set on the tab, not just on
the browser. Otherwise it is possible for the indicator to be missing
when a new window is opened.
And previously, if the URL was an "about:blank" URL, the tab in the new
window would use the default container because of the early return in
_handleURIToLoad. This is fixed by accounting for window.arguments[6]
when initializing the default (about:blank) tab in the tabbrowser.
Unit tests for these code path will be added in bug 1393570.
Differential Revision: https://phabricator.services.mozilla.com/D4920
--HG--
extra : moz-landing-system : lando