Automatic update from web-platform-tests
[@layer] Add a WPT for 'revert-layer' in the style attribute
The behavior is recently resolved by CSSWG:
https://github.com/w3c/csswg-drafts/issues/6743#issuecomment-960302655
Bug: 1095765
Change-Id: I3ba69a555fa68b1efb1c40fd9a5362387fd4d541
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3271505
Auto-Submit: Xiaocheng Hu <xiaochengh@chromium.org>
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#940370}
--
wpt-commits: 8154494727c8990112979fbf77fda4bee98f4bae
wpt-pr: 31571
Automatic update from web-platform-tests
Add flat tree traversal check in DisplayLocking top layer logic
The top layer logic this patch modifies was added in
http://crrev.com/933004. Similar fixes to very similar clusterfuzz
crashes were made in http://crrev.com/929719 and
http://crrev.com/935108.
Fixed: 1267276
Change-Id: I210681d9f49203621edb1cb78a783adc3476d94e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3268092
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Reviewed-by: vmpstr <vmpstr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#940363}
--
wpt-commits: 8747a026591a1138bb1f172183386edc91645a94
wpt-pr: 31543
Automatic update from web-platform-tests
Fix interactionId when click gets the wrong PointerId
Since click events sometimes do not get the correct PointerId, we use
the last PointerId of a pointerdown or pointerup seen. But we also
take care to reset this last seen when we see other kinds of events,
to prevent the click from being accidentally attributed to an
interaction in the past that did not trigger it.
Bug: 1264930
Change-Id: Ieb5773f3a6c9a9cfd46b428b5a925c4535060386
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3255225
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
Cr-Commit-Position: refs/heads/main@{#940359}
--
wpt-commits: 7a9f249672ab058dd93bab1a51930b7913d5287e
wpt-pr: 31458
Automatic update from web-platform-tests
Always use FreeType for rendering COLR on Mac
This addresses glyph colorization issues for mixed glyph (SVG and glyf)
fonts on Mac and ensures foreground color painting issues on Mac.
Bug: 944093
Change-Id: I2f0586f5b8135776ecfcc63499a8da764b4ebbaf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3263829
Commit-Queue: Dominik Röttsches <drott@chromium.org>
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Auto-Submit: Dominik Röttsches <drott@chromium.org>
Cr-Commit-Position: refs/heads/main@{#940350}
--
wpt-commits: 1bd46821799cdc6cf7852dd7563892a8cbbe5613
wpt-pr: 31518
Automatic update from web-platform-tests
Fix flakiness of wpt/web-animations/.../onfinish.html (#31562)
assert_equals was being used for time comparisons, which allows for no
numerical precision tolerance. Instead, we should be using
assert_times_equal, which has a built in tolerance of 1 microsecond.
Bug: 1267535
Change-Id: I76be9723645f8e4457b35baa4fe516d6013c6eea
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3270992
Reviewed-by: Steve Kobes <skobes@chromium.org>
Commit-Queue: Kevin Ellis <kevers@chromium.org>
Cr-Commit-Position: refs/heads/main@{#940005}
Co-authored-by: Kevin Ellis <kevers@chromium.org>
--
wpt-commits: 132095249cb1bf8339e59c61978c9aaa2c4bfb37
wpt-pr: 31562
Automatic update from web-platform-tests
Don't skip body background when not propagated
Body background propagation to viewport is stopped when html root or
body is contained, which means we should paint the background for the
body element itself when that happens.
The wpt test did test we didn't propagate the background to the
viewport, but not that we painted it for body. Modify the code and the
test to make sure the body background is painted.
Bug: 1266731
Change-Id: I405ac1dde17fc059f5145ba295f0d3e8e1ca1ba3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3270331
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/main@{#939876}
--
wpt-commits: db3981180f2b913410a810b863136efc60472ab8
wpt-pr: 31558
Automatic update from web-platform-tests
Support style invalidation of ':has()' in rightmost compound
This is the initial CL of supporting style invalidation with ':has()'.
To minimize complexity, we will focus on the following limited usage.
- Supports ':has()' in a rightmost, top-level compound
- Supports ':has()' argument starts with child or descendant combinator
- Only allow attribute or elemental selectors in argument
So the following will be ignored for now.
- Ignore ':has()' in a non-rightmost compound
- Ignore ':has()' in a logical combinations
- Ignore ':has()' argument starts with '~' or '+'
- Ignore all pseudos in ':has()' argument
To support this case, for a change on an element, we need to invalidate
ancestors.
Invalidate every ancestors for every mutations on every element is very
bad for performance.
So we need a way to skip these.
- irrelevant element
- irrelevant ancestor
- irrelevant mutation
To skip the 'irrelevant element' and 'irrelevant ancestor', this CL
introduces two flags in the ComputedStyle.
- AncestorsAffectedByHas : Indicate that the element has an ancestor
affected by ':has()' state change
- AffectedByHas : Indicate that the element can be affected by ':has()'
state change
During style recalculation, 'AffectedByHas' and 'AncestorAffectedByHas'
flag will be set when SelectorChecker tries to match any ':has()'
selector on an element. The 'AncestorAffectedByHas' flag is inherited
by children of the element.
<style> .a:has(.b) { color: red }</style>
<div>
<div class="a"> <!-- AffectedByHas, AncestorAffectedByHas -->
<div> <!-- AncestorAffectedByHas -->
<div> <!-- AncestorAffectedByHas -->
</div>
</div>
</div>
<div>
<div>
</div>
</div>
</div>
Only for a mutation on the element with 'AncestorAffectedByHas', style
engine will walk up ancestors. And it invalidates style only when an
ancestor is 'AffectedByHas'.
Still we have invalidation for irrelevant mutation and invalidation on
irrelevant ancestors. We will handle those by separate CLs.
Bug: 669058
Change-Id: Ia7e607e01f9a070c0d69d89679b99efa0a104797
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3260677
Commit-Queue: Byungwoo Lee <blee@igalia.com>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/main@{#940274}
--
wpt-commits: e29b779bac49b4976b7fad8c10b8c9e762018cf1
wpt-pr: 31504
Automatic update from web-platform-tests
[SelectMenu] Fix popup position when zoom is used.
This CL fixes the popup position when zoom is used by ensuring
that the computed coordinates are zoom adjusted.
This CL also updates the behavior so that recomputing the position isn't
required only when the popup is closed since there are some cases where
the position needs to be recomputed (e.g. popup receives focus when
the scrollbar is clicked).
The new behavior is validated by: selectmenu-popup-position-with-zoom
and selectmenu-many-options.
Bug: 1121840
Change-Id: Ib924000963a241825b83b4555b25c75c5470f097
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3271770
Commit-Queue: Ionel Popescu <iopopesc@microsoft.com>
Reviewed-by: Mason Freed <masonf@chromium.org>
Reviewed-by: Dan Clark <daniec@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#940173}
--
wpt-commits: 60960e42ad3db540d6bf8310e0cd1f1f9e1948af
wpt-pr: 31568
Automatic update from web-platform-tests
Skip DisplayLock forced updates when outside flat tree
It would seem that the style code can get in a bad state when we try to
set style bits in a node that's outside the flat tree during a forced
update. This patch skips setting those bits when the node to unlock is
outside the flat tree.
Fixed: 1266891
Change-Id: Idd6af0ad60f7151bad9c59c4996d539691ae7408
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3268447
Reviewed-by: vmpstr <vmpstr@chromium.org>
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Cr-Commit-Position: refs/heads/main@{#940136}
--
wpt-commits: 0ba08e058166f52dcd12d0caa8d96f28ec31b108
wpt-pr: 31546
Automatic update from web-platform-tests
Add a WPT for pointerevent user activation trigger.
Related to HTML issue: https://github.com/whatwg/html/issues/3849
Also fix double-activation in Chrome's gesture tap.
Bug: 826293, 1265587
Change-Id: I3bc3bcbcfeda242512fb777a1c8881c475fed5fc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3254213
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Commit-Queue: Mustaq Ahmed <mustaq@chromium.org>
Cr-Commit-Position: refs/heads/main@{#940118}
--
wpt-commits: aa2fc4c2ddfac8b0870c0b075899478c9cabc0c2
wpt-pr: 31521
Automatic update from web-platform-tests
GetTopExecutionContext method for Canvas rendering contexts
BaseRenderingContext2D and CanvasPath access UMA, UseCounters and
RuntimeFlags through
GetCanvasRenderingContextHost()->GetTopExecutionContext(). This doesn't
work and has never worked for PaintRenderingContexts as there is no
class that works as a "host" for these contexts.
This CL adds a GetTopExecutionContext() function to all canvas rendering
2d contexts that returns a pointer to the execution context directly.
For canvas elements and offscreen canvases, this works exactly as before
(i.e. host->execution_context). For paint rendering contexts a pointer
to the PaintWorkletGlobalScope is passed in on creation.
Before this change some new Canvas2D API features would cause crashes
in paint worklets.
Change-Id: Icb6529c285d1aff2c001291a4387c613fb24fba7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3260452
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Fernando Serboncini <fserb@chromium.org>
Commit-Queue: Aaron Krajeski <aaronhk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#940114}
--
wpt-commits: 755553ec4f8eb116eea31556a6cfc83b18bcde1d
wpt-pr: 31560
Automatic update from web-platform-tests
Rename a WPT test to avoid name conflict
Change-Id: Iff30020d4ab3d4696d8222f1ca4c72dd842a9afd
Fixed: 1268508
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3270891
Auto-Submit: Xiaocheng Hu <xiaochengh@chromium.org>
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#940072}
--
wpt-commits: ce80a2fb62fec502329326e46b299999337e23ac
wpt-pr: 31564
Automatic update from web-platform-tests
[@layer] Implement layer serialization in @import rules (#31428)
This patch also fixes a bug in ConsumeAtRulePrelude that the result
prelude may contain leading white spaces. The new test requires the fix
to pass.
Bug: 1095765
Change-Id: Ie565309d38aa208aa0e60b5c862ec1e62a5764b2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3252521
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Cr-Commit-Position: refs/heads/main@{#937046}
Co-authored-by: Xiaocheng Hu <xiaochengh@chromium.org>
--
wpt-commits: 00be84da812dbc479b2d1ec9bd8859a04b21d87e
wpt-pr: 31428
Automatic update from web-platform-tests
[@layer] Full style and at-rule invalidate when layer order is reversed
In active style update, it is possible that the changed rule sets have
only layer rules, and yet it changes layer ordering and invalidates all
at rules and element styles. This patch handles this case.
Bug: 1095765
Change-Id: I9c94ffe06d82aa2fd584bc9fb64ea2eb2593c232
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3269036
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#939877}
--
wpt-commits: 6c4e5d93d6a09aad2c334c94a87ae8c0c5206c5a
wpt-pr: 31552
Automatic update from web-platform-tests
Fetch: Plumb navigation redirect chain through service workers
Navigation redirection works differently than normal redirection.
Navigation requests are made using "manual" redirect mode which means
the redirect is not immediately followed. Instead the redirect location
is handed back up to the NavigationURLLoaderImpl which then manually
follows the redirect. This results in a new request being sent for each
step in the redirect chain.
This CL plumbs the redirect chain information from
NavigationURLLoaderImpl down through each request so it can be included
with requests proxied by a passthrough service worker.
For more detailed information about these changes please see the
internal design doc at:
https://docs.google.com/document/d/1KZscujuV7bCFEnzJW-0DaCPU-I40RJimQKoCcI0umTQ/edit?usp=sharing
We have rough consensus to make this change in this spec issue:
https://github.com/whatwg/fetch/issues/1335
Note, this CL includes some expected test failures. These are due to
the "lax-allowing-unsafe" intervention that is currently enabled. See:
https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/TestExpectations;l=4635;drc=e8133cbf2469adb99c6610483ab78bcfb8cc4c76
Bug: 1115847,1241188
Change-Id: I2a2a17639e0bec3222684e0d444d6d98a21402ed
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3213310
Commit-Queue: Ben Kelly <wanderview@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Cr-Commit-Position: refs/heads/main@{#939851}
--
wpt-commits: e819cf974e9157bfbfb251678a4e752a29afb057
wpt-pr: 31490
This adds a 4GB max limit for GC parameters related to heap size and fixes the
test that set this to an over-large value.
Differential Revision: https://phabricator.services.mozilla.com/D130749
The getBackgroundColor already has fallback paths for several situations.
We now use the fallback in case getAdjustedQuads returned an empty array.
A browser mochitest is added to cover this issue as well.
Differential Revision: https://phabricator.services.mozilla.com/D130750
It touches the DOM tree only with `SplitNodeTransaction()` and it now returns
`NS_ERROR_EDITOR_DESTROYED` so that the callers don't need to check whether
the editor is destroyed or alive by themselves.
Depends on D131043
Differential Revision: https://phabricator.services.mozilla.com/D131044
For making the code simpler, this patch makes it returns
`Result<nsCOMPtr<nsIContent>, nsresult>` instead of using `ErrorResult`.
This must make the construction faster and callers simpler.
Depends on D130950
Differential Revision: https://phabricator.services.mozilla.com/D131043
This test is rarely failure when initial text and selection correctly. Because
we don't wait for setting initial data, or it is text is too short to update
text.
So I re-write this tests. And also, this has typo fix for test name.
Differential Revision: https://phabricator.services.mozilla.com/D131048
This logs any exceptions during data collection and turns the result of
destroying the page while collection is happening into a return of null data as
we probably don't need to log that every time.
Differential Revision: https://phabricator.services.mozilla.com/D130982