Automatic update from web-platform-tests
[css-pseudo] Add test with ::marker web animations
An early return in StyleResolver::PseudoStyleForElementInternal used to
prevent a ::marker with no styles from being affected by web animations.
That early return was already removed in r765965 so the problem has been
fixed, this patch just adds a test.
BUG=1063283
TEST=external/wpt/css/css-pseudo/marker-animate.html
Change-Id: I72a1286e9c3fbd200f46cb3172760f5aaedda18b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2188391
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Cr-Commit-Position: refs/heads/master@{#766835}
--
wpt-commits: d929bede252f5d1a51fdad2bcfca8839e7e436ac
wpt-pr: 23465
Automatic update from web-platform-tests
[css-pseudo] Add test for 'revert' in ::marker
The UA styles for ::marker were implemented in a hacky way that needs to
be improved, then the 'revert' keyword doesn't work in ::marker.
This patch adds a test to track this problem.
BUG=457718
Change-Id: I5aecdf550efb350a70709b9d743142ae9e0e430b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2181202
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Cr-Commit-Position: refs/heads/master@{#765486}
--
wpt-commits: 664d6c5556092f71949ebc50f77724ea35f28d27
wpt-pr: 23395
Automatic update from web-platform-tests
Added 1 ::selection test with 	 control characters (#21521)
* Added 1 ::selection test with 	 control characters
* Added a <link rel=stylesheet>
--
wpt-commits: 5eeb26551e5a6ea304caab085250b4def9110801
wpt-pr: 21521
Automatic update from web-platform-tests
Missing ClearNeedsStyleRecalc() for ::first-letter.
A FirstLetterPseudoElement is marked for style recalc when the text node
the first letter belongs to is removed from the DOM tree. On the next
style recalc, if the first-letter's originating element is inside a
subtree marked for layout tree re-attachment, or one of its descendants
are marked for re-attachment, we delay the first-letter style update
until UpdateFirstLetterPseudoElement is called for the
kRebuildLayoutTree or kAttachLayoutTree phases. For the former, we call
RecalcStyle which will ClearNeedsStyleRecalc, but ofr the
kAttachLayoutTree phase, we called StyleForLayoutObject without clearing
the dirty flag.
Bug: 1064595
Change-Id: Ibebb9c358b473f61b1cff49a7c5ec43bf6894408
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2122347
Reviewed-by: Xiaocheng Hu <xiaochengh@chromium.org>
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#753806}
--
wpt-commits: a5094e5aa21dede70be07dc94f41ad7e8ca6d48b
wpt-pr: 22479
Automatic update from web-platform-tests
[css-pseudo] Support animations and transitions in ::marker
As resolved in https://github.com/w3c/csswg-drafts/issues/4814, allow
::marker to have animations or transitions. But only for the properties
that apply to ::marker.
TEST=external/wpt/css/css-animations/Document-getAnimations.tentative.html
TEST=external/wpt/css/css-animations/animationevent-marker-pseudoelement.html
TEST=external/wpt/css/css-animations/event-order.tentative.html
TEST=external/wpt/css/css-pseudo/parsing/marker-supported-properties.html
TEST=external/wpt/css/css-pseudo/parsing/marker-supported-properties-in-animation.html
TEST=external/wpt/css/css-transitions/Document-getAnimations.tentative.html
TEST=external/wpt/css/css-transitions/non-rendered-element-004.tentative.html
BUG=1054509
Change-Id: Ie86aeb42d4d311264fd5810c1ad89c0fa7b93ab0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2119518
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#753752}
--
wpt-commits: 906031fb2e88a47cf77b34ad1d7f3915da6343f9
wpt-pr: 22442
Automatic update from web-platform-tests
[css-pseudo] Fix text selection and drag-and-drop for pseudo-elements
Before this patch, if you had a tree like
<div><div::before>abc</div::before>def</div>
and you tried to select "bc", Chromium would end up selecting "ef" in
some cases. Similarly, trying to drag a text and drop it between "bc",
would end up inserting the text between "ef".
This patch fixes the problem, now trying to select "bc" won't select
anything. And dropping some text between "bc" will insert it between
the "cd".
BUG=1051685
TEST=external/wpt/css/css-pseudo/text-selection.html
TEST=fast/css-generated-content/drag-and-drop.html
The 2nd test is internal because I didn't manage to properly simulate
drag and drop using testdriver.js
Change-Id: Iedd594b46022ed434bdb1462232c717ec08f5304
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2047287
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Cr-Commit-Position: refs/heads/master@{#741909}
--
wpt-commits: 410f5ece454de3f304f4ac885be244ed9755ac18
wpt-pr: 21808
Automatic update from web-platform-tests
[css-pseudo] Avoid empty line in legacy list-item when inserting node
Consider <ol><li><span><div>foo</div></span></li></ol>
Chromium shows "foo" just next to the list marker. However, in legacy
layout, if the <div> was inserted dynamically, then a newline was added
between them.
Also consider
<ul><li><span></span><div style="overflow:hidden">bar</div></li></ul>
Chromium shows "bar" just next to the list marker. However, in legacy
layout, if the <span> was inserted dynamically, then a newline was added
between them.
This patch fixes these inconsistent behaviors.
BUG=1049633
TEST=external/wpt/css/css-lists/add-inline-child-after-marker-002.html
TEST=external/wpt/css/css-pseudo/marker-content-022.html
Change-Id: I11a88a6b375436c72a26c5cd7bcedbb7a197b39d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2041481
Reviewed-by: Koji Ishii <kojii@chromium.org>
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Cr-Commit-Position: refs/heads/master@{#739423}
--
wpt-commits: 50af93e383dd3813816e3568988f92019ced292d
wpt-pr: 21653
Automatic update from web-platform-tests
[css-pseudo] Fix legacy ::marker margins not getting updated
Outside markers behave out-of-flowish, so their intrinsic contribution
to the list item should be 0.
In legacy, this is done by adding negative margins, so that the width of
the marker plus its margins are 0.
However, when calculating the intrinsic contributions of the children,
the code uses the margins in the computed style, not the margins of the
box. Therefore, the marker code used to replace the computed style with
another one that had the changed margins.
This approach was error-prone, for example special care was needed to
reapply the previously calculated margins when the computed style
changed, in order to avoid triggering unnecessary layout.
However, this caused a problem: if 'list-style-position' changed, the
old margins were preserved. But the margins depend on whether the marker
is inside or outside!
This patch fixes the problem and stops changing the computed style of
the marker.
For inside markers, margins don't depend on the size of the marker, and
they were already applied to the computed style in style_adjuster.cc, so
they work well. For outside markers, the patch skips them when
calculating the intrinsic size of the list item.
Bug: 1048672, 457718
TEST=external/wpt/css/css-pseudo/marker-intrinsic-contribution-001.html
TEST=external/wpt/css/css-pseudo/marker-intrinsic-contribution-002.html
The former test fails in LayoutNG because trailing marker spaces are not
preserved, and fails in legacy due to the lack of 'content' support.
Change-Id: Ic21603e9fe1b17b11237286dac3f207b1837a07e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2035962
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Cr-Commit-Position: refs/heads/master@{#738550}
--
wpt-commits: 6fc4cbe9e6fd83095e43125a3f407f7bc4874115
wpt-pr: 21578
Automatic update from web-platform-tests
Remove instance of 'whitelist' in css/css-pseudo
As per https://whatwg.org/style-guide
--
wpt-commits: 1703644cf1da595b6926d1f6007c17121720a5b3
wpt-pr: 21319
Automatic update from web-platform-tests
[css-pseudo] Fix hit-testing for nested ::marker
Since r731964, if you clicked a ::marker originated by a ::before or
::after, and you read the 'path' property of the event, the first node
in the array might be the ::before or ::after pseudo-element.
Actually it was fine if you clicked the contents (text or image) of the
::marker. But it's possible to make the ::marker taller than its
contents by setting a big 'line-height'. Then you could click inside the
::marker but outside its contents, and reproduce the problem.
That was wrong, as described in pseudo_element.h,
> Pseudo element are not allowed to be the inner node for hit testing.
This patch fixes it by making PseudoElement::InnerNodeForHitTesting
iterate ancestors until it finds one which is not a pseudo-element.
Bug: 1048000, 457718
TEST=external/wpt/css/css-pseudo/marker-hit-testing.html
Some checks fail in legacy because the marker ignores 'line-height'.
Change-Id: I7bed7d0824638b0c7f4b63a744a3ca4978285445
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2030973
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Cr-Commit-Position: refs/heads/master@{#737720}
--
wpt-commits: 738d7d25a53e359ecb83349885a34a61b3944fa5
wpt-pr: 21542
Automatic update from web-platform-tests
[css-pseudo] Don't update non-normal markers if list-style-type changes
If a ::marker has the 'content' property set to something different than
'normal', then the contents of the marker should be determined according
to that value, not from 'list-style-type'.
Before this patch, the behavior was already correct when laying out the
marker for the first time. But if 'list-style-type' changed afterwards,
the marker was updated to reflect the new value, ignoring 'content'.
BUG=457718
TEST=external/wpt/css/css-pseudo/marker-content-021.html
The test fails in legacy since 'content' is not supported yet.
Change-Id: Id845774739927c9c574a66e9d1cc94e6ea59d5e5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2020957
Reviewed-by: Koji Ishii <kojii@chromium.org>
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Cr-Commit-Position: refs/heads/master@{#736105}
--
wpt-commits: 937f0695552a0bea3bdc26e08e2e7195d4c3eced
wpt-pr: 21439
Automatic update from web-platform-tests
[css-pseudo] Move LayoutNG marker code to ListMarker
The LayoutNGListItem used to hold some information about the marker:
the kind of marker, whether the marker text was up-to-date, etc.
With the addition of the ::marker pseudo-element, markers have become
independent and are no longer created and destroyed by LayoutNGListItem.
However, this made it more difficult to keep the information in sync.
For example, dynamically applying 'content: none' to a symbol marker
destroys it, but LayoutNGListItem didn't notice that marker_type_ was
supposed to change from kSymbolValue to kStatic. This caused a DCHECK
failure and a null deref in SymbolMarkerLayoutText().
To avoid these problems, this patch moves all the code regarding markers
from LayoutNGListItem to ListMarker. This is a new class that contains
generic methods for the LayoutNG markers (LayoutNGListMarker or
LayoutNGInsideListMarker).
BUG=1043478, 457718
TEST=external/wpt/css/css-pseudo/marker-content-020.html
The test fails in legacy since 'content' is not properly supported yet.
Change-Id: I2d7b424bbaf2487a8fbc49303d5114187d8c1fb6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2007754
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#735167}
--
wpt-commits: 76a62831d926a19f6b351ac101b2bb835757b574
wpt-pr: 21414
Automatic update from web-platform-tests
[css-pseudo] Support 'content: none' for LayoutNG ::marker
Unlike ::before and ::after, in ::marker 'content: normal' and 'none'
should behave differently: the former should display it normally, the
latter should prevent it from generating a box.
Before this patch, 'normal' and 'none' were both stored as nullptr, so
they were indistinguishable. This patch makes 'none' be stored as a
NoneContentData instead.
However, 'none' keeps behaving as 'normal' for anything different than
::marker. In getComputedStyle, 'none' keeps resolving to 'normal' for
anything different than ::marker, ::before and ::after, and 'normal'
keeps resolving to 'none' for ::before and ::after.
Inheritance is not affected either since the 'content' property can't
be inherited in Chromium.
BUG=457718
TEST=external/wpt/css/css-pseudo/marker-computed-content.html
TEST=external/wpt/css/css-pseudo/marker-computed-size.html
TEST=external/wpt/css/css-pseudo/marker-content-019.html
marker-content-019.html fails in legacy.
Change-Id: Ib71ef18dfb7f7c98e76888bffb408a17fa458235
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2002517
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Cr-Commit-Position: refs/heads/master@{#732549}
--
wpt-commits: 08c6f66b20ac0a1f40b3284362d824a7e23af46e
wpt-pr: 21220
Automatic update from web-platform-tests
[css-pseudo] Implement LayoutNG normal markers as real pseudo-elements
Before this patch, list markers were only pseudo-elements when 'content'
was different than 'normal'. Otherwise they were anonymous boxes.
This makes them be pseudo-elements in that case too.
This only affects LayoutNG, in legacy they continue being anonymous.
BUG=457718
TEST=accessibility/aria-owns-sends-notification.html
TEST=editing/selection/drag-to-contenteditable-iframe.html
TEST=editing/selection/selectNode.html
TEST=editing/selection/selectNodeContents.html
TEST=external/wpt/css/css-pseudo/marker-computed-size.html
TEST=external/wpt/css/css-pseudo/marker-content-014.html
TEST=blink_unittests --gtest_filter=NGInlineCursorTest/NGInlineCursorTest.NextWithListItem/*
TEST=blink_unittests --gtest_filter=ParameterizedTextPaintTimingDetectorTest.CapturingListMarkers/*
TEST=content_browsertests --gtest_filter=All/DumpAccessibilityTreeTest.AccessibilityLi/*
marker-content-014.html still fails in legacy since markers are not
pseudo-elements yet.
marker-computed-size.html also fails in legacy, and one of the subcases
fails in LayoutNG since 'content: none' doesn't work yet in ::marker.
fast/multicol/span/list-multi-column-crash.html now crashes with
LayoutNGBlockFragmentation enabled due to bug 1040947. The crash was
already happening with ::before and ::after, so it's expected.
Change-Id: I51d9661f32b2e1c0c392c261853f8127b74136fe
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1985952
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#731964}
--
wpt-commits: 7a622eb40a1ad78bf2204d3b0f97bedc59e61069
wpt-pr: 21152
Automatic update from web-platform-tests
[css-pseudo] Test dynamic 'list-style-position' for nested ::marker
marker-content-013.html was already testing that various kinds of list
markers are properly updated when 'list-style-position' changes.
However, nested ::marker originated by a ::before or ::after were not
included. I'm working on a patch that could have broken that case, so
covering it in the test seems a good idea.
BUG=457718
TEST=external/wpt/css/css-pseudo/marker-content-013.html
Change-Id: I99c72c02298372c2d026adea99fb580a9bc8890a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1985951
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#728868}
--
wpt-commits: 2716d92b9325da7076d37d1b048d76ced69a269d
wpt-pr: 21058
Automatic update from web-platform-tests
[css-pseudo] Move all ::marker style adjustments into StyleAdjuster
LayoutNGListItem was applying some style adjustments to markers, like
'white-space: pre' to preserve trailing spaces in outside markers.
But this was only affecting markers with 'content: normal', and the
changes weren't exposed in getComputedStyle().
This patch moves these adjustments into StyleAdjuster, so that all
markers are affected equally.
BUG=457718
TEST=external/wpt/css/css-pseudo/marker-content-018.html
The test fails in legacy because the 'content' property is not supported
yet in ::marker.
There is a new failure in marker-supported-properties.html because now
'white-space' will compute to 'pre' in outside markers, even if you
specify a different value. But normal markers were already enforcing
'pre' at used value time anyways.
Change-Id: I6d8b8ec7fb26cb04402032924f87b2c3b8fdb9cd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1985966
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Cr-Commit-Position: refs/heads/master@{#728176}
--
wpt-commits: a3111814fa0e9de6e2decd443d170a6e88304164
wpt-pr: 21011
Automatic update from web-platform-tests
[css-pseudo] Let non-replaced images be list items with markers
<img> elements are usually replaced, so they can't originate a ::marker
pseudo-element even if they have 'display: list-item'.
However, if they point to an invalid image and have an alternative text,
then they are not replaced. Therefore they can have ::before and ::after
pseudo-elements, and also a ::marker if they have 'display: list-item'.
Before this patch, markers with 'content: normal' were never generated.
And non-normal ones worked fine in the inside case, but when outside
they triggerede a DCHECK failure because the marker was created but not
laid out.
BUG=1038644
TEST=external/wpt/css/css-pseudo/marker-content-017.html
The test fails in legacy because the 'content' property is not supported
yet in ::marker.
Change-Id: I4420bc2e9a0460f3a59fa030e5e3d249428aa6be
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1985759
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Cr-Commit-Position: refs/heads/master@{#728012}
--
wpt-commits: cb0d9cacbbf30a4cae79faa2e711c26456249b8c
wpt-pr: 20998
Automatic update from web-platform-tests
[css-pseudo] Fix WPT expectations for marker-font-variant-numeric-*
The marker-font-variant-numeric-default.html test is supposedly passing
in Chromium according to Chromium, but not according to wpt.fyi. The
reason is that in certain configurations, the test may look slightly
different than the reference due to font anti-aliasing.
The marker-font-variant-numeric-normal.html fails in all browsers due to
lack of support for nested ::marker selectors, but there are also some
differences in the parts that should actually match the reference.
This patch fixes both issues.
Bug: 457718
Change-Id: Id646b7810aed18441e1c7b37ad7bb1a37877be2f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1980174
Reviewed-by: Manuel Rego <rego@igalia.com>
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Cr-Commit-Position: refs/heads/master@{#727963}
--
wpt-commits: 5449025de1490e2caf8eb67b2b017e78afa179b1
wpt-pr: 20907
Automatic update from web-platform-tests
[css-pseudo] Properly set 'display: inline-block' to outside ::marker
Before this patch, outside markers were assigned 'display: inline-block'
but this happened in two different places: in LayoutNGListItem for
markers with 'content: normal', and in StyleAdjuster for content ones.
However, this meant that 'getComputedStyle(el, "::marker").display'
would be 'inline' in the former case and 'inline-block' in the latter.
This patch fixes that issue by ensuring that StyleAdjuster runs for all
markers, assigning 'display: inline-block' to outside ones even when
'content: normal'.
This has a noticeable effect even if the CSSMarkerPseudoElement flag is
disabled: text decorations are no longer propagated to outside markers.
This is actually expected, since decorations shouldn't be propagated to
inline-block descendants. They were being propagated for markers with
'content: normal' because the code that stops the propagation either
wasn't running for unstyled markers, or for styled normal markers it was
running before 'display: inline-block' was assigned.
This change won't be a compat problem since none of Chromium legacy,
Firefox and Edge propagate text decorations to outside markers by
default. Doing it seemed a LayoutNG bug.
Spec: https://drafts.csswg.org/css-pseudo-4/#marker-pseudo
Spec: https://drafts.csswg.org/css-lists/#list-style-position
Spec: https://drafts.csswg.org/css-text-decor-4/#line-decoration
BUG=457718
TEST=external/wpt/css/css-pseudo/marker-content-016.html
TEST=external/wpt/css/css-pseudo/marker-display-computed.html
The marker-content-016 test fails in legacy since the 'content' property
is not supported yet in ::marker
Change-Id: Ia1396a4f6c5d9825dba5a6265c32096a7066fbed
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1975887
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Cr-Commit-Position: refs/heads/master@{#726783}
--
wpt-commits: 2cb652e543d379bafcb3d0d26e2de28836f22df4
wpt-pr: 20864
Automatic update from web-platform-tests
[css-pseudo] Recalculate viewport units in ::marker (#20795)
If a marker uses viewport units (vw or vh), they should be recalculated
when the size of the viewport changes.
This patch updates node traversal methods to include ::marker, so that
it's taken into account when updating viewport units.
However, this is only fixed for markers with non-normal content, since
otherwise they aren't implemented as real pseudo-elements yet.
BUG=457718
TEST=external/wpt/css/css-pseudo/marker-content-014.html
The test still fails because it includes cases with 'content: normal'.
Change-Id: I7495dd5c4bbd84d6286635a63199bfcc663c62c9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1970015
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Cr-Commit-Position: refs/heads/master@{#725463}
--
wpt-commits: 6d7a762c4c65d06fc95752f17ce96426c7b2d441
wpt-pr: 20795
Automatic update from web-platform-tests
[css-pseudo] Let 'content' ::markers be forced to be inside
Even if a list item has 'list-style-position: outside', Chromium may
force its marker to be inside when it's a <li> outside a list element.
This information was stored in layout, but this created an undesirable
dependency since the computed 'display' value of the marker depends on
whether it's inside or outside. And it wasn't possible to force a marker
with non-normal 'content' to be inside.
This patch fixes it by adding an internal 'IsInsideListElement' flag in
ComputedStyle. This design also avoids traversing all the ancestors of
every <li> element.
BUG=457718
TEST=external/wpt/css/css-pseudo/marker-content-015.html
The test fails in legacy since 'content' is not supported yet.
Change-Id: I2df70841e8e9d729fd4aa47ec9b9973c09a82dcb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1973914
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Cr-Commit-Position: refs/heads/master@{#726310}
--
wpt-commits: f61f56f084c397f6d46ffd18723300a124d12ea5
wpt-pr: 20837
Automatic update from web-platform-tests
[CSS4Pseudo] Added 2 tests and 1 reference on selection and text-shadow
--
wpt-commits: b5b7813e9ce247495b0df30b2f9c8a35de2eacba
wpt-pr: 20802
Automatic update from web-platform-tests
[css-pseudo] Fix position of outside 'content' markers
The position of an outside marker is calculated depending on the
'list-style-type' property. However, this patch ensures that if ::marker
has a non-normal 'content', the end of the marker will be aligned with
the start of the list item, regardless of 'list-style-type'.
The patch also simplifies the logic in InlineMarginsForOutside, since
the code for LTR and RTL directions was basically the same.
Spec: https://drafts.csswg.org/css-lists/#content-property
BUG=457718
TEST=web_tests/external/wpt/css/css-pseudo/marker-content-012.html
The test fails in legacy because 'content' doesn't work in ::marker yet.
Change-Id: I21cfd4ad3e21f2e19e8639809270bf3b4c1ad5dd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1953625
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Cr-Commit-Position: refs/heads/master@{#725264}
--
wpt-commits: aaa82d28bbd7c5d43f0939b6edaa4d10bf773069
wpt-pr: 20678
Automatic update from web-platform-tests
[css-pseudo] Add "reftest-wait" class in async ::marker test
--
wpt-commits: 983fac69bdb2729ed018044df6a3bad80c6d6e81
wpt-pr: 20792
Automatic update from web-platform-tests
[css-pseudo] Adjust computed 'display' value for outside markers
Outside markers generate a block container, so their computed 'display'
value should change from 'inline' to 'inline-block'. This was already
happening in layout_ng_list_item.cc for markers with 'content: normal',
this patch does it for non-normal markers.
As a side-effect, this fixes the issue that non-normal markers weren't
updated when the 'list-style-position' property changed dynamically.
BUG=457718
TEST=external/wpt/css/css-pseudo/marker-content-013.html
Change-Id: I674abd77c5e736acd8147db3d3fedb2dbc5a174a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1960149
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#725091}
--
wpt-commits: 54ea7f98578c181dd4448cd76963c3b04e437828
wpt-pr: 20785
Automatic update from web-platform-tests
Add load method to protocol
--
Generalise reftest-wait script to allow other test types
--
Ad crashtest support to manifest
--
Add crashtest support to wptrunner
--
Add example test
--
Rename existing -crash tests that may not work as crashtests
For testharness tests the following criteria were applied:
* Test includes an assert
* Test includes something other than synchronous tests
For reftests all existing tests were renamed
--
Schedule crashtests in CI
--
Add some docs for crashtests
--
wpt-commits: c1954bcecd0991460d9f2b58456da8958cb97424, e8b454eebe22173569353ae3e327cd8a6951b9e0, cee68c9e85c0d3835f7e4ae3eb673f919242c881, 5a636f4de065dbd756f39b41859d378bd3609658, 14f8cfeb1458deb523f179cff1ae7b2bf12dc667, 50ae113e26987271de56826873c0a2eb43f7b515, 40113cc91c00f0cad78072d2fd51805a775df95c, 5b46ea7c4fe67113a69306afbf9c95b6ba041dbf
wpt-pr: 20017
--HG--
rename : testing/web-platform/tests/css/css-contain/contain-chrome-crash-001.html => testing/web-platform/tests/css/css-contain/contain-chrome-thcrash-001.html
rename : testing/web-platform/tests/css/css-images/gradient-crash.html => testing/web-platform/tests/css/css-images/gradient-refcrash.html
rename : testing/web-platform/tests/css/css-images/infinite-radial-gradient-crash.html => testing/web-platform/tests/css/css-images/infinite-radial-gradient-refcrash.html
rename : testing/web-platform/tests/css/css-pseudo/before-in-display-none-crash.html => testing/web-platform/tests/css/css-pseudo/before-in-display-none-thcrash.html
rename : testing/web-platform/tests/css/css-pseudo/first-letter-of-html-root-crash.html => testing/web-platform/tests/css/css-pseudo/first-letter-of-html-root-refcrash.html
rename : testing/web-platform/tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash.html => testing/web-platform/tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-refcrash.html
rename : testing/web-platform/tests/css/css-typed-om/set-var-reference-crash.html => testing/web-platform/tests/css/css-typed-om/set-var-reference-thcrash.html
rename : testing/web-platform/tests/dom/nodes/remove-and-adopt-crash.html => testing/web-platform/tests/dom/nodes/remove-and-adopt-thcrash.html
rename : testing/web-platform/tests/payment-request/payment-request-constructor-crash.https.html => testing/web-platform/tests/payment-request/payment-request-constructor-thcrash.https.html
rename : testing/web-platform/tests/svg/pservers/pattern-with-invalid-base-cloned-crash.html => testing/web-platform/tests/svg/pservers/pattern-with-invalid-base-cloned-thcrash.html
Automatic update from web-platform-tests
[css-pseudo] Fix WPT test mismatch expectations for ::marker
In some tests I added both "match" and "mismatch" conditions, expecting
both of them to hold since that's how Chromium treats that.
However, according to the docs, if a test has multiple conditions, they
should be treated as an OR operator. This makes a test pass in Firefox
even if the rendering is wrong. The proper way to check multiple
conditions with the AND operator is adding the extra ones in the
references.
Spec: https://web-platform-tests.org/writing-tests/reftests.html#complex-pass-conditions
Change-Id: Idb737e2486f2155f05a09a2c88bc1094c1b603e2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1958128
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Cr-Commit-Position: refs/heads/master@{#723296}
--
wpt-commits: bf028a7fa1d2edd9c4e6aa780d3844554eefbde1
wpt-pr: 20679
Automatic update from web-platform-tests
[css-pseudo] Allow 'white-space' in ::marker
The spec has added 'white-space' to the list of properties that apply to
::marker pseudo-elements.
Spec: https://drafts.csswg.org/css-pseudo-4/#marker-pseudo
BUG=457718
TEST=external/wpt/css/css-pseudo/parsing/marker-supported-properties.html
Change-Id: Iaf05bb568d0127b2aae4219715bb8839620101a3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1954384
Reviewed-by: Koji Ishii <kojii@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Cr-Commit-Position: refs/heads/master@{#722420}
--
wpt-commits: ccf316907ed4451ad0c752b686abb6ab75c54618
wpt-pr: 20643
Automatic update from web-platform-tests
[css-pseudo] Set default styles to ::marker
Markers should have the following styles by default:
- unicode-bidi: isolate
- font-variant-numeric: tabular-nums
Spec: https://drafts.csswg.org/css-pseudo-4/#marker-pseudo
Bug: 457718
TEST=external/wpt/css/css-pseudo/marker-default-styles.html
TEST=external/wpt/css/css-pseudo/marker-font-variant-numeric-default.html
TEST=external/wpt/css/css-pseudo/marker-font-variant-numeric-normal.html
TEST=external/wpt/css/css-pseudo/marker-unicode-bidi-default.html
TEST=external/wpt/css/css-pseudo/marker-unicode-bidi-normal.html
The unicode-bidi tests fail in legacy because of bug 1012289.
And marker-font-variant-numeric-normal.html fails everywhere because
nested ::marker pseudo-elements are not supported yet.
Change-Id: I80360d0e2bfa78ebca1c10e1064daa17e66e6f22
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1943228
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Cr-Commit-Position: refs/heads/master@{#720875}
--
wpt-commits: be856ef52c77169447017256bb81adf058e67880
wpt-pr: 20568
Automatic update from web-platform-tests
[css-pseudo] Properly check that ::marker supports text-combine-upright
The marker-supported-properties.html test was checking that the
'text-combine-upright' property can be set to 'none' in ::marker.
However, this wasn't much useful, since 'none' is the initial value.
The test would pass even if ::marker ignored the declaration.
Change it to check 'text-combine-upright: all' instead.
Bug: 457718
Change-Id: Ib3b2109713f474e2fc75918184795036e1fea664
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1943239
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Cr-Commit-Position: refs/heads/master@{#720174}
--
wpt-commits: 87d3a057ba2a82aaf19eecad4b11d1ecd4f1aad1
wpt-pr: 20529
Automatic update from web-platform-tests
[css-pseudo] Fix assert failure when combining ::first-line and ::marker
The interaction of a ::marker pseudo-element with a 'content' property
and the ::first-line of the list-item produced a DCHECK failure in debug
builds (it was fine with debug disabled). This patch fixes it.
Bug: 457718
TEST=external/wpt/css/css-pseudo/first-line-and-marker.html
Change-Id: I443934f3a5cbfd95913287ac2bfb0966fa707e3d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1937068
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Cr-Commit-Position: refs/heads/master@{#719561}
--
wpt-commits: afd1488b85e8a6c6381c901f43c27f62049fc256
wpt-pr: 20453
Automatic update from web-platform-tests
Create test for style of intersecting pseudo-elements
Adds new WPT reftest testing the styling of ::before and ::after
pseudo-elements within a ::first-line pseudo-element.
This currently fails in chromium and passes in firefox.
Bug: 892983
Change-Id: If15b4004b8091fa0871e580dc2f059a69174546a
--
wpt-commits: bd66eaf4732572de37bbd163842ac060bfe37f84
wpt-pr: 20101
Automatic update from web-platform-tests
[css-pseudo] Apply ::marker styles to markers
Currently markers are assigned a mostly empty style, it just inherits
from the list item and has some customizations like `display`.
This patch makes them use the style of the ::marker pseudo-element.
The inheritance is also from the list item, and the customizations are
applied afterwards.
The change only affects markers originated by real elements. Markers
originated by ::before or ::after pseudo-elements should get the styles
from ::before::marker or ::after::marker, but this will be addressed in
a follow-up patch.
Spec: https://drafts.csswg.org/css-pseudo-4/#marker-pseudo
BUG=457718
TEST=external/wpt/css/css-pseudo/marker-and-other-pseudo-elements.html
TEST=external/wpt/css/css-pseudo/marker-color.html
TEST=external/wpt/css/css-pseudo/marker-font-properties.html
Change-Id: Ide2fbc344e4732257044ebd3e7966906af21c434
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1893265
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Cr-Commit-Position: refs/heads/master@{#711883}
--
wpt-commits: e76f87b52667b3e8b43285e72b654bfa7cb8ace9
wpt-pr: 20025
Differential Revision: https://phabricator.services.mozilla.com/D53611
Automatic update from web-platform-tests
[css-pseudo] Restrict the properties allowed in ::marker
Only the following properties apply to a ::marker pseudo-element:
- all font properties
- `color`
- `text-combine-upright`, `unicode-bidi`, and `direction`
- `content`
Spec: https://drafts.csswg.org/css-pseudo-4/#marker-pseudo
BUG=457718
TEST=external/wpt/css/css-pseudo/parsing/marker-supported-properties.html
The test has 2 failures because font-synthesis and font-variant-position
have not been implemented yet.
Change-Id: I9f82e13bdd14a06a84ee55e352cd5a2c64d6fb97
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1891310
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Cr-Commit-Position: refs/heads/master@{#710995}
--
wpt-commits: bdd57938c6385091bb4120cb7bfb0749ee62b2a1
wpt-pr: 20003
Differential Revision: https://phabricator.services.mozilla.com/D53584
Automatic update from web-platform-tests
Fix the meta description of tree-abiding-pseudo-elements.html (#19950)
--
wpt-commits: 23c1462333cb99f2ed9cefbb472e199eeca14ddc
wpt-pr: 19950
Differential Revision: https://phabricator.services.mozilla.com/D53516
Automatic update from web-platform-tests
Convert tabs to spaces in css/ directories with few lint errors (#19832)
This follows the same approach as in https://github.com/web-platform-tests/wpt/pull/19824
to identify directories in css/ with few lint errors and removes the
lint.whitelist exceptions for those.
For css/css-counter-styles/ some newlines were also added/removed to
arrive at a reasonable style.
--
wpt-commits: 5af91f79216344d5a243f2fc133e373b39e1322e
wpt-pr: 19832
Automatic update from web-platform-tests
Don't generate pseudo element inside display:none.
We checked for non-null GetComputedStyle(), but it may also be non-null
inside display:none when ensured from getComputedStyle(). Skip
generating pseudo elements for that case. This caused a DCHECK failure
due to an incorrect marking for layout tree re-attachment inside
display:none.
Bug: 1013570
Change-Id: I75318b9d3bed1ed68dab232d90bbdc9b68655152
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1872096
Reviewed-by: Xiaocheng Hu <xiaochengh@chromium.org>
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#708147}
--
wpt-commits: 03f4ea383cd4d9c5e8f46f9f405833e96a3a4809
wpt-pr: 19815
Automatic update from web-platform-tests
Fix spec links to use actual anchors that exists
--
wpt-commits: 0e1bcae7f14564f0946484c9e8021b0a6fdcb68d
wpt-pr: 19718
Automatic update from web-platform-tests
CSS: Serialize font shorthand with spaces around '/'
Each '/' is a CSS value should have a space before and after.
https://github.com/w3c/csswg-drafts/issues/4282
Omit 'normal' values from computed font serialization.
Change-Id: Iebbfe80ae0c7c3ebe0101b432c0d95a7d265154f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1800894
Commit-Queue: Emil A Eklund <eae@chromium.org>
Auto-Submit: Eric Willigers <ericwilligers@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Cr-Commit-Position: refs/heads/master@{#696522}
--
wpt-commits: 5488ba49034a78c2fdfe7ca0d898ed3adb238f6b
wpt-pr: 19025
Automatic update from web-platform-tests
CSS: getComputedStyle() returns computed colors in gradients
We now return rgb() values instead of color keywords in
getComputedStyle() results for gradient images.
Not yet addressed: lengths should also be made absolute,
e.g. we should never have 'ex' units in getComputedStyle()
results.
Bug: 977042
Change-Id: If20dc6b773f8948370fbda63397e06c784e3d55c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1765133
Commit-Queue: Eric Willigers <ericwilligers@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Cr-Commit-Position: refs/heads/master@{#691943}
--
wpt-commits: 9e6ba1398074f2fefa40ee60c05c97ee0d4f29b2
wpt-pr: 18613