Automatic update from web-platform-tests
Update layout tree rebuild root after removing pseudo element.
We tried to avoid marking the pseudo element when it was about to be
removed, but the pseudo element earlied out before removal if it wasn't
marked for re-attachment causing the element not to be removed.
Notify the StyleEngine about removal instead, so that it can update the
traversal root. For normal elements the StyleEngine is notified through
ChildrenRemoved().
Bug: 989894
Change-Id: Ia2bf52c9bed157c4ac806a10b9367b0f99038974
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1732096
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#683543}
--
wpt-commits: 4114304c6526b10034c92d04e769a70e4cbdd443
wpt-pr: 18249
Automatic update from web-platform-tests
MathML: Move tests for vertical math into .tentative.html for now. (#18253)
https://github.com/mathml-refresh/mathml/issues/18
--
wpt-commits: 8da4c04051c2e456398448b9a5b758c666688474
wpt-pr: 18253
Automatic update from web-platform-tests
SVG: marker shorthand is empty string if longhands do not match
The marker shorthand serializes as 'none | <marker-ref>'
https://svgwg.org/svg2-draft/painting.html#MarkerShorthand
If marker-start, marker-mid and marker-end do not all have
the same value, it serializes as the empty string.
Change-Id: I2c3fbcfd308119a7f258a7f269f93f092fabbfaa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1724707
Commit-Queue: Eric Willigers <ericwilligers@chromium.org>
Auto-Submit: Eric Willigers <ericwilligers@chromium.org>
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Cr-Commit-Position: refs/heads/master@{#683433}
--
wpt-commits: 851bf68b39b510c262a9a33b76811341746e6a84
wpt-pr: 18167
Automatic update from web-platform-tests
[CSP] Check inline script CSP in prepare-a-script
This CL moves the inline script CSP check from
PendingScript::ExecuteScriptBlock() (#execute-the-script-block)
to ScriptLoader::PrepareScript() (#prepare-a-script)
as spec'ed.
This CL removes Script::InlineSourceTextForCSP()
which is no longer used.
Behavior changes (the new behavior is spec-conformant and thus
this CL adds WPT tests):
- Previously <script>'s error events were fired
when inline script CSP check fails,
while after this CL the events are no longer fired.
Test: scripthash-basic-blocked-error-event.html
(Moved from layout test with expectation changes)
This CL makes Chromium's behavior align with Firefox and Safari.
- If the nonce attribute is changed or the CSP list is updated
after prepare-a-script before evaluation,
previously the new nonce/CSP were used for CSP,
while after this CL the old nonce/CSP
(at the time of prepare-a-script) is used.
Test: scriptnonce-changed-*.html
This CL makes Chromium's behavior align with Firefox.
(Safari's behavior is different from any other browsers)
This CL also adds scripthash-changed-*.html (just for symmetry
with scriptnonce-changed.html), which pass only on Chromium.
Bug: 964537
Change-Id: I8673956101d9d13708c452db23258f125cb3d256
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1618262
Commit-Queue: Hiroshige Hayashizaki <hiroshige@chromium.org>
Reviewed-by: Mike West <mkwst@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#683391}
--
wpt-commits: 79d560495d9f5c996ef103a892b479baaa1b2df0
wpt-pr: 17583
Automatic update from web-platform-tests
[WPT/common/security-features] Use "unset" instead of "None" in filenames
`delivery_value` can be None.
Generated files will be updated after some more changes, not now.
Bug: 906850
Change-Id: Ia40b1cb4a75d14384092fb1fb84c51df8411ef15
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1723012
Commit-Queue: Hiroshige Hayashizaki <hiroshige@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#683393}
--
wpt-commits: eb37e2b0b26e8be15b2c719b810cb66b1e608dc2
wpt-pr: 18244
Automatic update from web-platform-tests
[WPT/common/security-features] Support multiple policy deliveries in top-level Documents
Currently, policy deliveries (and thus <meta>, HTTP headers) in top-level Documents
are processed by `handleDelivery()` methods, which accept only one policy delivery.
This CL
- Merges `handleDelivery()` methods into a single `handle_delivery()`,
- Introduce `util.PolicyDelivery` to represent policy deliveries as
explicitly typed objects, and
- Extends `handle_delivery()` to accept multiple policy deliveries.
Bug: 906850
Change-Id: Iadbef1240c4855967e40f81cb3417389cff5c9eb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1723229
Commit-Queue: Hiroshige Hayashizaki <hiroshige@chromium.org>
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#683355}
--
wpt-commits: 88fcfe65bbdd13215452d8d2bc57d0c0336fde17
wpt-pr: 18126
Automatic update from web-platform-tests
Introduce automation to support pull rqst previews (#17680)
* Introduce automation to support pull rqst previews
Today, http://w3c-test.org automatically fetches and publishes the code
from "preview-enabled" pull requests to WPT. It defines eligible pull
requests as those authored by project collaborators and those where a
collaborator has left a special GitHub comment. That mechanism has a
number of drawbacks:
- The configuration is hidden. Only those with admin rights can review
the GitHub webhook upon which the solution relies.
- Pull request state is opaque. It's not possible to know when/if a pull
request has been recognized by w3c-test.org from the pull request or
from WPT (though this information is available at the undocumented
page http://w3c-test.org/submissions/).
- Server state (i.e. the collection of which pull requests are
considered "active") is likewise opaque. Also, in the absence of a
backup mechanism, it is non-recoverable following a system crash
- Previews cannot be disabled
This patch is one component of an attempt to reimplement this service in
a way that gives more control to the WPT administration and stores more
state in the WPT repository.
- Maintains state via git tags. This avoids the complexities of an
external storage system (access credentials, back up policies, etc.)
- Observes eligibility using GitHub pull request labels. This makes the
state of the system apparent from the pull requests themselves. It
also provides a more ergonomic and discoverable mechanism for
enabling/disabling previews
This is facilitated by a script that is executed as a GitHub Action.
Although the script relies on a secret access token, it is *not* limited
to use for pull requests from trusted collaborators due to the way
GitHub Actions are executed [1]
> ### Pull request events for forked repositories
>
> [...]
>
> #### Pull request with base and head branches in different repositories
>
> The base repository receives a `pull_request event` where the SHA is
> the latest commit of base branch and ref is the base branch.
With this in place, a far simpler "preview" server can be built. The
simplified version will need no privileged information; it will only
need to poll the git repository for tags and synchronize its deployment
according to the result.
[1] https://developer.github.com/actions/managing-workflows/workflow-configuration-options/#pull-request-events-for-forked-repositories
* fixup! Introduce automation to support pull rqst previews
Add support for Python 3
* fixup! Introduce automation to support pull rqst previews
* fixup! Introduce automation to support pull rqst previews
Use generic git refs instead of tags
* fixup! Introduce automation to support pull rqst previews
* fixup! Introduce automation to support pull rqst previews
React to events from closed pull requests
* fixup! Introduce automation to support pull rqst previews
--
wpt-commits: 89f8327545d8d34f200da06bd22fc16da44c246f
wpt-pr: 17680
Automatic update from web-platform-tests
Update chromium log formatter to treat subtest fails as test failure. (#17944)
* Update chromium log formatter to handle subtest fails as test failure.
If a test has subtest failures the runner reports the test status as a
success, but for Chromium this is generally considered a failure. So we
keep track of which tests have subtest failures and flip their status to
FAIL if necessary.
--
wpt-commits: 8faf1fb3d5cfe08ed15eb2acd8aa1460edf1c3ee
wpt-pr: 17944
Automatic update from web-platform-tests
[wptrunner] Release actions before closing windows
Make sure all inputs are released and states are cleared before starting
a new test.
This change deflakes some pointerevent tests on Chrome. e.g.
/pointerevents/pointerlock/pointerevent_pointermove_in_pointerlock.html
is now crashing *consistently* with "invalid argument", and
/pointerevents/pointerevent_touch-action-keyboard.html
no longer crashes with "invalid input state".
--
wpt-commits: 1cb5f2830ac1d2a1a6fcf08e330e588d387b2731
wpt-pr: 17864
Automatic update from web-platform-tests
Use To<Dynamic> for rebuild root to make sure we don't crash.
We were able to SetNeedsReattachLayoutTree() on a Text node where none
of the ancestor elements had a LayoutObject and the Document had a <br>
as a documentElement. The reason is that LayoutView does not allow a
LayoutBr child which meant we recomputed styles for the whole subtree,
but no LayoutObjects were created. Setting the text data on the text
node would mark it for re-attachment (in case it didn't have a
LayoutText because it used to be a non-rendered white-space). If it was
in a display:none subtree we wouldn't have reached the text node during
recalc, but because of LayoutView rejecting the LayoutBr, we already had
ComputedStyle all the way.
Bug: 989827
Change-Id: I72ae371466e607baf4caffad9ed634beb2a66bf5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1731112
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#683135}
--
wpt-commits: ec90c902eeb0612dbce30047ff51414c8b26d603
wpt-pr: 18232
Automatic update from web-platform-tests
Move ChromeAndroid to ExecutorWebDriver (#18186)
Fixes#16056
Docs changes:
* Remove instructions for special setups that are no longer needed.
* Document more existing limitations of the implementation.
--
wpt-commits: ab508a6ecf41df2acec4c09d2b516a550ce41fe9
wpt-pr: 18186
Automatic update from web-platform-tests
Update the expected test metadata format to incude known intermittent statuses
Currently, the `expected` field in the test metadata accepts only one status. This patch adds
the ability to include known intermittent statuses in this metadata.
The existing metadata format is:
```
[test]
[subtest]
expected: PASS
```
This new format, if there is a known intermittent status to record, will be:
```
[test]
[subtest]
expected: [PASS, FAIL]
```
The first status will always be the "expected" status. The following statuses in the list are
"known intermittent" statuses. The statuses are ordered based on `tree.result_values` counts
during `build_tree()`.
Tests have been added to test_update.py to account for the following circumstances:
- an existing metadata file with only one expecte status needs updating with a known intermittent
- a file with an existing known intermittent needs to be updated with an additional status
- an intermittent status is now the expected status, and the expected status is now intermittent
- a new metadata file needs to be created with a known intermittent status
testrunner.py has been updated to exclude tests with a `known_intermittent` status from the
`unexpected_count`.
A test has been added to test_expectedtree.py to ensure the `tree.result_values` is counting
correctly.
Differential Revision: https://phabricator.services.mozilla.com/D37729
bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1558954
gecko-commit: fbc5881fd4b6c2d758ba46faf21e045e500f7676
gecko-integration-branch: central
gecko-reviewers: jgraham
--
Remove trailing whitespace
--
Mark all tests as failing on Python 3
--
wpt-commits: 0a82a1b98b191b6ccda29145a55610058f247526, 44c4bb1c694ce507923e5e1ca39534fbdce823d2, e1498d56d927641355db6cd09492489b0a918fc6
wpt-pr: 18230
Automatic update from web-platform-tests
Add stronger test for MathML in SVG foreignObject element. (#18227)
Existing tests only check whether a foreinObject with
requiredExtensions="http://www.w3.org/1998/Math/MathML" is displayed or
selected inside a switch. This commit adds a more advanced test that actually
verifies that some basic math layout happens.
--
wpt-commits: 5cc6d2d3262c32277c68d45993289660162693c3
wpt-pr: 18227
Automatic update from web-platform-tests
Give more content to foreign-container (#18209)
Chromium has behavior different from Firefox. For an empty span in
a div with padding the empty span is positioned at (0, 0). The same
effect is seen for MathML, so add some text content to force
an inline flow.
--
wpt-commits: dbf688e8d16b4483de532ceb29f7de12be12573e
wpt-pr: 18209
Automatic update from web-platform-tests
MathML displaystyle: Test display="inline" and attribute value cases. (#18220)
* MathML displaystyle: Test display="inline" and attribute value cases.
This introduces a new helper function to easily apply transforms to attribute
values and uses it to test different string cases for the displaystyle and
display attribute values. This also add new tests for a math with explicit
display="inline" and a displaystyle attribute and check case-insensitivity
of the display attribute in relations/html5-tree/display-1.html
--
wpt-commits: f63482b40c3a8964913e18b69e9223da65a37be0
wpt-pr: 18220
Automatic update from web-platform-tests
Remove requirement that inline XRWebGLLayers use XR compatible contexts
This was a recent change made to the WebXR spec.
Bug: 976070
Change-Id: Ibdf4e4d7648d14540280594d7079696223a8dc62
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1728479
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Klaus Weidner <klausw@chromium.org>
Commit-Queue: Brandon Jones <bajones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#683014}
--
wpt-commits: 64b2a5273b0212c67d678fe7b9a45a53c851c360
wpt-pr: 18222
Automatic update from web-platform-tests
Send XRInputSource.profiles data to blink
This gets attached to the XRInputSourceDescription mojo struct
which is sent from XR device processes to blink.
For WMR controllers, use:
["windows-mixed-reality", "touchpad-thumbstick-controller"]
Populating this array for other platforms such as Oculus and OpenVR
will come in later CL(s).
Bug: 979250
Change-Id: I06c6666c4c085f6578630c25059d07faff158bbd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1726903
Commit-Queue: Jacob DeWitt <jacde@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/master@{#683004}
--
wpt-commits: 586a328d27965889e2852242de909e331abb4364
wpt-pr: 18187
Automatic update from web-platform-tests
[wpt] Smarter discovery of Chrome binaries (#18221)
Previously, the default binary path for Chrome was hard-coded regardless
of the channel, making it cumbersome to test non-stable channels (in
addition to `--channel`, users had to specify `--binary`). With this
change, `./wpt run` tries to find the channel-specific binary in lieu of
the `--binary` argument:
* On Linux, find google-chrome-{stable,beta,unstable} in PATH.
* On Mac, find "Google Chrome{, Canary}.app".
(Compatible with the official Linux and macOS packages)
This change does not affect existing CI setups, because we always
specify `--binary` on CI.
Also update the doc to reflect the change.
--
wpt-commits: 9dfe14e5f7aff39848311f95223427ecebcb27a2
wpt-pr: 18221
Automatic update from web-platform-tests
Remove the compositionDisabled XRWebGLLayer creation flag
The WebXR spec now states that this value is implied based on the mode of the
session the layer was created with.
Bug: 987352
Change-Id: I5f5999822a3504fbc79934ded29310074c454680
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1729799
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Klaus Weidner <klausw@chromium.org>
Commit-Queue: Brandon Jones <bajones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#682938}
--
wpt-commits: 7597efa8249acb28734c5ee4773ee7cce83034e5
wpt-pr: 18219
Automatic update from web-platform-tests
[LayoutNG] Discard cache hit result if marked for layout.
(continued from (abandoned) CL:1719269)
During relayout, when we get a cache hit for a node, we still
recalculate overflow (why?). This may cause scrollbars to appear or
disappear, which will mark for layout. If this happens, we need to
discard the cached result and perform regular layout instead.
There *may* be legitimate reasons for adding or removing scrollbars on
a node that doesn't need relayout (although I cannot think of any), but
in this case (the test case), we gain a scrollbar because of some
amazing code in LayoutBlock::ComputeLayoutOverflow(), which adds 1px
hardcodedly, to the overflow rectangle width.
Bug: 919415
Change-Id: Icd49db76065f8ac50ff3616b97c0d05ca0e2b348
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1728562
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Aleks Totic <atotic@chromium.org>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#682936}
--
wpt-commits: ac3f2f49d5031ad0ab4c168ea39ff00e15aa92af
wpt-pr: 18202
Automatic update from web-platform-tests
Add a promise_test sequencing clarification (#17924)
* Add a promise_test sequencing clarification
I got bitten by a nasty race condition where a failed `promise_rejects` caused teardown logic to run after the next test had already started, interfering with the next test's state. Since this was unexpected, here's a proposed addition to the documentation to make this clearer. Let me know if I'm misunderstanding how this works, or if you think this should be changed in promise_test instead.
(For context, see https://github.com/web-platform-tests/wpt/pull/17898 which contains a fix to a test helper affected by this.)
* Delete sentence as suggested, s/needed/necessary/
* Re-wrap paragraph
* Fix "add_cleanup" link
The code font quote overrode the intended linking
* Add jugglinmike@'s proposed clarification
* Remove trailing whitespace
--
wpt-commits: 40d421b3709bdf2d354df9d1d0d33102cad7804b
wpt-pr: 17924
Automatic update from web-platform-tests
Add --full flag for wpt-update for updating with a full set of results
This has different behaviour from the regular update in a couple of
ways:
* It doesn't try to preserve existing conditionals that didn't match
anything in the results
* It removes subtests that are no longer present in the data set.
As such this is an appropriate mode to use when you have a try push
covering all the possible platforms, or when you are confident there
are no per-platform differences.
As part of this work, the code for updating the conditionals was
refactored to be clearer, and a bunch of tests were added to ensure
that it continues to work correctly.
Differential Revision: https://phabricator.services.mozilla.com/D34735
bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1545143
gecko-commit: 3bce3ca779f0084be8cba237f00502b1201daa95
gecko-integration-branch: central
gecko-reviewers: maja_zf
--
Fixup test failures
--
Forward port part of next change to fix tests.
--
wpt-commits: 6552f34bcd296b27768a0497aaba4f3b838fb64c, 19af2ebf71f6ec463893bfaf3ab9d71670b1926a, 43db14bf7dd3e3dfaad9a16b9e4da78d1c1fc49c
wpt-pr: 18211
Automatic update from web-platform-tests
Clear interval when a new syncbase is received
When a receiving a new interval from a syncbase it
is meant to take precedence, we now clear the old
interval so it gets updated with the new time. This
solves some sorting bugs related to syncbases.
A new test has been added "onhover_syncbases.html" which
tests repeted "mouseover" and "mouseout" events.
Bug: 740541
Change-Id: I7a8e3691593a537c4dbc1da3bdbbe09eaf30e500
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1718704
Reviewed-by: Stephen Chenney <schenney@chromium.org>
Commit-Queue: Stephen Chenney <schenney@chromium.org>
Auto-Submit: Edvard Thörnros <edvardt@opera.com>
Cr-Commit-Position: refs/heads/master@{#682841}
--
wpt-commits: 91e90a3a5fbd8161c3c4d9637466c23895752db9
wpt-pr: 18205
Automatic update from web-platform-tests
Make the metadata update generate more compact conditionals
Previously the wpt metadata update code generated rather conservative
conditionals, simply inclusing every possible condition unless all the
tests had the same outcome or similar. This isn't very nice to read
and makes the metadata rather fragile to changes in the configuration.
A better approach is to build a decision tree from the metadata,
choosing the properties to split on using a simple greedy algorithm,
as follows:
* Given a set of test results, associated run_info_properties and
properties that we want to use, partition the test results by each
property we are using in turn.
* For each partition, generate a score for how uniform the results
are in each subset after partition. The score should be good if the
partition results in small numbers of groups with mostly uniform
test results and bad if it results in a large number of groups or
groups with a mix of test results. For this we adopt a metric based
on the Shannon entropy.
* Chose the partition resulting in the best score, and use that as a
condition in the tree.
* Recursively reapply the algorithm to each group that's been
created.
Differential Revision: https://phabricator.services.mozilla.com/D34734
bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1469893
gecko-commit: 1fc3a0502508a5043886f9b7de020d82fec674d9
gecko-integration-branch: central
gecko-reviewers: maja_zf
--
Fix test failures
--
wpt-commits: 0ad9ee38976ffc67cee2ebd84de19f870aeffa6b, 2c79f12a5e6a10ba1d4d74dd3753cf97ef61d5c8
wpt-pr: 18204
Automatic update from web-platform-tests
Do correct comparison for rtl tests (#18201)
Previously the comparison was not comparing padding with no padding
specified in rtl case. Fix this by splitting out the direction part.
--
wpt-commits: 1858b9082aa757fc91d3e7030b885ac108f320cf
wpt-pr: 18201
Test manifest annotations like "skip-if = verify" are normally handled in mozharness:
When a TV task finds a modified test that needs verification, but that test is skipped
in verify mode, mozharness discards the test from the list of tests to be run.
When running tests locally (mach mochitest, etc), these annotations should also be
respected, and are currently handled in wpt and reftest harnesses, but not in
mochitest or xpcshell -- rectified by this patch. mochitest and xpcshell had
neglected to set mozinfo["verify"] when running in verify mode -- easily corrected.
It should be noted that when running tests locally and a single test is requested,
most test harnesses run the requested test even if it is skip-annotated. Thus,
"mach test <test> --verify" will continue to run tests annotated "skip-if = verify"
and this patch only changes the mochitest/xpcshell behavior of verify-skipped
tests when run with "mach test <directory> --verify" -- a long-running test mode
with complex logging never used in continuous integration.
Differential Revision: https://phabricator.services.mozilla.com/D40486
--HG--
extra : moz-landing-system : lando