mirror of
https://github.com/servo/servo.git
synced 2025-06-27 18:43:40 +01:00
Update web-platform-tests to revision 122a4672fa0dc554a6e7528fa3487fd907c792ee
This commit is contained in:
parent
fb1123495f
commit
93d826f7ba
301 changed files with 4775 additions and 1769 deletions
File diff suppressed because it is too large
Load diff
|
@ -326,3 +326,12 @@
|
||||||
[Matching font-weight: '501' should prefer '500' over '450 460']
|
[Matching font-weight: '501' should prefer '500' over '450 460']
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[Matching font-weight: '501' should prefer '501' over '502 510']
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Matching font-style: 'oblique 20deg' should prefer 'oblique 40deg 50deg' over 'oblique 10deg']
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Matching font-style: 'italic' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,3 @@
|
||||||
[scroll-behavior: smooth on DIV element]
|
[scroll-behavior: smooth on DIV element]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Instant scrolling while doing history navigation.]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
|
|
||||||
|
|
||||||
[single-byte-decoder.html?XMLHttpRequest]
|
[single-byte-decoder.html?XMLHttpRequest]
|
||||||
expected: CRASH
|
expected: TIMEOUT
|
||||||
[ISO-8859-2: iso_8859-2:1987 (XMLHttpRequest)]
|
[ISO-8859-2: iso_8859-2:1987 (XMLHttpRequest)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -93,9 +93,6 @@
|
||||||
[windows-1255: x-cp1255 (XMLHttpRequest)]
|
[windows-1255: x-cp1255 (XMLHttpRequest)]
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
||||||
[windows-1258: windows-1258 (XMLHttpRequest)]
|
|
||||||
expected: TIMEOUT
|
|
||||||
|
|
||||||
[x-mac-cyrillic: x-mac-cyrillic (XMLHttpRequest)]
|
[x-mac-cyrillic: x-mac-cyrillic (XMLHttpRequest)]
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
||||||
|
@ -108,10 +105,28 @@
|
||||||
[windows-1257: x-cp1257 (XMLHttpRequest)]
|
[windows-1257: x-cp1257 (XMLHttpRequest)]
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
||||||
[windows-1254: iso_8859-9 (XMLHttpRequest)]
|
[windows-1253: x-cp1253 (XMLHttpRequest)]
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
||||||
[windows-1257: windows-1257 (XMLHttpRequest)]
|
[windows-1254: iso88599 (XMLHttpRequest)]
|
||||||
|
expected: TIMEOUT
|
||||||
|
|
||||||
|
[windows-1254: iso-8859-9 (XMLHttpRequest)]
|
||||||
|
expected: TIMEOUT
|
||||||
|
|
||||||
|
[windows-1254: csisolatin5 (XMLHttpRequest)]
|
||||||
|
expected: TIMEOUT
|
||||||
|
|
||||||
|
[windows-1254: cp1254 (XMLHttpRequest)]
|
||||||
|
expected: TIMEOUT
|
||||||
|
|
||||||
|
[windows-1254: iso8859-9 (XMLHttpRequest)]
|
||||||
|
expected: TIMEOUT
|
||||||
|
|
||||||
|
[windows-1254: iso-ir-148 (XMLHttpRequest)]
|
||||||
|
expected: TIMEOUT
|
||||||
|
|
||||||
|
[windows-1256: windows-1256 (XMLHttpRequest)]
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
[format-field-id-null.window.html]
|
||||||
|
[EventSource: id field set to %00x]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[EventSource: id field set to x%00x]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[EventSource: id field set to %00%00]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[EventSource: id field set to %20%00]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[EventSource: id field set to x%00]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
[redirect-location-escape.tentative.any.html]
|
||||||
|
[Redirect to invalid UTF-8]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Redirect to unescaped UTF-8]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Escaping produces double-percent]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Redirect to escaped and unescaped UTF-8]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
||||||
|
[redirect-location-escape.tentative.any.worker.html]
|
||||||
|
[Redirect to invalid UTF-8]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Redirect to unescaped UTF-8]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Escaping produces double-percent]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Redirect to escaped and unescaped UTF-8]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -312,3 +312,18 @@
|
||||||
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: separate response Content-Type: text/html;" text/plain]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: combined response Content-Type: text/html */*;charset=gbk]
|
||||||
|
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
|
||||||
|
|
||||||
|
|
|
@ -11,3 +11,6 @@
|
||||||
[X-Content-Type-Options%3A%20nosniff%0C]
|
[X-Content-Type-Options%3A%20nosniff%0C]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[Content-Type-Options%3A%20nosniff]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
[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
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[script-onerror-insertion-point-2.html]
|
||||||
|
expected: TIMEOUT
|
|
@ -0,0 +1,2 @@
|
||||||
|
[Worker-constructor.html]
|
||||||
|
expected: ERROR
|
2
tests/wpt/mozilla/meta/css/iframe/hide_and_show.html.ini
Normal file
2
tests/wpt/mozilla/meta/css/iframe/hide_and_show.html.ini
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
[hide_and_show.html]
|
||||||
|
expected: FAIL
|
2
tests/wpt/mozilla/meta/css/stacked_layers.html.ini
Normal file
2
tests/wpt/mozilla/meta/css/stacked_layers.html.ini
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
[stacked_layers.html]
|
||||||
|
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
||||||
[transition_calc_implicit.html]
|
|
||||||
expected: TIMEOUT
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[resize_after_load.html]
|
||||||
|
expected: FAIL
|
|
@ -95,7 +95,7 @@ jobs:
|
||||||
displayName: 'Publish results'
|
displayName: 'Publish results'
|
||||||
inputs:
|
inputs:
|
||||||
artifactName: 'infrastructure'
|
artifactName: 'infrastructure'
|
||||||
condition: succeededOrFailed()
|
condition: always()
|
||||||
|
|
||||||
- job: tools_unittest_macOS
|
- job: tools_unittest_macOS
|
||||||
displayName: 'tools/ unittests (macOS)'
|
displayName: 'tools/ unittests (macOS)'
|
||||||
|
@ -160,7 +160,7 @@ jobs:
|
||||||
displayName: 'Publish results'
|
displayName: 'Publish results'
|
||||||
inputs:
|
inputs:
|
||||||
artifactName: 'infrastructure'
|
artifactName: 'infrastructure'
|
||||||
condition: succeededOrFailed()
|
condition: always()
|
||||||
- template: tools/ci/azure/cleanup_win10.yml
|
- template: tools/ci/azure/cleanup_win10.yml
|
||||||
|
|
||||||
- job: results_edge
|
- job: results_edge
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
version: 1
|
version: 1
|
||||||
reporting: checks-v1
|
|
||||||
policy:
|
policy:
|
||||||
pullRequests: public
|
pullRequests: public
|
||||||
tasks:
|
tasks:
|
||||||
|
@ -71,13 +70,14 @@ tasks:
|
||||||
public/results:
|
public/results:
|
||||||
path: /home/test/artifacts
|
path: /home/test/artifacts
|
||||||
type: directory
|
type: directory
|
||||||
|
env:
|
||||||
|
TASK_EVENT: "${event_str}"
|
||||||
command:
|
command:
|
||||||
- /bin/bash
|
- /bin/bash
|
||||||
- --login
|
- --login
|
||||||
- -c
|
- -c
|
||||||
- set -ex;
|
- set -ex;
|
||||||
echo "wpt-${browser.name}-${browser.channel}-${chunk[0]}-${chunk[1]}";
|
echo "wpt-${browser.name}-${browser.channel}-${chunk[0]}-${chunk[1]}";
|
||||||
export TASK_EVENT='${event_str}';
|
|
||||||
~/start.sh
|
~/start.sh
|
||||||
${event.repository.url}
|
${event.repository.url}
|
||||||
${event.ref}
|
${event.ref}
|
||||||
|
@ -89,6 +89,7 @@ tasks:
|
||||||
--browser=${browser.name}
|
--browser=${browser.name}
|
||||||
--channel=${browser.channel}
|
--channel=${browser.channel}
|
||||||
--xvfb
|
--xvfb
|
||||||
|
run-all
|
||||||
./tools/ci/taskcluster-run.py
|
./tools/ci/taskcluster-run.py
|
||||||
${browser.name}
|
${browser.name}
|
||||||
--
|
--
|
||||||
|
@ -161,6 +162,8 @@ tasks:
|
||||||
public/results:
|
public/results:
|
||||||
path: /home/test/artifacts
|
path: /home/test/artifacts
|
||||||
type: directory
|
type: directory
|
||||||
|
env:
|
||||||
|
TASK_EVENT: "${event_str}"
|
||||||
# Fetch the GitHub-provided merge commit (rather than the pull
|
# Fetch the GitHub-provided merge commit (rather than the pull
|
||||||
# request branch) so that the tasks simulate the behavior of the
|
# request branch) so that the tasks simulate the behavior of the
|
||||||
# submitted patch after it is merged. Using the merge commit also
|
# submitted patch after it is merged. Using the merge commit also
|
||||||
|
@ -173,7 +176,6 @@ tasks:
|
||||||
- -c
|
- -c
|
||||||
- set -ex;
|
- set -ex;
|
||||||
echo "${operation.name}";
|
echo "${operation.name}";
|
||||||
export TASK_EVENT='${event_str}';
|
|
||||||
~/start.sh
|
~/start.sh
|
||||||
${event.repository.clone_url}
|
${event.repository.clone_url}
|
||||||
refs/pull/${event.number}/merge
|
refs/pull/${event.number}/merge
|
||||||
|
@ -314,13 +316,14 @@ tasks:
|
||||||
public/results:
|
public/results:
|
||||||
path: /home/test/artifacts
|
path: /home/test/artifacts
|
||||||
type: directory
|
type: directory
|
||||||
|
env:
|
||||||
|
TASK_EVENT: "${event_str}"
|
||||||
command:
|
command:
|
||||||
- /bin/bash
|
- /bin/bash
|
||||||
- --login
|
- --login
|
||||||
- -c
|
- -c
|
||||||
- set -ex;
|
- set -ex;
|
||||||
echo "${operation.name}";
|
echo "${operation.name}";
|
||||||
export TASK_EVENT='${event_str}';
|
|
||||||
~/start.sh
|
~/start.sh
|
||||||
${event.repository.clone_url}
|
${event.repository.clone_url}
|
||||||
${checkout_ref}
|
${checkout_ref}
|
||||||
|
|
|
@ -343,6 +343,8 @@ def genTestUtils(TESTOUTPUTDIR, IMAGEOUTPUTDIR, TEMPLATEFILE, NAME2DIRFILE, ISOF
|
||||||
|
|
||||||
notes = '<p class="notes">%s' % test['notes'] if 'notes' in test else ''
|
notes = '<p class="notes">%s' % test['notes'] if 'notes' in test else ''
|
||||||
|
|
||||||
|
timeout = '\n<meta name="timeout" content="%s">' % test['timeout'] if 'timeout' in test else ''
|
||||||
|
|
||||||
scripts = ''
|
scripts = ''
|
||||||
for s in test.get('scripts', []):
|
for s in test.get('scripts', []):
|
||||||
scripts += '<script src="%s"></script>\n' % (s)
|
scripts += '<script src="%s"></script>\n' % (s)
|
||||||
|
@ -385,7 +387,7 @@ def genTestUtils(TESTOUTPUTDIR, IMAGEOUTPUTDIR, TEMPLATEFILE, NAME2DIRFILE, ISOF
|
||||||
'mapped_name':mapped_name,
|
'mapped_name':mapped_name,
|
||||||
'desc':desc, 'escaped_desc':escaped_desc,
|
'desc':desc, 'escaped_desc':escaped_desc,
|
||||||
'prev':prev, 'next':next, 'refs':refs, 'notes':notes, 'images':images,
|
'prev':prev, 'next':next, 'refs':refs, 'notes':notes, 'images':images,
|
||||||
'fonts':fonts, 'fonthack':fonthack,
|
'fonts':fonts, 'fonthack':fonthack, 'timeout': timeout,
|
||||||
'canvas':canvas, 'expected':expectation_html, 'code':code,
|
'canvas':canvas, 'expected':expectation_html, 'code':code,
|
||||||
'scripts':scripts + extra_script,
|
'scripts':scripts + extra_script,
|
||||||
'fallback':fallback
|
'fallback':fallback
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>FileAPI Test: Verify behavior of Blob URL in unique origins</title>
|
<title>FileAPI Test: Verify behavior of Blob URL in unique origins</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
<script src="/resources/testharnessreport.js"></script>
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
// META: timeout=long
|
||||||
async_test(t => {
|
async_test(t => {
|
||||||
const run_result = 'test_frame_OK';
|
const run_result = 'test_frame_OK';
|
||||||
const blob_contents = '<!doctype html>\n<meta charset="utf-8">\n' +
|
const blob_contents = '<!doctype html>\n<meta charset="utf-8">\n' +
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>IDBIndex.multiEntry - a 1000 entry multiEntry array</title>
|
<title>IDBIndex.multiEntry - a 1000 entry multiEntry array</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<link rel="author" href="mailto:odinho@opera.com" title="Odin Hørthe Omdal">
|
<link rel="author" href="mailto:odinho@opera.com" title="Odin Hørthe Omdal">
|
||||||
<link rel=help href="http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#key-construct">
|
<link rel=help href="http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#key-construct">
|
||||||
<link rel=assert title="XXX">
|
<link rel=assert title="XXX">
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>Accelerometer iframe test</title>
|
<title>Accelerometer iframe test</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<link rel="author" title="Intel" href="http://www.intel.com">
|
<link rel="author" title="Intel" href="http://www.intel.com">
|
||||||
<link rel="help" href="https://www.w3.org/TR/accelerometer/">
|
<link rel="help" href="https://www.w3.org/TR/accelerometer/">
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>Accelerometer Test</title>
|
<title>Accelerometer Test</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<link rel="author" title="Intel" href="http://www.intel.com">
|
<link rel="author" title="Intel" href="http://www.intel.com">
|
||||||
<link rel="help" href="https://www.w3.org/TR/accelerometer/">
|
<link rel="help" href="https://www.w3.org/TR/accelerometer/">
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
|
|
|
@ -0,0 +1,98 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<meta charset=utf-8>
|
||||||
|
<title>Correctness of worklet animation state when timeline becomes newly
|
||||||
|
active or inactive.</title>
|
||||||
|
<link rel="help" href="https://drafts.css-houdini.org/css-animationworklet/">
|
||||||
|
<script src="/resources/testharness.js"></script>
|
||||||
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
<script src="/web-animations/testcommon.js"></script>
|
||||||
|
<script src="common.js"></script>
|
||||||
|
<style>
|
||||||
|
.scroller {
|
||||||
|
overflow: auto;
|
||||||
|
height: 100px;
|
||||||
|
width: 100px;
|
||||||
|
}
|
||||||
|
.contents {
|
||||||
|
height: 1000px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<body>
|
||||||
|
<div id="log"></div>
|
||||||
|
<script>
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
function createScroller(test) {
|
||||||
|
var scroller = createDiv(test);
|
||||||
|
scroller.innerHTML = "<div class='contents'></div>";
|
||||||
|
scroller.classList.add('scroller');
|
||||||
|
return scroller;
|
||||||
|
}
|
||||||
|
|
||||||
|
function createScrollLinkedWorkletAnimation(test) {
|
||||||
|
const timeline = new ScrollTimeline({
|
||||||
|
scrollSource: createScroller(test),
|
||||||
|
timeRange: 1000
|
||||||
|
});
|
||||||
|
const DURATION = 10000; // ms
|
||||||
|
const KEYFRAMES = { transform: ['translateY(100px)', 'translateY(200px)'] };
|
||||||
|
return new WorkletAnimation('passthrough', new KeyframeEffect(createDiv(test),
|
||||||
|
KEYFRAMES, DURATION), timeline);
|
||||||
|
}
|
||||||
|
|
||||||
|
setup(setupAndRegisterTests, {explicit_done: true});
|
||||||
|
|
||||||
|
function setupAndRegisterTests() {
|
||||||
|
registerPassthroughAnimator().then(() => {
|
||||||
|
|
||||||
|
promise_test(async t => {
|
||||||
|
const animation = createScrollLinkedWorkletAnimation(t);
|
||||||
|
const scroller = animation.timeline.scrollSource;
|
||||||
|
const maxScroll = scroller.scrollHeight - scroller.clientHeight;
|
||||||
|
const timeRange = animation.timeline.timeRange;
|
||||||
|
scroller.scrollTop = 0.2 * maxScroll;
|
||||||
|
|
||||||
|
// Make the timeline inactive.
|
||||||
|
scroller.style.display = "none"
|
||||||
|
// Force relayout.
|
||||||
|
scroller.scrollTop;
|
||||||
|
|
||||||
|
animation.play();
|
||||||
|
assert_equals(animation.currentTime, null,
|
||||||
|
'Initial current time must be unresolved in idle state.');
|
||||||
|
assert_equals(animation.startTime, null,
|
||||||
|
'Initial start time must be unresolved in idle state.');
|
||||||
|
waitForAnimationFrameWithCondition(_=> {
|
||||||
|
return animation.playState == "running"
|
||||||
|
});
|
||||||
|
assert_equals(animation.currentTime, null,
|
||||||
|
'Initial current time must be unresolved in playing state.');
|
||||||
|
assert_equals(animation.startTime, null,
|
||||||
|
'Initial start time must be unresolved in playing state.');
|
||||||
|
|
||||||
|
// Make the timeline active.
|
||||||
|
scroller.style.display = ""
|
||||||
|
scroller.scrollTop;
|
||||||
|
|
||||||
|
assert_times_equal(animation.currentTime, 200,
|
||||||
|
'Current time must be initialized.');
|
||||||
|
assert_times_equal(animation.startTime, 0,
|
||||||
|
'Start time must be initialized.');
|
||||||
|
|
||||||
|
// Make the timeline inactive again.
|
||||||
|
scroller.style.display = "none"
|
||||||
|
scroller.scrollTop;
|
||||||
|
|
||||||
|
assert_times_equal(animation.currentTime, 200,
|
||||||
|
'Current time must be the previous current time.');
|
||||||
|
assert_equals(animation.startTime, null,
|
||||||
|
'Initial start time must be unresolved.');
|
||||||
|
|
||||||
|
}, 'When timeline time becomes inactive previous current time must be ' +
|
||||||
|
'the current time and start time unresolved');
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</body>
|
|
@ -264,69 +264,6 @@ backgroundFetchTest(async (test, backgroundFetch) => {
|
||||||
|
|
||||||
}, 'Fetches with mixed content should fail.');
|
}, 'Fetches with mixed content should fail.');
|
||||||
|
|
||||||
backgroundFetchTest(async (test, backgroundFetch) => {
|
|
||||||
const registrationId = 'matchexistingrequest';
|
|
||||||
const registration =
|
|
||||||
await backgroundFetch.fetch(registrationId, 'resources/feature-name.txt');
|
|
||||||
|
|
||||||
assert_equals(registration.id, registrationId);
|
|
||||||
|
|
||||||
const {type, eventRegistration, results} = await getMessageFromServiceWorker();
|
|
||||||
assert_equals('backgroundfetchsuccess', type);
|
|
||||||
assert_equals(results.length, 1);
|
|
||||||
|
|
||||||
assert_equals(eventRegistration.id, registration.id);
|
|
||||||
assert_equals(eventRegistration.result, 'success');
|
|
||||||
assert_equals(eventRegistration.failureReason, '');
|
|
||||||
|
|
||||||
assert_true(results[0].url.includes('resources/feature-name.txt'));
|
|
||||||
assert_equals(results[0].status, 200);
|
|
||||||
assert_equals(results[0].text, 'Background Fetch');
|
|
||||||
|
|
||||||
}, 'Matching to a single request should work');
|
|
||||||
|
|
||||||
backgroundFetchTest(async (test, backgroundFetch) => {
|
|
||||||
const registrationId = 'matchmissingrequest';
|
|
||||||
const registration =
|
|
||||||
await backgroundFetch.fetch(registrationId, 'resources/feature-name.txt');
|
|
||||||
|
|
||||||
assert_equals(registration.id, registrationId);
|
|
||||||
|
|
||||||
const {type, eventRegistration, results} = await getMessageFromServiceWorker();
|
|
||||||
assert_equals('backgroundfetchsuccess', type);
|
|
||||||
assert_equals(results.length, 0);
|
|
||||||
|
|
||||||
assert_equals(eventRegistration.id, registration.id);
|
|
||||||
assert_equals(eventRegistration.result, 'success');
|
|
||||||
assert_equals(eventRegistration.failureReason, '');
|
|
||||||
|
|
||||||
}, 'Matching to a non-existing request should work');
|
|
||||||
|
|
||||||
backgroundFetchTest(async (test, backgroundFetch) => {
|
|
||||||
const registrationId = 'matchexistingrequesttwice';
|
|
||||||
const registration =
|
|
||||||
await backgroundFetch.fetch(registrationId, 'resources/feature-name.txt');
|
|
||||||
|
|
||||||
assert_equals(registration.id, registrationId);
|
|
||||||
|
|
||||||
const {type, eventRegistration, results} = await getMessageFromServiceWorker();
|
|
||||||
assert_equals('backgroundfetchsuccess', type);
|
|
||||||
assert_equals(results.length, 2);
|
|
||||||
|
|
||||||
assert_equals(eventRegistration.id, registration.id);
|
|
||||||
assert_equals(eventRegistration.result, 'success');
|
|
||||||
assert_equals(eventRegistration.failureReason, '');
|
|
||||||
|
|
||||||
assert_true(results[0].url.includes('resources/feature-name.txt'));
|
|
||||||
assert_equals(results[0].status, 200);
|
|
||||||
assert_equals(results[0].text, 'Background Fetch');
|
|
||||||
|
|
||||||
assert_true(results[1].url.includes('resources/feature-name.txt'));
|
|
||||||
assert_equals(results[1].status, 200);
|
|
||||||
assert_equals(results[1].text, 'Background Fetch');
|
|
||||||
|
|
||||||
}, 'Matching multiple times on the same request works as expected.');
|
|
||||||
|
|
||||||
backgroundFetchTest(async (test, backgroundFetch) => {
|
backgroundFetchTest(async (test, backgroundFetch) => {
|
||||||
const filePath = '/background-fetch/resources/feature-name.txt';
|
const filePath = '/background-fetch/resources/feature-name.txt';
|
||||||
const registration = await backgroundFetch.fetch(
|
const registration = await backgroundFetch.fetch(
|
||||||
|
@ -341,15 +278,3 @@ backgroundFetchTest(async (test, backgroundFetch) => {
|
||||||
assert_equals(eventRegistration.id, registration.id);
|
assert_equals(eventRegistration.id, registration.id);
|
||||||
assert_equals(eventRegistration.downloaded, 0);
|
assert_equals(eventRegistration.downloaded, 0);
|
||||||
}, 'Responses failing CORS checks are not leaked');
|
}, 'Responses failing CORS checks are not leaked');
|
||||||
|
|
||||||
backgroundFetchTest(async (test, backgroundFetch) => {
|
|
||||||
const registration = await backgroundFetch.fetch(
|
|
||||||
uniqueId(), ['resources/feature-name.txt', '/common/slow.py']);
|
|
||||||
|
|
||||||
const record = await registration.match('resources/feature-name.txt');
|
|
||||||
const response = await record.responseReady;
|
|
||||||
assert_true(response.url.includes('resources/feature-name.txt'));
|
|
||||||
const completedResponseText = await response.text();
|
|
||||||
assert_equals(completedResponseText, 'Background Fetch');
|
|
||||||
|
|
||||||
}, 'Access to active fetches is supported.');
|
|
||||||
|
|
|
@ -0,0 +1,113 @@
|
||||||
|
// META: script=/common/get-host-info.sub.js
|
||||||
|
// META: script=/service-workers/service-worker/resources/test-helpers.sub.js
|
||||||
|
// META: script=resources/utils.js
|
||||||
|
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
// Covers basic functionality provided by BackgroundFetchRegistration.match(All)?.
|
||||||
|
// https://wicg.github.io/background-fetch/#dom-backgroundfetchregistration-match
|
||||||
|
|
||||||
|
backgroundFetchTest(async (test, backgroundFetch) => {
|
||||||
|
const registrationId = 'matchexistingrequest';
|
||||||
|
const registration =
|
||||||
|
await backgroundFetch.fetch(registrationId, 'resources/feature-name.txt');
|
||||||
|
|
||||||
|
assert_equals(registration.id, registrationId);
|
||||||
|
|
||||||
|
const {type, eventRegistration, results} = await getMessageFromServiceWorker();
|
||||||
|
assert_equals('backgroundfetchsuccess', type);
|
||||||
|
assert_equals(results.length, 1);
|
||||||
|
|
||||||
|
assert_equals(eventRegistration.id, registration.id);
|
||||||
|
assert_equals(eventRegistration.result, 'success');
|
||||||
|
assert_equals(eventRegistration.failureReason, '');
|
||||||
|
|
||||||
|
assert_true(results[0].url.includes('resources/feature-name.txt'));
|
||||||
|
assert_equals(results[0].status, 200);
|
||||||
|
assert_equals(results[0].text, 'Background Fetch');
|
||||||
|
|
||||||
|
}, 'Matching to a single request should work');
|
||||||
|
|
||||||
|
backgroundFetchTest(async (test, backgroundFetch) => {
|
||||||
|
const registrationId = 'matchmissingrequest';
|
||||||
|
const registration =
|
||||||
|
await backgroundFetch.fetch(registrationId, 'resources/feature-name.txt');
|
||||||
|
|
||||||
|
assert_equals(registration.id, registrationId);
|
||||||
|
|
||||||
|
const {type, eventRegistration, results} = await getMessageFromServiceWorker();
|
||||||
|
assert_equals('backgroundfetchsuccess', type);
|
||||||
|
assert_equals(results.length, 0);
|
||||||
|
|
||||||
|
assert_equals(eventRegistration.id, registration.id);
|
||||||
|
assert_equals(eventRegistration.result, 'success');
|
||||||
|
assert_equals(eventRegistration.failureReason, '');
|
||||||
|
|
||||||
|
}, 'Matching to a non-existing request should work');
|
||||||
|
|
||||||
|
backgroundFetchTest(async (test, backgroundFetch) => {
|
||||||
|
const registrationId = 'matchexistingrequesttwice';
|
||||||
|
const registration =
|
||||||
|
await backgroundFetch.fetch(registrationId, 'resources/feature-name.txt');
|
||||||
|
|
||||||
|
assert_equals(registration.id, registrationId);
|
||||||
|
|
||||||
|
const {type, eventRegistration, results} = await getMessageFromServiceWorker();
|
||||||
|
assert_equals('backgroundfetchsuccess', type);
|
||||||
|
assert_equals(results.length, 2);
|
||||||
|
|
||||||
|
assert_equals(eventRegistration.id, registration.id);
|
||||||
|
assert_equals(eventRegistration.result, 'success');
|
||||||
|
assert_equals(eventRegistration.failureReason, '');
|
||||||
|
|
||||||
|
assert_true(results[0].url.includes('resources/feature-name.txt'));
|
||||||
|
assert_equals(results[0].status, 200);
|
||||||
|
assert_equals(results[0].text, 'Background Fetch');
|
||||||
|
|
||||||
|
assert_true(results[1].url.includes('resources/feature-name.txt'));
|
||||||
|
assert_equals(results[1].status, 200);
|
||||||
|
assert_equals(results[1].text, 'Background Fetch');
|
||||||
|
|
||||||
|
}, 'Matching multiple times on the same request works as expected.');
|
||||||
|
|
||||||
|
backgroundFetchTest(async (test, backgroundFetch) => {
|
||||||
|
const registration = await backgroundFetch.fetch(
|
||||||
|
uniqueId(), ['resources/feature-name.txt', '/common/slow.py']);
|
||||||
|
|
||||||
|
const record = await registration.match('resources/feature-name.txt');
|
||||||
|
const response = await record.responseReady;
|
||||||
|
assert_true(response.url.includes('resources/feature-name.txt'));
|
||||||
|
const completedResponseText = await response.text();
|
||||||
|
assert_equals(completedResponseText, 'Background Fetch');
|
||||||
|
|
||||||
|
}, 'Access to active fetches is supported.');
|
||||||
|
|
||||||
|
backgroundFetchTest(async (test, backgroundFetch) => {
|
||||||
|
const registration = await backgroundFetch.fetch(
|
||||||
|
uniqueId(), [
|
||||||
|
'resources/feature-name.txt',
|
||||||
|
'resources/feature-name.txt',
|
||||||
|
'resources/feature-name.txt?id=3',
|
||||||
|
new Request('resources/feature-name.txt', {method: 'PUT'}),
|
||||||
|
'/common/slow.py',
|
||||||
|
]);
|
||||||
|
|
||||||
|
let matchedRecords = null;
|
||||||
|
|
||||||
|
// We should match all the duplicates.
|
||||||
|
matchedRecords = await registration.matchAll('resources/feature-name.txt');
|
||||||
|
assert_equals(matchedRecords.length, 2);
|
||||||
|
|
||||||
|
// We should match the request with the query param as well.
|
||||||
|
matchedRecords = await registration.matchAll('resources/feature-name.txt', {ignoreSearch: true});
|
||||||
|
assert_equals(matchedRecords.length, 3);
|
||||||
|
|
||||||
|
// We should match the PUT request as well.
|
||||||
|
matchedRecords = await registration.matchAll('resources/feature-name.txt', {ignoreMethod: true});
|
||||||
|
assert_equals(matchedRecords.length, 3);
|
||||||
|
|
||||||
|
// We should match all requests.
|
||||||
|
matchedRecords = await registration.matchAll('resources/feature-name.txt', {ignoreSearch: true, ignoreMethod: true});
|
||||||
|
assert_equals(matchedRecords.length, 4);
|
||||||
|
|
||||||
|
}, 'Match with query options.');
|
|
@ -1,3 +1,4 @@
|
||||||
|
// META: timeout=long
|
||||||
// META: script=/common/utils.js
|
// META: script=/common/utils.js
|
||||||
// META: script=beacon-common.sub.js
|
// META: script=beacon-common.sub.js
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
// META: timeout=long
|
||||||
// META: script=/common/utils.js
|
// META: script=/common/utils.js
|
||||||
// META: script=beacon-common.sub.js
|
// META: script=beacon-common.sub.js
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>no default src doesn't behave exactly like *</title>
|
<title>no default src doesn't behave exactly like *</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<script src='/resources/testharness.js'></script>
|
<script src='/resources/testharness.js'></script>
|
||||||
<script src='/resources/testharnessreport.js'></script>
|
<script src='/resources/testharnessreport.js'></script>
|
||||||
<script src="../support/alertAssert.sub.js?alerts=[]"> </script>
|
<script src="../support/alertAssert.sub.js?alerts=[]"> </script>
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
<title>Cookies are not sent on cross origin violation reports</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
<script src="/resources/testharnessreport.js"></script>
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
<title>Cookies are not sent on cross origin violation reports</title>
|
|
||||||
<!-- CSP headers
|
<!-- CSP headers
|
||||||
Content-Security-Policy: script-src 'unsafe-inline' 'self'; img-src 'none'; report-uri http://{{domains[www1]}}:{{ports[http][0]}}/content-security-policy/support/report.py?op=put&reportID=$id
|
Content-Security-Policy: script-src 'unsafe-inline' 'self'; img-src 'none'; report-uri http://{{domains[www1]}}:{{ports[http][0]}}/content-security-policy/support/report.py?op=put&reportID=$id
|
||||||
-->
|
-->
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
<title>Report-only policy not allowed in meta tag</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
<script src="/resources/testharnessreport.js"></script>
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
<title>Report-only policy not allowed in meta tag</title>
|
|
||||||
<!-- CSP headers
|
<!-- CSP headers
|
||||||
Content-Security-Policy: script-src 'unsafe-inline' 'self'
|
Content-Security-Policy: script-src 'unsafe-inline' 'self'
|
||||||
-->
|
-->
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Multiple policies with different hashing algorithms still work.</title>
|
<title>Multiple policies with different hashing algorithms still work.</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<script src='/resources/testharness.js'></script>
|
<script src='/resources/testharness.js'></script>
|
||||||
<script src='/resources/testharnessreport.js'></script>
|
<script src='/resources/testharnessreport.js'></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
|
@ -41,7 +41,13 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var timeout = document.querySelector("meta[name=timeout][content=long]") ? 50 : 5;
|
// There is no real way to test (in this particular layer) that a CSP report
|
||||||
|
// has *not* been sent, at least not without some major reworks and
|
||||||
|
// involvement from all the platform participants. So the current "solution"
|
||||||
|
// is to wait for some reasonable amount of time and if no report has been
|
||||||
|
// received to conclude that no report has been generated. These timeouts must
|
||||||
|
// not exceed the test timeouts set by vendors otherwise the test would fail.
|
||||||
|
var timeout = document.querySelector("meta[name=timeout][content=long]") ? 25 : 5;
|
||||||
var reportLocation = location.protocol + "//" + location.host + "/content-security-policy/support/report.py?op=retrieve_report&timeout=" + timeout + "&reportID=" + reportID;
|
var reportLocation = location.protocol + "//" + location.host + "/content-security-policy/support/report.py?op=retrieve_report&timeout=" + timeout + "&reportID=" + reportID;
|
||||||
|
|
||||||
if (testName == "") testName = "Violation report status OK.";
|
if (testName == "") testName = "Violation report status OK.";
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
<head>
|
<head>
|
||||||
<meta charset=utf-8>
|
<meta charset=utf-8>
|
||||||
<title>Tests cookie setting domain functionality</title>
|
<title>Tests cookie setting domain functionality</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<meta name=help href="https://tools.ietf.org/html/rfc6265#page-8">
|
<meta name=help href="https://tools.ietf.org/html/rfc6265#page-8">
|
||||||
|
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<meta charset=utf-8>
|
<meta charset=utf-8>
|
||||||
<title>CORS - 304 Responses</title>
|
<title>CORS - 304 Responses</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<meta name=author title="Mark Nottingham" href="mailto:mnot@mnot.net">
|
<meta name=author title="Mark Nottingham" href="mailto:mnot@mnot.net">
|
||||||
|
|
||||||
<script src=/resources/testharness.js></script>
|
<script src=/resources/testharness.js></script>
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<meta charset=utf-8>
|
<meta charset=utf-8>
|
||||||
<title>Access-Control-Allow-Origin handling</title>
|
<title>Access-Control-Allow-Origin handling</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<link rel=help href=https://fetch.spec.whatwg.org/>
|
<link rel=help href=https://fetch.spec.whatwg.org/>
|
||||||
<meta name=author title="Odin Hørthe Omdal" href="mailto:odiho@opera.com">
|
<meta name=author title="Odin Hørthe Omdal" href="mailto:odiho@opera.com">
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<meta charset=utf-8>
|
<meta charset=utf-8>
|
||||||
<title>CORS - preflight cache</title>
|
<title>CORS - preflight cache</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<meta name=author title="Odin Hørthe Omdal" href="mailto:odiho@opera.com">
|
<meta name=author title="Odin Hørthe Omdal" href="mailto:odiho@opera.com">
|
||||||
|
|
||||||
<script src=/resources/testharness.js></script>
|
<script src=/resources/testharness.js></script>
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
<meta charset=utf-8>
|
<meta charset=utf-8>
|
||||||
<title>CSSAnimation.effect</title>
|
<title>CSSAnimation.effect</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<!-- TODO: Add a more specific link for this once it is specified. -->
|
<!-- TODO: Add a more specific link for this once it is specified. -->
|
||||||
<link rel="help" href="https://drafts.csswg.org/css-animations-2/#cssanimation">
|
<link rel="help" href="https://drafts.csswg.org/css-animations-2/#cssanimation">
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
<meta charset=utf-8>
|
<meta charset=utf-8>
|
||||||
<title>Tests for CSS animation event dispatch</title>
|
<title>Tests for CSS animation event dispatch</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<link rel="help" href="https://drafts.csswg.org/css-animations-2/#event-dispatch"/>
|
<link rel="help" href="https://drafts.csswg.org/css-animations-2/#event-dispatch"/>
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
<script src="/resources/testharnessreport.js"></script>
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
<!doctype html>
|
||||||
|
<title>CSS Test Reference</title>
|
||||||
|
<style>
|
||||||
|
.text {
|
||||||
|
background-color: blue;
|
||||||
|
color: transparent;
|
||||||
|
font: 50px/1 monospace;
|
||||||
|
-webkit-background-clip: text;
|
||||||
|
background-clip: text;
|
||||||
|
height: 200px;
|
||||||
|
}
|
||||||
|
.prev {
|
||||||
|
height: 100px;
|
||||||
|
}
|
||||||
|
p {
|
||||||
|
color: transparent;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div class="text">
|
||||||
|
<div class="prev"></div>
|
||||||
|
<div class="inner">
|
||||||
|
<p>XxX</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -0,0 +1,40 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html class="reftest-wait">
|
||||||
|
<title>CSS Test: background-clip: text is invalidated properly on text position changes</title>
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-backgrounds-4/#valdef-background-clip-text">
|
||||||
|
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1525372">
|
||||||
|
<link rel="author" href="mailto:mwoodrow@mozilla.com" title="Matt Woodrow">
|
||||||
|
<link rel="author" href="https://mozilla.org" title="Mozilla">
|
||||||
|
<link rel="match" href="clip-text-dynamic-2-ref.html">
|
||||||
|
<style>
|
||||||
|
.text {
|
||||||
|
background-color: blue;
|
||||||
|
color: transparent;
|
||||||
|
font: 50px/1 monospace;
|
||||||
|
-webkit-background-clip: text;
|
||||||
|
background-clip: text;
|
||||||
|
height: 200px;
|
||||||
|
}
|
||||||
|
.prev {
|
||||||
|
height: 10px;
|
||||||
|
}
|
||||||
|
p {
|
||||||
|
color: transparent;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div class="text">
|
||||||
|
<div class="prev"></div>
|
||||||
|
<div class="inner">
|
||||||
|
<p>XxX</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
onload = () => {
|
||||||
|
requestAnimationFrame(() => {
|
||||||
|
requestAnimationFrame(() => {
|
||||||
|
document.querySelector(".prev").style.height = "100px";
|
||||||
|
document.documentElement.className = "";
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
</script>
|
|
@ -1,6 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html class="reftest-wait">
|
<html class="reftest-wait">
|
||||||
<title>Test for font-display @font-face descriptor</title>
|
<title>Test for font-display @font-face descriptor</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<link rel="help" href="https://drafts.csswg.org/css-fonts-4/#font-display-desc">
|
<link rel="help" href="https://drafts.csswg.org/css-fonts-4/#font-display-desc">
|
||||||
<link rel="match" href="font-display-ref.html">
|
<link rel="match" href="font-display-ref.html">
|
||||||
<style>
|
<style>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Testing the interpolation of new font-style values introduced in CSS Fonts level 4</title>
|
<title>Testing the interpolation of new font-style values introduced in CSS Fonts level 4</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<link rel="help" href="https://www.w3.org/TR/css-fonts-4/#font-style-prop" />
|
<link rel="help" href="https://www.w3.org/TR/css-fonts-4/#font-style-prop" />
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
<script src="/resources/testharnessreport.js"></script>
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Simple calc expression in table layout</title>
|
||||||
|
<table border>
|
||||||
|
<tr>
|
||||||
|
<td style="width: 50%">x</td>
|
||||||
|
<td style="width: 100px">y</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
|
@ -0,0 +1,12 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Simple calc expression in table layout</title>
|
||||||
|
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/3482">
|
||||||
|
<link rel="match" href="calc-percent-plus-0px-ref.html">
|
||||||
|
<meta name="assert" content="calc(% + 0px) should be handled as calc(%) in table layout.">
|
||||||
|
<table border>
|
||||||
|
<tr>
|
||||||
|
<td style="width: calc(50% + 0px)">x</td>
|
||||||
|
<td style="width: 100px">y</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
|
@ -3,6 +3,7 @@
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>CSS Transitions Test: Intermediate Property Values</title>
|
<title>CSS Transitions Test: Intermediate Property Values</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<meta name="assert" content="Test checks that value ranges between start and end while transitioning">
|
<meta name="assert" content="Test checks that value ranges between start and end while transitioning">
|
||||||
<link rel="help" title="2. Transitions" href="http://www.w3.org/TR/css3-transitions/#transitions">
|
<link rel="help" title="2. Transitions" href="http://www.w3.org/TR/css3-transitions/#transitions">
|
||||||
<link rel="help" title="7.1. Properties from CSS" href="http://www.w3.org/TR/css3-transitions/#animatable-css">
|
<link rel="help" title="7.1. Properties from CSS" href="http://www.w3.org/TR/css3-transitions/#animatable-css">
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>CSS Transitions Test: Intermediate Property Values of unspecified properties</title>
|
<title>CSS Transitions Test: Intermediate Property Values of unspecified properties</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<meta name="assert" content="Test checks that properties are transitionable that haven't been specified">
|
<meta name="assert" content="Test checks that properties are transitionable that haven't been specified">
|
||||||
<link rel="help" title="2. Transitions" href="http://www.w3.org/TR/css3-transitions/#transitions">
|
<link rel="help" title="2. Transitions" href="http://www.w3.org/TR/css3-transitions/#transitions">
|
||||||
<link rel="help" title="7.1. Properties from CSS" href="http://www.w3.org/TR/css3-transitions/#animatable-css">
|
<link rel="help" title="7.1. Properties from CSS" href="http://www.w3.org/TR/css3-transitions/#animatable-css">
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>CSS Transitions Test: font-size-relative properties transition by implicit value change</title>
|
<title>CSS Transitions Test: font-size-relative properties transition by implicit value change</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<meta name="assert" content="Test checks that font-size-relative properties (all em-lengths) run a transition when font-size is changed">
|
<meta name="assert" content="Test checks that font-size-relative properties (all em-lengths) run a transition when font-size is changed">
|
||||||
<link rel="help" title="2. Transitions" href="http://www.w3.org/TR/css3-transitions/#transitions">
|
<link rel="help" title="2. Transitions" href="http://www.w3.org/TR/css3-transitions/#transitions">
|
||||||
<link rel="author" title="Rodney Rehm" href="http://rodneyrehm.de/en/">
|
<link rel="author" title="Rodney Rehm" href="http://rodneyrehm.de/en/">
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>CSS Transitions Test: transitioning inherited property values</title>
|
<title>CSS Transitions Test: transitioning inherited property values</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<meta name="assert" content="Test checks that inherited property values that are transitioned on a parent element don't start a transition">
|
<meta name="assert" content="Test checks that inherited property values that are transitioned on a parent element don't start a transition">
|
||||||
<link rel="help" title="3. Starting of transitions" href="http://www.w3.org/TR/css3-transitions/#starting">
|
<link rel="help" title="3. Starting of transitions" href="http://www.w3.org/TR/css3-transitions/#starting">
|
||||||
<link rel="author" title="Rodney Rehm" href="http://rodneyrehm.de/en/">
|
<link rel="author" title="Rodney Rehm" href="http://rodneyrehm.de/en/">
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>CSS Transitions Test: transitioning inherited property values</title>
|
<title>CSS Transitions Test: transitioning inherited property values</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<meta name="assert" content="Test checks that inherited property values that are not transitioned on a parent element start a transition">
|
<meta name="assert" content="Test checks that inherited property values that are not transitioned on a parent element start a transition">
|
||||||
<link rel="help" title="3. Starting of transitions" href="http://www.w3.org/TR/css3-transitions/#starting">
|
<link rel="help" title="3. Starting of transitions" href="http://www.w3.org/TR/css3-transitions/#starting">
|
||||||
<link rel="author" title="Rodney Rehm" href="http://rodneyrehm.de/en/">
|
<link rel="author" title="Rodney Rehm" href="http://rodneyrehm.de/en/">
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>CSS Transitions Test: display:none causes transitioncancel</title>
|
<title>CSS Transitions Test: display:none causes transitioncancel</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<link rel="author" title="Chris Rebert" href="http://chrisrebert.com">
|
<link rel="author" title="Chris Rebert" href="http://chrisrebert.com">
|
||||||
<link rel="help" href="https://drafts.csswg.org/css-transitions-2/#dom-transitionevent-transitioncancel">
|
<link rel="help" href="https://drafts.csswg.org/css-transitions-2/#dom-transitionevent-transitioncancel">
|
||||||
<link rel="help" href="https://lists.w3.org/Archives/Public/www-style/2015Apr/0405.html" title="[CSSWG] Minutes Telecon 2015-04-29" data-section-title="AnimationEnd events and display: none">
|
<link rel="help" href="https://lists.w3.org/Archives/Public/www-style/2015Apr/0405.html" title="[CSSWG] Minutes Telecon 2015-04-29" data-section-title="AnimationEnd events and display: none">
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
<html class="reftest-wait">
|
<html class="reftest-wait">
|
||||||
<head>
|
<head>
|
||||||
<title>CSS Values and Units Test: vh-based dimension doesn't change when the element's other dimension doesn't change.</title>
|
<title>CSS Values and Units Test: vh-based dimension doesn't change when the element's other dimension doesn't change.</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<link rel="author" title="Marc Bourlon" href="mailto:marc@bourlon.com">
|
<link rel="author" title="Marc Bourlon" href="mailto:marc@bourlon.com">
|
||||||
<link rel="help" href="http://www.w3.org/TR/css3-values/#viewport-relative-lengths">
|
<link rel="help" href="http://www.w3.org/TR/css3-values/#viewport-relative-lengths">
|
||||||
<link rel="match" href="reference/vh_not_refreshing_on_chrome-ref.html">
|
<link rel="match" href="reference/vh_not_refreshing_on_chrome-ref.html">
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>CSS Writing Modes Test: Test orientation of characters where vo=R (#1/9, 2048 code points in U+0020-0B27).</title>
|
<title>CSS Writing Modes Test: Test orientation of characters where vo=R (#1/9, 2048 code points in U+0020-0B27).</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
||||||
<meta name="assert" content="Test orientation of characters where vo=R (#1/9, 2048 code points in U+0020-0B27)">
|
<meta name="assert" content="Test orientation of characters where vo=R (#1/9, 2048 code points in U+0020-0B27)">
|
||||||
<meta name="flags" content="dom">
|
<meta name="flags" content="dom">
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>CSS Writing Modes Test: Test orientation of characters where vo=R (#2/9, 2048 code points in U+0B28-1B07).</title>
|
<title>CSS Writing Modes Test: Test orientation of characters where vo=R (#2/9, 2048 code points in U+0B28-1B07).</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
||||||
<meta name="assert" content="Test orientation of characters where vo=R (#2/9, 2048 code points in U+0B28-1B07)">
|
<meta name="assert" content="Test orientation of characters where vo=R (#2/9, 2048 code points in U+0B28-1B07)">
|
||||||
<meta name="flags" content="dom">
|
<meta name="flags" content="dom">
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>CSS Writing Modes Test: Test orientation of characters where vo=R (#3/9, 2048 code points in U+1B08-2858).</title>
|
<title>CSS Writing Modes Test: Test orientation of characters where vo=R (#3/9, 2048 code points in U+1B08-2858).</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
||||||
<meta name="assert" content="Test orientation of characters where vo=R (#3/9, 2048 code points in U+1B08-2858)">
|
<meta name="assert" content="Test orientation of characters where vo=R (#3/9, 2048 code points in U+1B08-2858)">
|
||||||
<meta name="flags" content="dom">
|
<meta name="flags" content="dom">
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>CSS Writing Modes Test: Test orientation of characters where vo=R (#4/9, 2048 code points in U+2859-A81D).</title>
|
<title>CSS Writing Modes Test: Test orientation of characters where vo=R (#4/9, 2048 code points in U+2859-A81D).</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
||||||
<meta name="assert" content="Test orientation of characters where vo=R (#4/9, 2048 code points in U+2859-A81D)">
|
<meta name="assert" content="Test orientation of characters where vo=R (#4/9, 2048 code points in U+2859-A81D)">
|
||||||
<meta name="flags" content="dom">
|
<meta name="flags" content="dom">
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>CSS Writing Modes Test: Test orientation of characters where vo=R (#5/9, 2048 code points in U+A81E-101F7).</title>
|
<title>CSS Writing Modes Test: Test orientation of characters where vo=R (#5/9, 2048 code points in U+A81E-101F7).</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
||||||
<meta name="assert" content="Test orientation of characters where vo=R (#5/9, 2048 code points in U+A81E-101F7)">
|
<meta name="assert" content="Test orientation of characters where vo=R (#5/9, 2048 code points in U+A81E-101F7)">
|
||||||
<meta name="flags" content="dom">
|
<meta name="flags" content="dom">
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>CSS Writing Modes Test: Test orientation of characters where vo=R (#6/9, 2048 code points in U+101F8-11151).</title>
|
<title>CSS Writing Modes Test: Test orientation of characters where vo=R (#6/9, 2048 code points in U+101F8-11151).</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
||||||
<meta name="assert" content="Test orientation of characters where vo=R (#6/9, 2048 code points in U+101F8-11151)">
|
<meta name="assert" content="Test orientation of characters where vo=R (#6/9, 2048 code points in U+101F8-11151)">
|
||||||
<meta name="flags" content="dom">
|
<meta name="flags" content="dom">
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>CSS Writing Modes Test: Test orientation of characters where vo=R (#7/9, 2048 code points in U+11152-124FA).</title>
|
<title>CSS Writing Modes Test: Test orientation of characters where vo=R (#7/9, 2048 code points in U+11152-124FA).</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
||||||
<meta name="assert" content="Test orientation of characters where vo=R (#7/9, 2048 code points in U+11152-124FA)">
|
<meta name="assert" content="Test orientation of characters where vo=R (#7/9, 2048 code points in U+11152-124FA)">
|
||||||
<meta name="flags" content="dom">
|
<meta name="flags" content="dom">
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>CSS Writing Modes Test: Test orientation of characters where vo=R (#8/9, 2048 code points in U+124FB-1D7B2).</title>
|
<title>CSS Writing Modes Test: Test orientation of characters where vo=R (#8/9, 2048 code points in U+124FB-1D7B2).</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
||||||
<meta name="assert" content="Test orientation of characters where vo=R (#8/9, 2048 code points in U+124FB-1D7B2)">
|
<meta name="assert" content="Test orientation of characters where vo=R (#8/9, 2048 code points in U+124FB-1D7B2)">
|
||||||
<meta name="flags" content="dom">
|
<meta name="flags" content="dom">
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>CSS Writing Modes Test: Test orientation of characters where vo=R (#9/9, 652 code points in U+1D7B3-1F8AD).</title>
|
<title>CSS Writing Modes Test: Test orientation of characters where vo=R (#9/9, 652 code points in U+1D7B3-1F8AD).</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
||||||
<meta name="assert" content="Test orientation of characters where vo=R (#9/9, 652 code points in U+1D7B3-1F8AD)">
|
<meta name="assert" content="Test orientation of characters where vo=R (#9/9, 652 code points in U+1D7B3-1F8AD)">
|
||||||
<meta name="flags" content="dom">
|
<meta name="flags" content="dom">
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>CSS Writing Modes Test: Test orientation of characters where vo=U (#1/6, 2048 code points in U+00A7-2ED3).</title>
|
<title>CSS Writing Modes Test: Test orientation of characters where vo=U (#1/6, 2048 code points in U+00A7-2ED3).</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
||||||
<meta name="assert" content="Test orientation of characters where vo=U (#1/6, 2048 code points in U+00A7-2ED3)">
|
<meta name="assert" content="Test orientation of characters where vo=U (#1/6, 2048 code points in U+00A7-2ED3)">
|
||||||
<meta name="flags" content="dom">
|
<meta name="flags" content="dom">
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>CSS Writing Modes Test: Test orientation of characters where vo=U (#2/6, 2048 code points in U+2ED4-A37A).</title>
|
<title>CSS Writing Modes Test: Test orientation of characters where vo=U (#2/6, 2048 code points in U+2ED4-A37A).</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
||||||
<meta name="assert" content="Test orientation of characters where vo=U (#2/6, 2048 code points in U+2ED4-A37A)">
|
<meta name="assert" content="Test orientation of characters where vo=U (#2/6, 2048 code points in U+2ED4-A37A)">
|
||||||
<meta name="flags" content="dom">
|
<meta name="flags" content="dom">
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>CSS Writing Modes Test: Test orientation of characters where vo=U (#3/6, 2048 code points in U+A37B-1338B).</title>
|
<title>CSS Writing Modes Test: Test orientation of characters where vo=U (#3/6, 2048 code points in U+A37B-1338B).</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
||||||
<meta name="assert" content="Test orientation of characters where vo=U (#3/6, 2048 code points in U+A37B-1338B)">
|
<meta name="assert" content="Test orientation of characters where vo=U (#3/6, 2048 code points in U+A37B-1338B)">
|
||||||
<meta name="flags" content="dom">
|
<meta name="flags" content="dom">
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>CSS Writing Modes Test: Test orientation of characters where vo=U (#4/6, 2048 code points in U+1338C-1F0E1).</title>
|
<title>CSS Writing Modes Test: Test orientation of characters where vo=U (#4/6, 2048 code points in U+1338C-1F0E1).</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
||||||
<meta name="assert" content="Test orientation of characters where vo=U (#4/6, 2048 code points in U+1338C-1F0E1)">
|
<meta name="assert" content="Test orientation of characters where vo=U (#4/6, 2048 code points in U+1338C-1F0E1)">
|
||||||
<meta name="flags" content="dom">
|
<meta name="flags" content="dom">
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>CSS Writing Modes Test: Test orientation of characters where vo=U (#5/6, 2048 code points in U+1F0E2-2F9EA).</title>
|
<title>CSS Writing Modes Test: Test orientation of characters where vo=U (#5/6, 2048 code points in U+1F0E2-2F9EA).</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
||||||
<meta name="assert" content="Test orientation of characters where vo=U (#5/6, 2048 code points in U+1F0E2-2F9EA)">
|
<meta name="assert" content="Test orientation of characters where vo=U (#5/6, 2048 code points in U+1F0E2-2F9EA)">
|
||||||
<meta name="flags" content="dom">
|
<meta name="flags" content="dom">
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>CSS Writing Modes Test: Test orientation of characters where vo=U (#6/6, 51 code points in U+2F9EB-2FA1D).</title>
|
<title>CSS Writing Modes Test: Test orientation of characters where vo=U (#6/6, 51 code points in U+2F9EB-2FA1D).</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
|
||||||
<meta name="assert" content="Test orientation of characters where vo=U (#6/6, 51 code points in U+2F9EB-2FA1D)">
|
<meta name="assert" content="Test orientation of characters where vo=U (#6/6, 51 code points in U+2F9EB-2FA1D)">
|
||||||
<meta name="flags" content="dom">
|
<meta name="flags" content="dom">
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
<head>
|
<head>
|
||||||
<title>CSS Test: CSSOM View matchMedia and MediaQueryList</title>
|
<title>CSS Test: CSSOM View matchMedia and MediaQueryList</title>
|
||||||
|
<meta name="timeout" content="long"/>
|
||||||
<link rel="author" title="Rune Lillesveen" href="mailto:rune@opera.com" />
|
<link rel="author" title="Rune Lillesveen" href="mailto:rune@opera.com" />
|
||||||
<link rel="help" href="http://www.w3.org/TR/cssom-view/#dom-window-matchmedia" />
|
<link rel="help" href="http://www.w3.org/TR/cssom-view/#dom-window-matchmedia" />
|
||||||
<link rel="help" href="http://www.w3.org/TR/cssom-view/#the-mediaquerylist-interface" />
|
<link rel="help" href="http://www.w3.org/TR/cssom-view/#the-mediaquerylist-interface" />
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<title>cssom-view - scroll-behavior: smooth</title>
|
<title>cssom-view - scroll-behavior: smooth</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<link rel="author" title="Rune Lillesveen" href="mailto:futhark@chromium.org">
|
<link rel="author" title="Rune Lillesveen" href="mailto:futhark@chromium.org">
|
||||||
<link rel="help" href="https://drafts.csswg.org/cssom-view/#smooth-scrolling">
|
<link rel="help" href="https://drafts.csswg.org/cssom-view/#smooth-scrolling">
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<title>CSS Test (Selectors): :focus-visible always matches on texty input elements</title>
|
<title>CSS Test (Selectors): :focus-visible always matches on texty input elements</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<link rel="author" title="Alice Boxhall" href="aboxhall@chromium.org" />
|
<link rel="author" title="Alice Boxhall" href="aboxhall@chromium.org" />
|
||||||
<link rel="help" href="https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo" />
|
<link rel="help" href="https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo" />
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
|
|
|
@ -24,7 +24,7 @@ context (and not therefore in any frame or window opened from it).
|
||||||
Usage: `test_driver.action_sequence(actions)`
|
Usage: `test_driver.action_sequence(actions)`
|
||||||
* `actions`: an array of `Action` objects
|
* `actions`: an array of `Action` objects
|
||||||
|
|
||||||
This function causes a sequence of actions to be sent to the browser. It is based of the [WebDriver API](https://w3c.github.io/webdriver/#actions).
|
This function causes a sequence of actions to be sent to the browser. It is based on the [WebDriver API](https://w3c.github.io/webdriver/#actions).
|
||||||
The action can be a keyboard action, a pointer action or a pause. It returns a `Promise` that
|
The action can be a keyboard action, a pointer action or a pause. It returns a `Promise` that
|
||||||
resolves after the actions have been sent or rejects if an error was thrown.
|
resolves after the actions have been sent or rejects if an error was thrown.
|
||||||
|
|
||||||
|
|
|
@ -170,6 +170,76 @@ promise_test(async () => {
|
||||||
style.remove();
|
style.remove();
|
||||||
}, "CSS Transitions events fire on disabled form elements");
|
}, "CSS Transitions events fire on disabled form elements");
|
||||||
|
|
||||||
|
promise_test(async () => {
|
||||||
|
const style = document.createElement("style");
|
||||||
|
style.innerText = `
|
||||||
|
.animate {
|
||||||
|
animation: fade .1s 2;
|
||||||
|
}
|
||||||
|
@keyframes fade {
|
||||||
|
0% { opacity: 1; }
|
||||||
|
100% { opacity: 0.2; }
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
document.head.appendChild(style);
|
||||||
|
// For each form element type, set up transition event handlers.
|
||||||
|
for (const localName of formElements) {
|
||||||
|
const elem = document.createElement(localName);
|
||||||
|
document.body.appendChild(elem);
|
||||||
|
elem.disabled = true;
|
||||||
|
const transitionPromises = [
|
||||||
|
"animationstart",
|
||||||
|
"animationiteration",
|
||||||
|
"animationend",
|
||||||
|
].map(eventType => {
|
||||||
|
return new Promise(r => {
|
||||||
|
elem.addEventListener(eventType, r, { once: true });
|
||||||
|
});
|
||||||
|
});
|
||||||
|
elem.classList.add("animate");
|
||||||
|
// All the events fire...
|
||||||
|
await Promise.all(transitionPromises);
|
||||||
|
elem.remove();
|
||||||
|
}
|
||||||
|
// And we are done with the test... clean up.
|
||||||
|
style.remove();
|
||||||
|
}, "CSS Animation events fire on disabled form elements");
|
||||||
|
|
||||||
|
promise_test(async () => {
|
||||||
|
const style = document.createElement("style");
|
||||||
|
style.innerText = `
|
||||||
|
.animate {
|
||||||
|
animation: fade .1s 2;
|
||||||
|
}
|
||||||
|
@keyframes fade {
|
||||||
|
0% { opacity: 1; }
|
||||||
|
100% { opacity: 0.2; }
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
document.head.appendChild(style);
|
||||||
|
// For each form element type, set up transition event handlers.
|
||||||
|
for (const localName of formElements) {
|
||||||
|
const elem = document.createElement(localName);
|
||||||
|
document.body.appendChild(elem);
|
||||||
|
elem.disabled = true;
|
||||||
|
// Let's now test the "animationcancel" event
|
||||||
|
const promiseToCancel = new Promise(r => {
|
||||||
|
elem.addEventListener("animationcancel", r);
|
||||||
|
});
|
||||||
|
elem.addEventListener("animationstart", () => {
|
||||||
|
// Cancel the animation by hiding it.
|
||||||
|
elem.style.display = "none";
|
||||||
|
});
|
||||||
|
elem.classList.add("animate");
|
||||||
|
// Trigger the animation again!
|
||||||
|
await promiseToCancel;
|
||||||
|
// And we are done with this element.
|
||||||
|
elem.remove();
|
||||||
|
}
|
||||||
|
// And we are done with the test... clean up.
|
||||||
|
style.remove();
|
||||||
|
}, "CSS Animation's cancel events fire on disabled form elements");
|
||||||
|
|
||||||
promise_test(async () => {
|
promise_test(async () => {
|
||||||
for (const localName of formElements) {
|
for (const localName of formElements) {
|
||||||
const elem = document.createElement(localName);
|
const elem = document.createElement(localName);
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
|
// META: timeout=long
|
||||||
// META: title=Encoding API: Fatal flag for single byte encodings
|
// META: title=Encoding API: Fatal flag for single byte encodings
|
||||||
|
// META: timeout=long
|
||||||
|
|
||||||
var singleByteEncodings = [
|
var singleByteEncodings = [
|
||||||
{encoding: 'IBM866', bad: []},
|
{encoding: 'IBM866', bad: []},
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<html>
|
<html>
|
||||||
<meta charset=utf-8 />
|
<meta charset=utf-8 />
|
||||||
<title>Event Timing: buffer long-latency events before onload</title>
|
<title>Event Timing: buffer long-latency events before onload</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<button id='button' onmousedown='clickDelay()'>Generate a 'click' event</button>
|
<button id='button' onmousedown='clickDelay()'>Generate a 'click' event</button>
|
||||||
<script src=/resources/testharness.js></script>
|
<script src=/resources/testharness.js></script>
|
||||||
<script src=/resources/testharnessreport.js></script>
|
<script src=/resources/testharnessreport.js></script>
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
<head>
|
<head>
|
||||||
<meta charset=utf-8 />
|
<meta charset=utf-8 />
|
||||||
<title>Event Timing: entries should be observable by its own frame.</title>
|
<title>Event Timing: entries should be observable by its own frame.</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
<meta charset=utf-8 />
|
<meta charset=utf-8 />
|
||||||
<title>Event Timing: Performance observers can observe long-latency events
|
<title>Event Timing: Performance observers can observe long-latency events
|
||||||
</title>
|
</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<button id='button'>Generate a 'click' event</button>
|
<button id='button'>Generate a 'click' event</button>
|
||||||
<script src=/resources/testharness.js></script>
|
<script src=/resources/testharness.js></script>
|
||||||
<script src=/resources/testharnessreport.js></script>
|
<script src=/resources/testharnessreport.js></script>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<html>
|
<html>
|
||||||
<meta charset=utf-8 />
|
<meta charset=utf-8 />
|
||||||
<title>Event Timing: buffer long-latency events before onload</title>
|
<title>Event Timing: buffer long-latency events before onload</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<button id='button'>Generate a 'click' event</button>
|
<button id='button'>Generate a 'click' event</button>
|
||||||
<script src=/resources/testharness.js></script>
|
<script src=/resources/testharness.js></script>
|
||||||
<script src=/resources/testharnessreport.js></script>
|
<script src=/resources/testharnessreport.js></script>
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
<title>Event Timing: long-latency events after onload and before observer
|
<title>Event Timing: long-latency events after onload and before observer
|
||||||
registration are lost
|
registration are lost
|
||||||
</title>
|
</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<button id='button'>Generate a 'click' event</button>
|
<button id='button'>Generate a 'click' event</button>
|
||||||
<script src=/resources/testharness.js></script>
|
<script src=/resources/testharness.js></script>
|
||||||
<script src=/resources/testharnessreport.js></script>
|
<script src=/resources/testharnessreport.js></script>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<html>
|
<html>
|
||||||
<meta charset=utf-8>
|
<meta charset=utf-8>
|
||||||
<title>Event Timing: make sure event-timing entries are retrievable by existing perf APIs.</title>
|
<title>Event Timing: make sure event-timing entries are retrievable by existing perf APIs.</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<button id='button'>Generate a 'click' event</button>
|
<button id='button'>Generate a 'click' event</button>
|
||||||
<script src=/resources/testharness.js></script>
|
<script src=/resources/testharness.js></script>
|
||||||
<script src=/resources/testharnessreport.js></script>
|
<script src=/resources/testharnessreport.js></script>
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
<meta charset=utf-8 />
|
<meta charset=utf-8 />
|
||||||
<title>Event Timing only times certain types of trusted event.
|
<title>Event Timing only times certain types of trusted event.
|
||||||
</title>
|
</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<button id='button' onmousedown='mainThreadBusy(60)'
|
<button id='button' onmousedown='mainThreadBusy(60)'
|
||||||
onfocus='mainThreadBusy(60)'>Generate a 'click' event</button>
|
onfocus='mainThreadBusy(60)'>Generate a 'click' event</button>
|
||||||
<script src=/resources/testharness.js></script>
|
<script src=/resources/testharness.js></script>
|
||||||
|
|
|
@ -1,33 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<title>EventSource: U+0000 in id field</title>
|
|
||||||
<script src="/resources/testharness.js"></script>
|
|
||||||
<script src="/resources/testharnessreport.js"></script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="log"></div>
|
|
||||||
<script>
|
|
||||||
var test = async_test()
|
|
||||||
test.step(function() {
|
|
||||||
var source = new EventSource("resources/last-event-id.py?idvalue=%00%00"),
|
|
||||||
seenhello = false
|
|
||||||
source.onmessage = function(e) {
|
|
||||||
test.step(function() {
|
|
||||||
if(e.data == "hello" && !seenhello) {
|
|
||||||
seenhello = true
|
|
||||||
assert_equals(e.lastEventId, "")
|
|
||||||
} else if(seenhello) {
|
|
||||||
assert_equals(e.data, "hello")
|
|
||||||
assert_equals(e.lastEventId, "")
|
|
||||||
source.close()
|
|
||||||
test.done()
|
|
||||||
} else
|
|
||||||
assert_unreached()
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
[
|
||||||
|
"\u0000\u0000",
|
||||||
|
"x\u0000",
|
||||||
|
"\u0000x",
|
||||||
|
"x\u0000x",
|
||||||
|
" \u0000"
|
||||||
|
].forEach(idValue => {
|
||||||
|
const encodedIdValue = encodeURIComponent(idValue);
|
||||||
|
async_test(t => {
|
||||||
|
const source = new EventSource("resources/last-event-id.py?idvalue=" + encodedIdValue);
|
||||||
|
t.add_cleanup(() => source.close());
|
||||||
|
let seenhello = false;
|
||||||
|
source.onmessage = t.step_func(e => {
|
||||||
|
if (e.data == "hello" && !seenhello) {
|
||||||
|
seenhello = true;
|
||||||
|
assert_equals(e.lastEventId, "");
|
||||||
|
} else if(seenhello) {
|
||||||
|
assert_equals(e.data, "hello");
|
||||||
|
assert_equals(e.lastEventId, "");
|
||||||
|
t.done();
|
||||||
|
} else
|
||||||
|
assert_unreached();
|
||||||
|
});
|
||||||
|
}, "EventSource: id field set to " + encodedIdValue);
|
||||||
|
});
|
|
@ -2,6 +2,7 @@
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>EventSource: "retry" field (bogus)</title>
|
<title>EventSource: "retry" field (bogus)</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
<script src="/resources/testharnessreport.js"></script>
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>EventSource: "retry" field</title>
|
<title>EventSource: "retry" field</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
<script src="/resources/testharnessreport.js"></script>
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
// META: timeout=long
|
||||||
// META: global=window,worker
|
// META: global=window,worker
|
||||||
// META: script=/common/utils.js
|
// META: script=/common/utils.js
|
||||||
// META: script=/common/get-host-info.sub.js
|
// META: script=/common/get-host-info.sub.js
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Fetch: network timeout after receiving the HTTP response headers</title>
|
<title>Fetch: network timeout after receiving the HTTP response headers</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
<script src="/resources/testharnessreport.js"></script>
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
<script src="../resources/utils.js"></script>
|
<script src="../resources/utils.js"></script>
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
// META: timeout=long
|
||||||
// META: script=../resources/utils.js
|
// META: script=../resources/utils.js
|
||||||
// META: script=/common/get-host-info.sub.js
|
// META: script=/common/get-host-info.sub.js
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
// META: timeout=long
|
||||||
// META: script=/common/utils.js
|
// META: script=/common/utils.js
|
||||||
// META: script=../resources/utils.js
|
// META: script=../resources/utils.js
|
||||||
// META: script=/common/get-host-info.sub.js
|
// META: script=/common/get-host-info.sub.js
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
// META: script=../resources/utils.js
|
||||||
|
|
||||||
|
// See https://github.com/whatwg/fetch/issues/883 for the behavior covered by
|
||||||
|
// this test. As of writing, the Fetch spec has not been updated to cover these.
|
||||||
|
|
||||||
|
// redirectLocation tests that a Location header of |locationHeader| is resolved
|
||||||
|
// to a URL which ends in |expectedUrlSuffix|. |locationHeader| is interpreted
|
||||||
|
// as a byte sequence via isomorphic encode, as described in [INFRA]. This
|
||||||
|
// allows the caller to specify byte sequences which are not valid UTF-8.
|
||||||
|
// However, this means, e.g., U+2603 must be passed in as "\xe2\x98\x83", its
|
||||||
|
// UTF-8 encoding, not "\u2603".
|
||||||
|
//
|
||||||
|
// [INFRA] https://infra.spec.whatwg.org/#isomorphic-encode
|
||||||
|
function redirectLocation(
|
||||||
|
desc, redirectUrl, locationHeader, expectedUrlSuffix) {
|
||||||
|
promise_test(function(test) {
|
||||||
|
// Note we use escape() instead of encodeURIComponent(), so that characters
|
||||||
|
// are escaped as bytes in the isomorphic encoding.
|
||||||
|
var url = redirectUrl + '?simple=1&location=' + escape(locationHeader);
|
||||||
|
|
||||||
|
return fetch(url, {'redirect': 'follow'}).then(function(resp) {
|
||||||
|
assert_true(
|
||||||
|
resp.url.endsWith(expectedUrlSuffix),
|
||||||
|
resp.url + ' ends with ' + expectedUrlSuffix);
|
||||||
|
});
|
||||||
|
}, desc);
|
||||||
|
}
|
||||||
|
|
||||||
|
var redirUrl = RESOURCES_DIR + 'redirect.py';
|
||||||
|
redirectLocation(
|
||||||
|
'Redirect to escaped UTF-8', redirUrl, 'top.txt?%E2%98%83%e2%98%83',
|
||||||
|
'top.txt?%E2%98%83%e2%98%83');
|
||||||
|
redirectLocation(
|
||||||
|
'Redirect to unescaped UTF-8', redirUrl, 'top.txt?\xe2\x98\x83',
|
||||||
|
'top.txt?%E2%98%83');
|
||||||
|
redirectLocation(
|
||||||
|
'Redirect to escaped and unescaped UTF-8', redirUrl,
|
||||||
|
'top.txt?\xe2\x98\x83%e2%98%83', 'top.txt?%E2%98%83%e2%98%83');
|
||||||
|
redirectLocation(
|
||||||
|
'Escaping produces double-percent', redirUrl, 'top.txt?%\xe2\x98\x83',
|
||||||
|
'top.txt?%%E2%98%83');
|
||||||
|
redirectLocation(
|
||||||
|
'Redirect to invalid UTF-8', redirUrl, 'top.txt?\xff', 'top.txt?%FF');
|
||||||
|
|
||||||
|
done();
|
|
@ -1,3 +1,4 @@
|
||||||
|
// META: timeout=long
|
||||||
// META: script=/common/utils.js
|
// META: script=/common/utils.js
|
||||||
// META: script=../resources/utils.js
|
// META: script=../resources/utils.js
|
||||||
// META: script=/common/get-host-info.sub.js
|
// META: script=/common/get-host-info.sub.js
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>Request cache - default with conditional requests</title>
|
<title>Request cache - default with conditional requests</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<meta name="help" href="https://fetch.spec.whatwg.org/#request">
|
<meta name="help" href="https://fetch.spec.whatwg.org/#request">
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
<script src="/resources/testharnessreport.js"></script>
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>Request Keepalive Quota Tests</title>
|
<title>Request Keepalive Quota Tests</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<meta name="help" href="https://fetch.spec.whatwg.org/#request">
|
<meta name="help" href="https://fetch.spec.whatwg.org/#request">
|
||||||
<meta name="help" href="https://fetch.spec.whatwg.org/#body-mixin">
|
<meta name="help" href="https://fetch.spec.whatwg.org/#body-mixin">
|
||||||
<meta name="author" title="Microsoft Edge" href="https://www.microsoft.com">
|
<meta name="author" title="Microsoft Edge" href="https://www.microsoft.com">
|
||||||
|
|
|
@ -38,6 +38,7 @@ def main(request, response):
|
||||||
|
|
||||||
if "location" in request.GET:
|
if "location" in request.GET:
|
||||||
url = request.GET['location']
|
url = request.GET['location']
|
||||||
|
if "simple" not in request.GET:
|
||||||
scheme = urlparse(url).scheme
|
scheme = urlparse(url).scheme
|
||||||
if scheme == "" or scheme == "http" or scheme == "https":
|
if scheme == "" or scheme == "http" or scheme == "https":
|
||||||
url += "&" if '?' in url else "?"
|
url += "&" if '?' in url else "?"
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>Response clone</title>
|
<title>Response clone</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<meta name="help" href="https://fetch.spec.whatwg.org/#response">
|
<meta name="help" href="https://fetch.spec.whatwg.org/#response">
|
||||||
<meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
|
<meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
// META: timeout=long
|
||||||
// META: global=window,dedicatedworker,sharedworker
|
// META: global=window,dedicatedworker,sharedworker
|
||||||
// META: script=/common/get-host-info.sub.js
|
// META: script=/common/get-host-info.sub.js
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>HTTP Cache - Status Codes</title>
|
<title>HTTP Cache - Status Codes</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<meta name="help" href="https://fetch.spec.whatwg.org/#request">
|
<meta name="help" href="https://fetch.spec.whatwg.org/#request">
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
<script src="/resources/testharnessreport.js"></script>
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<title>Element#requestFullscreen() on two elements in different iframes</title>
|
<title>Element#requestFullscreen() on two elements in different iframes</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
<script src="/resources/testharnessreport.js"></script>
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
<script src="../trusted-click.js"></script>
|
<script src="../trusted-click.js"></script>
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>Gyroscope Test</title>
|
<title>Gyroscope Test</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<link rel="author" title="Intel" href="http://www.intel.com">
|
<link rel="author" title="Intel" href="http://www.intel.com">
|
||||||
<link rel="help" href="https://www.w3.org/TR/gyroscope/">
|
<link rel="help" href="https://www.w3.org/TR/gyroscope/">
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
<title>Verify history.back() on a persisted page resumes timers</title>
|
<title>Verify history.back() on a persisted page resumes timers</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
<script src="/resources/testharnessreport.js"></script>
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
<title>beforeunload and unload events fire after window.close() in script-closeable browsing context</title>
|
<title>beforeunload and unload events fire after window.close() in script-closeable browsing context</title>
|
||||||
|
<meta name="timeout" content="long">
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
<script src="/resources/testharnessreport.js"></script>
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
<div id="log"></div>
|
<div id="log"></div>
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue