The ARM emulator images have very poor support and haven't been updated for a
long time.
Normally x86_64 images need KVM acceleration which is not available on build
machines (see Bug 1545497). We can work around this by starting the emulator
with the command line |--no-accel|.
Differential Revision: https://phabricator.services.mozilla.com/D119223
After removing `optional` in Bug 1712804, we need to add a variant back
here because there's fallible dependencies. However, I've tweaked the
re-introduction of the feature to require a specific repercussion
message as well. This seemed like a decent tradeoff - the developer
becomes aware that the failure is bad, it has repercussions, but it's
not a blocking issue. Additionally, since we're printing pip's output,
the developer will be able to see the underlying error causing the
warning.
I also added comment functionality to requirements definitions to allow
adjacent documentation of why some requirements are fallible. (Related:
I'm looking forward to `mach_bootstrap` not needing to parse
requirements definitions. Almost there!)
Note that we'll temporarily lose the "pinned" nature of the
three moved dependencies until dependency locking is implemented
for Mach requirements definitions. Also note that the pinned
`zstandard_requirements.txt` can't be removed like the other
files because it still has a dangling usage.
Finally, in preparation for review: I didn't make
`PypiOptionalSpecifier` extend `PypiSpecifier` because I figured that
the benefit of flexibility (easier to allow implementations to diverge
without needing to untangle an inheritance relationship) was larger than
the cost of needing to add properties to both specifiers.
If we wanted re-use, I'd probably have `PypiOptionalSpecifier` _contain_
a `PypiSpecifier`, but then you have to reach deeper into the object to
get data, so *shrug*.
Differential Revision: https://phabricator.services.mozilla.com/D119835
`_install_pip_package()` may be run from `populate()`, which
is invoked from a child Python process that doesn't
have in-tree Python modules in its sys.path.
An alternate solution would be to add in-tree modules
to the sys.path, but that seemed more costly than
simply using `tempfile` and `shutil`.
Differential Revision: https://phabricator.services.mozilla.com/D119834
The three removed paths don't exist in-repo, and after a cursory glance
they don't appear to be populated dynamically.
Note that the removal of the `six` path for WPT is different: it's
technically just incorrect, and should amended to point to
`$WPT/tools/third_party/six`. However, Python only allows a single
instance of a library to exist in import scope, and we're already
consuming `six` from the Firefox-wide vendored 3rd-party libs.
Differential Revision: https://phabricator.services.mozilla.com/D119825
Now that the upstream Python bug has been resolved since Python 3.4 (at
the latest), we can safely remove the environment variable workaround.
Differential Revision: https://phabricator.services.mozilla.com/D119687
It's possible for a virtualenv to have an incorrect list of directories
to add to the sys.path, such as the following cases:
* Its creation got cancelled halfway through
* The list of pths changed in a new revision
* It got modified by an external tool
By validating the list of provided pths against the list of required
pths, we can ensure that the virtualenv is more dependably up-to-date.
Differential Revision: https://phabricator.services.mozilla.com/D119686
This simplifies consumer logic, since they get the parsed list of pypi
and pth requirements, as well as the list of input files that were
parsed.
One benefit of this simplification is that we no longer
recursively create VirtualenvManagers.
Note that mach_bootstrap cannot (yet) take advantage
of `ParseMachEnvRequirements` because of a dependency cycle:
* `mach_bootstrap` must set up the `sys.path` to import
`ParseMachEnvRequirements`.
* `mach_bootstrap` would want `ParseMachEnvRequirements` to
determine which paths to add to the `sys.path`.
Differential Revision: https://phabricator.services.mozilla.com/D119685
This patch also addresses bug 1645293. It essentially reverts parts 1 and 3 of bug 1616700 for users with searching disabled. Since we had to introduce branching behaviour, there are some new constructs like a shouldHandOffToSearchMode multi-pref in UrlbarPrefs.
Differential Revision: https://phabricator.services.mozilla.com/D118606
I'm not sure what information would be useful in other OSes, so ifdef
the row for GTK for now, but I made this trivial to show in Windows /
macOS / Android as soon as they return useful information.
Differential Revision: https://phabricator.services.mozilla.com/D120331
Automatic update from web-platform-tests
Fix nested inline box fragmentation
This patch fixes when nested inline boxes are fragmented in a
line due to bidi reordering.
Before this change, the fragmented boxes are appended to the
end of |box_data_list_|. Then when |NGInlineLayoutStateStack::
CreateBoxFragments| creates inline boxes in the ascending
order of |box_data_list_|, it failed to add the fragmented
boxes into their parent inline boxes.
This is critical for out-of-flow positioned objects whose
containing block is an inline box, because they expect to be
propagated through all ancestor inline boxes.
|UpdateBoxDataFragmentRange| is a little tricky by appending
to a vector it is iterating. Changing it to insert to the
correct position makes the function even trickier. This patch
changes it to add fragmented boxes to a separate vector, and
let later process |UpdateFragmentedBoxDataEdges| to merge the
vector to |box_data_list_|.
Bug: 1229999
Change-Id: I7edcd209e1fdac06bab01b16d660383e7e9c37bd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3038308
Commit-Queue: Koji Ishii <kojii@chromium.org>
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#903356}
--
wpt-commits: d11611524641c4ae3bfbdc549ded99f22578ef4a
wpt-pr: 29711
Automatic update from web-platform-tests
webcrypto: merge tentative BigInt test into main (#29713)
--
wpt-commits: cdd0f03df41b222aed098fbbb11c6a3cc500a86b
wpt-pr: 29713
Automatic update from web-platform-tests
WPT: Add a test for ignoring unrecognized members in a web app manifest
This behaviour is inferred from the spec text on "processing the
manifest": https://www.w3.org/TR/appmanifest/#processing
and clarified by the non-normative text on extensibility:
https://www.w3.org/TR/appmanifest/#extensibility
Added as a more general test for the same no-required-behaviour of the
new_note_url field.
Bug: 1185678
Change-Id: Ic760c9dd473d71833e31be2ccfbde95b9c7086f4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3038042
Commit-Queue: Glen Robertson <glenrob@chromium.org>
Reviewed-by: Mike West <mkwst@chromium.org>
Cr-Commit-Position: refs/heads/master@{#903346}
--
wpt-commits: 1ef33da4b7e03fc9f915701b3a4a6fef3e76c6ad
wpt-pr: 29702
Automatic update from web-platform-tests
[Device Posture API] Align posture types with the specification
The Device Posture API specification recently updated the posture types
following the guidance from the W3C TAG. This patch align the implementation
with the current version of the spec.
Bug: 1066842
Change-Id: I876856b98f01c0e18f5fc4d9f5c24dea9c1e09ea
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3039518
Reviewed-by: Eric Willigers <ericwilligers@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Commit-Queue: Alexis Menard <alexis.menard@intel.com>
Cr-Commit-Position: refs/heads/master@{#903334}
--
wpt-commits: fc086c82d5a7e9b01a684a23336d6d1f9e79e303
wpt-pr: 29709
Automatic update from web-platform-tests
Implement AppHistoryNavigateEvent.signal
This AbortSignal is associated with the ongoing navigation, and will
be signaled if the navigation is aborted, allowing dependent work
to listen for navigate abort.
Bug: 1183545
Change-Id: Iee841079fcc618bdb16c33875c1ac81cdc572ae7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2877951
Commit-Queue: Nate Chapin <japhet@chromium.org>
Reviewed-by: Domenic Denicola <domenic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#903222}
--
wpt-commits: 63ec4116e601cefefd4f7d0dbfff7b7824b764ec
wpt-pr: 29668
Automatic update from web-platform-tests
[BreakoutBox] Update MediaStreamTrackGenerator-video.https.html WPT
For a video element test, wait for the loadstart event to detect
the connection between the video element and the generator.
Also use the timeupdate event to detect the playout of the generated
frame.
Fixed: 1230283
Change-Id: Ib8e9914db97d2940db90184cc1a0c479cdd75e0b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3034650
Reviewed-by: Tony Herre <toprice@chromium.org>
Commit-Queue: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#903050}
--
wpt-commits: 0612eff99220e2c6776270e42c16c4841d85c7fb
wpt-pr: 29696
Automatic update from web-platform-tests
FSA: Add AccessHandleHost
This CL adds the basic scaffolding for AccessHandleHost.
AccessHandleHost allows the renderer to notify the browser when an
access handle closes. Future CLs will use this functionality to create
exclusive write locks that prevent the creation of other access handles
or writables. AccessHandleHost will also eventually own the browser
side of the file delegate when in incognito mode.
For more context on this surface and the general objective of the merger
between Storage Foundation and OPFS, check out:
https://docs.google.com/document/d/1g7ZCqZ5NdiU7oqyCpsc2iZ7rRAY1ZXO-9VoG4LfP7fM
Bug: 1218431
Change-Id: I0f804bb08da96bd978e5899b68f55cf7501935b5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3015198
Reviewed-by: Richard Stotz <rstz@chromium.org>
Reviewed-by: Austin Sullivan <asully@chromium.org>
Reviewed-by: Mike West <mkwst@chromium.org>
Commit-Queue: Emanuel Krivoy <krivoy@google.com>
Cr-Commit-Position: refs/heads/master@{#902978}
--
wpt-commits: a8a36544812a1e9fa655820ae3361931c47559b7
wpt-pr: 29625
Automatic update from web-platform-tests
Add Chris Lord as a suggested reviewer for OffscreenCanvas tests (#29704)
--
wpt-commits: d8899c277366e6960b0c564f76815f14dfd92cab
wpt-pr: 29704
Automatic update from web-platform-tests
Improve tests for extra arguments to getContext(). (#29618)
--
wpt-commits: 7f5aaca5709faad3f7cb40f79000028ddded078a
wpt-pr: 29618
Automatic update from web-platform-tests
[css-ui] Added "checked" to accent-color test
This test was comparing an unchecked checkbox
but you usually don't see the accent-color in that case.
This patch just marks it as "checked" so if accent-color applies
we'll see some difference.
--
wpt-commits: f9d5959e214985a0895943d8559ca62806e38ebf
wpt-pr: 29699
Automatic update from web-platform-tests
[css-text] Make text-indent apply to anonymous flex and grid items
There was a check that only allowed text-indent to apply to
anonymous blocks if they were the first child of the parent block.
That's exactly right for anonymous blocks that take part in a BFC and
surround inline content, but is overrestrictive for anonymous blocks
that take part in a flex or grid formatting context.
Fixed: 1159311
Change-Id: Id2d6909a30da9e8fe3de3b3058ffe630f180ff8c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3036862
Reviewed-by: Koji Ishii <kojii@chromium.org>
Commit-Queue: David Grogan <dgrogan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#902884}
--
wpt-commits: 9c174dc5f5044609669af7bc28e35924ac02fbb4
wpt-pr: 29697
Automatic update from web-platform-tests
Fix a few bugs in declarative Shadow DOM cloning
Previously, the cloning operation would fail if the declarative shadow
root was sufficiently nested (e.g. inside another <div> or inside a
nexted <template>). This CL fixes this bug, by passing through the
CloneChildrenFlag to all the places it's needed.
Two new test conditions are added for the two broken cases.
Fixed: 1229311
Change-Id: I3e1fe7e6075e1aa74ff753c66ee209bd08a8a29c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3033299
Auto-Submit: Mason Freed <masonf@chromium.org>
Reviewed-by: Aleks Totic <atotic@chromium.org>
Commit-Queue: Mason Freed <masonf@chromium.org>
Cr-Commit-Position: refs/heads/master@{#902843}
--
wpt-commits: eafef7e9e90735e4cc2e55d704e3cf6c3d0f8a2c
wpt-pr: 29682
It leads to OpenGL errors, as we must initialize a webrender Device in
order to initialize the shaders, and this Device attempts to use
OpenGL commands not supported by the GL context. For example the GL
context may only support GLES 2, hence why we are using SWGL in the
first place.
Differential Revision: https://phabricator.services.mozilla.com/D120356
This commit implements a framework for creating 'intrinsics' which are
natively implemented functions that are exposable as wasm functions
that can be called or linked against. A simple 8-bit vector product for
flexible vectors is implemented as a proof of concept.
The basic API is:
```
let module = wasmIntrinsicI8VecMul(); // WebAssembly.Module
let memory = new WebAssembly.Module({ initial: pageSize });
let instance = new WebAssembly.Instance(module,
{ "": { memory } });
instance.exports.i8vecmul(dest, src1, src2, len);
```
The implementation is mainly done through `CompileIntrisicModule` which
manually builds a ModuleEnvironment with an imported memory, and a single
exported function which is of the bytecode form:
```
(func (params ...)
local.get 0
...
local.get n
private_intrinsic_opcode
)
```
The private_intrinsic_opcode is implemented as an instance call. An
additional heap base parameter is added which allows quick bounds
checking, similar to Instance::memory32Copy.
A followup will implement the intrinsic for the firefox
translations project.
Differential Revision: https://phabricator.services.mozilla.com/D119919
- Move screen getter initialization to ScreenGetterGtk::Init() to initialize it after a global object is created.
- Store screen list internally at ScreenGetterWayland to allow searching in it.
- Implement ScreenGetterWayland::GetMonitorForWindow() to get monitor/wl_output for nsWindow.
- Implement ScreenGetterWayland::GetScreenForWindow() to get screen where the window is placed.
- Implement ScreenGetterWayland::GetScreenRectForWindow() to get window screen rect.
- Do some more logging on ScreenHelperGTK.cpp
Differential Revision: https://phabricator.services.mozilla.com/D120056
- Implement new ScreenGetterWayland() object and get screen/monitor configuration directly from Wayland.
- Use it at ScreenHelperGTK when runnin on Wayland
- Use LOG_SCREEN() macro for screen logging
Differential Revision: https://phabricator.services.mozilla.com/D118959
According to our current usage, I don't see a case where we need to call
SlotAssignedNodeChanged without acutally moving the node. So this patch
just simpifies that behaviour.
Differential Revision: https://phabricator.services.mozilla.com/D119443