Previously the "See tabs from synced devices" button redirected to `about:firefoxview`.
This patch updates the `openTab` function to accept a category instead of an entryPoint or event.
For previous instances where `openTab` passed an event, `openTab` has been replaced with `openToolbarMouseEvent` to handle event.
We should open an issue in FxA to update the following `entryPoint` from "preferences" to "syncedtabs".
2b2ee47c4b/packages/fxa-content-server/app/scripts/views/pair/auth_complete.js (L55-L63)
Depends on D196208
Differential Revision: https://phabricator.services.mozilla.com/D196881
We don't line-break after a hyphen when it occurs between numerals, like in page or date ranges,
preferring to keep the range together as a unit when wrapping text.
However, if the available space is very narrow, e.g. in a small table cell, this may lead to
undesirable overflow. So to try and avoid this, this patch allows an "emergency" line-break
opportunity (similar to what `overflow-wrap: break-word` would do) after the hyphen in such
a case.
This affects a number of existing reftests, but the changes in behavior make us more like
WebKit/Blink (which generally allow a break after hyphen between numerals) in these cases,
so it seems unlikely to lead to webcompat issues; rather, it will help with existing issues
where people assume the content can wrap.
Differential Revision: https://phabricator.services.mozilla.com/D197936
`overflow:scroll` doesn't add scrollbars to buttons in Firefox right now (per
bug 1873301) but it does add them in other browsers, so we need to include it
in the reference case (matching the testcase) so that the reference case is
valid/robust.
This patch doesn't change the reference case's rendering in Firefox, but it
seems to be sufficient to make this WPT pass in other browsers.
Differential Revision: https://phabricator.services.mozilla.com/D197832
This is a workaround for an edge-case where the default 'overflow:auto' setup
can lead to a layout with or without a scrollbar, depending on whether the
first layout happens before vs. after the DOM is fully complete. See
explanations in https://bugzilla.mozilla.org/show_bug.cgi?id=1873763#c0 and in
https://bugzilla.mozilla.org/show_bug.cgi?id=1873749 for more details. This
behavior seems to be common to all major browser engines, so it's probably not
worth worrying about too much, which is why I'm simply working around it in
these tests.
The changes to the -001 test files will address intermittent bug 1522442, and
the changes to the -010 and -011 test files are to address intermittent
bug 1809735.
Differential Revision: https://phabricator.services.mozilla.com/D198080
As we are no longer experimenting with turning this pref on and off and have moved to the newer
implementation of Firefox View, this pref has been removed.
We may want to notify users who prefer this feature hidden.
Differential Revision: https://phabricator.services.mozilla.com/D196887
- removes all old View related files and assets
- removes legacy telemetry
- removes tests related to prefs that have since been removed
- remove `browser_all_files_referenced.js` exceptions added in Bug 1869833
Depends on D196093
Differential Revision: https://phabricator.services.mozilla.com/D196208
As much as I like the "all-static uninstantiable struct" projection of
Rust-style modules, they're an unnecessary weirdness in C++.
Shuffle the code around to just use a collection of nested namespaces.
No functional changes.
Differential Revision: https://phabricator.services.mozilla.com/D197627
Add a new Glean event for the out-of-process file-dialog, marking when
it breaks and forces us to fall back to the existing in-process
behavior.
This creates a new nested pseudo-namespace struct, which is just weird
enough that it probably needs to be replaced with a true namespace. That
will be done in the next commit.
Differential Revision: https://phabricator.services.mozilla.com/D197626
setBoolPref has a persistent effect for the rest of the test run (potentially
affecting the behavior of other prefs), so we don't want to use
that. This test is currently failing when run in test-verify mode as a result
of this. With pushPrefEnv, the test will properly undo its pref-modification
when it completes.
Note: I'm moving the pref-toggle statement inside of a function so that I can
use the ergonomic `await` syntax. This is still essentially right at the start
of the test, since `doTests` is the main function here.
Differential Revision: https://phabricator.services.mozilla.com/D197830
This is mostly removing code and tests related to reading/writing the cache file on macOS and updating of tests. Aside from that, the most notable part is the change to `setAttributionString` to automatically prepend `__MOZCUSTOM__` when writing an attribution code. This is mostly done to make things simpler and cleaner in the majority of the tests, but seeing as `getAttributionString` is also aware of it, it seems like a generally nicer way to do this.
Differential Revision: https://phabricator.services.mozilla.com/D197204
This function has been difficult to read for awhile. This patch cleans it up in preparation to adjust it for the removal of the cache file on macOS.
Differential Revision: https://phabricator.services.mozilla.com/D197203
We will be relying the `com.apple.application-instance` xattr being preserved for attribution data to be persisted across updates and channel changes. This change adds an extra check to most of the updater tests to ensure that this is the case.
I don't _think_ we need to do anything special here around verifying that it happens for channel changes since those are just regular MARs that happen to include a bit that changes the channel - but I'm happy to add something if it's useful.
Differential Revision: https://phabricator.services.mozilla.com/D197195
While the new property is essential for matching SERPs, it is required so that the change
can be uplifted this change to other builds and avoid test_search_telemetry_config_validation.js
breaking when search-telemetry-v2.json is updated.
It is probably safer to update the schema on various builds, and only land the code changes
that depend on the update to search-telemetry-v2 on Nightly so that if we encounter an error
in search telemetry, its impact is minimal.
We can always update the schema to include the new property in required when all clients
have an updated search-telemetry-v2 dump.
Differential Revision: https://phabricator.services.mozilla.com/D197746
We don't line-break after a hyphen when it occurs between numerals, like in page or date ranges,
preferring to keep the range together as a unit when wrapping text.
However, if the available space is very narrow, e.g. in a small table cell, this may lead to
undesirable overflow. So to try and avoid this, this patch allows an "emergency" line-break
opportunity (similar to what `overflow-wrap: break-word` would do) after the hyphen in such
a case.
This affects a number of existing reftests, but the changes in behavior make us more like
WebKit/Blink (which generally allow a break after hyphen between numerals) in these cases,
so it seems unlikely to lead to webcompat issues; rather, it will help with existing issues
where people assume the content can wrap.
Differential Revision: https://phabricator.services.mozilla.com/D197936
In bug 1866395 I added a function to return the canonical Firefox
remote and use it when determining the base ref. I overlooked
that this also needs to be used for `get_branch_nodes` to avoid
returning a set of branch nodes that doesn't begin from the same
base ref. Move the building of the `--remotes` arg to a separate
function and use it in `get_branch_nodes`.
Differential Revision: https://phabricator.services.mozilla.com/D198032
These two settings are only available via the web console commands as they expect number as arguments
which is hard to implement via the context menu on the debugger button.
Move stdout logging to a dedicated method as onEnterFrame reached eslint complexity limit.
Differential Revision: https://phabricator.services.mozilla.com/D196832
The JavaScript Tracer may be initiated by the debugger, or stoped by itself when reaching some limit.
In these cases, the start and stop messages wouldn't have been logged in the console.
Differential Revision: https://phabricator.services.mozilla.com/D196831
This introduces `mainview-with-header` attribute for panels that their
mainview should have a header (no matter where they appear); and
`has-custom-header` for panels that their panelview (not necessarily a
mainview) has a custom design for a header, one that headerText setter
can't anticipate in advance (due to UX needs that may arise).
If one of these attributes are set on the panel, this signals headerText
that the panelview's header should NOT be removed and that the markup
should be respected.
Differential Revision: https://phabricator.services.mozilla.com/D196671
In order to do this, I had to alter how we do third-party cookie blocking under CHIPS + TCP.
Before we performed the block in CheckPrefs, where we haven't parsed the cookie header (which can have multiple cookie lines) yet.
Instead, I added a new argument into CanSetCookie, which says if the cookie needs to be partitioned to be accepted (TCP && foreign && not unpartitioned).
Then inside of CanSetCookie, if that is set we warn in the console and drop the cookie if the CHIPS preference is set. The warning changes based on that pref too.
Differential Revision: https://phabricator.services.mozilla.com/D197711
This is mostly removing code and tests related to reading/writing the cache file on macOS and updating of tests. Aside from that, the most notable part is the change to `setAttributionString` to automatically prepend `__MOZCUSTOM__` when writing an attribution code. This is mostly done to make things simpler and cleaner in the majority of the tests, but seeing as `getAttributionString` is also aware of it, it seems like a generally nicer way to do this.
Differential Revision: https://phabricator.services.mozilla.com/D197204
This function has been difficult to read for awhile. This patch cleans it up in preparation to adjust it for the removal of the cache file on macOS.
Differential Revision: https://phabricator.services.mozilla.com/D197203
We will be relying the `com.apple.application-instance` xattr being preserved for attribution data to be persisted across updates and channel changes. This change adds an extra check to most of the updater tests to ensure that this is the case.
I don't _think_ we need to do anything special here around verifying that it happens for channel changes since those are just regular MARs that happen to include a bit that changes the channel - but I'm happy to add something if it's useful.
Differential Revision: https://phabricator.services.mozilla.com/D197195
UnregisterTextureOwner, if called before any use of UseRemoteTexture, can cause UseRemoteTexture to wait
for the texture owner to be created, since the texture owner does not exist, and there is no evidence it
was previously unregistered.
This patch attempts to address the issue by delaying the actual UnregisterTextureOwner until all such
UseRemoteTexture instances are processed. This is accomplished by noting that UseRemoteTexture ops come
in via transactions from a CompositableForwarder and so all are associated with a forwarder transaction
with a FwdTransactionId. RecordedTextureData on destruction reports the last FwdTransactionId associated
with its final UseRemoteTexture before it attempts to call UnregisterTextureOwner. If RemoteTextureMap
has not been notified of a given FwdTransactionId yet, then the UnregisterTextureOwner call will be
deferred until it has seen this FwdTransactionId.
This adds a RemoteTextureTxnScheduler to track the issuing of dependencies and waiting for FwdTransactionIds.
This patch also cleans up the issuing of FwdTransactionIds themselves to be associated with a given
top-level protocol so that all sub-protocols have transaction numbers that can be safely compared amongst
each other. This makes dependency expiration more robust since any advancement of the transaction number
from any source can help retire expired dependencies.
Differential Revision: https://phabricator.services.mozilla.com/D197895