Update web-platform-tests to revision 816924d8a73ac20159d2ec8e2d14dfc2e882cb17

This commit is contained in:
WPT Sync Bot 2019-05-29 10:25:18 +00:00
parent 8dc7a25893
commit dffc3b3bdd
28 changed files with 289 additions and 146 deletions

View file

@ -14,9 +14,6 @@
[Revoke blob URL after creating Request, will fetch]
expected: FAIL
[Revoke blob URL after calling fetch, fetch should succeed]
expected: FAIL
[url-with-fetch.any.html]
[Untitled]

View file

@ -14377,6 +14377,12 @@
{}
]
],
"payment-request/rejects_if_not_active-manual.https.html": [
[
"payment-request/rejects_if_not_active-manual.https.html",
{}
]
],
"payment-request/shipping-address-changed-manual.https.html": [
[
"payment-request/shipping-address-changed-manual.https.html",
@ -173123,6 +173129,18 @@
{}
]
],
"css/css-writing-modes/percentage-padding-in-shrink-to-fit.html": [
[
"css/css-writing-modes/percentage-padding-in-shrink-to-fit.html",
[
[
"/css/reference/nothing.html",
"=="
]
],
{}
]
],
"css/css-writing-modes/relpos-inline-overflowing-block-vrl.html": [
[
"css/css-writing-modes/relpos-inline-overflowing-block-vrl.html",
@ -199051,18 +199069,6 @@
{}
]
],
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html": [
[
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html",
[
[
"/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue-ref.html",
"=="
]
],
{}
]
],
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit.html": [
[
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit.html",
@ -306980,11 +306986,6 @@
{}
]
],
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue-ref.html": [
[
{}
]
],
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit-ref.html": [
[
{}
@ -396658,6 +396659,12 @@
{}
]
],
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html": [
[
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html",
{}
]
],
"html/semantics/embedded-content/media-elements/track/track-element/track-cues-cuechange.html": [
[
"html/semantics/embedded-content/media-elements/track/track-element/track-cues-cuechange.html",
@ -402326,6 +402333,12 @@
{}
]
],
"html/semantics/text-level-semantics/the-ruby-element/rt-without-ruby-crash.html": [
[
"html/semantics/text-level-semantics/the-ruby-element/rt-without-ruby-crash.html",
{}
]
],
"html/semantics/text-level-semantics/the-time-element/001.html": [
[
"html/semantics/text-level-semantics/the-time-element/001.html",
@ -421869,12 +421882,6 @@
}
]
],
"payment-request/rejects_if_not_active_manual.https.html": [
[
"payment-request/rejects_if_not_active_manual.https.html",
{}
]
],
"performance-timeline/case-sensitivity.any.js": [
[
"performance-timeline/case-sensitivity.any.html",
@ -423664,6 +423671,12 @@
{}
]
],
"referrer-policy/generic/iframe-src-change.html": [
[
"referrer-policy/generic/iframe-src-change.html",
{}
]
],
"referrer-policy/generic/link-rel-prefetch.html": [
[
"referrer-policy/generic/link-rel-prefetch.html",
@ -445347,10 +445360,28 @@
}
]
],
"wake-lock/wakelock-abortsignal-set.https.html": [
"wake-lock/wakelock-abortsignal.https.any.js": [
[
"wake-lock/wakelock-abortsignal-set.https.html",
{}
"wake-lock/wakelock-abortsignal.https.any.html",
{
"script_metadata": [
[
"title",
"WakeLock.request() AbortSignal Test"
]
]
}
],
[
"wake-lock/wakelock-abortsignal.https.any.worker.html",
{
"script_metadata": [
[
"title",
"WakeLock.request() AbortSignal Test"
]
]
}
]
],
"wake-lock/wakelock-active-document.https.window.js": [
@ -628982,7 +629013,7 @@
"reftest"
],
"css/css-values/initial-background-color.html": [
"f38226651774f9ac2151b9b951f47f519a4663ea",
"7a6c6173c4f6998f56bbcb7f992ad38fca45ce58",
"reftest"
],
"css/css-values/lh-rlh-on-root-001.html": [
@ -633181,6 +633212,10 @@
"187d875cd5115cec781d18bf4fca715441d5b2d7",
"reftest"
],
"css/css-writing-modes/percentage-padding-in-shrink-to-fit.html": [
"2d4364c886c48c3ef7ebddfb43d2210bdf75e094",
"reftest"
],
"css/css-writing-modes/reference/available-size-001-ref.html": [
"84252946946d4e444f8b0dd69381a1bd04554c80",
"support"
@ -651326,7 +651361,7 @@
"support"
],
"docs/running-tests/from-local-system.md": [
"695f8403da4a8a52eddb25492ac89edd7c33e6e7",
"8f908877c40470cf695e6bc1ae6f21988db7b2ec",
"support"
],
"docs/running-tests/from-web.md": [
@ -658310,7 +658345,7 @@
"testharness"
],
"fetch/corb/script-resource-with-nonsniffable-types.tentative.sub.html": [
"62fd9ca389da9fda5e7c6655ae88be57b7688d5b",
"e599bf26f9445e9e96ee98e4bbab2895e2283fe2",
"testharness"
],
"fetch/corb/style-css-mislabeled-as-html-nosniff.sub.html": [
@ -671177,16 +671212,12 @@
"76019c9b41e4fd4c56f4252d399f088b7b3e4470",
"reftest"
],
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue-ref.html": [
"837c4fd7833d569f2949bf1c2a677836ac851597",
"support"
],
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html": [
"c2d300999eeaa207365b5c0b42f9b033e6b96446",
"reftest"
"427189f6fc78074ae13c58e94ae3d02bc0e513b2",
"testharness"
],
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit-ref.html": [
"c4c14bc2a394ff19c14bfa76c4b59ad5d6ddb618",
"8354041eb2a0aa57b283e12d9c0390f16327ac80",
"support"
],
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit.html": [
@ -671194,7 +671225,7 @@
"reftest"
],
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-transformed-video-ref.html": [
"c3ee804c485b762d8b69614136558bbf2ed833a8",
"39461350b089b9041a71a6ca9aad7f1cfc078d68",
"support"
],
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-transformed-video.html": [
@ -677349,6 +677380,10 @@
"1dfa6836f398cc0d7e15a694655a68771d51c804",
"reftest"
],
"html/semantics/text-level-semantics/the-ruby-element/rt-without-ruby-crash.html": [
"3caed3a02e87ccb9797ba6728bebc5294be2658e",
"testharness"
],
"html/semantics/text-level-semantics/the-ruby-element/ruby-usage-notref.html": [
"f5747811ae40ec6114976d05955e4a85a7c4cf44",
"support"
@ -693525,14 +693560,14 @@
"687d3a52de9f6bfdb10456147586008b18683eb2",
"manual"
],
"payment-request/rejects_if_not_active-manual.https.html": [
"f1d2fb83e0e0b17e0030bc991b0135bd21200aa0",
"manual"
],
"payment-request/rejects_if_not_active.https.html": [
"3c7e85ba970f8c6f2d608f02dd2f60f911124da2",
"testharness"
],
"payment-request/rejects_if_not_active_manual.https.html": [
"f1d2fb83e0e0b17e0030bc991b0135bd21200aa0",
"testharness"
],
"payment-request/resources/page1.html": [
"7fc080d380c4bd46dfb011910e570ee412561b92",
"support"
@ -693930,7 +693965,7 @@
"testharness"
],
"pointerevents/pointerevent_pointerout_pen.html": [
"972f99d95080ab702da79f8125119a2b27778a84",
"a718468c49a965eefee134cc6e6ec4051042cb49",
"testharness"
],
"pointerevents/pointerevent_pointerout_received_once.html": [
@ -694010,7 +694045,7 @@
"testharness"
],
"pointerevents/pointerevent_suppress_compat_events_on_drag_mouse.html": [
"5bab6e66121cebc47213914fb07f7995d8b0722d",
"6ed75ab4cbcda3c673b3328a826019bdade4db5d",
"testharness"
],
"pointerevents/pointerevent_touch-action-auto-css_touch.html": [
@ -695153,6 +695188,10 @@
"28e83df6c2ab9b27417b15948929d044095fdceb",
"testharness"
],
"referrer-policy/generic/iframe-src-change.html": [
"15202a76a1ea3b7ad8deb35cdb33826414d7a95b",
"testharness"
],
"referrer-policy/generic/link-rel-prefetch.html": [
"914ddfc4b225d26c675c61ecf623fdebb10e4524",
"testharness"
@ -704658,7 +704697,7 @@
"support"
],
"resources/chromium/webxr-test.js": [
"8816273705806dd8efb9c33a52a61689f802ecf2",
"5406b6745bdf021b59aa21f669e0cdbc6e858045",
"support"
],
"resources/chromium/webxr-test.js.headers": [
@ -720242,7 +720281,7 @@
"support"
],
"tools/wpt/browser.py": [
"f617fc3252b13b7fba3d24619ece65e2c51f0a4e",
"ddc7837f192ae9307be0028636e92d4faf9b9ced",
"support"
],
"tools/wpt/commands.json": [
@ -723361,8 +723400,8 @@
"7fc080d380c4bd46dfb011910e570ee412561b92",
"support"
],
"wake-lock/wakelock-abortsignal-set.https.html": [
"cc534d13d6ca81763627291680c8740d6bd5aff2",
"wake-lock/wakelock-abortsignal.https.any.js": [
"7961674fea6e42f2a6a2b34b23be486e4685ccea",
"testharness"
],
"wake-lock/wakelock-active-document.https.window.js": [
@ -723418,7 +723457,7 @@
"testharness"
],
"wake-lock/wakelock-type.https.any.js": [
"e11fccc1ddf80320ffdf0bd893e28f30003dabc2",
"cc37c768272512ec412fb749cebd77afa8662ac3",
"testharness"
],
"wasm/META.yml": [
@ -734654,7 +734693,7 @@
"support"
],
"xhr/resources/access-control-basic-options-not-supported.py": [
"0c69c76293eaeebc1e9c18fed7904c3bdcdc0d8e",
"77b274e957ca87270926ad4622d2c79ec9600fed",
"support"
],
"xhr/resources/access-control-basic-preflight-cache-invalidation.py": [

View file

@ -2,6 +2,7 @@
type: testharness
[single-byte-decoder.html?document]
expected: TIMEOUT
[ISO-8859-4: iso_8859-4:1988 (document.characterSet and document.inputEncoding)]
expected: FAIL

View file

@ -312,21 +312,24 @@
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
expected: FAIL
[<iframe>: combined response Content-Type: */* text/html]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
expected: FAIL
[<iframe>: separate response Content-Type: text/html;" text/plain]
expected: FAIL
[<iframe>: combined response Content-Type: text/html */*;charset=gbk]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
[<iframe>: combined response Content-Type: text/html;" text/plain]
expected: FAIL
[<iframe>: separate response Content-Type: text/html;charset=gbk text/plain text/html]
expected: FAIL
[<iframe>: separate response Content-Type: */* text/html]
expected: FAIL
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
expected: FAIL
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
expected: FAIL

View file

@ -11,6 +11,6 @@
[X-Content-Type-Options%3A%20nosniff%0C]
expected: FAIL
[X-Content-Type-Options%3A%20'NosniFF']
[X-Content-Type-Options%3A%20%22nosniFF%22]
expected: FAIL

View file

@ -0,0 +1,4 @@
[traverse_the_history_1.html]
[Multiple history traversals from the same task]
expected: FAIL

View file

@ -1,5 +1,4 @@
[track-cue-rendering-empty-cue.html]
expected: TIMEOUT
[Empty cues]
expected: FAIL

View file

@ -0,0 +1,7 @@
[toggleEvent.html]
[Calling open twice on 'details' fires only one toggle event]
expected: FAIL
[Setting open=true to opened 'details' element should not fire a toggle event at the 'details' element]
expected: FAIL

View file

@ -0,0 +1,4 @@
[iframe-src-change.html]
[Checks that referrerpolicy is respected when an iframe's src changes.]
expected: FAIL

View file

@ -1,4 +1,5 @@
[realtimeanalyser-fft-scaling.html]
expected: TIMEOUT
[X 2048-point FFT peak position is not equal to 64. Got 0.]
expected: FAIL

View file

@ -16,7 +16,7 @@
href="mailto:fremycompany.developer@yahoo.fr"
/ >
<link rel="help" href="http://www.w3.org/TR/css3-values/#attr-notation"/>
<link rel="help" href="http://www.w3.org/TR/css3-values/#common-keywords"/>
<link
rel="match"

View file

@ -0,0 +1,11 @@
<!DOCTYPE html>
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
<link rel="help" href="https://www.w3.org/TR/css-writing-modes-3/">
<link rel="help" href="https://www.w3.org/TR/CSS22/box.html#propdef-padding-top">
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=966795">
<link rel="match" href="../reference/nothing.html">
<meta name="assert" content="Percentage-padding is always resolved against the inline-size of the containing block, even if it's about block padding.">
<p>There should be nothing below.</p>
<div style="float:left;">
<div style="display:flex; writing-mode:vertical-rl; padding:1000%; background:red;"></div>
</div>

View file

@ -11,6 +11,21 @@ On Windows, be sure to add the Python directory (`c:\python2x`, by default) to
your `%Path%` [Environment Variable](http://www.computerhope.com/issues/ch000549.htm),
and read the [Windows Notes](#windows-notes) section below.
<!--
There does not appear to be a cross-platform means of installing `pip`.
https://github.com/web-platform-tests/wpt/pull/16670
-->
Install `pip`. On many systems, this can be achieved with the command `python
-m ensurepip`. If this is not possible, use your system's package manager to
install the `python-pip` package.
Next, install `virtualenv` using the following command:
```bash
pip install virtualenv
```
To get the tests running, you need to set up the test domains in your
[`hosts` file](http://en.wikipedia.org/wiki/Hosts_%28file%29%23Location_in_the_file_system).

View file

@ -53,9 +53,12 @@ function test(mime_type, is_blocking_expected) {
// Some mime types should be protected by CORB without any kind
// of confirmation sniffing.
protected_mime_types = [
"application/gzip",
"application/x-gzip",
"application/x-protobuf",
"application/x-www-form-urlencoded",
"application/zip",
"text/event-stream",
// TODO(lukasza): https://crbug.com/944162: Add application/pdf and
// text/csv to the list of content types tested here (after
// kMimeHandlerViewInCrossProcessFrame gets enabled by default).

View file

@ -1,27 +0,0 @@
<!DOCTYPE html>
<html class="reftest-wait">
<title>Reference for track rendering with empty cue</title>
<script src="/common/reftest-wait.js"></script>
<style>
html { overflow:hidden }
body { margin:0 }
.container {
display: inline-block;
position: relative;
}
</style>
<div class="container">
<video width="320" height="180">
<source src="/media/white.webm" type="video/webm">
<source src="/media/white.mp4" type="video/mp4">
<script>
var video = document.querySelector("video");
video.addEventListener('playing', () => {
video.pause();
takeScreenshot();
}, { once: true});
video.play();
</script>
</video>
</div>
</html>

View file

@ -1,26 +1,16 @@
<!DOCTYPE html>
<html class="reftest-wait">
<title>Track rendering with empty cue</title>
<link rel="match" href="track-cue-rendering-empty-cue-ref.html">
<style>
html { overflow:hidden }
body { margin:0 }
</style>
<script src="/common/reftest-wait.js"></script>
<video width="320" height="180">
<source src="/media/white.webm" type="video/webm">
<source src="/media/white.mp4" type="video/mp4">
<script>
var video = document.querySelector("video");
var track = video.addTextTrack("captions", "regular captions track", "en");
track.addCue(new VTTCue(0, 4, ""));
track.mode = "showing";
<title>Empty cues</title>
<script src="/common/media.js"></script>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
async_test(function(t) {
var video = document.createElement("video");
video.src = getVideoURI("/media/test");
video.addTextTrack("captions", "regular captions track", "en");
video.textTracks[0].addCue(new VTTCue(0, 4, ""));
video.addEventListener('playing', () => {
video.pause();
takeScreenshot();
}, { once: true});
video.onplaying = t.step_func_done();
video.play();
</script>
</video>
</html>
});
</script>

View file

@ -20,6 +20,7 @@
background: green;
color: green;
font-size: 120px;
padding: 2px;
}
</style>
<div class="container">

View file

@ -22,6 +22,7 @@
background: green;
color: green;
font-size: 50px;
padding: 2px;
}
</style>
<div class="container">

View file

@ -0,0 +1,11 @@
<!DOCTYPE html>
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=967255">
<rt style="display:block;">
<div></div>
</rt>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
test(()=> { }, "No crash");
</script>

View file

@ -51,7 +51,7 @@
// Inject pen inputs.
new test_driver.Actions()
.addPointer("pointer1", "pen")
.addPointer("PenPointer1", "pen")
.pointerMove(0, 0, {origin: target0})
.pointerMove(0, 0)
.send();

View file

@ -46,7 +46,6 @@
var target_list = ["target0", "target1"];
var pointer_event_list = ["pointerdown" , "pointermove", "pointerup"];
var mouse_event_list = ["mousedown", "mouseup", "mousemove"];
var last_pointer_event = null;
target_list.forEach(function(targetId) {
var target = document.getElementById(targetId);
@ -64,8 +63,6 @@
if (label === "pointerdown@target0")
event.preventDefault();
last_pointer_event = event;
});
});
@ -77,11 +74,6 @@
event_log.push(event.type + "@" + targetId);
include_next_mousemove = (event.type == "mousedown");
test(function() {
test(function () {
assert_equals(event.timeStamp, last_pointer_event.timeStamp, "The time stamp of the compat mouse event should be the same as its pointerevent");
});
}, event.type + "'s time stamp should be the same as " + last_pointer_event.type + "'s time stamp.");
});
});
});

View file

@ -0,0 +1,37 @@
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<body>
<script>
function nextMessage() {
return new Promise((resolve, reject) => {
window.addEventListener('message', e => resolve(e.data), {once: true});
});
}
promise_test(async () => {
let iframe = document.createElement('iframe');
iframe.setAttribute('src', '/common/security-features/subresource/document.py?first')
iframe.setAttribute('referrerpolicy', 'no-referrer');
document.body.appendChild(iframe);
try {
{
let {referrer: documentReferrer, headers: {referer: httpReferrer}} = await nextMessage();
assert_equals(httpReferrer, undefined, 'expected no HTTP Referer header on initial load');
assert_equals(documentReferrer, undefined, 'expected no document.referrer on initial load');
}
iframe.setAttribute('src', '/common/security-features/subresource/document.py?second');
{
let {referrer: documentReferrer, headers: {referer: httpReferrer}} = await nextMessage();
assert_equals(httpReferrer, undefined, 'expected no HTTP Referer header on src change');
assert_equals(documentReferrer, undefined, 'expected no document.referrer on src change');
}
} finally {
iframe.remove();
}
}, "Checks that referrerpolicy is respected when an iframe's src changes.");
</script>
</body>

View file

@ -340,12 +340,15 @@ class MockRuntime {
this.environmentProviderBinding_.close();
}
closeDataProvider() {
this.dataProviderBinding_.close();
}
updateSessionGeometry(frame_size, display_rotation) {
// This function must exist to ensure that calls to it do not crash, but we
// do not have any use for this data at present.
}
// Utility function
requestRuntimeSession(sessionOptions) {
return this.runtimeSupportsSession(sessionOptions).then((result) => {
@ -366,7 +369,7 @@ class MockRuntime {
let dataProviderPtr = new device.mojom.XRFrameDataProviderPtr();
let dataProviderRequest = mojo.makeRequest(dataProviderPtr);
let dataProviderBinding = new mojo.Binding(
this.dataProviderBinding_ = new mojo.Binding(
device.mojom.XRFrameDataProvider, this, dataProviderRequest);
let clientRequest = mojo.makeRequest(this.sessionClient_);

View file

@ -634,7 +634,11 @@ class Opera(Browser):
class EdgeChromium(Browser):
"""MicrosoftEdge-specific interface."""
platform = {
"Linux": "linux",
"Windows": "win",
"Darwin": "macos"
}.get(uname[0])
product = "edgechromium"
requirements = "requirements_edge_chromium.txt"
@ -642,13 +646,35 @@ class EdgeChromium(Browser):
raise NotImplementedError
def find_binary(self, venv_path=None, channel=None):
raise find_executable("msedge")
binary = None
if self.platform == "win":
binaryname = "msedge"
binary = find_executable(binaryname)
if not binary:
# Use paths from different Edge channels starting with Release\Beta\Dev\Canary
winpaths = [os.path.expanduser("~\\AppData\\Local\\Microsoft\\Edge\\Application"),
os.path.expandvars("$SYSTEMDRIVE\\Program Files\\Microsoft\\Edge Beta\\Application"),
os.path.expandvars("$SYSTEMDRIVE\\Program Files\\Microsoft\\Edge Dev\\Application"),
os.path.expandvars("$SYSTEMDRIVE\\Program Files (x86)\\Microsoft\\Edge Beta\\Application"),
os.path.expandvars("$SYSTEMDRIVE\\Program Files (x86)\\Microsoft\\Edge Dev\\Application"),
os.path.expanduser("~\\AppData\Local\\Microsoft\\Edge SxS\\Application"),]
return find_executable(binaryname, os.pathsep.join(winpaths))
if self.platform == "macos":
binaryname = "Microsoft Edge Canary"
binary = find_executable(binaryname)
if not binary:
macpaths = ["/Applications/Microsoft Edge.app/Contents/MacOS",
os.path.expanduser("~/Applications/Microsoft Edge.app/Contents/MacOS"),
"/Applications/Microsoft Edge Canary.app/Contents/MacOS",
os.path.expanduser("~/Applications/Microsoft Edge Canary.app/Contents/MacOS")]
return find_executable("Microsoft Edge Canary", os.pathsep.join(macpaths))
return binary
def find_webdriver(self, channel=None):
return find_executable("msedgedriver")
def install_webdriver(self, dest=None, channel=None, browser_binary=None):
if uname[0] != "Windows":
if self.platform == "win":
raise ValueError("Only Windows platform is currently supported")
if dest is None:
@ -666,18 +692,28 @@ class EdgeChromium(Browser):
return find_executable("msedgedriver", dest)
def version(self, binary=None, webdriver_binary=None):
if uname[0] != "Windows":
if binary is None:
binary = self.find_binary()
if self.platform != "win":
try:
version_string = call(binary, "--version").strip()
except subprocess.CalledProcessError:
self.logger.warning("Failed to call %s" % binary)
return None
m = re.match(r"(?:MSEdge|Edge) (.*)", version_string)
m = re.match(r"Microsoft Edge (.*) ", version_string)
if not m:
self.logger.warning("Failed to extract version from: %s" % version_string)
return None
return m.group(1)
self.logger.warning("Unable to extract version from binary on Windows.")
else:
if binary is not None:
command = "(Get-Item '%s').VersionInfo.FileVersion" % binary
try:
return call("powershell.exe", command).strip()
except (subprocess.CalledProcessError, OSError):
self.logger.warning("Failed to call %s in PowerShell" % command)
return None
self.logger.warning("Failed to find Edge binary.")
return None
class Edge(Browser):

View file

@ -1,10 +1,23 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>WakeLock: passing an AbortSignal already set aborts</title>
<link rel="help" href="https://w3c.github.io/wake-lock/">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
// META: title=WakeLock.request() AbortSignal Test
'use strict';
promise_test(async t => {
const invalidSignals = [
"string",
123,
{},
true,
Symbol(),
() => {},
self
];
for (let signal of invalidSignals) {
await promise_rejects(t, new TypeError(), WakeLock.request('screen', { signal: signal }));
}
}, "'TypeError' is thrown when the signal option is not an AbortSignal");
promise_test(t => {
const abortController = new AbortController();
const abortSignal = abortController.signal;
@ -28,4 +41,3 @@ promise_test(async t => {
await promise_rejects(t, "AbortError", lock2);
await promise_rejects(t, "AbortError", lock3);
}, "The same AbortSignal can be used to cause multiple wake locks to abort");
</script>

View file

@ -13,7 +13,7 @@ promise_test(t => {
"",
true
];
invalidTypes.map(async invalidType => {
await promise_rejects(t, new TypeError(), WakeLock.request(invalidType));
});
return Promise.all(invalidTypes.map(invalidType => {
return promise_rejects(t, new TypeError(), WakeLock.request(invalidType));
}));
}, "'TypeError' is thrown when set an invalid wake lock type");

View file

@ -3,7 +3,10 @@ def main(request, response):
# Allow simple requests, but deny preflight
if request.method != "OPTIONS":
if "origin" in request.headers:
response.headers.set("Access-Control-Allow-Credentials", "true")
response.headers.set("Access-Control-Allow-Origin", request.headers.get("origin"))
response.headers.set("Access-Control-Allow-Origin", request.headers["origin"])
else:
response.status = 500
else:
response.status = 400