-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Re-import html/semantics/forms/the-select-elements WPT
https://bugs.webkit.org/show_bug.cgi?id=262783 Reviewed by Tim Nguyen. WPT Commit: 3538a9f3031846a83f95f9c514388fc4f35437fc * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/resources/import-expectations.json: * LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/inserted-or-removed-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/inserted-or-removed.html: * LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/resources/show-picker-child-iframe.html: Added. * LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/resources/w3c-import.log: Added. * LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/select-add-optgroup-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/select-add-optgroup.html: Added. * LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/show-picker-cross-origin-iframe.tentative.html: Added. * LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/show-picker-disabled.tentative.html: Added. * LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/show-picker-multiple.tentative.html: Added. * LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/show-picker-size.tentative.html: Added. * LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/show-picker-user-gesture.tentative.html: Added. * LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/w3c-import.log: * LayoutTests/tests-options.json: Canonical link: https://commits.webkit.org/268997@main
- Loading branch information
1 parent
31afc76
commit d8c00ef
Showing
15 changed files
with
259 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
20 changes: 20 additions & 0 deletions
20
...orm-tests/html/semantics/forms/the-select-element/resources/show-picker-child-iframe.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
<!DOCTYPE html> | ||
<title>Test showPicker() in an iframe</title> | ||
<script type=module> | ||
const urlParams = new URLSearchParams(location.search); | ||
const documentDomain = urlParams.get('documentDomain'); | ||
if (documentDomain) { | ||
document.domain = documentDomain; | ||
} | ||
|
||
let securityErrors = []; | ||
const select = document.createElement("select"); | ||
try { | ||
select.showPicker(); | ||
} catch (error) { | ||
if (error instanceof DOMException && error.name == 'SecurityError') { | ||
securityErrors.push("select"); | ||
} | ||
} | ||
parent.postMessage(securityErrors.join(','), "*"); | ||
</script> |
17 changes: 17 additions & 0 deletions
17
...d/w3c/web-platform-tests/html/semantics/forms/the-select-element/resources/w3c-import.log
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
The tests in this directory were imported from the W3C repository. | ||
Do NOT modify these tests directly in WebKit. | ||
Instead, create a pull request on the WPT github: | ||
https://github.com/web-platform-tests/wpt | ||
|
||
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport | ||
|
||
Do NOT modify or remove this file. | ||
|
||
------------------------------------------------------------------------ | ||
Properties requiring vendor prefixes: | ||
None | ||
Property values requiring vendor prefixes: | ||
None | ||
------------------------------------------------------------------------ | ||
List of files: | ||
/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/resources/show-picker-child-iframe.html |
4 changes: 4 additions & 0 deletions
4
...b-platform-tests/html/semantics/forms/the-select-element/select-add-optgroup-expected.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
|
||
|
||
FAIL select.add() with an index should work when the target is inside an optgroup. The object can not be found here. | ||
|
29 changes: 29 additions & 0 deletions
29
...d/w3c/web-platform-tests/html/semantics/forms/the-select-element/select-add-optgroup.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
<!DOCTYPE html> | ||
<link rel=author href="mailto:jarhar@chromium.org"> | ||
<link rel=help href="https://bugs.chromium.org/p/chromium/issues/detail?id=1477785"> | ||
<link rel=help href="https://html.spec.whatwg.org/multipage/common-dom-interfaces.html#dom-htmloptionscollection-add"> | ||
<script src="/resources/testharness.js"></script> | ||
<script src="/resources/testharnessreport.js"></script> | ||
|
||
<select> | ||
<option id=opt1>opt1</option> | ||
<optgroup label=group1> | ||
<option id=opt2>opt2</option> | ||
</optgroup> | ||
</select> | ||
|
||
<script> | ||
test(() => { | ||
const select = document.querySelector('select'); | ||
const optgroup = document.querySelector('optgroup'); | ||
const newOption = document.createElement('option'); | ||
newOption.textContent = 'new option'; | ||
|
||
select.options.add(newOption, 1); | ||
assert_equals(select.options.length, 3); | ||
assert_equals(select.options[0], opt1, 'First item should be opt1.'); | ||
assert_equals(select.options[1], newOption, 'Second item should be newOption.'); | ||
assert_equals(select.options[2], opt2, 'Third item should be opt2.'); | ||
assert_equals(newOption.parentNode, optgroup, 'The new option should be inside the optgroup.'); | ||
}, 'select.add() with an index should work when the target is inside an optgroup.'); | ||
</script> |
79 changes: 79 additions & 0 deletions
79
...ts/html/semantics/forms/the-select-element/show-picker-cross-origin-iframe.tentative.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
<!DOCTYPE html> | ||
<title>Test showPicker() called from cross-origin iframe</title> | ||
<script src="/resources/testharness.js"></script> | ||
<script src="/resources/testharnessreport.js"></script> | ||
<script src="/common/get-host-info.sub.js"></script> | ||
<body> | ||
<iframe id="iframe1"></iframe> | ||
<iframe id="iframe2"></iframe> | ||
<iframe id="iframe3"></iframe> | ||
<iframe id="iframe4"></iframe> | ||
</body> | ||
<script> | ||
function waitForSecurityErrors() { | ||
return new Promise((resolve) => { | ||
window.addEventListener("message", (event) => resolve(event.data), { | ||
once: true, | ||
}); | ||
}); | ||
} | ||
|
||
promise_test(async (t) => { | ||
iframe1.src = | ||
new URL("resources/", self.location).pathname + | ||
"show-picker-child-iframe.html"; | ||
|
||
// Wait for the iframe to report security errors when calling showPicker(). | ||
const securityErrors = await waitForSecurityErrors(); | ||
assert_equals( | ||
securityErrors, | ||
"", | ||
"In same-origin iframes, showPicker() does not throw a SecurityError." | ||
); | ||
}); | ||
|
||
promise_test(async (t) => { | ||
iframe2.src = | ||
get_host_info().HTTP_NOTSAMESITE_ORIGIN + | ||
new URL("resources/", self.location).pathname + | ||
"show-picker-child-iframe.html"; | ||
|
||
// Wait for the iframe to report security errors when calling showPicker(). | ||
const securityErrors = await waitForSecurityErrors(); | ||
assert_equals( | ||
securityErrors, | ||
"select", | ||
"In cross-origin iframes, showPicker() throws a SecurityError." | ||
); | ||
}); | ||
|
||
promise_test(async (t) => { | ||
iframe3.src = | ||
new URL("resources/", self.location).pathname + | ||
"show-picker-child-iframe.html?documentDomain=" + get_host_info().ORIGINAL_HOST; | ||
|
||
// Wait for the iframe to report security errors when calling showPicker(). | ||
const securityErrors = await waitForSecurityErrors(); | ||
assert_equals( | ||
securityErrors, | ||
"", | ||
"In same-origin but cross-origin-domain iframes, showPicker() does not throw a SecurityError." | ||
); | ||
}); | ||
|
||
promise_test(async (t) => { | ||
document.domain = get_host_info().ORIGINAL_HOST; | ||
iframe4.src = | ||
get_host_info().HTTP_REMOTE_ORIGIN + | ||
new URL("resources/", self.location).pathname + | ||
"show-picker-child-iframe.html?documentDomain=" + get_host_info().ORIGINAL_HOST; | ||
|
||
// Wait for the iframe to report security errors when calling showPicker(). | ||
const securityErrors = await waitForSecurityErrors(); | ||
assert_equals( | ||
securityErrors, | ||
"select", | ||
"In cross-origin but same-origin-domain iframes, showPicker() throws a SecurityError." | ||
); | ||
}); | ||
</script> |
14 changes: 14 additions & 0 deletions
14
...latform-tests/html/semantics/forms/the-select-element/show-picker-disabled.tentative.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
<!DOCTYPE html> | ||
<title>Test showPicker() disabled requirement</title> | ||
<script src="/resources/testharness.js"></script> | ||
<script src="/resources/testharnessreport.js"></script> | ||
<script src="/resources/testdriver.js"></script> | ||
<script src="/resources/testdriver-vendor.js"></script> | ||
<select id="select" disabled> | ||
<option>Item 1</option> | ||
</select> | ||
<script> | ||
test(() => { | ||
assert_throws_dom('InvalidStateError', () => { select.showPicker(); }); | ||
}, 'select showPicker() throws when disabled'); | ||
</script> |
17 changes: 17 additions & 0 deletions
17
...latform-tests/html/semantics/forms/the-select-element/show-picker-multiple.tentative.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
<!DOCTYPE html> | ||
<title>Test showPicker() on multiple selects</title> | ||
<meta name="timeout" content="long"> | ||
<script src="/resources/testharness.js"></script> | ||
<script src="/resources/testharnessreport.js"></script> | ||
<script src="/resources/testdriver.js"></script> | ||
<script src="/resources/testdriver-vendor.js"></script> | ||
<select id="select" multiple> | ||
<option>Item 1</option> | ||
</select> | ||
<script> | ||
promise_test(async t => { | ||
await test_driver.bless('show picker'); | ||
select.showPicker(); | ||
select.blur(); | ||
}, `select showPicker() does not throw when called on a <select multiple>`); | ||
</script> |
17 changes: 17 additions & 0 deletions
17
...eb-platform-tests/html/semantics/forms/the-select-element/show-picker-size.tentative.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
<!DOCTYPE html> | ||
<title>Test showPicker() on sized selects</title> | ||
<meta name="timeout" content="long"> | ||
<script src="/resources/testharness.js"></script> | ||
<script src="/resources/testharnessreport.js"></script> | ||
<script src="/resources/testdriver.js"></script> | ||
<script src="/resources/testdriver-vendor.js"></script> | ||
<select id="select" size="4"> | ||
<option>Item 1</option> | ||
</select> | ||
<script> | ||
promise_test(async t => { | ||
await test_driver.bless('show picker'); | ||
select.showPicker(); | ||
select.blur(); | ||
}, `select showPicker() does not throw when called on a <select size="4">`); | ||
</script> |
23 changes: 23 additions & 0 deletions
23
...orm-tests/html/semantics/forms/the-select-element/show-picker-user-gesture.tentative.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
<!DOCTYPE html> | ||
<title>Test showPicker() user gesture requirement</title> | ||
<meta name="timeout" content="long"> | ||
<script src="/resources/testharness.js"></script> | ||
<script src="/resources/testharnessreport.js"></script> | ||
<script src="/resources/testdriver.js"></script> | ||
<script src="/resources/testdriver-vendor.js"></script> | ||
<body></body> | ||
<script type=module> | ||
test(() => { | ||
const select = document.createElement("select"); | ||
|
||
assert_throws_dom('NotAllowedError', () => { select.showPicker(); }); | ||
}, `select showPicker() requires a user gesture`); | ||
|
||
promise_test(async t => { | ||
const select = document.createElement("select"); | ||
|
||
await test_driver.bless('show picker'); | ||
select.showPicker(); | ||
select.blur(); | ||
}, `select showPicker() does not throw when user activation is active`); | ||
</script> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters