mirror of
https://github.com/servo/servo.git
synced 2025-06-28 11:03:39 +01:00
Update web-platform-tests to revision 14cfa4d648cc1c853b4153268df672d21425f8c1
This commit is contained in:
parent
1b73cf3352
commit
75736751d9
1213 changed files with 19434 additions and 12344 deletions
130
tests/wpt/css-tests/tools/manifest/download.py
Normal file
130
tests/wpt/css-tests/tools/manifest/download.py
Normal file
|
@ -0,0 +1,130 @@
|
|||
import argparse
|
||||
import gzip
|
||||
import json
|
||||
import io
|
||||
import log
|
||||
import os
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
import urllib2
|
||||
|
||||
from vcs import Git
|
||||
|
||||
here = os.path.dirname(__file__)
|
||||
|
||||
wpt_root = os.path.abspath(os.path.join(here, os.pardir, os.pardir))
|
||||
logger = log.get_logger()
|
||||
|
||||
|
||||
def abs_path(path):
|
||||
return os.path.abspath(os.path.expanduser(path))
|
||||
|
||||
|
||||
def should_download(manifest_path, rebuild_time=timedelta(days=5)):
|
||||
if not os.path.exists(manifest_path):
|
||||
return True
|
||||
mtime = datetime.fromtimestamp(os.path.getmtime(manifest_path))
|
||||
if mtime < datetime.now() - rebuild_time:
|
||||
return True
|
||||
logger.info("Skipping manifest download because existing file is recent")
|
||||
return False
|
||||
|
||||
|
||||
def git_commits(repo_root):
|
||||
git = Git.get_func(repo_root)
|
||||
return [item for item in git("log", "--format=%H", "-n50").split("\n") if item]
|
||||
|
||||
|
||||
def github_url(commits):
|
||||
try:
|
||||
resp = urllib2.urlopen("https://api.github.com/repos/w3c/web-platform-tests/releases")
|
||||
except Exception:
|
||||
return None
|
||||
|
||||
if resp.code != 200:
|
||||
return None
|
||||
|
||||
try:
|
||||
releases = json.load(resp.fp)
|
||||
except ValueError:
|
||||
logger.warning("Response was not valid JSON")
|
||||
return None
|
||||
|
||||
fallback = None
|
||||
for release in releases:
|
||||
for commit in commits:
|
||||
for item in release["assets"]:
|
||||
if item["name"] == "MANIFEST-%s.json.gz" % commit:
|
||||
return item["browser_download_url"]
|
||||
elif item["name"] == "MANIFEST.json.gz" and not fallback:
|
||||
fallback = item["browser_download_url"]
|
||||
if fallback:
|
||||
logger.info("Can't find a commit-specific manifest so just using the most recent one")
|
||||
return fallback
|
||||
|
||||
|
||||
def download_manifest(manifest_path, commits_func, url_func, force=False):
|
||||
if not force and not should_download(manifest_path):
|
||||
return False
|
||||
|
||||
commits = commits_func()
|
||||
|
||||
url = url_func(commits)
|
||||
if not url:
|
||||
logger.warning("No generated manifest found")
|
||||
return False
|
||||
|
||||
logger.info("Downloading manifest from %s" % url)
|
||||
try:
|
||||
resp = urllib2.urlopen(url)
|
||||
except Exception:
|
||||
logger.warning("Downloading pregenerated manifest failed")
|
||||
return False
|
||||
|
||||
if resp.code != 200:
|
||||
logger.warning("Downloading pregenerated manifest failed; got HTTP status %d" %
|
||||
resp.code)
|
||||
return False
|
||||
|
||||
gzf = gzip.GzipFile(fileobj=io.BytesIO(resp.read()))
|
||||
|
||||
try:
|
||||
decompressed = gzf.read()
|
||||
except IOError:
|
||||
logger.warning("Failed to decompress downloaded file")
|
||||
return False
|
||||
|
||||
try:
|
||||
with open(manifest_path, "w") as f:
|
||||
f.write(decompressed)
|
||||
except Exception:
|
||||
logger.warning("Failed to write manifest")
|
||||
return False
|
||||
logger.info("Manifest downloaded")
|
||||
return True
|
||||
|
||||
|
||||
def create_parser():
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument(
|
||||
"-p", "--path", type=abs_path, help="Path to manifest file.")
|
||||
parser.add_argument(
|
||||
"--tests-root", type=abs_path, default=wpt_root, help="Path to root of tests.")
|
||||
parser.add_argument(
|
||||
"--force", action="store_true",
|
||||
help="Always download, even if the existing manifest is recent")
|
||||
return parser
|
||||
|
||||
|
||||
def download_from_github(path, tests_root, force=False):
|
||||
return download_manifest(path, lambda: git_commits(tests_root), github_url,
|
||||
force=force)
|
||||
|
||||
|
||||
def run(**kwargs):
|
||||
if kwargs["path"] is None:
|
||||
path = os.path.join(kwargs["tests_root"], "MANIFEST.json")
|
||||
else:
|
||||
path = kwargs["path"]
|
||||
success = download_from_github(path, kwargs["tests_root"], kwargs["force"])
|
||||
return 0 if success else 1
|
File diff suppressed because it is too large
Load diff
4
tests/wpt/metadata/fetch/api/basic/keepalive.html.ini
Normal file
4
tests/wpt/metadata/fetch/api/basic/keepalive.html.ini
Normal file
|
@ -0,0 +1,4 @@
|
|||
[keepalive.html]
|
||||
[Fetch API: keepalive handling]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
[request-keepalive.html]
|
||||
[keepalive flag]
|
||||
expected: FAIL
|
||||
|
||||
[keepalive flag with stream body]
|
||||
expected: FAIL
|
||||
|
|
@ -14307,3 +14307,12 @@
|
|||
[External interface: window.external must inherit property "IsSearchProviderInstalled()" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLIFrameElement interface: attribute delegateStickyUserActivation]
|
||||
expected: FAIL
|
||||
|
||||
[History interface: attribute index]
|
||||
expected: FAIL
|
||||
|
||||
[History interface: window.history must inherit property "index" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[dialog-return-value.html]
|
||||
[Tests dialog.returnValue is settable and returns the last value set.]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
[show-modal-focusing-steps.html]
|
||||
expected: TIMEOUT
|
||||
[focus when a modal dialog is opened]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
[dynamic-imports-error.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
|
@ -0,0 +1,2 @@
|
|||
[dynamic-imports-fetch-error.sub.html]
|
||||
expected: TIMEOUT
|
|
@ -0,0 +1,2 @@
|
|||
[dynamic-imports-script-error.html]
|
||||
expected: TIMEOUT
|
|
@ -0,0 +1,2 @@
|
|||
[import-meta-url.html]
|
||||
expected: TIMEOUT
|
|
@ -1,2 +1,2 @@
|
|||
local: 20a833eb75e92c3f7dd081bf526d8d8fbaf618ef
|
||||
upstream: 238e9855c35a3570f824b837826aac71e50722f4
|
||||
local: 1b73cf33525afbbe2d077554d1965b74ef9ae5e3
|
||||
upstream: 3922fb3e43b75d2ff118a5ebf793180f570fdb53
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
[iframe-inheritance.html]
|
||||
expected: TIMEOUT
|
||||
[iframes correctly inherit the ancestor's referrer]
|
||||
expected: NOTRUN
|
||||
|
|
@ -127,17 +127,6 @@ var testFontFamilyLists = [
|
|||
|
||||
];
|
||||
|
||||
if (window.SpecialPowers && SpecialPowers.getBoolPref("layout.css.unset-value.enabled")) {
|
||||
testFontFamilyLists.push(
|
||||
{ namelist: "unset", invalid: true, fontonly: true, single: true },
|
||||
{ namelist: "unset, simple", invalid: true },
|
||||
{ namelist: "simple, unset", invalid: true },
|
||||
{ namelist: "simple, unset bongo" },
|
||||
{ namelist: "simple, bongo unset" },
|
||||
{ namelist: "simple unset", single: true },
|
||||
{ namelist: "unset simple", single: true });
|
||||
}
|
||||
|
||||
var gTest = 0;
|
||||
|
||||
/* strip out just values */
|
||||
|
|
|
@ -24,6 +24,15 @@ env: # required at the top-level for allow_failures to work below
|
|||
matrix:
|
||||
fast_finish: true
|
||||
include:
|
||||
- os: linux
|
||||
python: "2.7"
|
||||
env: JOB=manifest_upload SCRIPT=tools/ci/ci_manifest.sh
|
||||
deploy:
|
||||
provider: releases
|
||||
api_key:
|
||||
secure: "EljDx50oNpDLs7rzwIv+z1PxIgB5KMnx1W0OQkpNvltR0rBW9g/aQaE+Z/c8M/sPqN1bkvKPybKzGKjb6j9Dw3/EJhah4SskH78r3yMAe2DU/ngxqqjjfXcCc2t5MKxzHAILTAxqScPj2z+lG1jeK1Z+K5hTbSP9lk+AvS0D16w="
|
||||
file: $WPT_MANIFEST_FILE.gz
|
||||
skip_cleanup: true
|
||||
- os: linux
|
||||
python: "2.7"
|
||||
env: JOB=lint SCRIPT=tools/ci/ci_lint.sh
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
<!doctype html>
|
||||
<meta charset=utf-8>
|
||||
<title>IndexedDB: The source of requests made against cursors</title>
|
||||
<meta name="help" href="https://w3c.github.io/IndexedDB/#dom-idbrequest-source">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="support.js"></script>
|
||||
<script>
|
||||
|
||||
[
|
||||
cursor => cursor.update(0),
|
||||
cursor => cursor.delete()
|
||||
].forEach(func => indexeddb_test(
|
||||
(t, db) => {
|
||||
db.createObjectStore('store', {autoIncrement: true});
|
||||
},
|
||||
(t, db) => {
|
||||
const tx = db.transaction('store', 'readwrite');
|
||||
const store = tx.objectStore('store');
|
||||
store.put('value');
|
||||
store.openCursor().onsuccess = t.step_func(e => {
|
||||
const cursor = e.target.result;
|
||||
assert_equals(func(cursor).source, cursor,
|
||||
`${func}.source should be the cursor itself`);
|
||||
t.done();
|
||||
});
|
||||
},
|
||||
`The source of the request from ${func} is the cursor itself`
|
||||
));
|
||||
|
||||
</script>
|
|
@ -0,0 +1,34 @@
|
|||
<!doctype html>
|
||||
<meta charset=utf-8>
|
||||
<title>IndexedDB: The source of requests made against indexes</title>
|
||||
<meta name="help" href="https://w3c.github.io/IndexedDB/#dom-idbrequest-source">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="support.js"></script>
|
||||
<script>
|
||||
|
||||
[
|
||||
index => index.get(0),
|
||||
index => index.getKey(0),
|
||||
index => index.getAll(),
|
||||
index => index.getAllKeys(),
|
||||
index => index.count(),
|
||||
|
||||
index => index.openCursor(),
|
||||
index => index.openKeyCursor()
|
||||
].forEach(func => indexeddb_test(
|
||||
(t, db) => {
|
||||
const store = db.createObjectStore('store', {autoIncrement: true});
|
||||
store.createIndex('index', 'kp');
|
||||
},
|
||||
(t, db) => {
|
||||
const tx = db.transaction('store', 'readwrite');
|
||||
const index = tx.objectStore('store').index('index');
|
||||
assert_equals(func(index).source, index,
|
||||
`${func}.source should be the index itself`);
|
||||
t.done();
|
||||
},
|
||||
`The source of the request from ${func} is the index itself`
|
||||
));
|
||||
|
||||
</script>
|
|
@ -0,0 +1,39 @@
|
|||
<!doctype html>
|
||||
<meta charset=utf-8>
|
||||
<title>IndexedDB: The source of requests made against object stores</title>
|
||||
<meta name="help" href="https://w3c.github.io/IndexedDB/#dom-idbrequest-source">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="support.js"></script>
|
||||
<script>
|
||||
|
||||
[
|
||||
store => store.put(0),
|
||||
store => store.add(0),
|
||||
store => store.delete(0),
|
||||
store => store.clear(),
|
||||
|
||||
store => store.get(0),
|
||||
store => store.getKey(0),
|
||||
store => store.getAll(),
|
||||
store => store.getAllKeys(),
|
||||
store => store.count(),
|
||||
|
||||
store => store.openCursor(),
|
||||
store => store.openKeyCursor()
|
||||
].forEach(func => indexeddb_test(
|
||||
(t, db) => {
|
||||
db.createObjectStore('store', {autoIncrement: true});
|
||||
},
|
||||
(t, db) => {
|
||||
const tx = db.transaction('store', 'readwrite');
|
||||
const store = tx.objectStore('store');
|
||||
|
||||
assert_equals(func(store).source, store,
|
||||
`${func}.source should be the object store itself`);
|
||||
t.done();
|
||||
},
|
||||
`The source of the request from ${func} is the object store itself`
|
||||
));
|
||||
|
||||
</script>
|
|
@ -15,6 +15,6 @@
|
|||
</ol>
|
||||
<script>
|
||||
|
||||
runGenericSensorInsecureContext(Accelerometer);
|
||||
runGenericSensorInsecureContext("Accelerometer");
|
||||
|
||||
</script>
|
||||
|
|
|
@ -24,6 +24,7 @@ interface EventHandler {
|
|||
[SecureContext, Exposed=Window]
|
||||
interface Sensor : EventTarget {
|
||||
readonly attribute boolean activated;
|
||||
readonly attribute boolean hasReading;
|
||||
readonly attribute DOMHighResTimeStamp? timestamp;
|
||||
void start();
|
||||
void stop();
|
||||
|
@ -34,9 +35,9 @@ interface Sensor : EventTarget {
|
|||
|
||||
[Constructor(optional SensorOptions options), Exposed=Window]
|
||||
interface Accelerometer : Sensor {
|
||||
readonly attribute unrestricted double? x;
|
||||
readonly attribute unrestricted double? y;
|
||||
readonly attribute unrestricted double? z;
|
||||
readonly attribute double? x;
|
||||
readonly attribute double? y;
|
||||
readonly attribute double? z;
|
||||
};
|
||||
|
||||
[Constructor(optional SensorOptions options), Exposed=Window]
|
||||
|
|
17
tests/wpt/web-platform-tests/acid/README.md
Normal file
17
tests/wpt/web-platform-tests/acid/README.md
Normal file
|
@ -0,0 +1,17 @@
|
|||
## The Acid Tests
|
||||
|
||||
This directory contains copies of Acid2 and Acid3, based on the
|
||||
copies hosted at [acidtests.org](http://www.acidtests.org) after they
|
||||
had ceased being maintained (per the note on that page).
|
||||
|
||||
Note these are not maintained here for the sake of providing any
|
||||
useful guide of interoperability or standards compliance, but rather
|
||||
for browser vendors' convenience. It would be inappropriate,
|
||||
therefore, to use them as part of a certification process.
|
||||
|
||||
Acid1 can be found at `css/CSS2/css1/c5526c-display-000.xht`, as it
|
||||
always formed part of the CSS1 testsuite.
|
||||
|
||||
The tests themselves (i.e., those at `/` of their respective
|
||||
subdomains at `acidtests.org`) are in files named test.html in their
|
||||
respective directories.
|
2
tests/wpt/web-platform-tests/acid/acid2/404.html
Normal file
2
tests/wpt/web-platform-tests/acid/acid2/404.html
Normal file
|
@ -0,0 +1,2 @@
|
|||
<style>body { background: red; }</style>
|
||||
|
17
tests/wpt/web-platform-tests/acid/acid2/reference.html
Executable file
17
tests/wpt/web-platform-tests/acid/acid2/reference.html
Executable file
|
@ -0,0 +1,17 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>The Second Acid Test (Reference Rendering)</title>
|
||||
<style type="text/css">
|
||||
html { margin: 0; padding: 0; border: 0; overflow: hidden; background: white; }
|
||||
body { margin: 0; padding: 0; border: 0; }
|
||||
h2 { margin: 0; padding: 48px 0 36px 84px; border: 0; font: 24px/24px sans-serif; color: navy; }
|
||||
p { margin: 0; padding: 0 0 0 72px; border: 0; }
|
||||
img { vertical-align: top; margin: 0; padding: 0; border: 0; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Hello World!</h2>
|
||||
<p><a href="reference.png"><img src="reference.png" alt="Follow this link to view the reference image, which should be rendered below the text "Hello World!" on the test page in the same way that this paragraph is rendered below that text on this page."></a></p>
|
||||
</body>
|
||||
</html>
|
BIN
tests/wpt/web-platform-tests/acid/acid2/reference.png
Executable file
BIN
tests/wpt/web-platform-tests/acid/acid2/reference.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 2.2 KiB |
15
tests/wpt/web-platform-tests/acid/acid2/reftest.html
Normal file
15
tests/wpt/web-platform-tests/acid/acid2/reftest.html
Normal file
|
@ -0,0 +1,15 @@
|
|||
<!doctype html>
|
||||
<title>Acid2 reftest</title>
|
||||
<link rel="match" href="reference.html">
|
||||
<style>
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
}
|
||||
iframe {
|
||||
width: 400px;
|
||||
height: 300px;
|
||||
}
|
||||
</style>
|
||||
<iframe src="test.html#top"></iframe>
|
150
tests/wpt/web-platform-tests/acid/acid2/test.html
Executable file
150
tests/wpt/web-platform-tests/acid/acid2/test.html
Executable file
|
@ -0,0 +1,150 @@
|
|||
<!--
|
||||
A guide to Acid2 was posted alongside it as part of its original announcement; this can be found at:
|
||||
https://www.webstandards.org/action/acid2/guide/
|
||||
-->
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>The Second Acid Test</title>
|
||||
<style type="text/css">
|
||||
/* section numbers refer to CSS2.1 */
|
||||
|
||||
/* page setup */
|
||||
html { font: 12px sans-serif; margin: 0; padding: 0; overflow: hidden; /* hides scrollbars on viewport, see 11.1.1:3 */ background: white; color: red; }
|
||||
body { margin: 0; padding: 0; }
|
||||
|
||||
/* introduction message */
|
||||
.intro { font: 2em sans-serif; margin: 3.5em 2em; padding: 0.5em; border: solid thin; background: white; color: black; position: relative; z-index: 2; /* should cover the black and red bars that are fixed-positioned */ }
|
||||
.intro * { font: inherit; margin: 0; padding: 0; }
|
||||
.intro h1 { font-size: 1em; font-weight: bolder; margin: 0; padding: 0; }
|
||||
.intro :link { color: blue; }
|
||||
.intro :visited { color: purple; }
|
||||
|
||||
/* picture setup */
|
||||
#top { margin: 100em 3em 0; padding: 2em 0 0 .5em; text-align: left; font: 2em/24px sans-serif; color: navy; white-space: pre; } /* "Hello World!" text */
|
||||
.picture { position: relative; border: 1em solid transparent; margin: 0 0 100em 3em; } /* containing block for face */
|
||||
.picture { background: red; } /* overriden by preferred stylesheet below */
|
||||
|
||||
/* top line of face (scalp): fixed positioning and min/max height/width */
|
||||
.picture p { position: fixed; margin: 0; padding: 0; border: 0; top: 9em; left: 11em; width: 140%; max-width: 4em; height: 8px; min-height: 1em; max-height: 2mm; /* min-height overrides max-height, see 10.7 */ background: black; border-bottom: 0.5em yellow solid; }
|
||||
|
||||
/* bits that shouldn't be part of the top line (and shouldn't be visible at all): HTML parsing, "+" combinator, stacking order */
|
||||
.picture p.bad { border-bottom: red solid; /* shouldn't matter, because the "p + table + p" rule below should match it too, thus hiding it */ }
|
||||
.picture p + p { background: maroon; z-index: 1; } /* shouldn't match anything */
|
||||
.picture p + table + p { margin-top: 3em; /* should end up under the absolutely positioned table below, and thus not be visible */ }
|
||||
|
||||
/* second line of face: attribute selectors, float positioning */
|
||||
[class~=one].first.one { position: absolute; top: 0; margin: 36px 0 0 60px; padding: 0; border: black 2em; border-style: none solid; /* shrink wraps around float */ }
|
||||
[class~=one][class~=first] [class=second\ two][class="second two"] { float: right; width: 48px; height: 12px; background: yellow; margin: 0; padding: 0; } /* only content of abs pos block */
|
||||
|
||||
/* third line of face: width and overflow */
|
||||
.forehead { margin: 4em; width: 8em; border-left: solid black 1em; border-right: solid black 1em; background: red url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR42mP4%2F58BAAT%2FAf9jgNErAAAAAElFTkSuQmCC); /* that's a 1x1 yellow pixel PNG */ }
|
||||
.forehead * { width: 12em; line-height: 1em; }
|
||||
|
||||
/* class selectors headache */
|
||||
.two.error.two { background: maroon; } /* shouldn't match */
|
||||
.forehead.error.forehead { background: red; } /* shouldn't match */
|
||||
[class=second two] { background: red; } /* this should be ignored (invalid selector -- grammar says it only accepts IDENTs or STRINGs) */
|
||||
|
||||
/* fourth and fifth lines of face, with eyes: paint order test (see appendix E) and fixed backgrounds */
|
||||
/* the two images are identical: 2-by-2 squares with the top left
|
||||
and bottom right pixels set to yellow and the other two set to
|
||||
transparent. Since they are offset by one pixel from each other,
|
||||
the second one paints exactly over the transparent parts of the
|
||||
first one, thus creating a solid yellow block. */
|
||||
.eyes { position: absolute; top: 5em; left: 3em; margin: 0; padding: 0; background: red; }
|
||||
#eyes-a { height: 0; line-height: 2em; text-align: right; } /* contents should paint top-most because they're inline */
|
||||
#eyes-a object { display: inline; vertical-align: bottom; }
|
||||
#eyes-a object[type] { width: 7.5em; height: 2.5em; } /* should have no effect since that object should fallback to being inline (height/width don't apply to inlines) */
|
||||
#eyes-a object object object { border-right: solid 1em black; padding: 0 12px 0 11px; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAIAAAD91JpzAAAABnRSTlMAAAAAAABupgeRAAAABmJLR0QA%2FwD%2FAP%2BgvaeTAAAAEUlEQVR42mP4%2F58BCv7%2FZwAAHfAD%2FabwPj4AAAAASUVORK5CYII%3D) fixed 1px 0; }
|
||||
#eyes-b { float: left; width: 10em; height: 2em; background: fixed url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAIAAAD91JpzAAAABnRSTlMAAAAAAABupgeRAAAABmJLR0QA%2FwD%2FAP%2BgvaeTAAAAEUlEQVR42mP4%2F58BCv7%2FZwAAHfAD%2FabwPj4AAAAASUVORK5CYII%3D); border-left: solid 1em black; border-right: solid 1em red; } /* should paint in the middle layer because it is a float */
|
||||
#eyes-c { display: block; background: red; border-left: 2em solid yellow; width: 10em; height: 2em; } /* should paint bottom most because it is a block */
|
||||
|
||||
/* lines six to nine, with nose: auto margins */
|
||||
.nose { float: left; margin: -2em 2em -1em; border: solid 1em black; border-top: 0; min-height: 80%; height: 60%; max-height: 3em; /* percentages become auto (see 10.5 and 10.7) and intrinsic height is more than 3em, so 3em wins */ padding: 0; width: 12em; }
|
||||
.nose > div { padding: 1em 1em 3em; height: 0; background: yellow; }
|
||||
.nose div div { width: 2em; height: 2em; background: red; margin: auto; }
|
||||
.nose :hover div { border-color: blue; }
|
||||
.nose div:hover :before { border-bottom-color: inherit; }
|
||||
.nose div:hover :after { border-top-color: inherit; }
|
||||
.nose div div:before { display: block; border-style: none solid solid; border-color: red yellow black yellow; border-width: 1em; content: ''; height: 0; }
|
||||
.nose div :after { display: block; border-style: solid solid none; border-color: black yellow red yellow; border-width: 1em; content: ''; height: 0; }
|
||||
|
||||
/* between lines nine and ten: margin collapsing with 'float' and 'clear' */
|
||||
.empty { margin: 6.25em; height: 10%; /* computes to auto which makes it empty per 8.3.1:7 (own margins) */ }
|
||||
.empty div { margin: 0 2em -6em 4em; }
|
||||
.smile { margin: 5em 3em; clear: both; /* clearance is negative (see 8.3.1 and 9.5.1) */ }
|
||||
|
||||
/* line ten and eleven: containing block for abs pos */
|
||||
.smile div { margin-top: 0.25em; background: black; width: 12em; height: 2em; position: relative; bottom: -1em; }
|
||||
.smile div div { position: absolute; top: 0; right: 1em; width: auto; height: 0; margin: 0; border: yellow solid 1em; }
|
||||
|
||||
/* smile (over lines ten and eleven): backgrounds behind borders, inheritance of 'float', nested floats, negative heights */
|
||||
.smile div div span { display: inline; margin: -1em 0 0 0; border: solid 1em transparent; border-style: none solid; float: right; background: black; height: 1em; }
|
||||
.smile div div span em { float: inherit; border-top: solid yellow 1em; border-bottom: solid black 1em; } /* zero-height block; width comes from (zero-height) child. */
|
||||
.smile div div span em strong { width: 6em; display: block; margin-bottom: -1em; /* should have no effect, since parent has top&bottom borders, so this margin doesn't collapse */ }
|
||||
|
||||
/* line twelve: line-height */
|
||||
.chin { margin: -4em 4em 0; width: 8em; line-height: 1em; border-left: solid 1em black; border-right: solid 1em black; background: yellow url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAFSDNYfAAAAaklEQVR42u3XQQrAIAwAQeP%2F%2F6wf8CJBJTK9lnQ7FpHGaOurt1I34nfH9pMMZAZ8BwMGEvvh%2BBsJCAgICLwIOA8EBAQEBAQEBAQEBK79H5RfIQAAAAAAAAAAAAAAAAAAAAAAAAAAAID%2FABMSqAfj%2FsLmvAAAAABJRU5ErkJggg%3D%3D) /* 64x64 red square */ no-repeat fixed /* shouldn't be visible unless the smiley is moved to the top left of the viewport */; }
|
||||
.chin div { display: inline; font: 2px/4px serif; }
|
||||
|
||||
/* line thirteen: cascade and selector tests */
|
||||
.parser-container div { color: maroon; border: solid; color: orange; } /* setup */
|
||||
div.parser-container * { border-color: black; /* overrides (implied) border-color on previous line */ } /* setup */
|
||||
* div.parser { border-width: 0 2em; /* overrides (implied) declarations on earlier line */ } /* setup */
|
||||
|
||||
/* line thirteen continued: parser tests */
|
||||
.parser { /* comment parsing test -- comment ends before the end of this line, the backslash should have no effect: \*/ }
|
||||
.parser { margin: 0 5em 1em; padding: 0 1em; width: 2em; height: 1em; error: \}; background: yellow; } /* setup with parsing test */
|
||||
* html .parser { background: gray; }
|
||||
\.parser { padding: 2em; }
|
||||
.parser { m\argin: 2em; };
|
||||
.parser { height: 3em; }
|
||||
.parser { width: 200; }
|
||||
.parser { border: 5em solid red ! error; }
|
||||
.parser { background: red pink; }
|
||||
|
||||
/* line fourteen (last line of face): table */
|
||||
ul { display: table; padding: 0; margin: -1em 7em 0; background: red; }
|
||||
ul li { padding: 0; margin: 0; }
|
||||
ul li.first-part { display: table-cell; height: 1em; width: 1em; background: black; }
|
||||
ul li.second-part { display: table; height: 1em; width: 1em; background: black; } /* anonymous table cell wraps around this */
|
||||
ul li.third-part { display: table-cell; height: 0.5em; /* gets stretched to fit row */ width: 1em; background: black; }
|
||||
ul li.fourth-part { list-style: none; height: 1em; width: 1em; background: black; } /* anonymous table cell wraps around this */
|
||||
|
||||
/* bits that shouldn't appear: inline alignment in cells */
|
||||
.image-height-test { height: 10px; overflow: hidden; font: 20em serif; } /* only the area between the top of the line box and the top of the image should be visible */
|
||||
table { margin: 0; border-spacing: 0; }
|
||||
td { padding: 0; }
|
||||
|
||||
</style>
|
||||
<link rel="appendix stylesheet" href="data:text/css,.picture%20%7B%20background%3A%20none%3B%20%7D"> <!-- this stylesheet should be applied by default -->
|
||||
</head>
|
||||
<body>
|
||||
<div class="intro">
|
||||
<h1>Standards compliant?</h1>
|
||||
<p><a href="#top">Take The Acid2 Test</a> and compare it to <a
|
||||
href="reference.html">the reference rendering</a>.</p>
|
||||
</div>
|
||||
<h2 id="top">Hello World!</h2>
|
||||
<div class="picture">
|
||||
<p><table><tr><td></table><p class="bad"> <!-- <table> closes <p> per the HTML4 DTD -->
|
||||
<blockquote class="first one"><address class="second two"></address></blockquote>
|
||||
<div class="forehead"><div> </div></div>
|
||||
<div class="eyes"><div id="eyes-a"><object data="data:application/x-unknown,ERROR"><object data="404.html?pipe=status(404)" type="text/html"><object data="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAAYCAYAAAFy7sgCAAAGsUlEQVRo3u2ZbWwcZxHHf3s%2B7LNbO3ZjXBtowprGODRX0qpNQCjmJKuVKhMl1P2AkCwhFOIKkCBSm9IXavGFKAixIAECwkmWo5MrhRI3Ub40IEwQgp6aIDg3Cd6eEqyIHEteah%2B1E69vhw%2BZtTaX8704ZzkKjHS6271nZ56ZZ%2BY%2F%2F%2BdZKF%2FCwYshx3EkkggLsD1v4FQkEZZYLCbAKyG9%2Ba9EIsG6hnUAf8x74K3aUC3j4%2BM54HcsR2oAIomwZOezkv%2FnSHpYNh%2BNCmAE7xv94zvFdd1bHsjMZmQkPSxAJP%2B%2FfuBLwK54PC7JZFKAVJmzXLBt2w%2FMvcDLwIb8QS8CeJ4nkURYIomw7J%2FYJ8BvSiiXptGGxWds2%2Fa9%2Bnaxh%2BYAD%2Bgt04NDgABTpQY2cvvSFLzw86gWeBVwC8SzlOSv2YeBPfmDBoBHgKmR9LBEEmHZfDTqGykqfkUE0nA78BzQGfSgUeP3wNeTXwXg7MwZDhw4UHL6ra2ti79%2FOvljgG8AZ4H64Lhm4MvAocxsRppGG%2FxcXihlwLIs6R%2FfKV2HO%2F26uA94pdDYUKUZUU7W1RQYXA98Gnhaf5%2FXWX0HeAHYoQonqa4sZSOsSWMCWeC9Yko%2BCQwBe4E6oNc0Tc91XTl1%2BaTsn9gnI%2Blhyc5nZWxsrBIkKSbl2tiic3tW53YDEwOKaoFBrcOfqKee53lG9xsPMjV784r%2F4lO%2FpPvyJ9iyZcuvFSaXK5XYeAZ4CDgGvB3MS4B54LQuWYPeuy4iRFsevsXqpuYoqVQKIH2bK1CuDQNo11o4XUzh%2FcDWYIe1LEtyuZx4niee54njOGKapgfsqlL%2Bl2OjEXg8nxrc1dJ0h3hbtL%2BGCtz7KPBF4CuBe9uB15VafE8hr9qylI3HgG8C2%2FK7VyHZoJj7MrBRm30qFotJMpkU27YlHo%2F7Ha5a%2BV%2FKRkSJ4KuKRLVLKapTjB1SzAVIjY2NSXY%2BKyPpYdk%2FsU9OXT4pruv6BdZbBQfKsVGnvWlIe1VB6VQO8JxC1vZYLCbZ%2BaxsPhpdZDyRRFhG0sPiOE6ldKBg2lRg4xF1YCDIIIKN7DGgD3gH%2BBXwejKZfPrs2tPs%2FvPN2bKuYR1nd7xLKBSSJeqoXKnERjPwNWAG%2BLn2rZuM%2B4Tpml6vaWlp4eLcxVusZq5lCgVgOVKJjRqdX86ffL4D5wIoZACnTpw4wRMdT96i%2FImOJxERAs4uVyqxUacF%2FPdiCj%2BjdRBRGFtwXVdG0sPSdbhTmkYbpH98p2RmM2JZlig1vl0GWo4NQ%2Fn%2Bs5pKRXfwjweaxy7TND3HcRZbfC6X8xVPVQlGy7WxVWlO5XRXFXm6EZmrQuSXYyPE3SiVoEhE6Wyr0u2rumO6zv%2B21AFdQAswC1wCMuUCXCmyWQus103Qg8qlDO0lxwOb%2Fl4FiK3AB3VS%2FuKKLtK%2FgbeAnwG%2FvUODuRw%2FFrR0H1UC75fwu8oJ%2FhFsW5VIG%2FBUgEIN6Y65O4AHu4Ap0zQ9y7LEcZyb9lRBUHQcRyzL8unZVBW5bFWAvAp%2BhDQ2g4F47dUYtlU6obXA54DnVdFLekjUGGifh4AFy7LEdV3xj3X9I66m0QZpGm2QrsOd0j%2B%2BU0bSw5KZzYjrun6HWlAd961i4FfCj0aN1Usau%2Bc1lmuXPFwvAEumUut7tQQvAb%2FXb%2FT0bCAej9cODg7yt%2Bm%2F8q2%2F7OUHZ76PnZ1k2p0mJzlykmPancbOTnL0whHs7CQfb%2B5mx2d3sH79%2BtCRI0c6FeaOr9ICrIQfLvA%2B8BGNXxi4R6HrisJVUWrxAVW2oMFf0Aczim8o3kV6enowDIPjF9%2Fk%2BMU3S3rrjzMMg56eHr%2BxP7qKFbASfojG6kpeDGs1tiW53RxwWT%2Bin5q8w4xpQK5evQpAR30H7ZH2khNvj7TTUd8BgD4rqmu1ZKX8qNeY%2BfHz4zlXDgT5E8tpCTUq7XSBC4Euv8227TV9fX1E73%2BYtvo27BmbS9cvFVTY3bSRFza9yOcf6Gfmygy7d%2B%2Fm%2FPnzF4DvrsBLhnJlJfwIKXxv1PheAE4qK6p4H9AGbNKTuhngBPBPXYRe4IemaT5kWZbR19fHNbmGnZ1k4r3U4glDR30Hm5qjbGjsImJEOHbsGHv27JFz5869o0eFq01Jq%2BmHAXwI6FFKagMTgHM7GzFDS%2BoeLSMv7zjzC9x4Y7gxFovVDAwMEI1GaWlpWSzRVCrFwYMH%2FXfxZ4AfAa8B%2F7lDaGg1%2FQgp43lfK0yqtRMuJa3ceKe5DfgYsCYAZ2ngD8CfAkzqTpW7xY%2F%2FSznyX%2FVeUb2kVmX4AAAAAElFTkSuQmCC">ERROR</object></object></object></div><div id="eyes-b"></div><div id="eyes-c"></div></div> <!-- that's a PNG with 8bit alpha containing two eyes -->
|
||||
<div class="nose"><div><div></div></div></div>
|
||||
<div class="empty"><div></div></div>
|
||||
<div class="smile"><div><div><span><em><strong></strong></em></span></div></div></div>
|
||||
<div class="chin"><div> </div></div>
|
||||
<div class="parser-container"><div class="parser"><!-- ->ERROR<!- --></div></div> <!-- two dashes is what delimits a comment, so the text "->ERROR<!-" earlier on this line is actually part of a comment -->
|
||||
<ul>
|
||||
<li class="first-part"></li>
|
||||
<li class="second-part"></li>
|
||||
<li class="third-part"></li>
|
||||
<li class="fourth-part"></li>
|
||||
</ul>
|
||||
<div class="image-height-test"><table><tr><td><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAFSDNYfAAAAaklEQVR42u3XQQrAIAwAQeP%2F%2F6wf8CJBJTK9lnQ7FpHGaOurt1I34nfH9pMMZAZ8BwMGEvvh%2BBsJCAgICLwIOA8EBAQEBAQEBAQEBK79H5RfIQAAAAAAAAAAAAAAAAAAAAAAAAAAAID%2FABMSqAfj%2FsLmvAAAAABJRU5ErkJggg%3D%3D" alt=""></td></tr></table></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
8
tests/wpt/web-platform-tests/acid/acid3/empty.css
Executable file
8
tests/wpt/web-platform-tests/acid/acid3/empty.css
Executable file
|
@ -0,0 +1,8 @@
|
|||
<!DOCTYPE HTML><html><head><title>FAIL</title><style>
|
||||
<!-- this file is sent as text/html, not text/css, which is why it is
|
||||
called "empty.css" despite the following lines -->
|
||||
|
||||
body { background: white; color: black; }
|
||||
h1 { color: red; }
|
||||
|
||||
</style><body><h1>FAIL</h1></body></html>
|
|
@ -0,0 +1 @@
|
|||
Content-Type: text/html
|
1
tests/wpt/web-platform-tests/acid/acid3/empty.html
Executable file
1
tests/wpt/web-platform-tests/acid/acid3/empty.html
Executable file
|
@ -0,0 +1 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"><html><head><title></title></head><body></body></html>
|
BIN
tests/wpt/web-platform-tests/acid/acid3/empty.png
Executable file
BIN
tests/wpt/web-platform-tests/acid/acid3/empty.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 260 B |
1
tests/wpt/web-platform-tests/acid/acid3/empty.txt
Executable file
1
tests/wpt/web-platform-tests/acid/acid3/empty.txt
Executable file
|
@ -0,0 +1 @@
|
|||
<!DOCTYPE html><html><head><title>FAIL</title></head><body><p>FAIL</p><script>parent.notify("empty.txt")</script></body></html>
|
4
tests/wpt/web-platform-tests/acid/acid3/empty.xml
Executable file
4
tests/wpt/web-platform-tests/acid/acid3/empty.xml
Executable file
|
@ -0,0 +1,4 @@
|
|||
<root>
|
||||
<fail> This is an invalid byte in UTF-8: ¿ </fail>
|
||||
<test/> <!-- shouldn't ever be parsed, as the parser should abort at the first sign of non-well-formedness -->
|
||||
</root>
|
|
@ -0,0 +1 @@
|
|||
Content-Type: application/xml;charset=utf-8
|
0
tests/wpt/web-platform-tests/acid/acid3/favicon.ico
Executable file
0
tests/wpt/web-platform-tests/acid/acid3/favicon.ico
Executable file
|
@ -0,0 +1 @@
|
|||
Content-Type: image/x-icon
|
BIN
tests/wpt/web-platform-tests/acid/acid3/reference.png
Executable file
BIN
tests/wpt/web-platform-tests/acid/acid3/reference.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 1.7 KiB |
21
tests/wpt/web-platform-tests/acid/acid3/reference.sub.html
Executable file
21
tests/wpt/web-platform-tests/acid/acid3/reference.sub.html
Executable file
|
@ -0,0 +1,21 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
|
||||
<html>
|
||||
<title>The Acid3 Test (Reference Rendering)</title>
|
||||
<link rel="icon" href="http://nonexistent-origin.{{host}}">
|
||||
<style type="text/css">
|
||||
html { margin: 0; padding: 0; }
|
||||
body { background: #c0c0c0 url(reference.png) top left no-repeat; margin: 0; padding: 0; }
|
||||
#a { font: bold 100px/120px Arial, sans-serif; position: absolute; top: 57px; left: 57px; color: #000000; z-index: 1; }
|
||||
#a0 { font: bold 100px/120px Arial, sans-serif; position: absolute; top: 60px; left: 60px; color: #C0C0C0; z-index: 0; }
|
||||
#b { position: absolute; top: 230px; left: 625px; width: 0; white-space: pre; }
|
||||
#b div { font: bold 100px/120px Arial, sans-serif; position: absolute; right: 0; text-align: right; color: #000000; }
|
||||
#c { font: 16px/19.2px Arial, sans-serif; color: #808080; width: 562px; position: absolute; top: 350px; left: 57px; }
|
||||
#c a { color: #0000FF; }
|
||||
</style>
|
||||
<body>
|
||||
<div id="a">Acid3</div>
|
||||
<div id="a0">Acid3</div>
|
||||
<div id="b"><div>100/100</div></div>
|
||||
<div id="c">To pass the test,<span></span> a browser must use its default settings, the animation has to be smooth, the score has to end on 100/100, and the final page has to look exactly, pixel for pixel, like <a href="reference.sub.html">this reference rendering</a>.</div>
|
||||
</body>
|
||||
</html>
|
BIN
tests/wpt/web-platform-tests/acid/acid3/support-a.png
Executable file
BIN
tests/wpt/web-platform-tests/acid/acid3/support-a.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 2.3 KiB |
1
tests/wpt/web-platform-tests/acid/acid3/support-b.png
Executable file
1
tests/wpt/web-platform-tests/acid/acid3/support-b.png
Executable file
|
@ -0,0 +1 @@
|
|||
<!DOCTYPE html><html><head><title>FAIL</title><style> * { background: transparent; } </style></head><body><p><!-- this file is transparent --></p></body></html>
|
|
@ -0,0 +1,2 @@
|
|||
Content-Type: text/html
|
||||
|
1
tests/wpt/web-platform-tests/acid/acid3/svg.xml
Executable file
1
tests/wpt/web-platform-tests/acid/acid3/svg.xml
Executable file
|
@ -0,0 +1 @@
|
|||
<?xml-stylesheet href="data:text/css,text%7Bfont-family%3AACID3svgfont%7D"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100" height="100"><defs><font-face font-family="ACID3svgfont"><font-face-src><font-face-uri xlink:href="font.svg#mini"/></font-face-src></font-face><path id="path" d="M0 0l0 42l16 16l4711 0"/></defs><text>X</text></svg>
|
After Width: | Height: | Size: 386 B |
1
tests/wpt/web-platform-tests/acid/acid3/svg.xml.headers
Normal file
1
tests/wpt/web-platform-tests/acid/acid3/svg.xml.headers
Normal file
|
@ -0,0 +1 @@
|
|||
Content-Type: image/svg+xml
|
3510
tests/wpt/web-platform-tests/acid/acid3/test.html
Normal file
3510
tests/wpt/web-platform-tests/acid/acid3/test.html
Normal file
File diff suppressed because it is too large
Load diff
11
tests/wpt/web-platform-tests/acid/acid3/xhtml.1
Executable file
11
tests/wpt/web-platform-tests/acid/acid3/xhtml.1
Executable file
|
@ -0,0 +1,11 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Test</title>
|
||||
</head>
|
||||
<body>
|
||||
<p> <strong> XHTML Test </strong> </p>
|
||||
<script type="text/javascript">
|
||||
parent.notify("xhtml.1")
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
1
tests/wpt/web-platform-tests/acid/acid3/xhtml.1.headers
Normal file
1
tests/wpt/web-platform-tests/acid/acid3/xhtml.1.headers
Normal file
|
@ -0,0 +1 @@
|
|||
Content-Type: text/xml
|
11
tests/wpt/web-platform-tests/acid/acid3/xhtml.2
Executable file
11
tests/wpt/web-platform-tests/acid/acid3/xhtml.2
Executable file
|
@ -0,0 +1,11 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Test</title>
|
||||
</head>
|
||||
<body>
|
||||
<p> <strong/> Parsing Test </strong> </p>
|
||||
<script type="text/javascript">
|
||||
parent.notify("xhtml.2")
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
1
tests/wpt/web-platform-tests/acid/acid3/xhtml.2.headers
Normal file
1
tests/wpt/web-platform-tests/acid/acid3/xhtml.2.headers
Normal file
|
@ -0,0 +1 @@
|
|||
Content-Type: text/xml
|
11
tests/wpt/web-platform-tests/acid/acid3/xhtml.3
Executable file
11
tests/wpt/web-platform-tests/acid/acid3/xhtml.3
Executable file
|
@ -0,0 +1,11 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml#">
|
||||
<head>
|
||||
<title>Test</title>
|
||||
</head>
|
||||
<body>
|
||||
<p> <strong> Namespace Test </strong> </p>
|
||||
<script type="text/javascript">
|
||||
parent.notify("xhtml.3")
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
1
tests/wpt/web-platform-tests/acid/acid3/xhtml.3.headers
Normal file
1
tests/wpt/web-platform-tests/acid/acid3/xhtml.3.headers
Normal file
|
@ -0,0 +1 @@
|
|||
Content-Type: text/xml
|
|
@ -15,6 +15,6 @@
|
|||
</ol>
|
||||
<script>
|
||||
|
||||
runGenericSensorInsecureContext(AmbientLightSensor);
|
||||
runGenericSensorInsecureContext("AmbientLightSensor");
|
||||
|
||||
</script>
|
||||
|
|
|
@ -8,47 +8,30 @@
|
|||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/resources/WebIDLParser.js"></script>
|
||||
<script src="/resources/idlharness.js"></script>
|
||||
<div id="log"></div>
|
||||
|
||||
<script id="idl" type="text/plain">
|
||||
interface EventTarget {
|
||||
};
|
||||
|
||||
interface EventHandler {
|
||||
};
|
||||
</script>
|
||||
|
||||
<script id="ambient-light-idl" type="text/plain">
|
||||
// The interface of Sensor is defined in
|
||||
// https://www.w3.org/TR/generic-sensor/#idl-index
|
||||
[SecureContext, Exposed=Window]
|
||||
interface Sensor : EventTarget {
|
||||
readonly attribute boolean activated;
|
||||
readonly attribute DOMHighResTimeStamp? timestamp;
|
||||
void start();
|
||||
void stop();
|
||||
attribute EventHandler onreading;
|
||||
attribute EventHandler onactivate;
|
||||
attribute EventHandler onerror;
|
||||
};
|
||||
|
||||
[Constructor(optional SensorOptions sensorOptions), Exposed=Window]
|
||||
interface AmbientLightSensor : Sensor {
|
||||
readonly attribute unrestricted double? illuminance;
|
||||
};
|
||||
</script>
|
||||
|
||||
<script>
|
||||
(() => {
|
||||
"use strict";
|
||||
let idl_array = new IdlArray();
|
||||
idl_array.add_untested_idls(document.getElementById('idl').textContent);
|
||||
idl_array.add_idls(document.getElementById('ambient-light-idl').textContent);
|
||||
"use strict";
|
||||
|
||||
function doTest([dom, generic_sensor, ambient_light]) {
|
||||
const idl_array = new IdlArray();
|
||||
idl_array.add_untested_idls(dom);
|
||||
idl_array.add_untested_idls('interface EventHandler {};');
|
||||
idl_array.add_idls(generic_sensor, { only: ['Sensor'] });
|
||||
idl_array.add_idls(ambient_light);
|
||||
idl_array.add_objects({
|
||||
AmbientLightSensor: ['new AmbientLightSensor();']
|
||||
AmbientLightSensor: ['new AmbientLightSensor()']
|
||||
});
|
||||
|
||||
idl_array.test();
|
||||
})();
|
||||
}
|
||||
|
||||
function fetchText(url) {
|
||||
return fetch(url).then((response) => response.text());
|
||||
}
|
||||
|
||||
promise_test(() => {
|
||||
return Promise.all([
|
||||
"/interfaces/dom.idl",
|
||||
"/interfaces/generic-sensor.idl",
|
||||
"/interfaces/ambient-light.idl",
|
||||
].map(fetchText)).then(doTest);
|
||||
}, "Test driver");
|
||||
</script>
|
||||
|
|
|
@ -26,10 +26,9 @@ backgroundFetchTest((t, bgFetch) => {
|
|||
return bgFetch.fetch(uniqueTag(), 'http://[::1]');
|
||||
}, 'loopback IPv6 http: fetch should register ok');
|
||||
|
||||
// http://localhost is not tested here since the correct behavior from
|
||||
// https://w3c.github.io/webappsec-secure-contexts/#is-origin-trustworthy
|
||||
// depends on whether the UA conforms to the name resolution rules in
|
||||
// https://tools.ietf.org/html/draft-west-let-localhost-be-localhost
|
||||
backgroundFetchTest((t, bgFetch) => {
|
||||
return bgFetch.fetch(uniqueTag(), 'http://localhost');
|
||||
}, 'localhost http: fetch should register ok');
|
||||
|
||||
backgroundFetchTest((t, bgFetch) => {
|
||||
return promise_rejects(t, new TypeError(),
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
#test {
|
||||
color: green;
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
|
||||
<title>base-uri-allow</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script>
|
||||
<script src="../support/alertAssert.sub.js?alerts=[]"></script>
|
||||
<!-- enforcing policy:
|
||||
base-uri http://www1.{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inline' http://www1.{{host}}:{{ports[http][0]}}; connect-src 'self';
|
||||
-->
|
||||
<base href="http://www1.{{host}}:{{ports[http][0]}}/">
|
||||
<script>
|
||||
test(function() {
|
||||
if ('{{ports[http][0]}}' == '80' ||
|
||||
'{{ports[http][0]}}' == '443') {
|
||||
assert_equals(document.baseURI, 'http://www1.{{host}}/');
|
||||
} else {
|
||||
assert_equals(document.baseURI, 'http://www1.{{host}}' + ':{{ports[http][0]}}/');
|
||||
}
|
||||
|
||||
log("TEST COMPLETE")
|
||||
});
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<p>Check that base URIs can be set if they do not violate the page's policy.</p>
|
||||
<div id="log"></div>
|
||||
<script async defer src="./content-security-policy/support/checkReport.sub.js?reportExists=false"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: base-uri-allow={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: base-uri http://www1.{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inline' http://www1.{{host}}:{{ports[http][0]}}; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,33 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
|
||||
<title>base-uri-deny</title>
|
||||
<base href="http://www1.{{host}}:{{ports[http][0]}}/">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src='../support/logTest.sub.js?logs=["PASS document.baseURI is document.location.href","TEST COMPLETE"]'></script>
|
||||
<script src="../support/alertAssert.sub.js?alerts=[]"></script>
|
||||
<!-- enforcing policy:
|
||||
base-uri 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self';
|
||||
-->
|
||||
<script>
|
||||
var base = document.createElement('base');
|
||||
base.href = 'http://www1.{{host}}:{{ports[http][0]}}/';
|
||||
document.head.appendChild(base);
|
||||
if (document.baseURI == document.location.href) {
|
||||
log("PASS document.baseURI is document.location.href");
|
||||
log("TEST COMPLETE");
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<p>Check that base URIs cannot be set if they violate the page's policy.</p>
|
||||
<div id="log"></div>
|
||||
<script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=base-uri%20'self'"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: base-uri-deny={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: base-uri 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: form-action-src-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: form-action 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: form-action-src-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: form-action 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: form-action-src-default-ignored={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: default-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; style-src 'self'; frame-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: form-action-src-get-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: form-action 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: form-action-src-get-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: form-action 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: form-action-src-javascript-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: form-action 'none'; script-src 'self' 'nonce-noncynonce'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: form-action-src-redirect-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: form-action 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: meta-outside-head={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: script-src 'self' 'unsafe-inline' 'none'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: plugintypes-mismatched-data={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: plugin-types application/x-invalid-type; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: plugintypes-mismatched-url={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: plugin-types application/x-invalid-type; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: plugintypes-notype-data={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: plugin-types application/x-invalid-type; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: plugintypes-notype-url={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: plugin-types application/x-invalid-type; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: plugintypes-nourl-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: plugin-types application/x-webkit-test-netscape; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,23 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
|
||||
<title>plugintypes-nourl-blocked</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="../support/logTest.sub.js?logs=[]"></script>
|
||||
<script src="../support/alertAssert.sub.js?alerts=[]"></script>
|
||||
<!-- enforcing policy:
|
||||
plugin-types text/plain; script-src 'self' 'unsafe-inline'; connect-src 'self';
|
||||
-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
This test passes if there is a CSP violation sayingthe plugin was blocked.
|
||||
<object type="application/x-webkit-test-netscape"></object>
|
||||
<div id="log"></div>
|
||||
<script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=plugin-types%20text/plain"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: plugintypes-nourl-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: plugin-types text/plain; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: script-src-wildcards-disallowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: script-src 'nonce-nonce' *; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: scripthash-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: script-src 'self' 'sha256-IFmozo9WnnsMXVl/Ka8XzJ3Nd8yzS2zA2ME0mwtd+Ck=' 'sha256-jSpTmJKcrnHttKdYM/wCCDJoQY5tdSxNf7zd2prwFfI=' 'sha256-qbgA2XjB2EZKjn/UmK7v/K77t+fvfxA89QT/K9qPNyE=' 'sha256-K+7X5Ip3msvRvyQzf6fkrWZziuhaUIee1aLnlP5nX10='; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: scripthash-basic-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: script-src 'self' 'sha256-k7iO9DPkNQ7PcwPP+8XyYuRiCJ0p76Ofveol9g3mFNs=' 'sha256-EgE/bwVJ+ZLL9F5hNjDqD4C7nlFFrdDaKeNIJ2cUem4='; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,15 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>script-hash allowed from default-src</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
|
||||
<script>done();</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="log"></div>
|
||||
<script async defer src="../support/checkReport.sub.js?reportExists=false"></script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: scripthash-default-src={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: default-src 'self' 'sha256-sc3CeiHrlck5tH2tTC4MnBYFnI9D5zp8f9odqnmGQjE='; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: scripthash-ignore-unsafeinline={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: script-src 'self' unsafe-inline' 'sha256-k7iO9DPkNQ7PcwPP+8XyYuRiCJ0p76Ofveol9g3mFNs=' 'sha256-EgE/bwVJ+ZLL9F5hNjDqD4C7nlFFrdDaKeNIJ2cUem4='; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: scripthash-unicode-normalization={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: script-src 'self' 'nonce-nonceynonce' 'sha256-9UFeeZbvnMa0tLNu76v96T4Hh+UtDWHm2lPQJoTWb9c='; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: scriptnonce-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: script-src 'self' 'nonce-noncynonce' 'nonce-noncy+/nonce='; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: scriptnonce-and-scripthash={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: script-src 'self' 'sha256-LS8v1E1Ff0Hc8FobgWKNKY3sbW4rljPlZNQHyyutfKU=' 'nonce-nonceynonce'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: scriptnonce-basic-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: script-src 'self' 'nonce-noncynonce'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: scriptnonce-ignore-unsafeinline={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: script-src 'self' 'unsafe-inline' 'nonce-noncynonce' 'nonce-noncy+/nonce=' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: scriptnonce-redirect={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: script-src 'self' 'unsafe-inline' 'nonce-noncynonce'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,27 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
|
||||
<title>securitypolicyviolation-block-cross-origin-image-from-script</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script>
|
||||
<script src="../support/alertAssert.sub.js?alerts=[]"></script>
|
||||
<!-- enforcing policy:
|
||||
img-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self';
|
||||
-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script>
|
||||
var x = document.createElement('script');
|
||||
x.src = 'http://{{host}}:{{ports[http][0]}}/content-security-policy/support/inject-image.js';
|
||||
document.body.appendChild(x);
|
||||
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
<script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=img-src%20'none'"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: securitypolicyviolation-block-cross-origin-image-from-script={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: img-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,29 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
|
||||
<title>securitypolicyviolation-block-cross-origin-image</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script>
|
||||
<script src="../support/alertAssert.sub.js?alerts=[]"></script>
|
||||
<!-- enforcing policy:
|
||||
img-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self';
|
||||
-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script>
|
||||
var img = document.createElement('img');
|
||||
img.src = 'http://{{host}}:{{ports[http][0]}}/security/resources/abe.png';
|
||||
document.body.appendChild(img);
|
||||
log("TEST COMPLETE");
|
||||
|
||||
</script>
|
||||
<p>Check that a SecurityPolicyViolationEvent strips detail from cross-origin blocked URLs.</p>
|
||||
<div id="log"></div>
|
||||
<script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=img-src%20'none'"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: securitypolicyviolation-block-cross-origin-image={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: img-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,29 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
|
||||
<title>securitypolicyviolation-block-image-from-script</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script>
|
||||
<script src="../support/alertAssert.sub.js?alerts=[]"></script>
|
||||
<!-- enforcing policy:
|
||||
img-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self';
|
||||
-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script>
|
||||
var script = document.createElement('script');
|
||||
script.src = '../support/inject-image.js';
|
||||
document.body.appendChild(script);
|
||||
log("TEST COMPLETE");
|
||||
|
||||
</script>
|
||||
<p>Check that a SecurityPolicyViolationEvent is fired upon blocking an image injected via script.</p>
|
||||
<div id="log"></div>
|
||||
<script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=img-src%20'none'"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: securitypolicyviolation-block-image-from-script={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: img-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,34 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
|
||||
<title>securitypolicyviolation-block-image</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script>
|
||||
<script src="../support/alertAssert.sub.js?alerts=[]"></script>
|
||||
<!-- enforcing policy:
|
||||
img-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self';
|
||||
-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script>
|
||||
var img = document.createElement('img');
|
||||
img.src = '../support/fail.png';
|
||||
img.onerror = function() {
|
||||
log("TEST COMPLETE");
|
||||
};
|
||||
img.onload = function() {
|
||||
log("FAIL");
|
||||
};
|
||||
document.body.appendChild(img);
|
||||
|
||||
</script>
|
||||
<p>Check that a SecurityPolicyViolationEvent is fired upon blocking an image.</p>
|
||||
<div id="log"></div>
|
||||
<script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=img-src%20'none'"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: securitypolicyviolation-block-image={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: img-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: stylehash-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: style-src 'self' 'sha256-pAKi9r4/WB7fHydbE3F3t8i8602ij2JN8zHJpL2T5BM=' 'sha256-hndjYvzUzy2Ykuad81Cwsl1FOXX/qYs/aDVyUyNZwBw=' 'sha384-bSVm1i3sjPBRM4TwZtYTDjk9JxZMExYHWbFmP1SxDhJH4ue0Wu9OPOkY5hcqRcSt' 'sha512-440MmBLtj9Kp5Bqloogn9BqGDylY8vFsv5/zXL1zH2fJVssCoskRig4gyM+9KqwvCSapSz5CVoUGHQcxv43UQg=='; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: stylehash-basic-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: style-src 'self' 'sha1-pfeR5wMA6np45oqDTP6Pj3tLpJo='; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: stylehash-default-src={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: default-src 'self' 'sha256-SXMrww9+PS7ymkxYbv91id+HfXeO7p1uCY0xhNb4MIw='; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: stylenonce-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: style-src 'self' 'nonce-noncynonce' 'nonce-noncy+/nonce='; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: stylenonce-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
|
||||
Content-Security-Policy: style-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: blob-urls-do-not-match-self={{$id:uuid()}}; Path=/content-security-policy/blink-contrib
|
||||
Content-Security-Policy: script-src 'self' 'unsafe-inline'; connect-src 'self'; child-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: blob-urls-match-blob={{$id:uuid()}}; Path=/content-security-policy/blink-contrib
|
||||
Content-Security-Policy: script-src 'self' 'unsafe-inline' blob:; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
|
@ -1,6 +0,0 @@
|
|||
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate
|
||||
Cache-Control: post-check=0, pre-check=0, false
|
||||
Pragma: no-cache
|
||||
Set-Cookie: combine-header-and-meta-policies={{$id:uuid()}}; Path=/content-security-policy/blink-contrib
|
||||
Content-Security-Policy: script-src 'self' 'unsafe-inline'; connect-src 'self'; style-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
|
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