This adds a per-process count of helper threads 'reserved' for parallel
marking. This means reserved with respect to parallel marking but not anything
else, so helper threads can still be used for other tasks (including GC
parallel tasks) but the number of runtimes that can mark in parallel is
limited.
The main runtime reserves threads when parallel marking is enabled to
priviledge it over worker runtimes. Workers reserve threads only for the
duration of collection. Failure to reserve threads means parallel marking is
not used.
I don't love the term 'reserved' beacuse it implies the threads cannot be used
for anything else, but I couldn't think of anything better. I've added comments
to describe what it actually means.
Differential Revision: https://phabricator.services.mozilla.com/D201695
This patch modifies defaults of `network.fetchpriority.adjustments.*`
preferences so that internal priority of `fetchpriority=auto` to matches
when `network.fetchpriority` is disabled (i.e. adjustment is 0) and
the extra minimal changes to ensure the order of internal priority values
for high, auto and low is unchanged. That way the current default
behavior for fetchpriority unspecified/auto won't change when we enable
the flag. We may decide to depart from that in the future though.
Differential Revision: https://phabricator.services.mozilla.com/D202065
Essentially this an over-eager assertion, but it's nice to have the assertion
in the SinglyLinkedList constructor. We can just clear the next pointer before
passing the last node in.
Differential Revision: https://phabricator.services.mozilla.com/D201991
This changeset adds tests for cached resources which will hit the http cache.
It also adds a basic test for cached requests for the beforeRequestSent event, which was missing.
Differential Revision: https://phabricator.services.mozilla.com/D201203
This introduces preferences loading style. See D201997 for the
rationale, test coverage and why there is no behavior change.
Note that current behavior for deferred style is to always set
PRIORITY_LOW, so the fetchpriority attribute has no effect.
Some preference names could be more verbose to match the if
branches in `Loader::AdjustPriority` but note that it is not
clear whether "deferred preload style" can actually happen,
see bug 1879335.
Differential Revision: https://phabricator.services.mozilla.com/D202052
This introduces preferences <link rel=preload as=font/fetch>.
See D201997 for the rationale, test coverage and why there is no
behavior change.
Differential Revision: https://phabricator.services.mozilla.com/D202047
This introduces preferences for non-link scripts. See D201997 for the
rationale, test coverage and why there is no behavior change.
Differential Revision: https://phabricator.services.mozilla.com/D202046
The fetchpriority attribute allows web developers to request some
adjustment to the internal priorities when fetching resources. In order
to give some flexibility for experimenting and choosing the values that
work best for Gecko, we will introduce new preferences to control
exactly how the internal priority is adjusted, depending on the value
auto/high/low of the fetchpriority attribute.
This is the first patch of a series introducing such preferences,
focusing on the case `<link rel=preload as=script>`. The following 3
integer preferences are introduced:
```
network.fetchpriority.adjustments.link-preload-script.low
network.fetchpriority.adjustments.link-preload-script.high
network.fetchpriority.adjustments.link-preload-script.auto
```
and are set so that we don't change current behavior (already
covered by tests). A test is also added to verify basic invariants
for such adjustments.
Differential Revision: https://phabricator.services.mozilla.com/D201997
Move it out of the UA sheet into popup.css, and share most of the code
between macOS and non-macOS.
Also, don't duplicate it for the bookmarks popup. Instead just add an
animatable-menupopup class for it.
Differential Revision: https://phabricator.services.mozilla.com/D202108
Some text nodes can be selected whatever their ancestors bounding box are
so they must be taken into account when calling Range.getClientRects.
Differential Revision: https://phabricator.services.mozilla.com/D195484
Automatic update from web-platform-tests
Mark fromLiteral test as tentative (#44350)
--
wpt-commits: 23804825f5d2ef423396e1bc7b4c076667b0e21d
wpt-pr: 44350
Automatic update from web-platform-tests
Add rounding test to orientation-event WPT
https://crrev.com/c/5249795 converted orientation-event web tests to
use WebDriver and virtual sensors. Virtual sensors follow security and
privacy requirements defined in https://www.w3.org/TR/orientation-event/#security-and-privacy.
One of these requirements include limiting the precision of values.
Specification defines that all measurements are required to be
coarsened to 0.1 degrees, 0.1 m/s^2 or 0.1 deg/s.
This change tests that requirement to limit precision is met.
Bug: 1520919
Change-Id: I58b266dc602187e2e4c4d9a3a67f12ac91136e57
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5295494
Commit-Queue: Raphael Kubo Da Costa <raphael.kubo.da.costa@intel.com>
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Auto-Submit: Juha J Vainio <juha.j.vainio@intel.com>
Reviewed-by: Raphael Kubo Da Costa <raphael.kubo.da.costa@intel.com>
Cr-Commit-Position: refs/heads/main@{#1260950}
--
wpt-commits: 5a60e4cdacf2bfa1dc3d22bf7a2ab975c30e3860
wpt-pr: 44577
Automatic update from web-platform-tests
Add a test covering order of navigation/fragment/network events (#44587)
--
wpt-commits: b8c0ef39cf4671f75d4391c18ae0440734f2112b
wpt-pr: 44587
Automatic update from web-platform-tests
More declarative shadow tree test coverage
We only care about mode mismatching. And we should also test with multiple <template> elements that have the same mode, to avoid triggering the mode mismatch exception.
--
wpt-commits: 6318d09b67bd4978f9bd2a271d2da54d9db70334
wpt-pr: 44568
Automatic update from web-platform-tests
Add shadowRootDelegatesFocus and shadowRootClonable reflection
The `shadowRootDelegatesFocus` IDL is standardized [1], and was just
never added to Chromium. This CL lands this addition behind a kill
switch, but should be very safe to add.
The `shadowRootClonable` IDL is being added as part of [2], which
has support and should land soon.
[1] https://html.spec.whatwg.org/multipage/scripting.html#htmltemplateelement
[2] https://github.com/whatwg/html/pull/10117
Bug: 1510466
Change-Id: I708ec8d562fa4d0fc59c73a071dbb191e1bd276e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5261148
Commit-Queue: Mason Freed <masonf@chromium.org>
Reviewed-by: David Baron <dbaron@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1260805}
--
wpt-commits: 07a8d151094595d22d2ddf9fc1bda30f6dfa2f1a
wpt-pr: 44386
Automatic update from web-platform-tests
Revert "Add notifyEvent API for fenced frames."
This reverts commit 62f8e1eb2e54597cacc165645e888c6b89229826.
Reason for revert:
virtual/fenced-frame-mparch/external/wpt/fenced-frame/notify-event-invalid.https.html is flaky across multiple platforms, and this CL
is shown within the suspected range.
https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20Tests/141362/overviewhttps://ci.chromium.org/ui/p/chromium/builders/ci/Win10%20Tests%20x64/88121/overview
Original change's description:
> Add notifyEvent API for fenced frames.
>
> This API allows DOM events that occur within a fenced frame
> to be observed by the frame's embedder in a privacy-respecting manner.
> When an eligible event type (currently, just click) occurs within
> the embedded document, window.fence.notifyEvent(e) can be called
> with the event object, which will create a censored version of
> the event to be handled by the embedder via addEventListener().
>
> This API is being implemented as part of the "fenced frames with
> local unpartitioned data access" proposal, see explainer here:
> https://github.com/WICG/fenced-frame/blob/master/explainer/fenced_frames_with_local_unpartitioned_data_access.md
>
> Design doc for this CL is here:
> https://docs.google.com/document/d/1EiysMPnARSx2pzI1hSeFlI7k2ETxs5ycZoV2Cy08PEk/edit?usp=sharing
>
> Bug: 1515579
> Change-Id: I7f155e5640e7b798ca33a48c6afdda9c039d45c0
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5166147
> Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
> Commit-Queue: Andrew Verge <averge@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1260541}
Bug: 1515579
Change-Id: I9c26e15b7edbf261d93c1017a91d797f3922d5dc
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5298514
Owners-Override: Robert Lin <robertlin@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Huanpo Lin <robertlin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1260787}
--
wpt-commits: 4bd0a190da9025203a34902958e52ded07b0f35f
wpt-pr: 44595
Automatic update from web-platform-tests
Fenced frames: Disable popup navigations after network revocation (#44552)
Navigations into and out of fenced frames need to be treated specially
for network revocation, because they don't have the revoked partition
nonce attached.
Previous CLs disabled embedder-initiated fenced frame root navigations
and _unfencedTop navigations; this CL disables popup navigations.
Bug: 1515599
Change-Id: Ia05e3fecb40240de1d32a3e736e42eba5f03f411
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5259509
Reviewed-by: Dominic Farolino <dom@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Commit-Queue: Garrett Tanzer <gtanzer@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1260187}
Co-authored-by: Garrett Tanzer <gtanzer@chromium.org>
--
wpt-commits: bbf3512db886134f2541ff134f6c2f2b1a4f0c33
wpt-pr: 44552
Automatic update from web-platform-tests
[css-scroll-snap-2] Prioritize inner snap targets
Prefer nested snap targets, per step 5[1].
The change to scroll_snap_data_unittest.cc is to make the scroll's
ending position a little closer to outside small_2. Otherwise, either
snapping to the bottom of small_2 or out of it is a viable option.
[1] https://github.com/w3c/csswg-drafts/issues/9622#issue-2006578282
Bug: 323840828
Change-Id: Ic2c41e7a4b47a74e85581c8f3b5eb88a42719219
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5269646
Reviewed-by: Steve Kobes <skobes@chromium.org>
Commit-Queue: David Awogbemila <awogbemila@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1260782}
--
wpt-commits: 4719225513d3ac5575b147324de4f366f60a92fe
wpt-pr: 44405
Automatic update from web-platform-tests
Test parse-time HSL clamp of negative saturation to zero (#44269)
--
wpt-commits: 2736c7f78f9ce019496c047254351b7d869a5b94
wpt-pr: 44269
Automatic update from web-platform-tests
[SAA] Implementing SharedWorker support (Part 4: Add SharedWorker support to SAA handle)
The Storage Access API provides access to unpartitioned cookies in
third-party contexts. This CL is part of a series to extend that access
to SharedWorkers.
This CL implements the final component, SharedWorker access via the SAA
handle itself. Prior CLs set up the proper cookie filtering we test here
to ensure no third-party context can access SameSite=Lax/Strict cookies
(even if they can access unpartitioned SameSite=None cookies).
Design Doc:
https://docs.google.com/document/d/19qCGb4qwOcGiNrQM3ptWvRmB4JtpaTFgFVlWLXNOQ6c/edit
Explainer:
https://privacycg.github.io/saa-non-cookie-storage/shared-workers.html
Part 1: Expose same-site cookie IPC
Part 2: Expose same-site cookie IDL
Part 3: Implement same-site cookie filtering
Part 4: Add SharedWorker support to SAA handle
Bug: 1484966
Change-Id: Ic23366a84176b6eb1c3ec5724fad07f2bffa9216
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5277592
Reviewed-by: Dominic Farolino <dom@chromium.org>
Commit-Queue: Dominic Farolino <dom@chromium.org>
Auto-Submit: Ari Chivukula <arichiv@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1260592}
--
wpt-commits: 92cff38392fc67cf4dbb45e2d6853cd25223c610
wpt-pr: 44471
Automatic update from web-platform-tests
Add notifyEvent API for fenced frames.
This API allows DOM events that occur within a fenced frame
to be observed by the frame's embedder in a privacy-respecting manner.
When an eligible event type (currently, just click) occurs within
the embedded document, window.fence.notifyEvent(e) can be called
with the event object, which will create a censored version of
the event to be handled by the embedder via addEventListener().
This API is being implemented as part of the "fenced frames with
local unpartitioned data access" proposal, see explainer here:
https://github.com/WICG/fenced-frame/blob/master/explainer/fenced_frames_with_local_unpartitioned_data_access.md
Design doc for this CL is here:
https://docs.google.com/document/d/1EiysMPnARSx2pzI1hSeFlI7k2ETxs5ycZoV2Cy08PEk/edit?usp=sharing
Bug: 1515579
Change-Id: I7f155e5640e7b798ca33a48c6afdda9c039d45c0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5166147
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Commit-Queue: Andrew Verge <averge@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1260541}
--
wpt-commits: 4621ea8ee4d3cf323783c8e78a33f3ec77f314a3
wpt-pr: 43843
Automatic update from web-platform-tests
orientation-event: Test DeviceOrientationEvent's absolute value on error (#44557)
Test for https://github.com/w3c/deviceorientation/pull/139. When a reading
cannot be provided, `absolute` needs to be set accordingly depending on the
event type we are listening to.
--
wpt-commits: fb4cd8f597e9b40725a51222b4627cbd6d94c528
wpt-pr: 44557