Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync WPT with upstream (07-12-2018) #22383

Merged
merged 1 commit into from Dec 8, 2018
Merged
Changes from all commits
Commits
File filter...
Filter file types
Jump to…
Jump to file
Failed to load files.

Always

Just for now

Large diffs are not rendered by default.

@@ -0,0 +1,2 @@
[backdrop-filter-basic-opacity-2.html]
expected: FAIL

This file was deleted.

@@ -630,5 +630,11 @@
[windows-1252: us-ascii (XMLHttpRequest)]
expected: TIMEOUT

[windows-1252: latin1 (XMLHttpRequest)]
expected: TIMEOUT

[windows-1252: l1 (XMLHttpRequest)]
expected: TIMEOUT


[single-byte-decoder.html?TextDecoder]

This file was deleted.

@@ -0,0 +1,4 @@
[traverse_the_history_2.html]
[Multiple history traversals, last would be aborted]
expected: FAIL

@@ -5,5 +5,5 @@
expected: NOTRUN

[calling play() on a sufficiently long video should trigger timeupdate event]
expected: FAIL
expected: NOTRUN

@@ -2,20 +2,14 @@
type: testharness
expected: TIMEOUT
[picture: source (max-width:500px) broken image, img valid image, resize to wide]
expected: TIMEOUT
expected: FAIL

[picture: source (max-width:500px) valid image, img valid image, resize to wide]
expected: TIMEOUT
expected: FAIL

[picture: source (max-width:500px) valid image, img broken image, resize to narrow]
expected: FAIL
expected: TIMEOUT

[picture: source (max-width:500px) valid image, img valid image, resize to narrow]
expected: FAIL

[img (srcset 1 cand) valid image, resize to narrow]
expected: FAIL

[picture: same URL in source (max-width:500px) and img, resize to narrow]
expected: FAIL
expected: TIMEOUT

@@ -1,5 +1,4 @@
[parse-a-sizes-attribute-quirks-mode.html]
expected: TIMEOUT
[<img srcset="/images/green-1x1.png?e38b 50w, /images/green-16x16.png?e38b 51w" sizes="(min-width:max(-200vw, 0)) 1px"> ref sizes="1px" (quirks mode)]
expected: FAIL

@@ -0,0 +1,7 @@
[toggleEvent.html]
[Calling open twice on 'details' fires only one toggle event]
expected: FAIL

[Setting open=true to opened 'details' element should not fire a toggle event at the 'details' element]
expected: FAIL

@@ -0,0 +1,4 @@
[DOMContentLoaded-defer.html]
[The end: DOMContentLoaded and defer scripts]
expected: FAIL

@@ -2,6 +2,3 @@
[document.open() after parser is aborted]
expected: FAIL

[async document.open() after parser is aborted]
expected: FAIL

@@ -1,4 +1,4 @@
[quirks.html]
[limited-quirks.html]
[top: -\\31 .5]
expected: FAIL

@@ -1,4 +1,5 @@
[005.html]
expected: ERROR
[dedicated worker in shared worker in dedicated worker]
expected: FAIL

@@ -98,15 +98,26 @@ tasks:
each(browser):
$map:
- name: wpt-${browser.name}-${browser.channel}-stability
checkout: FETCH_HEAD
diff_range: HEAD^
description: >-
Verify that all tests affected by a pull request are stable
when executed in ${browser.name}.
extra_args: '--verify'
- name: wpt-${browser.name}-${browser.channel}-results
checkout: FETCH_HEAD
diff_range: HEAD^
description: >-
Collect results for all tests affected by a pull request in
${browser.name}.
extra_args: '--no-fail-on-unexpected --log-wptreport=../artifacts/wpt_report.json'
- name: wpt-${browser.name}-${browser.channel}-results-without-changes
checkout: FETCH_HEAD^
diff_range: FETCH_HEAD
description: >-
Collect results for all tests affected by a pull request in
${browser.name} but without the changes in the PR.
extra_args: '--no-fail-on-unexpected --log-wptreport=../artifacts/wpt_report.json'
each(operation):
taskId: {$eval: 'as_slugid(operation.name)'}
taskGroupId: {$eval: 'as_slugid("task group")'}
@@ -125,7 +136,7 @@ tasks:
owner: ${event.pull_request.user.login}@users.noreply.github.com
source: ${event.repository.url}
payload:
image: hexcles/web-platform-tests:0.23
image: harjgam/web-platform-tests:0.25
maxRunTime: 7200
artifacts:
public/results:
@@ -145,12 +156,12 @@ tasks:
~/start.sh
${event.repository.clone_url}
refs/pull/${event.number}/merge
FETCH_HEAD
${operation.checkout}
${browser.name}
${browser.channel};
cd ~/web-platform-tests;
./tools/ci/taskcluster-run.py
--commit-range HEAD^
--commit-range ${operation.diff_range}
${browser.name}
--
--channel=${browser.channel}
@@ -8,8 +8,8 @@
*/

promise_test(async testCase => {
const db = await createDatabase(testCase, async db => {
await createBooksStore(testCase, db);
const db = await createDatabase(testCase, db => {
createBooksStore(testCase, db);
});
const txn = db.transaction(['books'], 'readwrite');
const objectStore = txn.objectStore('books');
@@ -43,7 +43,7 @@ promise_test(async testCase => {

// Upgrade the versionDB database and explicitly commit its versionchange
// transaction.
db = await migrateDatabase(testCase, 2, async (db, txn) => {
db = await migrateDatabase(testCase, 2, (db, txn) => {
txn.commit();
});
assert_equals(2, db.version,
@@ -55,8 +55,8 @@ promise_test(async testCase => {


promise_test(async testCase => {
const db = await createDatabase(testCase, async db => {
await createBooksStore(testCase, db);
const db = await createDatabase(testCase, db => {
createBooksStore(testCase, db);
});
const txn = db.transaction(['books'], 'readwrite');
const objectStore = txn.objectStore('books');
@@ -69,8 +69,8 @@ promise_test(async testCase => {


promise_test(async testCase => {
const db = await createDatabase(testCase, async db => {
await createBooksStore(testCase, db);
const db = await createDatabase(testCase, db => {
createBooksStore(testCase, db);
});
const txn = db.transaction(['books'], 'readwrite');
const objectStore = txn.objectStore('books');
@@ -88,8 +88,8 @@ promise_test(async testCase => {


promise_test(async testCase => {
const db = await createDatabase(testCase, async db => {
await createBooksStore(testCase, db);
const db = await createDatabase(testCase, db => {
createBooksStore(testCase, db);
});
const txn = db.transaction(['books'], 'readwrite');
const objectStore = txn.objectStore('books');
@@ -110,8 +110,8 @@ promise_test(async testCase => {


promise_test(async testCase => {
const db = await createDatabase(testCase, async db => {
await createBooksStore(testCase, db);
const db = await createDatabase(testCase, db => {
createBooksStore(testCase, db);
});
const txn = db.transaction(['books'], 'readwrite');
const objectStore = txn.objectStore('books');
@@ -124,8 +124,8 @@ promise_test(async testCase => {


promise_test(async testCase => {
const db = await createDatabase(testCase, async db => {
await createBooksStore(testCase, db);
const db = await createDatabase(testCase, db => {
createBooksStore(testCase, db);
});
const txn = db.transaction(['books'], 'readwrite');
const objectStore = txn.objectStore('books');
@@ -138,8 +138,8 @@ promise_test(async testCase => {


promise_test(async testCase => {
const db = await createDatabase(testCase, async db => {
await createBooksStore(testCase, db);
const db = await createDatabase(testCase, db => {
createBooksStore(testCase, db);
});
const txn = db.transaction(['books'], 'readwrite');
const objectStore = txn.objectStore('books');
@@ -162,8 +162,8 @@ promise_test(async testCase => {


promise_test(async testCase => {
const db = await createDatabase(testCase, async db => {
await createBooksStore(testCase, db);
const db = await createDatabase(testCase, db => {
createBooksStore(testCase, db);
});
const txn = db.transaction(['books'], 'readwrite');
const objectStore = txn.objectStore('books');
@@ -179,3 +179,79 @@ promise_test(async testCase => {
releaseTxnFunction();
db.close();
}, 'Calling txn.commit() when txn is inactive should throw.');


promise_test(async testCase => {
const db = await createDatabase(testCase, db => {
createBooksStore(testCase, db);
createNotBooksStore(testCase, db);
});
// Txn1 should commit before txn2, even though txn2 uses commit().
const txn1 = db.transaction(['books'], 'readwrite');
const objectStore1 = txn1.objectStore('books');
const putRequest1 = objectStore1.put({isbn:'one', title:'title1'});
const releaseTxnFunction = keepAlive(testCase, txn1, 'books');

const txn2 = db.transaction(['books'], 'readwrite');
const objectStore2 = txn2.objectStore('books');
const putRequest2 = objectStore2.put({isbn:'one', title:'title2'});
txn2.commit();

// Exercise the IndexedDB transaction ordering by executing one with a
// different scope.
const txn3 = db.transaction(['not_books'], 'readwrite');
const objectStore3 = txn3.objectStore('not_books');
objectStore3.put({'title': 'not_title'}, 'key');
txn3.oncomplete = function() {
releaseTxnFunction();
}
await Promise.all([promiseForTransaction(testCase, txn1),
promiseForTransaction(testCase, txn2)]);

// Read the data back to verify that txn2 executed last.
const txn4 = db.transaction(['books'], 'readonly');
const objectStore4 = txn4.objectStore('books');
const getRequest4 = objectStore4.get('one');
await promiseForTransaction(testCase, txn4);
assert_equals(getRequest4.result.title, 'title2');
db.close();
}, 'Transactions with same scope should stay in program order, even if one '
+ 'calls commit.');


promise_test(async testCase => {
const db = await createDatabase(testCase, db => {
createBooksStore(testCase, db);
});
// Txn1 creates the book 'one' so the 'add()' below fails.
const txn1 = db.transaction(['books'], 'readwrite');
const objectStore1 = txn1.objectStore('books');
const putRequest1 = objectStore1.add({isbn:'one', title:'title1'});
txn1.commit();
await promiseForTransaction(testCase, txn1);

// Txn2 should abort, because the 'add' call is invalid, and commit() was
// called.
const txn2 = db.transaction(['books'], 'readwrite');
const objectStore2 = txn2.objectStore('books');
objectStore2.put({isbn:'two', title:'title2'});
const addRequest2 = objectStore2.add({isbn:'one', title:'title2'});
txn2.commit();
txn2.oncomplete = assert_unreached(
'Transaction with invalid "add" call should not be completed.');

var addWatcher = requestWatcher(testCase, addRequest2);
var txnWatcher = transactionWatcher(testCase, txn2);
await Promise.all([addWatcher.wait_for('error'),
txnWatcher.wait_for('error', 'abort')]);

// Read the data back to verify that txn2 was aborted.
const txn3 = db.transaction(['books'], 'readonly');
const objectStore3 = txn3.objectStore('books');
const getRequest1 = objectStore3.get('one');
const getRequest2 = objectStore3.count('two');
await promiseForTransaction(testCase, txn3);
assert_equals(getRequest1.result.title, 'title1');
assert_equals(getRequest2.result, 0);
db.close();
}, 'Transactions that explicitly commit and have errors should abort.');
@@ -40,7 +40,7 @@ function performChromiumSetup() {
}
return loadScripts([
`${prefix}/mojo_bindings.js`,
`${prefix}/mojo_layouttest_test.mojom.js`,
`${prefix}/mojo_web_test_helper_test.mojom.js`,
`${prefix}/uuid.mojom.js`,
`${prefix}/fake_bluetooth.mojom.js`,
`${prefix}/fake_bluetooth_chooser.mojom.js`,
@@ -0,0 +1,23 @@
<!DOCTYPE html>
<head>
<meta http-equiv="content-security-policy" content="script-src 'self' 'nonce-abc'">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<iframe src="support/frame-with-csp.sub.html?csp=script-src%20'self'%20'unsafe-inline'"></iframe>
<script nonce='abc'>
var t = async_test("Should not have executed the javascript url");
const iframe = document.querySelector("iframe");
iframe.addEventListener('load', () => {
window.onmessage = t.step_func(function(e) {
if (e.data == "executed")
assert_true(false, "Javascript url executed");
});
window.addEventListener('securitypolicyviolation', t.step_func_done(function(e) {
assert_equals(e.blockedURI, 'inline');
}));
iframe.contentWindow.location.href = 'javascript:parent.postMessage(\'executed\', \'*\')'
});
</script>
</body>
@@ -1,6 +1,7 @@
<!doctype html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<link rel="help" href="https://drafts.csswg.org/css-overscroll-behavior">

<style>
.outer {
ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.