| <!doctype html> | |
| <link rel=help href="https://html.spec.whatwg.org/#hidden-elements"> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <div hidden></div> | |
| <embed hidden> | |
| <embed hidden=until-found> | |
| <script> | |
| const kNotHiddenElementLocalNames = [ | |
| "source", "track", | |
| ]; | |
| const kHiddenElementLocalNames = [ | |
| "area", "base", "basefont", "datalist", "head", "link", "meta", "noembed", | |
| "noframes", "param", "rp", "script", "style", "template", "title", | |
| ]; | |
| for (let name of kNotHiddenElementLocalNames) { | |
| test(function() { | |
| let element = document.createElement(name); | |
| document.body.appendChild(element); | |
| assert_equals(getComputedStyle(element).display, "inline"); | |
| }, `${name} should not be hidden`); | |
| } | |
| for (let name of kHiddenElementLocalNames) { | |
| test(function() { | |
| let element = document.createElement(name); | |
| document.body.appendChild(element); | |
| assert_equals(getComputedStyle(element).display, "none"); | |
| }, `${name} should be hidden`); | |
| } | |
| test(function() { | |
| assert_equals(getComputedStyle(document.querySelector("div[hidden]")).display, "none"); | |
| }, `div[hidden] element should be hidden`); | |
| test(function() { | |
| const el = document.querySelector("embed[hidden='']"); | |
| assert_equals(getComputedStyle(el).display, "inline"); | |
| assert_equals(getComputedStyle(el).width, "0px"); | |
| assert_equals(getComputedStyle(el).height, "0px"); | |
| }, `embed[hidden=''] element should be inline 0x0`); | |
| test(function() { | |
| const el = document.querySelector("embed[hidden='until-found']"); | |
| assert_equals(getComputedStyle(el).display, "inline"); | |
| assert_equals(getComputedStyle(el).width, "0px"); | |
| assert_equals(getComputedStyle(el).height, "0px"); | |
| assert_equals(getComputedStyle(el).contentVisibility, "visible"); | |
| }, `embed[hidden='until-found'] element should be inline 0x0`); | |
| </script> |