Introduce a per-process bytecode-deduplication table for use by off-main-thread
JS parsing. Parsing on the main-thread continues to use the per-JSRuntime table
but no longer needs to worry about locks.
Worker runtimes (with a parent JSRuntime) no longer get their own table and
instead use the per-process table since they are less sensitive to the
performance of the lock. This increases sharing opportunity (for memory
reduction) available to Workers.
Differential Revision: https://phabricator.services.mozilla.com/D168767
Remove the hard-coded blocking of searching in third-party scripts.
We are later going to add a feature to allow the users filter out these files themselves
Differential Revision: https://phabricator.services.mozilla.com/D168261
Calculating it relative to an ancestor causes problems when the frame ancestry and the a11y ancestry diverge.
For example, this can happen for a transform which is also position: absolute.
In that case, the parent Accessible's frame is not an ancestor of the child Accessible's frame.
Since the transform is no longer relative to the ancestor, we no longer need to remove our parent-relative bounds before applying it.
However, we do need to ensure that we apply the transform *before* adding parent-relative bounds.
Differential Revision: https://phabricator.services.mozilla.com/D169059
#### Highlights of this patch
- We are now tracking errors that show up later in the cycle.
- Errors related to 301 redirects are ignored as we show those as 301's in the netmonitor.
- Using `waitForLoad` in a couple of more places as when a domain is not found, we have `await`'s that do not resolve.
- `NS_IMAGELIB_ERROR_FAILURE` is now emitted for the stub network request in the console, which was not exposed previously.
Differential Revision: https://phabricator.services.mozilla.com/D166882
Enabling flex emulation turns this into permafail on Linux, but it does
seem like a legit failure. Once the DPI change is done, the resolution
is indeed too little.
This reftest comes from bug 1685756, and reftest-zoom should do the
trick and make sure to test that codepath, while not affecting the
chrome window.
Differential Revision: https://phabricator.services.mozilla.com/D169165
I saw this in the nightly profile. This makes us go into the string
which in most cases is not necessary because the lengths are different.
Depends on D169143
Differential Revision: https://phabricator.services.mozilla.com/D169144
Not sure if you think this is worth it, it might be in some cases where
we have pre-atomized stuff in the container.
Depends on D169142
Differential Revision: https://phabricator.services.mozilla.com/D169143
To avoid an unconditional string copy when comparing case-insensitively
(by using nsDependentAtomString).
Since the string path is not much different than the generic code-path,
just use that elsewhere.
This shows up in selector matching.
Differential Revision: https://phabricator.services.mozilla.com/D169142
This patch changes the Firefox Suggest preference toggles to use the new `moz-toggle` element.
For testing purposes, set `browser.urlbar.quicksuggest.enabled` to `true` to make the toggles visible in `about:preferences#privacy`.
Differential Revision: https://phabricator.services.mozilla.com/D167881
This patch updates `moz-toggle` to accept a `description` slot that can be used to change the description markup in cases where we need to display a support link or some other content.
I'm not totally convinced using a slot is the right approach since it might be making the toggle markup a little too configurable. One alternative is we could accept another property that we use to append a support link to the description, but I don't love that either. I don't want our components sprouting tons of properties to handle edge cases. Open to thoughts/feedback on this.
Differential Revision: https://phabricator.services.mozilla.com/D167880
This JS error happens because `QuickSuggest.weather` is undefined when the
provider's `isActive()` is called while xpcshell tests perform searches. The
error is harmless because it's caught and reported by the urlbar providers
manager.
`QuickSuggest.weather` is defined when `QuickSuggest.init()` is called. In
normal app usage, `init()` is called by BrowserGlue on app startup. Xpcshell
tests that are related to quick suggest make sure `init()` is called by using
`QuickSuggestTestUtils.ensureQuickSuggestInit()`. The only problem is xpcshell
tests that are not related to quick suggest. For those tests, `init()` is never
called.
The fix is simple, just don't assume `QuickSuggest.weather` is defined inside
`isActive()`. Another fix would be to make `isActive()` return false if
`UrlbarPrefs.get("quickSuggestEnabled")` is false. That's what the quick suggest
provider does, and that's why it doesn't have this problem.
`quickSuggestEnabled` will remain false until `QuickSuggest.init()` is called. I
think it's nicer to only rely on `QuickSuggest.weather` though.
Differential Revision: https://phabricator.services.mozilla.com/D169097
Windows native notifications are only available in the parent process. The existing mochitest runs in a content process, therefore checking `"@mozilla.org/system-alerts-service;1" in Cc` fails. The test interprets this to mean that the XUL notification backend is enabled, which is not the case.
Since this test seems XUL specific in nature, this change modifies the test to set `alerts.useSystemBackend=false` and removes the now redundant check on test startup.
Depends on D167477
Differential Revision: https://phabricator.services.mozilla.com/D166442
On Nightly, mismatched driver versions will be noted in any associated
crash reports, but otherwise will not be reported and will not prevent
hardware acceleration from activating.
On Beta and Release, we will continue to treat this as a disqualifying
condition.
Differential Revision: https://phabricator.services.mozilla.com/D168997