Skip to content

Commit

Permalink
Import wpt@4d4166da585da2a0b00c123ae4fe853f107669e1
Browse files Browse the repository at this point in the history
Using wpt-import in Chromium 84a440a.
With Chromium commits locally applied on WPT:
9c24e63 "Check for first frame in CreateImageBitmap"
a8a2808 "[Security][Coop] Browsing context switch reporting WPT"
b2436c3 "Ensure cloning a template element into an inactive document does not crash."
027aefc "OPTION element: Update OPTION label even if it has invalid markup"
0776aa6 "Mark pointerevent_pointermove_in_pointerlock test non flaky"
d2ee98f "Move manual offscreen wpt tests to own folder"
458dc85 "WPT: Migrate content-visibility tests to wpt."
84f61c8 "Exclude non relevants reports from the COOP-opener-breakage tests."


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@google.com

No-Export: true
Change-Id: I10d45089057aad743e2b4aca2465a6928edeced7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2239528
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@{#776992}
  • Loading branch information
Chromium WPT Sync authored and Commit Bot committed Jun 10, 2020
1 parent 2ee54c3 commit 966eb93
Show file tree
Hide file tree
Showing 10 changed files with 107 additions and 97 deletions.
22 changes: 11 additions & 11 deletions third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json
Original file line number Diff line number Diff line change
Expand Up @@ -154300,7 +154300,7 @@
],
"resources": {
"accept-ch-and-redir.py": [
"706983c9a06dcf52588394ed851e36503bc647a0",
"82e557da2a3ceaf4df47ed681ea09150ef4a6937",
[]
],
"accept-ch-blank.html": [
Expand Down Expand Up @@ -154336,19 +154336,19 @@
[]
],
"do-not-expect-received.py": [
"ba647ede53bceaf88e4ab40b51b87243633e9bc7",
"3150dc585c81d90c4e014b81d9685de9bb02c692",
[]
],
"echo-client-hints-received.py": [
"be712293be3c749d98d328dd2fec7334da4ad9b2",
"df8a46d3cdf77c245f25ccb640ebed1878b80cc6",
[]
],
"expect-client-hints-headers.html": [
"cda1f81978d9a8dbc7dd12286d8885f16007b9e0",
[]
],
"expect-received.py": [
"bec3bffc2822a602e1f7a7b0c7b9b6e9c145ab95",
"c0b9596f2d1dc8a44e4e4097054faf555162ff6a",
[]
],
"feature-policy-with-cross-origin-subresource.html": [
Expand Down Expand Up @@ -154411,15 +154411,15 @@
[]
],
"echo-client-hints-received.py": [
"d978754a20509a5b488d06af73efc9806d67537e",
"ca623d40f88305bb2bb5101612465bb25db6a021",
[]
],
"echo-ua-client-hints-received.py": [
"57cf50457d352dec9bcda9be8847c9e66c9e25cc",
"eea62bf94039c291fac538b6a04ed2528301206c",
[]
],
"expect-client-hints-headers-iframe.py": [
"25c2b2f765ddb32c11d2c6a7645e4078b23ffce8",
"baf517b2344c51e5bdfd84ae56af1fc99094f105",
[]
],
"expect-client-hints-headers.html": [
Expand Down Expand Up @@ -154447,11 +154447,11 @@
[]
],
"sec-ch-ua.py": [
"f77eee8c4e9b13a24b10eba34147d3b485e923bc",
"01bcb9682a1ae9d176b9afe7c2d3376f1bdf8c13",
[]
],
"stale-echo-client-hints.py": [
"0d0d4a44a9851f0dfb794810f3387517ea780c12",
"664f7c4c15d08a8ae608c05b0051b8aba6a1a5d1",
[]
]
},
Expand Down Expand Up @@ -202770,7 +202770,7 @@
[]
],
"reporting-common.js": [
"d834c080e44787a335bc6ed525e482dda0c94ed3",
"0b96a0f6c81b7cca5ca40774e1b15cf651644fa7",
[]
],
"universal-worker.js": [
Expand Down Expand Up @@ -258580,7 +258580,7 @@
]
],
"report-clips-sample.https.html": [
"6434486655325d654b1ee8f31f18d24d3ef5ee69",
"696a27ba7569116527c4a9c85ce4ac53d4fbc6e7",
[
null,
{}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
def main(request, response):
url = ''
if 'url' in request.GET:
url = request.GET['url']
return 301, [('Location', url),('Accept-CH', 'device-memory, DPR')], ''
url = b''
if b'url' in request.GET:
url = request.GET[b'url']
return 301, [(b'Location', url),(b'Accept-CH', b'device-memory, DPR')], u''
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ def main(request, response):
verify_subresource_state() in accept-ch-test.js
"""

if "device-memory" in request.headers:
result = "FAIL"
if b"device-memory" in request.headers:
result = u"FAIL"
else:
result = "PASS"
result = u"PASS"

content = '''
content = u'''
<script>
window.opener.postMessage("%s" , "*");
</script>
''' % (result)
headers = [("Content-Type", "text/html"), ("Access-Control-Allow-Origin", "*")]
headers = [(b"Content-Type", b"text/html"), (b"Access-Control-Allow-Origin", b"*")]
return 200, headers, content
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ def main(request, response):
request headers were received.
"""

response.headers.append("Access-Control-Allow-Origin", "*")
response.headers.append("Access-Control-Allow-Headers", "*")
response.headers.append("Access-Control-Expose-Headers", "*")
response.headers.append(b"Access-Control-Allow-Origin", b"*")
response.headers.append(b"Access-Control-Allow-Headers", b"*")
response.headers.append(b"Access-Control-Expose-Headers", b"*")

if "device-memory" in request.headers:
response.headers.set("device-memory-received", request.headers.get("device-memory"))
if b"device-memory" in request.headers:
response.headers.set(b"device-memory-received", request.headers.get(b"device-memory"))
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,16 @@ def main(request, response):
verify_navigation_state() in accept-ch-test.js
"""

if "device-memory" in request.headers and "sec-ch-ua" in request.headers and "sec-ch-ua-mobile" in request.headers:
result = "PASS"
if b"device-memory" in request.headers and b"sec-ch-ua" in request.headers and b"sec-ch-ua-mobile" in request.headers:
result = u"PASS"
else:
result = "FAIL"
result = u"FAIL"

content = '''
content = u'''
<script>
let messagee = window.opener || window.parent;
messagee.postMessage("%s" , "*");
</script>
''' % (result)
headers = [("Content-Type", "text/html"), ("Access-Control-Allow-Origin", "*")]
headers = [(b"Content-Type", b"text/html"), (b"Access-Control-Allow-Origin", b"*")]
return 200, headers, content
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,23 @@ def main(request, response):
request headers were received.
"""

response.headers.append("Access-Control-Allow-Origin", "*")
response.headers.append("Access-Control-Allow-Headers", "*")
response.headers.append("Access-Control-Expose-Headers", "*")
response.headers.append(b"Access-Control-Allow-Origin", b"*")
response.headers.append(b"Access-Control-Allow-Headers", b"*")
response.headers.append(b"Access-Control-Expose-Headers", b"*")

if "device-memory" in request.headers:
response.headers.set("device-memory-received", request.headers.get("device-memory"))
if "dpr" in request.headers:
response.headers.set("dpr-received", request.headers.get("dpr"))
if "viewport-width" in request.headers:
response.headers.set("viewport-width-received", request.headers.get("viewport-width"))
if "rtt" in request.headers:
response.headers.set("rtt-received", request.headers.get("rtt"))
if "downlink" in request.headers:
response.headers.set("downlink-received", request.headers.get("downlink"))
if "ect" in request.headers:
response.headers.set("ect-received", request.headers.get("ect"))
if "Sec-CH-Lang" in request.headers:
response.headers.set("lang-received", request.headers.get("Sec-CH-Lang"))
if "sec-ch-ua-mobile" in request.headers:
response.headers.set("mobile-received", request.headers.get("sec-ch-ua-mobile"))
if b"device-memory" in request.headers:
response.headers.set(b"device-memory-received", request.headers.get(b"device-memory"))
if b"dpr" in request.headers:
response.headers.set(b"dpr-received", request.headers.get(b"dpr"))
if b"viewport-width" in request.headers:
response.headers.set(b"viewport-width-received", request.headers.get(b"viewport-width"))
if b"rtt" in request.headers:
response.headers.set(b"rtt-received", request.headers.get(b"rtt"))
if b"downlink" in request.headers:
response.headers.set(b"downlink-received", request.headers.get(b"downlink"))
if b"ect" in request.headers:
response.headers.set(b"ect-received", request.headers.get(b"ect"))
if b"Sec-CH-Lang" in request.headers:
response.headers.set(b"lang-received", request.headers.get(b"Sec-CH-Lang"))
if b"sec-ch-ua-mobile" in request.headers:
response.headers.set(b"mobile-received", request.headers.get(b"sec-ch-ua-mobile"))
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,25 @@ def main(request, response):
request headers were received.
"""

response.headers.append("Access-Control-Allow-Origin", "*")
response.headers.append("Access-Control-Allow-Headers", "*")
response.headers.append("Access-Control-Expose-Headers", "*")
response.headers.append(b"Access-Control-Allow-Origin", b"*")
response.headers.append(b"Access-Control-Allow-Headers", b"*")
response.headers.append(b"Access-Control-Expose-Headers", b"*")

client_hint_headers = [
"sec-ch-ua",
"sec-ch-ua-arch",
"sec-ch-ua-platform",
"sec-ch-ua-platform-version",
"sec-ch-ua-model",
"sec-ch-ua-full-version",
b"sec-ch-ua",
b"sec-ch-ua-arch",
b"sec-ch-ua-platform",
b"sec-ch-ua-platform-version",
b"sec-ch-ua-model",
b"sec-ch-ua-full-version",
]

request_client_hints = {i: request.headers.get(i) for i in client_hint_headers}

for header in client_hint_headers:
if request_client_hints[header] is not None:
response.headers.set(header + "-recieved", request_client_hints[header])
response.headers.set(header + b"-recieved", request_client_hints[header])

headers = []
content = ""
content = u""
return 200, headers, content
Original file line number Diff line number Diff line change
@@ -1,21 +1,29 @@
from wptserve.utils import isomorphic_decode

def main(request, response):
"""
Simple handler that returns an HTML response that passes when the required
Client Hints are received as request headers.
"""
values = [ "Device-Memory", "DPR", "Viewport-Width", "Sec-CH-UA", "Sec-CH-UA-Mobile" ]
values = [b"Device-Memory", b"DPR", b"Viewport-Width", b"Sec-CH-UA", b"Sec-CH-UA-Mobile"]

result = "PASS"
log = ""
result = u"PASS"
log = u""
for value in values:
should = (request.GET[value.lower()] == "true")
should = (request.GET[value.lower()] == b"true")
present = request.headers.get(value.lower()) or request.headers.get(value)
log += value + " " + str(should) + " " + str(present) +", "
if present:
log += isomorphic_decode(value) + u" " + str(should) + u" " + isomorphic_decode(present) + u", "
else:
log += isomorphic_decode(value) + u" " + str(should) + u" " + str(present) + u", "
if (should and not present) or (not should and present):
result = "FAIL " + value + " " + str(should) + " " + str(present)
if present:
result = u"FAIL " + isomorphic_decode(value) + u" " + str(should) + u" " + isomorphic_decode(present)
else:
result = u"FAIL " + isomorphic_decode(value) + u" " + str(should) + u" " + str(present)
break

response.headers.append("Access-Control-Allow-Origin", "*")
body = "<script>console.log('" + log +"'); window.parent.postMessage('" + result + "', '*');</script>"
response.headers.append(b"Access-Control-Allow-Origin", b"*")
body = u"<script>console.log('" + log + u"'); window.parent.postMessage('" + result + u"', '*');</script>"

response.content = body
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
def main(request, response):
ua = request.headers.get('sec-ch-ua', '')
response.headers.set("Content-Type", "text/html")
response.headers.set("Accept-CH", "UA")
response.headers.set("Accept-CH-Lifetime", "10")
response.content = '''
ua = request.headers.get(b'sec-ch-ua', b'')
response.headers.set(b"Content-Type", b"text/html")
response.headers.set(b"Accept-CH", b"UA")
response.headers.set(b"Accept-CH-Lifetime", b"10")
response.content = b'''
<script>
window.opener.postMessage({ header: '%s' }, "*");
</script>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,31 +1,33 @@
import random
import string

from wptserve.utils import isomorphic_encode

def id_token():
letters = string.ascii_lowercase
return ''.join(random.choice(letters) for i in range(20))
return u''.join(random.choice(letters) for i in range(20))

def main(request, response):
client_hint_headers = [
"device-memory",
"dpr",
"width",
"viewport-width",
"rtt",
"downlink",
"ect",
"sec-ch-lang",
"sec-ch-ua",
"sec-ch-ua-arch",
"sec-ch-ua-platform",
"sec-ch-ua-platform-version",
"sec-ch-ua-model",
b"device-memory",
b"dpr",
b"width",
b"viewport-width",
b"rtt",
b"downlink",
b"ect",
b"sec-ch-lang",
b"sec-ch-ua",
b"sec-ch-ua-arch",
b"sec-ch-ua-platform",
b"sec-ch-ua-platform-version",
b"sec-ch-ua-model",
]

client_hints_curr = {i:request.headers.get(i) for i in client_hint_headers}

token = request.GET.first("token", None)
is_query = request.GET.first("query", None) is not None
token = request.GET.first(b"token", None)
is_query = request.GET.first(b"query", None) is not None
with request.server.stash.lock:
stash = request.server.stash.take(token)
if stash != None:
Expand All @@ -44,18 +46,18 @@ def main(request, response):

for header in client_hint_headers:
if client_hints_curr[header] is not None:
response.headers.set(header+"-recieved", client_hints_curr[header])
response.headers.set(header+b"-recieved", client_hints_curr[header])
if (header in client_hints_prev) and (client_hints_prev[header] is not None):
response.headers.set(header+"-previous", client_hints_prev[header])
response.headers.set(header+b"-previous", client_hints_prev[header])

if is_query:
headers = [("Count", count)]
content = ""
headers = [(b"Count", count)]
content = u""
return 200, headers, content
else:
unique_id = id_token()
headers = [("Content-Type", "text/html"),
("Cache-Control", "private, max-age=0, stale-while-revalidate=60"),
("Unique-Id", unique_id)]
content = "report('{}')".format(unique_id)
headers = [(b"Content-Type", b"text/html"),
(b"Cache-Control", b"private, max-age=0, stale-while-revalidate=60"),
(b"Unique-Id", isomorphic_encode(unique_id))]
content = u"report('{}')".format(unique_id)
return 200, headers, content

0 comments on commit 966eb93

Please sign in to comment.