| Index: LayoutTests/fast/dom/shadow/style-and-shadow-element.html
|
| diff --git a/LayoutTests/fast/dom/shadow/style-and-shadow-element.html b/LayoutTests/fast/dom/shadow/style-and-shadow-element.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..80cf78e903ebc0ea24162cf39b3944ce81acaf36
|
| --- /dev/null
|
| +++ b/LayoutTests/fast/dom/shadow/style-and-shadow-element.html
|
| @@ -0,0 +1,98 @@
|
| +<!DOCTYPE html>
|
| +<html>
|
| +<head>
|
| +<script src="resources/shadow-dom.js"></script>
|
| +<script src="../../../resources/js-test.js"></script>
|
| +</head>
|
| +<body>
|
| + <div id='sandbox'></div>
|
| + <pre id='console'></pre>
|
| +</body>
|
| +<script>
|
| +function backgroundColorOf(node)
|
| +{
|
| + return document.defaultView.getComputedStyle(node, null).getPropertyValue('background-color');
|
| +}
|
| +
|
| +function backgroundColorShouldBe(selector, color)
|
| +{
|
| + var text = 'backgroundColorOf(getNodeInTreeOfTrees("' + selector + '"))';
|
| + shouldBeEqualToString(text, color);
|
| +}
|
| +
|
| +function backgroundColorShouldNotBe(selector, color)
|
| +{
|
| + var text = 'backgroundColorOf(getNodeInTreeOfTrees("' + selector + '"))';
|
| + var unevaledString = '"' + color.replace(/\\/g, "\\\\").replace(/"/g, "\"") + '"';
|
| + shouldNotBe(text, unevaledString);
|
| +}
|
| +
|
| +function cleanUp()
|
| +{
|
| + document.getElementById('sandbox').innerHTML = '';
|
| +}
|
| +
|
| +description('Test for http://crbug.com/35340: Style should not be conditioned by the presence of the shadow element.');
|
| +
|
| +var sandbox = document.getElementById('sandbox');
|
| +
|
| +sandbox.appendChild(
|
| + createDOM('div', {'id': 'host'},
|
| + createShadowRoot(
|
| + createDOM('style', {},
|
| + document.createTextNode(':host /shadow/ div { background: green; }')),
|
| + createDOM('div', {},
|
| + document.createTextNode('older div'))),
|
| + createShadowRoot(
|
| + createDOM('div', {'id': 'target'},
|
| + document.createTextNode('younger div should be green')))));
|
| +
|
| +backgroundColorShouldBe('host//target', 'rgb(0, 128, 0)');
|
| +
|
| +cleanUp();
|
| +
|
| +sandbox.appendChild(
|
| + createDOM('div', {'id': 'host'},
|
| + createShadowRoot(
|
| + createDOM('style', {},
|
| + document.createTextNode(':host /deep/ div { background: green; }')),
|
| + createDOM('div', {},
|
| + document.createTextNode('older div'))),
|
| + createShadowRoot(
|
| + createDOM('div', {'id': 'target'},
|
| + document.createTextNode('younger div should be green')))));
|
| +
|
| +backgroundColorShouldBe('host//target', 'rgb(0, 128, 0)');
|
| +
|
| +cleanUp();
|
| +
|
| +sandbox.appendChild(
|
| + createDOM('div', {'id': 'host'},
|
| + createShadowRoot(
|
| + createDOM('style', {},
|
| + document.createTextNode(':host div { background: green; }')),
|
| + createDOM('div', {},
|
| + document.createTextNode('older div'))),
|
| + createShadowRoot(
|
| + createDOM('div', {'id': 'target'},
|
| + document.createTextNode('younger div should be green')))));
|
| +
|
| +backgroundColorShouldNotBe('host//target', 'rgb(0, 128, 0)');
|
| +
|
| +cleanUp();
|
| +
|
| +sandbox.appendChild(
|
| + createDOM('div', {'id': 'host'},
|
| + createShadowRoot(
|
| + createDOM('style', {},
|
| + document.createTextNode(':host { display: block; background: green; }'))),
|
| + createShadowRoot(
|
| + createDOM('div', {'id': 'target'},
|
| + document.createTextNode('younger div should be green')))));
|
| +
|
| +backgroundColorShouldBe('host', 'rgb(0, 128, 0)');
|
| +
|
| +cleanUp();
|
| +</script>
|
| +</html>
|
| +
|
|
|