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

Side by Side Diff: LayoutTests/inspector-protocol/css/css-visited-link-matched-styles.html

Issue 228673002: DevTools: matched styles respect :visited/:link pseudo classes (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: do not skip non-matched rules for pseudo elements matches Created 6 years, 8 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 <html>
2 <head>
3 <script type="text/javascript" src="../../http/tests/inspector-protocol/inspecto r-protocol-test.js"></script>
4 <script type="text/javascript" src="css-protocol-test.js"></script>
5 <script type="text/javascript">
6 function test()
7 {
8 setTimeout(InspectorTest.completeTest.bind(InspectorTest), 2000);
9 var nodeInfo = {};
10 InspectorTest.eventHandler["DOM.setChildNodes"] = setChildNodes;
11 InspectorTest.sendCommandOrDie("CSS.enable", {}, onCSSEnabled);
12
13 function onCSSEnabled()
14 {
15 InspectorTest.requestNodeId("#redlink", onNodeReceived);
16 }
17
18 function onNodeReceived(nodeId)
19 {
20 dumpVisitedAndLinkRules(nodeId, onLinkDumped);
21 }
22
23 function onLinkDumped()
24 {
25 InspectorTest.requestNodeId("#shadow-host", onShadowHost);
26 }
27
28 function onShadowHost(nodeId)
29 {
30 var node = nodeInfo[nodeId];
31 if (!node) {
32 InspectorTest.log("ERROR: didn't get node from backend");
33 InspectorTest.completeTest();
34 return;
35 }
36 var shadowRoots = node.shadowRoots || [];
37 if (shadowRoots.length !== 1) {
38 InspectorTest.log("ERROR: shadow host doesn't have any shadow roots" );
39 InspectorTest.completeTest();
40 return;
41 }
42 var shadowRoot = shadowRoots[0];
43 InspectorTest.sendCommandOrDie("DOM.querySelector", {
44 nodeId: shadowRoot.nodeId,
45 selector: ".shadow-link"
46 }, onShadowAnchor);
47 }
48
49 function onShadowAnchor(result)
50 {
51 dumpVisitedAndLinkRules(result.nodeId, InspectorTest.completeTest.bind(I nspectorTest));
52 }
53
54 function setChildNodes(message)
55 {
56 var nodes = message.params.nodes;
57 for (var i = 0; i < nodes.length; ++i) {
58 nodeInfo[nodes[i].nodeId] = nodes[i];
59 delete nodes[i].nodeId;
60 }
61 }
62
63 function dumpVisitedAndLinkRules(nodeId, callback)
64 {
65 InspectorTest.log("==== Styles for unvisited link ====");
66 InspectorTest.loadAndDumpMatchingRulesForNode(nodeId, onUnvisitedLinkDum ped);
67 function onUnvisitedLinkDumped()
68 {
69 InspectorTest.sendCommandOrDie("CSS.forcePseudoState", {
70 nodeId: nodeId,
71 forcedPseudoClasses: [ "visited" ]
72 }, onVisitedForced);
73 }
74
75 function onVisitedForced()
76 {
77 InspectorTest.log("==== Styles for visited link ====");
78 InspectorTest.loadAndDumpMatchingRulesForNode(nodeId, callback);
79 }
80 }
81
82 }
83 </script>
84 <style>
85 #redlink:visited {
86 color: red;
87 }
88 #redlink:link {
89 color: blue;
90 }
91
92 #redlink {
93 color: gray;
94 }
95 </style>
96 <template id="shadow">
97 <style>
98 .shadow-link:visited {
99 color: blue;
100 }
101 .shadow-link:link {
102 color: green;
103 }
104 .shadow-link {
105 color: lightgray;
106 }
107 </style>
108 <a class="shadow-link" href="definitely-unvisited-shadow-link-2232">This is shad ow link</a>
109 </template>
110 </head>
111 <body>
112 <a id="redlink" href="definitely-unvisited-link-address-1989-42.html">This i s visited link</a>
113 <div id="shadow-host"></div>
114 <script>
115 runTest();
116 var host = document.querySelector("#shadow-host").createShadowRoot();
117 var template = document.querySelector("#shadow");
118 host.appendChild(template.content);
119 template.remove();
120 </script>
121 </body>
122 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698