| Index: third_party/WebKit/LayoutTests/fast/selectors/focus-within-iframe.html
|
| diff --git a/third_party/WebKit/LayoutTests/fast/selectors/focus-within-iframe.html b/third_party/WebKit/LayoutTests/fast/selectors/focus-within-iframe.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..1e2f07528e366f61ad590b5f980b671ffb38322e
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/fast/selectors/focus-within-iframe.html
|
| @@ -0,0 +1,37 @@
|
| +<!DOCTYPE html>
|
| +<meta charset="utf-8">
|
| +<script src=../../resources/testharness.js></script>
|
| +<script src=../../resources/testharnessreport.js></script>
|
| +<iframe id="frame" srcdoc="
|
| + <!DOCTYPE html>
|
| + <style>
|
| + input {
|
| + background-color: rgb(50, 150, 200);
|
| + }
|
| + input:focus-within {
|
| + background-color: rgb(250, 200, 150);
|
| + }
|
| + </style>
|
| + <input id='input' />
|
| +"></iframe>
|
| +<script>
|
| + test(() => assert_not_equals(window.internals, undefined),
|
| + "Check window.internals is available");
|
| +
|
| + const frame = document.getElementById("frame");
|
| + frame.addEventListener("load", () => {
|
| + const input = frame.contentDocument.getElementById("input");
|
| + input.focus();
|
| +
|
| + test(() => assert_equals(frame.contentWindow.getComputedStyle(input).backgroundColor, "rgb(250, 200, 150)"),
|
| + "Check ':focus-within' is applied after focusing the input");
|
| +
|
| + frame.contentWindow.internals.setFocused(false);
|
| + test(() => assert_equals(frame.contentWindow.getComputedStyle(input).backgroundColor, "rgb(50, 150, 200)"),
|
| + "Check ':focus-within' is not applied when the frame is unfocused");
|
| +
|
| + frame.contentWindow.internals.setFocused(true);
|
| + test(() => assert_equals(frame.contentWindow.getComputedStyle(input).backgroundColor, "rgb(250, 200, 150)"),
|
| + "Check ':focus-within' is applied when the frame is focsued again");
|
| + });
|
| +</script>
|
|
|