Import wpt@94573f7263a55f54becf4bcccbc0414cb4911749
Using wpt-import in Chromium a2465c0852f17d0f6fe989ce799d0514a2eb1d78.
With Chromium commits locally applied on WPT:
68d5240e06 "[ChromeDriver] Set key modifiers with mouse actions"
2b037bdc25 "[Animation Worklet] Fix flaky worklet-animation-with-fill-mode.https.html"
fc735f1b74 "[IndexedDB] Fixed DisjointRangeLockManager usage in IndexedDB"
Note to sheriffs: This CL imports external tests and adds
expectations for those tests; if this CL is large and causes
a few new failures, please fix the failures by adding new
lines to TestExpectations rather than reverting. See:
https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md
NOAUTOREVERT=true
TBR=foolip
No-Export: true
Change-Id: I94175380c59090d994318276e0aeb6f44a123f47
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1516334
Reviewed-by: WPT Autoroller <wpt-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: WPT Autoroller <wpt-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#639693}
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations
index b415216..0308c30 100644
--- a/third_party/blink/web_tests/TestExpectations
+++ b/third_party/blink/web_tests/TestExpectations
@@ -3038,6 +3038,7 @@
crbug.com/939181 virtual/not-site-per-process/external/wpt/html/browsers/origin/cross-origin-objects/cross-origin-objects.html [ Failure Timeout ]
# ====== New tests from wpt-importer added here ======
+crbug.com/626703 external/wpt/css/css-text/word-break/word-break-break-word-overflow-wrap-interactions.html [ Failure ]
crbug.com/626703 external/wpt/css/css-sizing/range-percent-intrinsic-size-2a.html [ Failure ]
crbug.com/626703 external/wpt/infrastructure/reftest/reftest_fuzzy.html [ Failure ]
crbug.com/626703 external/wpt/infrastructure/reftest/reftest_fuzzy_1.html [ Failure ]
diff --git a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_5.json b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_5.json
index 97159e3..5d89f469 100644
--- a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_5.json
+++ b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_5.json
@@ -67427,6 +67427,18 @@
{}
]
],
+ "css/css-text/word-break/word-break-break-word-overflow-wrap-interactions.html": [
+ [
+ "/css/css-text/word-break/word-break-break-word-overflow-wrap-interactions.html",
+ [
+ [
+ "/css/css-text/word-break/word-break-break-word-overflow-wrap-interactions-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-text/word-break/word-break-keep-all-000.html": [
[
"/css/css-text/word-break/word-break-keep-all-000.html",
@@ -146605,6 +146617,11 @@
{}
]
],
+ "css/css-text/word-break/word-break-break-word-overflow-wrap-interactions-ref.html": [
+ [
+ {}
+ ]
+ ],
"css/css-text/writing-system/reference/writing-system-font-001-ref.html": [
[
{}
@@ -375245,6 +375262,14 @@
"ac1840131c3f214b993ffd58dcd2124523f89b6b",
"reftest"
],
+ "css/css-text/word-break/word-break-break-word-overflow-wrap-interactions-ref.html": [
+ "3c6ab3863f88646f2fe9132963704c72d6b8d3d7",
+ "support"
+ ],
+ "css/css-text/word-break/word-break-break-word-overflow-wrap-interactions.html": [
+ "b4d3720e2378f74c90601d5ad43f5093f98e2a32",
+ "reftest"
+ ],
"css/css-text/word-break/word-break-keep-all-000.html": [
"fce7487c33ad47aaeeb20fe5ccb1bc5180192329",
"reftest"
@@ -464922,7 +464947,7 @@
"support"
],
"tools/manifest/utils.py": [
- "9da79f6deb42e6d5f98bb4052b3586017acb54e0",
+ "a097ad5090e16aa1a43c8e43332f0761ecd6f240",
"support"
],
"tools/manifest/vcs.py": [
@@ -469142,7 +469167,7 @@
"support"
],
"tools/wptrunner/requirements.txt": [
- "37f4fde47869bd0c1f30ab12ef96cb5d625b8c9d",
+ "6216fb6708da3c60d6e2b0a60d92a232dc383b0f",
"support"
],
"tools/wptrunner/requirements_chrome.txt": [
@@ -469386,7 +469411,7 @@
"support"
],
"tools/wptrunner/wptrunner/formatters/wptscreenshot.py": [
- "bb26ebac7ddc78ff290f3aa68c05019736822626",
+ "48c51418bac16faa5331595de39590219cd1b084",
"support"
],
"tools/wptrunner/wptrunner/manifestexpected.py": [
@@ -473334,19 +473359,19 @@
"testharness"
],
"webauthn/createcredential-badargs-rp.https-expected.txt": [
- "487fdb367fd2746db472a93376ee625006cc549a",
+ "6f49ba947419e8bb77ea536efd058587f79e8e05",
"support"
],
"webauthn/createcredential-badargs-rp.https.html": [
- "9958b2c78a1ca80a0a8a11e2fd59128ec9ab2734",
+ "18301138b36105777cdb9ac924a1024b8507a015",
"testharness"
],
"webauthn/createcredential-badargs-user.https-expected.txt": [
- "7a35adf2e197f810bf879f8cd956e67a871b8944",
+ "e6c37869d4e0f31ca4744d82add41631a58a1cab",
"support"
],
"webauthn/createcredential-badargs-user.https.html": [
- "dd1870aeca6651649fc1ef1c0b38b6a05b481d78",
+ "e8587591951f3c3d8e2b6a283779f605a5640241",
"testharness"
],
"webauthn/createcredential-excludecredentials.https-expected.txt": [
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/word-break/word-break-break-word-overflow-wrap-interactions-ref.html b/third_party/blink/web_tests/external/wpt/css/css-text/word-break/word-break-break-word-overflow-wrap-interactions-ref.html
new file mode 100644
index 0000000..3c6ab386
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-text/word-break/word-break-break-word-overflow-wrap-interactions-ref.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<title>CSS Test: word-break: break-word and overflow-wrap interaction</title>
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1296042">
+<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
+<style>
+ div {
+ float: left;
+ width: 100px;
+ height: 100px;
+ border: 1px solid black;
+ margin: 10px;
+ overflow-wrap: anywhere;
+ }
+</style>
+<p>The boxes below should look the same.</p>
+<div>FillerFillerFillerFiller</div>
+<div>FillerFillerFillerFiller</div>
+<div>FillerFillerFillerFiller</div>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/word-break/word-break-break-word-overflow-wrap-interactions.html b/third_party/blink/web_tests/external/wpt/css/css-text/word-break/word-break-break-word-overflow-wrap-interactions.html
new file mode 100644
index 0000000..b4d3720
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-text/word-break/word-break-break-word-overflow-wrap-interactions.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<title>CSS Test: word-break: break-word and overflow-wrap interaction</title>
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1296042">
+<link rel="help" href="https://drafts.csswg.org/css-text/#propdef-word-break">
+<link rel="help" href="https://drafts.csswg.org/css-text/#propdef-overflow-wrap">
+<link rel="help" href="https://drafts.csswg.org/css-text/#valdef-overflow-wrap-anywhere">
+<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
+<link rel="match" href="word-break-break-word-overflow-wrap-interactions-ref.html">
+<style>
+ div {
+ float: left;
+ width: 100px;
+ height: 100px;
+ border: 1px solid black;
+ margin: 10px;
+ }
+</style>
+<p>The boxes below should look the same.</p>
+<div style="word-break: break-word; overflow-wrap: anywhere;">FillerFillerFillerFiller</div>
+<div style="word-break: break-word; overflow-wrap: break-word;">FillerFillerFillerFiller</div>
+<div style="word-break: break-word; overflow-wrap: normal;">FillerFillerFillerFiller</div>
diff --git a/third_party/blink/web_tests/external/wpt/tools/manifest/utils.py b/third_party/blink/web_tests/external/wpt/tools/manifest/utils.py
index 9da79f6..a097ad5 100644
--- a/third_party/blink/web_tests/external/wpt/tools/manifest/utils.py
+++ b/third_party/blink/web_tests/external/wpt/tools/manifest/utils.py
@@ -14,7 +14,10 @@
def from_os_path(path):
assert os.path.sep == "/" or platform.system() == "Windows"
- rv = path.replace(os.path.sep, "/")
+ if "/" == os.path.sep:
+ rv = path
+ else:
+ rv = path.replace(os.path.sep, "/")
if "\\" in rv:
raise ValueError("path contains \\ when separator is %s" % os.path.sep)
return rv
@@ -24,6 +27,8 @@
assert os.path.sep == "/" or platform.system() == "Windows"
if "\\" in path:
raise ValueError("normalised path contains \\")
+ if "/" == os.path.sep:
+ return path
return path.replace("/", os.path.sep)
diff --git a/third_party/blink/web_tests/external/wpt/tools/wptrunner/requirements.txt b/third_party/blink/web_tests/external/wpt/tools/wptrunner/requirements.txt
index 37f4fde..6216fb6 100644
--- a/third_party/blink/web_tests/external/wpt/tools/wptrunner/requirements.txt
+++ b/third_party/blink/web_tests/external/wpt/tools/wptrunner/requirements.txt
@@ -1,7 +1,7 @@
-html5lib == 1.0.1
-mozinfo == 0.10
+html5lib==1.0.1
+mozinfo==0.10
mozlog==4.0
mozdebug==0.1.1
-pillow == 5.2.0
+pillow==5.2.0
urllib3[secure]==1.24.1
-
+requests==2.21.0
diff --git a/third_party/blink/web_tests/external/wpt/tools/wptrunner/wptrunner/formatters/wptscreenshot.py b/third_party/blink/web_tests/external/wpt/tools/wptrunner/wptrunner/formatters/wptscreenshot.py
index bb26eba..48c51418 100644
--- a/third_party/blink/web_tests/external/wpt/tools/wptrunner/wptrunner/formatters/wptscreenshot.py
+++ b/third_party/blink/web_tests/external/wpt/tools/wptrunner/wptrunner/formatters/wptscreenshot.py
@@ -1,23 +1,47 @@
+import requests
from mozlog.structured.formatters.base import BaseFormatter
class WptscreenshotFormatter(BaseFormatter):
"""Formatter that outputs screenshots in the format expected by wpt.fyi."""
+ # TODO(Hexcles): Make this configurable.
+ API = "https://staging.wpt.fyi/api/screenshots/hashes"
+
def __init__(self):
self.cache = set()
def suite_start(self, data):
- # TODO: ask wpt.fyi for known hashes.
- pass
+ # TODO(Hexcles): We might want to move the request into a different
+ # place, make it non-blocking, and handle errors better.
+ params = {}
+ run_info = data.get("run_info", {})
+ if "product" in run_info:
+ params["browser"] = run_info["product"]
+ if "browser_version" in run_info:
+ params["browser_version"] = run_info["browser_version"]
+ if "os" in run_info:
+ params["os"] = run_info["os"]
+ if "os_version" in run_info:
+ params["os_version"] = run_info["os_version"]
+ try:
+ r = requests.get(self.API, params=params)
+ r.raise_for_status()
+ self.cache = set(r.json())
+ except (requests.exceptions.RequestException, ValueError):
+ pass
def test_end(self, data):
if "reftest_screenshots" not in data.get("extra", {}):
return
output = ""
for item in data["extra"]["reftest_screenshots"]:
- if type(item) != dict or item["hash"] in self.cache:
+ if type(item) != dict:
+ # Skip the relation string.
continue
- self.cache.add(item["hash"])
+ checksum = "sha1:" + item["hash"]
+ if checksum in self.cache:
+ continue
+ self.cache.add(checksum)
output += "data:image/png;base64,{}\n".format(item["screenshot"])
return output if output else None