blob: 4d0994aa400844e2fbb2a08792d029893bdae0bd [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../../resources/js-test.js"></script>
</head>
<body>
<p id="description"></p>
<svg xmlns="http://www.w3.org/2000/svg" style="display:none">
<g id="g"></g>
<rect id="rect"></rect>
<svg id="svg"></svg>
</svg>
<pre id="console"></pre>
<script>
description("Tests to ensure that shadow element cannot be created in elements having dynamically created shadow root.");
function testToAddShadowRoot(element, success) {
debug(element.nodeName);
if (success)
shouldNotBe("element.createShadowRoot()", "null");
else
shouldThrow("element.createShadowRoot()");
}
var elementsToSuccess = [
document.createElement('div'),
document.createElement('span'),
document.createElement('a'),
document.createElement('section'),
document.getElementById('g'),
document.getElementById('rect'),
document.getElementById('svg'),
];
// See crbug.com/234020 .
var elementsToFail = [
document.createElement('input'),
document.createElement('embed'),
document.createElement('object'),
document.createElement('audio'),
document.createElement('video'),
document.createElement('select'),
document.createElement('img'),
document.createElement('textarea'),
document.createElement('iframe'),
document.createElement('canvas'),
document.createElement('meter'),
document.createElement('progress'),
document.createElement('keygen'),
document.createElement('video'),
document.createElement('audio'),
document.createElement('fieldset'),
];
for (var i = 0; i < elementsToSuccess.length; ++i) {
var element = elementsToSuccess[i];
testToAddShadowRoot(element, true);
}
for (var i = 0; i < elementsToFail.length; ++i) {
var element = elementsToFail[i];
testToAddShadowRoot(element, false);
}
var successfullyParsed = true;
</script>
</body>
</html>