Automatic update from web-platform-tests
[testdriver] Enable manual interaction (#11173)
The testdriver.js utility allows tests which require user input to be
fully automated. It requires that the browser be under the control of a
WebDriver server in order to do this.
In test maintenance contexts, this requirement can slow development
because a new browsing session must be created for each trial, and
debugging tools such as the developer's console cannot be used.
This requirement also limits the tests' value to a larger audience when
published online. Visitors to sites like w3c-test.org are interested in
observing test results experimentally, but although they may be capable
of providing the expected input, the hard requirement on WebDriver will
cause tests to fail unconditionally.
Extend the framework to accept traditional human input if the test is
being run without the WebDriver technology. This allows test authors to
debug tests and other interested parties to verify results in browsers
of their choosing. It does not interfere with fully-automated test
execution.
--
wpt-commits: bfd9504d321d35ebfbbe56ab6c7f5c0642495719
wpt-pr: 11173
Automatic update from web-platform-tests
Fix flakiness with stale-while-revalidate tests. (#15362)
Using cookies didn't seem reliable in the wpt test runner when it was
re-run. Stop using cookies and use the server side stash instead
like the rest of the fetch tests do.
Increase timeout on staleness.
--
wpt-commits: 2801597ed275a33f31b8e54081a7e891eda0ff07
wpt-pr: 15362
Automatic update from web-platform-tests
XMLSerializer: Support element prefix rewriting.
We need to change the prefix of an element if:
- The element's namespace is same as the inherited default namespace,
and the element prefix is not empty,
- The prefix-namespace pair of an element is not declared, and there
is another prefix associated to the namespace, or
- The namespace of an element is not associated to any prefixes, and
the element's prefix is declared for another namespace in the
element.
This CL implements Step 11, 12.1 to 12.5 of [1].
* Add capability to serialize prefix which is not element.prefix()
to MarkupFormatter
* MarkupAccumulator::AppendElement() returns a serialized prefix,
and AppendEndTag() takes it as an argument.
* MarkupAccumulator::AppendStartTagOpen() implements the steps, and
returns a serialized prefix as well as 'ignore namespace
definition attribute' flag.
* MarkupAccumulator::RetrievePreferredPrefixString():
Remove the code for empty prefix for elements. Empty prefix is
handled in the callsite.
* MarkupAccumulator::ShouldAddNamespaceElement(): Removed. It's not
used any longer.
* dom/domparsing/xmlserializer-xml-namespace-expected.txt:
The new behavior is expected. We successfully find 'xml' prefix.
[1] https://w3c.github.io/DOM-Parsing/#xml-serializing-an-element-node
Bug: 929035
Change-Id: Icf63cb40b120d29a4b8678104592739d773f3a48
Reviewed-on: https://chromium-review.googlesource.com/c/1473090
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Commit-Queue: Kent Tamura <tkent@chromium.org>
Cr-Commit-Position: refs/heads/master@{#632459}
--
wpt-commits: 2767f92702b54d58cd8b4c289f00a7bc028c10fb
wpt-pr: 15403
Automatic update from web-platform-tests
[PaymentRequest][WPT] Automate manual tests that need user click.
Before this patch, test cases that need a user click were implemented as
manual tests. This patch automates them using testdriver.bless() API,
which simulates a user click action using WebDriver.
Bug: 929773
Change-Id: I368e5867c2a889504a360d7d704aa83d3cf9c78e
Reviewed-on: https://chromium-review.googlesource.com/c/1471297
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Commit-Queue: Danyao Wang <danyao@chromium.org>
Cr-Commit-Position: refs/heads/master@{#632259}
--
wpt-commits: 85614961e6ee65fe339a7a8e770499c80cccae28
wpt-pr: 15386
Automatic update from web-platform-tests
[LayoutNG] Invalidate layout when OOF-positioned gets added/removed.
This patch allows us to reuse a cached layout result when we have
OOF-positioned descendants in the result.
In order to do this whenever a OOF-positioned object gets added or
removed we invalidate the parent chain for all objects which may
contain this element inside its layout result.
There are more optimal versions of this approach, which I've noted
inside a comment, but this seems good enough for now.
Bug: 635619
Change-Id: I4b29fcc26154dcd76cee55455d83558c6cf798fa
Reviewed-on: https://chromium-review.googlesource.com/c/1396777
Reviewed-by: Emil A Eklund <eae@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: Aleks Totic <atotic@chromium.org>
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#632256}
--
wpt-commits: bbe1144015e708f62b9ae30b3770884db94e504b
wpt-pr: 15335
Automatic update from web-platform-tests
fix: make PMIs conform to spec (#14163)
--
wpt-commits: 94dd52b3f5a6e768d25a3cc459aeeb1e69fb9381
wpt-pr: 14163
Automatic update from web-platform-tests
XMLSerializer should drop xmlns="..." in some cases
If an element has no prefix and its namespace is different from
the current default namespace, the element needs to add
xmlns="<elements-namesapce-uri>". In such case, we need to drop
existing xmlns="<other-uri>" and need to take care of existing
xmlns="<elements-namespace-uri>".
Implementation:
Follow the specification in the following points:
- Stop registering default namespace to prefix-namespace /
namespace-prefixes maps.
- The default namespace is tracked by NamespaceContext::
context_namespace_.
- 'local default namespace' is computed in 'recording the namespace
information' algorithm.
* NamespaceContext::Add(): Make sure arguments are not empty.
* Move MarkupAccumulator::RecordNamespacInformation to NamespaceContext,
and update the default namespace handling.
* AppendElement() respects to 'ignore namespace definition attribute' flag.
* Implement some parts of the specification to
- keep track the default namespace
- return correct 'ignore namespace definition attribute' value
- add an appropriate xmlns="..."
Bug: 929035
Change-Id: Id5f0090d5dc08334c202e6ef9b107f1645fb3120
Reviewed-on: https://chromium-review.googlesource.com/c/1471671
Commit-Queue: Kent Tamura <tkent@chromium.org>
Auto-Submit: Kent Tamura <tkent@chromium.org>
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#632142}
--
wpt-commits: 1b2808938937c9e992eb469b345ca64f99182c29
wpt-pr: 15389
Automatic update from web-platform-tests
SignedExchange: Close response body data pipe on integrity error
This fixes a bug where data pipe for response body was not closed when
Signed Exchange has payload integrity error.
SourceStreamToDataPipe::OnComplete() attempts to close the pipe by
resetting |pending_write_|. But if |source_| is a FilterSourceStream, it
still retains a reference to |pending_write_|. We should explicitly call
|pending_write_->Complete(0)| to free the pipe on error cases too.
Bug: 931955
Change-Id: I63b2470dbb92aa57016c5c71222bcdabe889fd34
Reviewed-on: https://chromium-review.googlesource.com/c/1470355
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Kunihiko Sakamoto <ksakamoto@chromium.org>
Cr-Commit-Position: refs/heads/master@{#632118}
--
wpt-commits: 2867bad83ba14201d96f1eaf54027164251fe541
wpt-pr: 15388
Automatic update from web-platform-tests
WPT: service worker: Loosen postmessage-to-client-message-queue.https.html.
Chrome flakily failed the test because it doesn't guarantee the order
between message and fetch event. That might violate the spec, but the
test doesn't need to test this. It's meant to test that the client
message queue isn't enabled until a certain time. We can test
that without requiring message/fetch ordering.
Loosen the test to just check that the messages arrive after
|earliest_dispatch|.
Bug: 926670
Change-Id: Ic291b25443358412936b4a5eeb24ee6f8efa6b71
Reviewed-on: https://chromium-review.googlesource.com/c/1469842
Auto-Submit: Matt Falkenhagen <falken@chromium.org>
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#632030}
--
wpt-commits: cde22888c0ffdde9842d380d11e0f09aab38006e
wpt-pr: 15377
Automatic update from web-platform-tests
Remove a special handling for XLink namespace in XMLSerializer
The new behavior matches to the standard, Firefox, and Safari.
Bug: 927626
Change-Id: Ifc6687992c10fbca13faaaeb4a56e59f5469f594
Reviewed-on: https://chromium-review.googlesource.com/c/1469843
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Commit-Queue: Kent Tamura <tkent@chromium.org>
Cr-Commit-Position: refs/heads/master@{#631984}
--
wpt-commits: 6fb30bc55bf721c87d2ff32640deefc1b01061ab
wpt-pr: 15376
Automatic update from web-platform-tests
ensure sleep_at_least is guaranteed to sleep for the requested duration
Microsoft runs tests in a Hyper-V VM. The test external/wpt/resource-timing/resource-timing-level1.sub.html leverages wptserve's SyntheticResponse.py to request that each step of a response is delayed by 250ms. In our environment, even with the extra 15ms "padding" in sleep.py, we're seeing the timer return 5ms early which in turn causes the test to fail. This change updates the sleep_at_least function to, in a loop, explicitly check that it slept long enough and, if not, sleep again for a short interval.
Change-Id: I2dbd8e6bd586dc661b45f94454d3b6b4613db1a5
Reviewed-on: https://chromium-review.googlesource.com/c/1469655
Reviewed-by: Robert Ma <robertma@chromium.org>
Reviewed-by: Yoav Weiss <yoavweiss@chromium.org>
Commit-Queue: Erik Anderson <Erik.Anderson@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#631969}
--
wpt-commits: 8f7ccae78b9a0e36aca3618f62e5bf558f4775d4
wpt-pr: 15375
Automatic update from web-platform-tests
[ElementTiming] Create entries for SVGImageElements
This change adds ElementTiming support for SVGImageElements. It adds a
layout test to verify that the entry is being created in a simple
example.
Bug: 879270
Change-Id: I39ae0a1209f1b299d6a431ac1ba2fcfa94b25b3e
Reviewed-on: https://chromium-review.googlesource.com/c/1467918
Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
Reviewed-by: Fredrik Söderquist <fs@opera.com>
Cr-Commit-Position: refs/heads/master@{#631923}
--
wpt-commits: 679777df34300565db3d3dcca0f32424fb0472a0
wpt-pr: 15367
Automatic update from web-platform-tests
[Azure] Use curl instead of InvokeRESTAPI@1 (#15384)
InvokeRESTAPI@1 doesn't seem to allow us to customize the timeout (it
has a builtin timeout of 20s), and the notify endpoint takes a while to
complete as it needs to download the artifacts from Azure.
Also, run both hooks (prod & staging) independently.
Hope to alleviate #1131.
--
wpt-commits: e0a7556f7d12da1dc38b6a051dacb224da442b72
wpt-pr: 15384
Automatic update from web-platform-tests
[Import Maps] Implement Import Maps v0.5 behind a flag
Design doc: https://docs.google.com/document/d/1vFQzbmxg9ilpg8CT_P8roEYcpTfZ06Q5N4J9-ZQqqZo/edit
This CL implements an initial version of Import Maps that supports
- Inline import maps (i.e. no src attribute),
- Layered API/Built-in modules fallback, and
- Basic bare specifier mapping.
The import maps are behind the flag of LayeredAPI.
Bug: 848607
Change-Id: I31efa6f9ce470375a07592f627b525f48dc2d504
Reviewed-on: https://chromium-review.googlesource.com/c/1449093
Commit-Queue: Hiroshige Hayashizaki <hiroshige@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#631880}
--
wpt-commits: 7ddae5400caf476583cfbe71238254f8cbb217b9
wpt-pr: 15371
Automatic update from web-platform-tests
[Payment Request][WPT] Fix inactive page tests.
Before this patch, the tests for calling PaymentRequest.show() in an
inactive document failed because the renderer checked for an IPC
connection to the browser and rejected the show() promise with an
InvalidStateError because of the lack of the IPC connection. This
happens because the IPC connection is terminated after the browser
payment sheet closes, which happens upon a page becoming inactive.
Instead, the renderer should check for an active document first and
reject with AbortError in an inactive document.
This patch makes PaymentRequest.show() check for an active document
first and reject with AbortError in an inactive document. The IPC
connection is checked second.
This patch also makes a couple of active document test cases manual for
ease of testing. The last test case is not moved and is still failing.
It is unlikely to ever pass in Chrome, because it navigates away the
context where a PaymentRequest.show() promise object was created. After
the navigation, the promise object cannot change state in Chrome.
After this patch, two manual test cases for active document are passing
in Chrome.
Bug: 929773
Change-Id: Idbe9dbd03a69c18a4d24ba34642e6c7046026c62
Reviewed-on: https://chromium-review.googlesource.com/c/1463664
Reviewed-by: Danyao Wang <danyao@chromium.org>
Commit-Queue: Rouslan Solomakhin <rouslan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#631791}
--
wpt-commits: e6645a41093b3516eaa5bab63cd0ba65b3778a4e
wpt-pr: 15332
Automatic update from web-platform-tests
Implement `Sec-Fetch-Mode`
This patch implements `Sec-Fetch-Mode`, which adds the current CORS
mode to outgoing, secure requests, as defined in
https://mikewest.github.io/sec-metadata/#sec-fetch-mode-header.
Bug: 843478
Change-Id: I811bfa86bdac1600b8abdd275d9526f6408e62e2
Reviewed-on: https://chromium-review.googlesource.com/c/1466362
Reviewed-by: Camille Lamy <clamy@chromium.org>
Commit-Queue: Mike West <mkwst@chromium.org>
Cr-Commit-Position: refs/heads/master@{#631651}
--
wpt-commits: 86bfe06b7260f552913b3274c30377ce7e9968b8
wpt-pr: 15348
Automatic update from web-platform-tests
Implement `navigator.getUserAgent()`
This patch is smaller than it looks. It basically does the following:
1. It introduces `blink::UserAgentMetadata`, and a corresponding mojo
type in order to hold the various shards of data we'd like to expose
about user agents (brand, version, platform, architecture, and
model).
2. It threads these new types down from //chrome and //content/shell's
implementations of `ContentBrowserClient` down into Blink via the
same route we're using for the existing user-agent string
(ChromeContentBrowserClient -> RenderProcessHost -> RenderThread
-> Platform -> LocalFrameClient -> FrameLoader).
3. It extends `Navigator` with a new `NavigatorUserAgent` mixin that
exposes `navigator.getUserAgent()`. This returns a promise that
resolves with a newly defined `UserAgent` IDL dictionary type.
So, the patch is huge, but not really that complex.
Bug: 928670
Change-Id: I4f267e373864162264ad4d721650942b147b378d
Reviewed-on: https://chromium-review.googlesource.com/c/1458098
Commit-Queue: Mike West <mkwst@chromium.org>
Reviewed-by: Yoav Weiss <yoavweiss@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#631613}
--
wpt-commits: 290e4d77cd6418cf7b37351549c1ed2e5c62f557
wpt-pr: 15296
Automatic update from web-platform-tests
domparsing: Fix an issue that XMLSerializer generates new prefix for an attribute with an existing namespace
Add an implementation of "retrieving a preferred prefix string"
[1], and apply it to attribute serialization.
As the specification defines, this CL introduces another map [2] like:
namespace URI => [older prefix, ..., newer prefix]
in order to retrieve most-recently-declared prefix.
When we search the map for a prefix, we check availability of
the prefix by the existing prefix-namespace map.
There are two failing test cases in XMLSerializer-serializeToString.html.
They follow the specification.
* The first failing one: An non-well-formed XML is produced if we follow
the specification. Chrome's new behavior matches to Firefox. Safari also
produces a bad XML.
* The second failing one: Firefox, Safari, and Chrome without this CL
preserve prefix in such case. This CL keeps the interoperable behavior.
[1] https://w3c.github.io/DOM-Parsing/#dfn-retrieving-a-preferred-prefix-string
[2] https://w3c.github.io/DOM-Parsing/#dfn-namespace-prefix-map
Bug: 906807
Change-Id: Idaea590ba19c9c21acbaf456ea91ce550c74db5a
Reviewed-on: https://chromium-review.googlesource.com/c/1445033
Commit-Queue: Kent Tamura <tkent@chromium.org>
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Auto-Submit: Kent Tamura <tkent@chromium.org>
Cr-Commit-Position: refs/heads/master@{#631573}
--
wpt-commits: 2647e1e8f6995d12f44edbf0b4fce752e5cb7ec5
wpt-pr: 15343