Граф коммитов

815368 Коммитов

Автор SHA1 Сообщение Дата
Chris Peterson 5a6a589a53 Bug 1794160 - Fix C++20 -Wenum-float-conversion warning in dom/xslt. r=peterv
C++20 deprecates some operations between enums and floating point types:

https://clang.llvm.org/docs/DiagnosticsReference.html#wenum-float-conversion

dom/xslt/base/txDouble.cpp:96:18 [-Wenum-float-conversion] arithmetic between enumeration type 'enum (unnamed enum at dom/xslt/base/txDouble.cpp:102:3)' and floating-point type 'PRFloat64' (aka 'double')

Differential Revision: https://phabricator.services.mozilla.com/D158865
2022-10-13 06:01:31 +00:00
Glenn Watson 7b751b5e60 Bug 1794949 - Support deferred render task information in GPUBuffer r=gfx-reviewers,lsalzman
When building the GPUBuffer during the prepare pass, we want to be
able to refer to the UV rect (and other information) about images
and render tasks. However, we don't know this information until
after the resource cache block that occurs after prepare (waiting
for blob / glyph worker threads to complete).

Previously, we would defer these queries until batching and then
reference these via a GPU cache address in the instances, which
is complicated and inefficient (making instances larger than they
need to be).

With this change, GPUBuffer supports recording "patch" locations in
the buffer that UV rects should be added. After the render task
graph is built, the GPUBuffer can resolve and patch those locations,
meaning that batching is much simpler (and reducing the number of
indirect fetches required in vertex shaders).

Differential Revision: https://phabricator.services.mozilla.com/D159236
2022-10-13 04:25:18 +00:00
Mike Hommey a51fe143d2 Bug 1794955 - Adjust revert-llvmorg-14-init-11890-gf86deb18cab6_clang_16.patch to upstream changes. DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D159242
2022-10-13 03:43:55 +00:00
Jan Varga 975e37f598 Bug 1794771 - Handle non-existent main actor in FileSystemRequestHandler; r=dom-storage-reviewers,jesup
Differential Revision: https://phabricator.services.mozilla.com/D159140
2022-10-13 03:38:46 +00:00
Tooru Fujisawa 3d1f25971b Bug 1794288 - Handle OOM during reporting warning. r=bthrall
Differential Revision: https://phabricator.services.mozilla.com/D159011
2022-10-13 02:56:15 +00:00
Cristian Tuns c8b4aaeb2d Backed out 5 changesets (bug 1766497) for causing build bustages with "No module named 'encodings'" CLOSED TREE
Backed out changeset 09f7f3d1c6dd (bug 1766497)
Backed out changeset 6bb5f754957a (bug 1766497)
Backed out changeset aedf2d7af408 (bug 1766497)
Backed out changeset 394555265c86 (bug 1766497)
Backed out changeset 41be40696e00 (bug 1766497)
2022-10-12 22:51:51 -04:00
Cristian Tuns 00d5a50ae8 Backed out 15 changesets (bug 1794001, bug 1793995, bug 1693271) for causing build bustages CLOSED TREE
Backed out changeset 5d4b0c23342f (bug 1793995)
Backed out changeset 79a5023e7822 (bug 1793995)
Backed out changeset 4330821df43f (bug 1793995)
Backed out changeset a653699a5cef (bug 1793995)
Backed out changeset 264a0154514e (bug 1793995)
Backed out changeset 6773cada61a8 (bug 1793995)
Backed out changeset d55a78f3627a (bug 1793995)
Backed out changeset 16299839e25e (bug 1793995)
Backed out changeset 10c5cf69b3f0 (bug 1693271)
Backed out changeset 84e7bf515c94 (bug 1693271)
Backed out changeset b8dbabe61a9a (bug 1794001)
Backed out changeset 3cfe4087793d (bug 1794001)
Backed out changeset dd03b0396eb9 (bug 1794001)
Backed out changeset d4f9b4a3029a (bug 1794001)
Backed out changeset 148d136ce549 (bug 1794001)
2022-10-12 22:12:26 -04:00
Yury Delendik 69b0c551f2 Bug 1787554 - Update tests and change call_ref parsing. r=rhunt
- Imports new spec tests
- Updates local call_ref tests
- Changes parsing logic to use call_ref type annotation
- Remove non-null call_ref optimization

Differential Revision: https://phabricator.services.mozilla.com/D158607
2022-10-13 01:42:20 +00:00
Yury Delendik 6873406709 Bug 1787554 - Vendor new versions of wast+dependencies. r=rhunt,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D158606
2022-10-13 01:42:20 +00:00
Nathan LaPre 4f0c38f44d Bug 1794043: Improve AccAttributes ergonomics, r=eeejay
This revision modifies aspects of AccAttributes to make them a bit easier to
work with from a developer perspective. One big win here is the removal of
SFINAE logic that prunes the overload set when resolving calls to SetAttribute.
That logic, plus the other overloads of SetAttribute, have been translated
fairly directly into if constexpr blocks in a single SetAttribute
implementation. The upshot of this is that we can now explicitly disallow
people, at compile time, from accidentally making string copies when passing
strings to SetAttribute, with a nice error message! This revision also enables
us to use AccAttributes in a read-only fashion, particularly in range-based for
loops. This revision accomplishes that by adding const wherever is reasonable.
Next, this revision also removes some redundant special member function
definitions (deletions). My hope is that these changes will generally make
AccAttributes easier to use as safely as possible. Finally, this revision
updates a couple places where we use AccAttributes in a read-only way such
that they use the new const mechanisms.

Differential Revision: https://phabricator.services.mozilla.com/D158995
2022-10-13 01:00:57 +00:00
ahochheiden 53dec2df58 Bug 1766497 - Remove early exit on Homebrew Python3.10 now that we're using `venv` instead of `virtualenv` r=firefox-build-system-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D159196
2022-10-13 00:40:13 +00:00
ahochheiden 0a3b052351 Bug 1766497 - Doc updates regarding `venv` r=firefox-build-system-reviewers,nalexander
- Removed references to Python 2
- Replaced references to `virtualenv` with `venv`

Differential Revision: https://phabricator.services.mozilla.com/D158922
2022-10-13 00:40:12 +00:00
Alex Hochheiden 94d4f41810 Bug 1766497: Remove unused `virtualenv` package r=ahal
Now that Python's stdlib `venv` is used, `virtualenv` is no longer
needed.

Since mozharness depends on the wheels for `setuptools` and `pip`, and
they were vendored within `virtualenv` we must move them somewhere else.

I've chosen to add `third_party/python/venv/wheels` to hold those wheels
now that `virtualenv` is no longer there.

Depends on D145786

Differential Revision: https://phabricator.services.mozilla.com/D145787
2022-10-13 00:40:06 +00:00
Alex Hochheiden 7459448b8f Bug 1766497: Mozharness: use `venv` instead of `virtualenv` r=ahal
The 'pip' and 'setuptools' that are bundled with 'venv' are not
consistent across python version and platforms. As such, we must
explicitly install a version of each that works with our codebase.

To achieve this, we simply create the venv using '--without-pip'
then 'pip install' both 'pip' and 'setuptools' using the wheels we have
'vendored' inside 'virtualenv'. There's no way to install a specific
version of 'pip' on venv creation, so it's faster to skip installing the
old version of 'pip' then, and install specific version we want right
afterwards.

We don't want to use the venv '--upgrade` feature to upgrade 'pip',
since that will tie us to pypi, and will fail if pypi is down for
whatever reason.

Depends on D144872

Differential Revision: https://phabricator.services.mozilla.com/D145786
2022-10-13 00:40:06 +00:00
Alex Hochheiden 87f032a7a9 Bug 1766497: Mach: use `venv` instead of `virtualenv` r=ahal
Brew's Python 3.10 causes `virtualenv==20.7.2` to produce a wonky folder
structure (`$venv/opt/homebrew/lib/python3.10/site-packages`?).

This is likely fixed with newer `virtualenv`, but the simpler workaround
here is to use `venv` instead now that Python 3 is always used.

Adds `python3-venv` to docker image so that tests and debian-based tasks
can leverage it.

Differential Revision: https://phabricator.services.mozilla.com/D144872
2022-10-13 00:40:05 +00:00
Nika Layzell ecf37bac83 Bug 1793995 - Part 8: Move WebAccessibleResources into the threadsafe core, r=kmag
This will be required in the future to make getting protocol flags for
moz-extension:// URIs threadsafe.

Differential Revision: https://phabricator.services.mozilla.com/D158886
2022-10-12 23:57:25 +00:00
Nika Layzell dcf9babb6e Bug 1793995 - Part 7: Use threadsafe refcounting for WebAccessibleResource, r=kmag
Now that all fields and methods in WebAccessibleResource have been made
threadsafe, we can make the type itself be threadsafe.

Differential Revision: https://phabricator.services.mozilla.com/D158885
2022-10-12 23:57:25 +00:00
Nika Layzell f93aec2685 Bug 1793995 - Part 6: Allow looking up a WebExtensionPolicyCore from any thread, r=kmag
In order to make WebAccessibleResource threadsafe, as well as other places, it
needs to be possible to look up a `WebExtensionPolicyCore` from any thread.
This is handled by using a static method on the ExtensionPolicyService for this
task, and keeping a seperate mutex-guarded static table under the hood.

Theoretically the table within `ExtensionPolicyService()` could also be
removed, however I held off on doing that in case it would have a negative
performance impact to take extra locks and follow extra pointers.

Differential Revision: https://phabricator.services.mozilla.com/D158884
2022-10-12 23:57:24 +00:00
Nika Layzell 79f273e3a8 Bug 1793995 - Part 5: Factor out the threadsafe core of MatchPattern and MatchPatternSet, r=kmag
Similar to MatchGlob, this is fairly straightforward, but is complicated
slightly by `MatchPatternSet`, which allows being destructured into the
contained `MatchPattern` instances in a `[Constant]` method. To handle this a
cache is added for the wrappers in the cycle-collected `MatchPatternSet`.

Differential Revision: https://phabricator.services.mozilla.com/D158883
2022-10-12 23:57:24 +00:00
Nika Layzell 523f5e3554 Bug 1793995 - Part 4: Split out the threadsafe core from MatchGlob, r=kmag
The outer cycle-collected wrapper type is unfortunately still required by
WebIDL in order to keep the JS API working.

Differential Revision: https://phabricator.services.mozilla.com/D158882
2022-10-12 23:57:23 +00:00
Nika Layzell 51902ec5fd Bug 1793995 - Part 3: Remove the unused includeGlobs and excludeGlobs getters, r=kmag
These getters are never called and will make making the core of MatchGlob
threadsafe more annoying.

Differential Revision: https://phabricator.services.mozilla.com/D158881
2022-10-12 23:57:23 +00:00
Nika Layzell 7998d1c210 Bug 1793995 - Part 2: Make AtomSet immutable and threadsafe, r=kmag
The mutator methods were never used, so were easy to remove, allowing the type
to be made threadsafe. The main potential for performance regression is that
the string based Contains method now uses `NS_Atomize` instead of
`NS_AtomizeMainThread`, however this is only called in once place
(WebExtensionPolicy::HasPermission). If it turns out to be an issue, we can
move the atomization into the caller to keep it using `NS_AtomizeMainThread`.

Differential Revision: https://phabricator.services.mozilla.com/D158880
2022-10-12 23:57:23 +00:00
Nika Layzell d0bc1a4912 Bug 1793995 - Part 1: Move immutable parts of WebExtensionPolicy to a threadsafe core type, r=kmag
This threadsafe core type also acts as a weak reference to the main-thread
WebExtensionPolicy when needed. This will be used when information about a
WebExtension is needed to be accessible off-main-thread in the future.

Differential Revision: https://phabricator.services.mozilla.com/D158879
2022-10-12 23:57:22 +00:00
Nika Layzell 4387dfaab4 Bug 1693271 - Part 2: Fix test for slower first-run debug execution of RustRegex, r=kmag
In debug mode, the compile for some regular expressions is much slower with the
regex crate than it was with the JS engine, likely due to the regex's crate
heavy reliance on inlining and other llvm optimizations. Subsequent runs are
much faster, as they do not need to optimize and build the DFA.

Differential Revision: https://phabricator.services.mozilla.com/D158878
2022-10-12 23:57:22 +00:00
Nika Layzell 2d217d3622 Bug 1693271 - Part 1: Use RustRegex for MatchGlob, r=kmag
This also involves making MatchGlob operate on UTF8String instead of DOMString,
as the rust `regex` crate operates on utf-8 strings. This should have no
functional impact on callers.

Differential Revision: https://phabricator.services.mozilla.com/D158877
2022-10-12 23:57:21 +00:00
Nika Layzell da5915945f Bug 1794001 - Part 5: remove the regex-ffi crate, r=xpcom-reviewers,kmag
It is no longer necessary now that `rure` bindings are in use.

Differential Revision: https://phabricator.services.mozilla.com/D158876
2022-10-12 23:57:21 +00:00
Nika Layzell 37fa24eb33 Bug 1794001 - Part 4: Use RustRegex in FormAutofillNative instead of our regex-ffi crate, r=dimi
The `RustRegex` wrapper is built on the official `rure` ffi bindings for the
`regex` crate, which was added in previous parts. The `regex-ffi` crate will be
removed in the next part.

Differential Revision: https://phabricator.services.mozilla.com/D158875
2022-10-12 23:57:21 +00:00
Nika Layzell 868608c972 Bug 1794001 - Part 3: Combine RustRegex::Flags and RustRegexOptions, r=xpcom-reviewers,kmag
This will make customizing flags on the regex type less error-prone, as passing
a flag (e.g. `RustRegex::FLAG_CASEI`) will not implicitly disable the default
`UNICODE` flag.

Names and comments were taken from the original `RegexBuilder` type in the
`regex` crate which this type is inspired by, and the type was changed to be
cheaply copyable and support method chaining, so that it can be used more
ergonomically.

Differential Revision: https://phabricator.services.mozilla.com/D159083
2022-10-12 23:57:20 +00:00
Nika Layzell d88bc3723a Bug 1794001 - Part 2: Add a c++ wrapper for the rust regex (rure) API, r=xpcom-reviewers,kmag
This makes the API more ergonomic to use from our c++ code, managing things
like lifecycles automatically.

Documentation comments are copied from the `rure.h` header, and modified
slightly to reflect the C++ types.

Differential Revision: https://phabricator.services.mozilla.com/D158874
2022-10-12 23:57:20 +00:00
Nika Layzell aa82e4e273 Bug 1794001 - Part 1: Import the `rure` crate for rust regex ffi, r=xpcom-reviewers,supply-chain-reviewers,kmag
While we already have an in-tree `regex-ffi` crate which provides basic
access to regex functionality for use in FormAutofillNative, the `regex`
crate itself provides and maintains its own c api as the `rure` crate.
This patch vendors in `rure` to allow us to use the more-fully-featured
official ffi.

Differential Revision: https://phabricator.services.mozilla.com/D158873
2022-10-12 23:57:19 +00:00
Dana Keeler 0dedda0179 Bug 1720118 - store certificate error override and failed certificate chain information in the TLS token cache r=kershaw,jschanck,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D158793
2022-10-12 23:54:11 +00:00
Dana Keeler 07cf1e9f2c Bug 1720118 - always use the TLS token cache r=kershaw,necko-reviewers,ci-and-tooling,jmaher
Differential Revision: https://phabricator.services.mozilla.com/D158792
2022-10-12 23:54:10 +00:00
James Teh 62885a5651 Bug 1794747: Use ChildAt instead of NextSibling to iterate children in Accessible::GetLevel. r=nlapre
NextSibling uses IndexInParent, which is currently slow for RemoteAccessible.
Even if IndexInParent were faster, we're iterating all children here, so doing it this way is more efficient regardless.
This results in a significant performance improvement (> 25x) with NVDA when thousands of HTML select options are shown.

Differential Revision: https://phabricator.services.mozilla.com/D159149
2022-10-12 23:48:47 +00:00
James Teh 270c0a643d Bug 1786240: Clear a cached BUSY state before firing doc load complete. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D159136
2022-10-12 23:48:09 +00:00
Dan Robertson 72a89cb2db Bug 1794327 - Record RAPL perf events as a profile counter. r=florian
Poll the RAPL perf events on linux to provide useful power data as a profile
counter.

Differential Revision: https://phabricator.services.mozilla.com/D158919
2022-10-12 23:24:38 +00:00
Amy Churchwell 2a7b6a2515 Bug 1791172 - Reposition homepage success checkmark. r=kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D159093
2022-10-12 22:55:15 +00:00
Eitan Isaacson 8fff4f15d6 Bug 1794654 - Wait for cache update before comparing bounds to content. r=morgan
We first retrieve accessible bounds and then pass them to a content task to compare against content layout bounds. We are not guaranteed to have the cache in sync in that manner, most tests will wait for a content rAF but that is not sufficient for the parent cache's state.

Instead we need to pull the content layout bounds (since those are guaranteed to be in sync via rAF) into parent and then wait for the a11y cache to catch up.

Differential Revision: https://phabricator.services.mozilla.com/D159080
2022-10-12 22:47:55 +00:00
Mark Hammond 36b2282d01 Bug 1792550 - ensure the primary password is unlocked before signing in to sync. r=Mardak,sfoster
Differential Revision: https://phabricator.services.mozilla.com/D158719
2022-10-12 22:31:37 +00:00
Kris Maglione 1225e9b8e7 Bug 1792334 - Decom nsIXPConnect and friends. r=mccr8
They haven't been scriptable in years, so there's no need for them to go
through XPIDL or for the methods to be virtual.

Differential Revision: https://phabricator.services.mozilla.com/D158081
2022-10-12 22:26:12 +00:00
Emily McMinn f0950e6c9d Bug 1786523 - Add a where prop to FXA Accounts to allow opening in a new tab r=negin,pdahiya
Differential Revision: https://phabricator.services.mozilla.com/D156206
2022-10-12 22:10:58 +00:00
Eitan Isaacson 9b3628d6a4 Bug 1794634 - Stop using ARIARoleAtom sync message and remove it. r=morgan
Add role map index to RoleChangedEvent so remote doc accessibles have an ARIA role defined.

Differential Revision: https://phabricator.services.mozilla.com/D159067
2022-10-12 22:08:33 +00:00
Cristian Tuns d531f63b7c Backed out changeset dc1d2b9d698b (bug 1285986) for causing wpt failures on aes_cbc.https.any.worker.html CLOSED TREE 2022-10-12 18:09:04 -04:00
Cristian Tuns c815815081 Backed out changeset b5b51c1be2f5 (bug 1792334) for causing build bustages on XPCWrappedJS.cpp CLOSED TREE 2022-10-12 18:05:39 -04:00
Kris Maglione 48e9d5b01f Bug 1794186: Remove remaining __exposedProps__ references. r=nika
Some more of these tests could probably be removed completely, but they still
leave some vestigial opaque COW tests that might still be worse something,
even though they should be completely redundant.

Differential Revision: https://phabricator.services.mozilla.com/D158997
2022-10-12 21:46:02 +00:00
Kris Maglione fd512a79f8 Bug 1792334 - Decom nsIXPConnect and friends. r=mccr8
They haven't been scriptable in years, so there's no need for them to go
through XPIDL or for the methods to be virtual.

Differential Revision: https://phabricator.services.mozilla.com/D158081
2022-10-12 21:45:13 +00:00
Emilio Cobos Álvarez ee9e7f353b Bug 1793622 - Remove unused argument in PanelMultiView. r=dao
_transitionViews doesn't take an anchor argument.

Differential Revision: https://phabricator.services.mozilla.com/D158586
2022-10-12 21:24:28 +00:00
John Schanck e2bc1afa4f Bug 1794450 - Gather telemetry on use of revocation checking mechanisms. r=keeler
Adds the CERT_REVOCATION_MECHANISMS histogram with bins "CRLite", "Stapled OCSP", "Cached OCSP", "OCSP", "OneCRL", and "Short Validity" to gauge how often we use each certificate revocation checking mechanisms. The Short Validity bin counts cases where a revocation check was not performed because the certificate had a short validity period. The other bin names are self-explanatory. We may use more than one mechanism per certificate, so we may accumulate to more than one bin per certificate.

Differential Revision: https://phabricator.services.mozilla.com/D158975
2022-10-12 21:05:08 +00:00
Barret Rennie 97628a067d Bug 1793478 - Add per-experiment feature validation opt-out r=emcminn
Differential Revision: https://phabricator.services.mozilla.com/D159215
2022-10-12 20:46:49 +00:00
Barret Rennie 7fedc93a39 Bug 1793478 - Update nimbus-shared to 1.10 r=emcminn
Differential Revision: https://phabricator.services.mozilla.com/D159214
2022-10-12 20:46:49 +00:00
Barret Rennie 283f5a0028 Bug 1793821 - Skip enrollment in non-desktop experiments r=emcminn
Differential Revision: https://phabricator.services.mozilla.com/D158693
2022-10-12 20:46:48 +00:00