Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(140)

Unified Diff: LayoutTests/fast/dom/shadow/style-and-shadow-element.html

Issue 210953003: Make style independent of the presence of the <shadow> element. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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>
+

Powered by Google App Engine
This is Rietveld 408576698