Commit a5e07fae authored by Chromium WPT Sync's avatar Chromium WPT Sync Committed by Chromium LUCI CQ

Import wpt@a08c46606cc5533962fbb79239f8186c73795bb9

Using wpt-import in Chromium 2af92c98.
With Chromium commits locally applied on WPT:
ef476588 "Canvas-WCG: Update names to reflect the specification"
e1e1bb4a "Ignore layout shift under opacity:0"
845edb23 "Avoid double relpos offset in NGSimplifiedOOFLayoutAlgorithm."
370de89c "[AspectRatio] Correctly detect indefinite percentages"
58aad48a "Handle inner floated multicol at outer boundary."
9d15ff73 "Handle inner fieldset / legend multicol at outer boundary."


Note to sheriffs: This CL imports external tests and adds
expectations for those tests; if this CL is large and causes
a few new failures, please fix the failures by adding new
lines to TestExpectations rather than reverting. See:
https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md

Directory owners for changes in this CL:
binji@chromium.org:
  external/wpt/wasm
hongchan@chromium.org, rtoy@chromium.org:
  external/wpt/webaudio
mustaq@chromium.org:
  external/wpt/html/interaction/focus

NOAUTOREVERT=true
TBR=robertma@google.com

No-Export: true
Cq-Include-Trybots: luci.chromium.try:linux-wpt-identity-fyi-rel,linux-wpt-input-fyi-rel
Change-Id: I603ba35d1b49b0f9f78bdda71e3ec7f713011c26
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2595732Reviewed-by: default avatarWPT Autoroller <wpt-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: WPT Autoroller <wpt-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#837896}
parent 236f3073
...@@ -2467,6 +2467,7 @@ crbug.com/958381 [ Mac ] external/wpt/css/CSS2/tables/table-anonymous-objects-20 ...@@ -2467,6 +2467,7 @@ crbug.com/958381 [ Mac ] external/wpt/css/CSS2/tables/table-anonymous-objects-20
crbug.com/958381 [ Mac ] external/wpt/css/CSS2/tables/table-anonymous-objects-206.xht [ Failure ] crbug.com/958381 [ Mac ] external/wpt/css/CSS2/tables/table-anonymous-objects-206.xht [ Failure ]
# ====== New tests from wpt-importer added here ====== # ====== New tests from wpt-importer added here ======
crbug.com/626703 external/wpt/html/interaction/focus/document-level-focus-apis/document-has-system-focus.html [ Timeout ]
crbug.com/626703 external/wpt/css/css-backgrounds/box-shadow-radius-000.html [ Failure ] crbug.com/626703 external/wpt/css/css-backgrounds/box-shadow-radius-000.html [ Failure ]
crbug.com/626703 virtual/composite-bgcolor-animation/external/wpt/css/css-backgrounds/box-shadow-radius-000.html [ Failure ] crbug.com/626703 virtual/composite-bgcolor-animation/external/wpt/css/css-backgrounds/box-shadow-radius-000.html [ Failure ]
crbug.com/626703 virtual/composite-bgcolor-animation/external/wpt/css/css-backgrounds/box-shadow-radius-001.html [ Failure ] crbug.com/626703 virtual/composite-bgcolor-animation/external/wpt/css/css-backgrounds/box-shadow-radius-001.html [ Failure ]
......
<!DOCTYPE html>
<meta charset="utf-8">
<title>HTML Test: focus - document has system focus</title>
<link rel="help" href="https://html.spec.whatwg.org/#has-focus-steps">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<input id="input">
<script>
promise_test(async t => {
await new Promise(r => window.onload = r);
// This test requires the document to have focus as a starting condition.
// Whether a newly loaded page receives focus or not, seems to be somewhat
// browser-dependent and situation-dependent. For instance, Firefox appears to
// focus the page immediately if the page was loaded with the refresh button,
// but not if it was loaded from pressing ENTER in the URL bar. To ensure a
// reliable starting condition for this test, we give an extra push for focus.
if (!document.hasFocus()) {
const input = document.getElementById("input");
input.focus();
await new Promise(r => input.onfocus = r);
}
assert_true(document.hasFocus(), "Document has focus as starting condition.");
let gotBlur = false;
window.onblur = () => gotBlur = true;
const popup = window.open("support/popup.html", "otherwindow", "resizable");
assert_not_equals(popup, null, "Test requires popup be opened");
t.add_cleanup(() => popup.close());
const msg = await new Promise(r => window.onmessage = ({data}) => r(data));
assert_equals(msg, "focus = true",
"Test requires popups be focused (may require harness flags)");
assert_true(gotBlur, "Document received blur event when popup opened");
assert_false(document.hasFocus(), "Document lost focus when popup opened");
const p = new Promise(r => window.onfocus = r);
popup.close();
await p;
assert_true(true, "Document received focus event when popup closed");
assert_true(document.hasFocus(), "Document regained focus when popup closed");
}, "Top-level document receives blur/focus events and loses system focus " +
"during opening/closing of a popup");
</script>
<!DOCTYPE html>
<meta charset="utf-8">
Popup <input id="input">
<script>
window.onload = async () => {
try {
if (!document.hasFocus()) {
const input = document.getElementById("input");
input.focus();
await new Promise(r => input.onfocus = r);
}
opener.postMessage(`focus = ${document.hasFocus()}`, "*");
} catch(e) {
opener.postMessage(`${e.name}: $(e.message)`, "*");
}
};
</script>
</html>
...@@ -33,12 +33,12 @@ dictionary MediaRecorderOptions { ...@@ -33,12 +33,12 @@ dictionary MediaRecorderOptions {
unsigned long audioBitsPerSecond; unsigned long audioBitsPerSecond;
unsigned long videoBitsPerSecond; unsigned long videoBitsPerSecond;
unsigned long bitsPerSecond; unsigned long bitsPerSecond;
BitrateMode audioBitrateMode = "vbr"; BitrateMode audioBitrateMode = "variable";
}; };
enum BitrateMode { enum BitrateMode {
"cbr", "constant",
"vbr" "variable"
}; };
enum RecordingState { enum RecordingState {
......
This is a testharness.js-based test.
FAIL i32, mutable Cannot read property 'value' of undefined
FAIL i32, immutable Cannot read property 'value' of undefined
FAIL i64, mutable Cannot read property 'value' of undefined
FAIL i64, immutable Cannot read property 'value' of undefined
FAIL f32, mutable Cannot read property 'value' of undefined
FAIL f32, immutable Cannot read property 'value' of undefined
FAIL f64, mutable Cannot read property 'value' of undefined
FAIL f64, immutable Cannot read property 'value' of undefined
FAIL anyref, mutable WebAssembly.Global(): Descriptor property 'value' must be a WebAssembly type
FAIL anyref, immutable WebAssembly.Global(): Descriptor property 'value' must be a WebAssembly type
FAIL funcref, mutable WebAssembly.Global(): Descriptor property 'value' must be a WebAssembly type
FAIL funcref, immutable WebAssembly.Global(): Descriptor property 'value' must be a WebAssembly type
FAIL key ordering Cannot convert undefined or null to object
Harness: the test ran to completion.
// META: global=window,dedicatedworker,jsshell
// META: script=/wasm/jsapi/assertions.js
function assert_type(argument) {
const myglobal = new WebAssembly.Global(argument);
assert_equals(myglobal.type.value, argument.value);
assert_equals(myglobal.type.mutable, argument.mutable);
}
test(() => {
assert_type({ "value": "i32", "mutable": true});
}, "i32, mutable");
test(() => {
assert_type({ "value": "i32", "mutable": false});
}, "i32, immutable");
test(() => {
assert_type({ "value": "i64", "mutable": true});
}, "i64, mutable");
test(() => {
assert_type({ "value": "i64", "mutable": false});
}, "i64, immutable");
test(() => {
assert_type({ "value": "f32", "mutable": true});
}, "f32, mutable");
test(() => {
assert_type({ "value": "f32", "mutable": false});
}, "f32, immutable");
test(() => {
assert_type({ "value": "f64", "mutable": true});
}, "f64, mutable");
test(() => {
assert_type({ "value": "f64", "mutable": false});
}, "f64, immutable");
test(() => {
assert_type({"value": "externref", "mutable": true})
}, "anyref, mutable")
test(() => {
assert_type({"value": "externref", "mutable": false})
}, "anyref, immutable")
test(() => {
assert_type({"value": "funcref", "mutable": true})
}, "funcref, mutable")
test(() => {
assert_type({"value": "funcref", "mutable": false})
}, "funcref, immutable")
test(() => {
const myglobal = new WebAssembly.Global({"value": "i32", "mutable": true});
const propertyNames = Object.getOwnPropertyNames(myglobal.type);
assert_equals(propertyNames[0], "mutable");
assert_equals(propertyNames[1], "value");
}, "key ordering");
This is a testharness.js-based test.
FAIL i32, mutable Cannot read property 'value' of undefined
FAIL i32, immutable Cannot read property 'value' of undefined
FAIL i64, mutable Cannot read property 'value' of undefined
FAIL i64, immutable Cannot read property 'value' of undefined
FAIL f32, mutable Cannot read property 'value' of undefined
FAIL f32, immutable Cannot read property 'value' of undefined
FAIL f64, mutable Cannot read property 'value' of undefined
FAIL f64, immutable Cannot read property 'value' of undefined
FAIL anyref, mutable WebAssembly.Global(): Descriptor property 'value' must be a WebAssembly type
FAIL anyref, immutable WebAssembly.Global(): Descriptor property 'value' must be a WebAssembly type
FAIL funcref, mutable WebAssembly.Global(): Descriptor property 'value' must be a WebAssembly type
FAIL funcref, immutable WebAssembly.Global(): Descriptor property 'value' must be a WebAssembly type
FAIL key ordering Cannot convert undefined or null to object
Harness: the test ran to completion.
This is a testharness.js-based test.
FAIL Zero initial, no maximum WebAssembly.Memory(): Property 'initial' is required
FAIL Non-zero initial, no maximum WebAssembly.Memory(): Property 'initial' is required
FAIL Zero maximum WebAssembly.Memory(): Property 'initial' is required
FAIL None-zero maximum WebAssembly.Memory(): Property 'initial' is required
FAIL non-shared memory WebAssembly.Memory(): Property 'initial' is required
FAIL shared memory WebAssembly.Memory(): Property 'initial' is required
Harness: the test ran to completion.
// META: global=window,dedicatedworker,jsshell
// META: script=/wasm/jsapi/assertions.js
function assert_type(argument) {
const memory = new WebAssembly.Memory(argument);
assert_equals(memory.type.minimum, argument.minimum);
assert_equals(memory.type.maximum, argument.maximum);
if (argument.shared !== undefined) {
assert_equals(memory.type.shared, argument.shared);
}
}
test(() => {
assert_type({ "minimum": 0 });
}, "Zero initial, no maximum");
test(() => {
assert_type({ "minimum": 5 });
}, "Non-zero initial, no maximum");
test(() => {
assert_type({ "minimum": 0, "maximum": 0 });
}, "Zero maximum");
test(() => {
assert_type({ "minimum": 0, "maximum": 5 });
}, "None-zero maximum");
test(() => {
assert_type({ "minimum": 0, "maximum": 10, "shared": false});
}, "non-shared memory");
test(() => {
assert_type({ "minimum": 0, "maximum": 10, "shared": true});
}, "shared memory");
\ No newline at end of file
This is a testharness.js-based test.
FAIL Zero initial, no maximum WebAssembly.Memory(): Property 'initial' is required
FAIL Non-zero initial, no maximum WebAssembly.Memory(): Property 'initial' is required
FAIL Zero maximum WebAssembly.Memory(): Property 'initial' is required
FAIL None-zero maximum WebAssembly.Memory(): Property 'initial' is required
FAIL non-shared memory WebAssembly.Memory(): Property 'initial' is required
FAIL shared memory WebAssembly.Memory(): Property 'initial' is required
Harness: the test ran to completion.
...@@ -84,86 +84,80 @@ ...@@ -84,86 +84,80 @@
}, prefix + leastPositiveDoubleFloat).notThrow(); }, prefix + leastPositiveDoubleFloat).notThrow();
} }
audit.define('min-distance', (task, should) => { audit.define('min-distance', async (task, should) => {
// Test clamping of panner distance to refDistance for all of the // Test clamping of panner distance to refDistance for all of the
// distance models. The actual distance is arbitrary as long as it's // distance models. The actual distance is arbitrary as long as it's
// less than refDistance. We test default and non-default values for // less than refDistance. We test default and non-default values for
// the panner's refDistance and maxDistance. // the panner's refDistance and maxDistance.
// correctly. // correctly.
Promise await runTest(should, {
.all([ distance: 0.01,
runTest(should, { distanceModel: 'linear',
distance: 0.01, });
distanceModel: 'linear', await runTest(should, {
}), distance: 0.01,
runTest(should, { distanceModel: 'exponential',
distance: 0.01, });
distanceModel: 'exponential', await runTest(should, {
}), distance: 0.01,
runTest(should, { distanceModel: 'inverse',
distance: 0.01, });
distanceModel: 'inverse', await runTest(should, {
}), distance: 2,
runTest(should, { distanceModel: 'linear',
distance: 2, maxDistance: 1000,
distanceModel: 'linear', refDistance: 10,
maxDistance: 1000, });
refDistance: 10, await runTest(should, {
}), distance: 2,
runTest(should, { distanceModel: 'exponential',
distance: 2, maxDistance: 1000,
distanceModel: 'exponential', refDistance: 10,
maxDistance: 1000, });
refDistance: 10, await runTest(should, {
}), distance: 2,
runTest(should, { distanceModel: 'inverse',
distance: 2, maxDistance: 1000,
distanceModel: 'inverse', refDistance: 10,
maxDistance: 1000, });
refDistance: 10, task.done();
}),
])
.then(() => task.done());
}); });
audit.define('max-distance', (task, should) => { audit.define('max-distance', async (task, should) => {
// Like the "min-distance" task, but for clamping to the max // Like the "min-distance" task, but for clamping to the max
// distance. The actual distance is again arbitrary as long as it is // distance. The actual distance is again arbitrary as long as it is
// greater than maxDistance. // greater than maxDistance.
Promise await runTest(should, {
.all([ distance: 20000,
runTest(should, { distanceModel: 'linear',
distance: 20000, });
distanceModel: 'linear', await runTest(should, {
}), distance: 21000,
runTest(should, { distanceModel: 'exponential',
distance: 21000, });
distanceModel: 'exponential', await runTest(should, {
}), distance: 23000,
runTest(should, { distanceModel: 'inverse',
distance: 23000, });
distanceModel: 'inverse', await runTest(should, {
}), distance: 5000,
runTest(should, { distanceModel: 'linear',
distance: 5000, maxDistance: 1000,
distanceModel: 'linear', refDistance: 10,
maxDistance: 1000, });
refDistance: 10, await runTest(should, {
}), distance: 5000,
runTest(should, { distanceModel: 'exponential',
distance: 5000, maxDistance: 1000,
distanceModel: 'exponential', refDistance: 10,
maxDistance: 1000, });
refDistance: 10, await runTest(should, {
}), distance: 5000,
runTest(should, { distanceModel: 'inverse',
distance: 5000, maxDistance: 1000,
distanceModel: 'inverse', refDistance: 10,
maxDistance: 1000, });
refDistance: 10, task.done();
}),
])
.then(() => task.done());
}); });
function runTest(should, options) { function runTest(should, options) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment