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

Unified Diff: third_party/WebKit/LayoutTests/fast/css/hover-active-quirks.html

Issue 1972713002: Multiple :hover/:active incorrectly matching in quirks mode. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed Windows compile error Created 4 years, 7 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
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/fast/css/hover-active-quirks-expected.txt » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/LayoutTests/fast/css/hover-active-quirks.html
diff --git a/third_party/WebKit/LayoutTests/fast/css/hover-active-quirks.html b/third_party/WebKit/LayoutTests/fast/css/hover-active-quirks.html
new file mode 100644
index 0000000000000000000000000000000000000000..c55604abca09b984a0f16243064695adea801a25
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/css/hover-active-quirks.html
@@ -0,0 +1,141 @@
+<!-- quirks mode -->
+<script src="../../resources/js-test.js"></script>
+<style>
+#sandbox div { width: 30px; height: 30px; }
+#sandbox > div { outline: 1px solid black; display: inline-block }
+#sandbox a { display: block; width: 30px; height: 30px; }
+
+#t1 > div, #t2 > div, #t3 > div, #t4 > div, #t5 > div, #t6 > div { background-color: green }
+
+#t1 :hover,
+#t2 :active,
+#t3 :hover:active,
+#t4 *:hover,
+#t5 *:active,
+#t6 *:active:hover {
+ background-color: red;
+}
+
+#t7 :not(:hover),
+#t8 :not(:active),
+#t9 :hover:not(:active),
+#t10 :not(:active):hover,
+#t11 :active:not(:hover),
+#t12 :not(:hover):active,
+:hover#t13,
+:hover.t14,
+:hover[t15],
+#t16:hover,
+.t17:hover,
+[t18]:hover,
+#t19 :hover,
+:active#t20,
+:active.t21,
+:active[t22],
+#t23:active,
+.t24:active,
+[t25]:active,
+#t26 :active {
+ background-color: green
+}
+</style>
+<div id="sandbox">
+ <span>Should stay green when hovered and/or active:</span>
+ <div id="t1"><div></div></div>
+ <div id="t2"><div></div></div>
+ <div id="t3"><div></div></div>
+ <div id="t4"><div></div></div>
+ <div id="t5"><div onclick=""></div></div>
+ <div id="t6"><div></div></div>
+ <br><span>Should be green when not hovered:</span>
+ <div id="t7"><div></div></div>
+ <br><span>Should be green when not active:</span>
+ <div id="t8"><div></div></div>
+ <br><span>Should be green when hovered and not active:</span>
+ <div id="t9"><div></div></div>
+ <div id="t10"><div></div></div>
+ <br><span>Should be green when active and not hovered:</span>
rwlbuis 2016/05/11 21:30:34 When I tried this part manually it did not work as
rune 2016/05/11 21:44:17 They will turn green when active and no longer hov
+ <div id="t11"><div onclick=""></div></div>
+ <div id="t12"><div onclick=""></div></div>
+ <br><span>Should be green when hovered:</span>
+ <div id="t13"></div>
+ <div id="t14" class="t14"></div>
+ <div id="t15" t15></div>
+ <div id="t16"></div>
+ <div id="t17" class="t17"></div>
+ <div id="t18" t18></div>
+ <div id="t19"><a href="#" onclick="event.preventDefault()"></a></div>
+ <br><span>Should be green when active:</span>
+ <div id="t20" onclick=""></div>
+ <div id="t21" onclick="" class="t21"></div>
+ <div id="t22" onclick="" t22></div>
+ <div id="t23" onclick=""></div>
+ <div id="t24" onclick="" class="t24"></div>
+ <div id="t25" onclick="" t25></div>
+ <div id="t26"><a href="#" onclick="event.preventDefault()"></a></div>
+</div>
+<script>
+ description("Quirks mode - matching :hover and :active");
+
+ setPrintTestResultsLazily();
+
+ function testElement(element, whileHovering, whileActive) {
+ if (whileActive || whileHovering) {
+ hoverX = element.offsetLeft + 2;
+ hoverY = element.offsetTop + 2;
+ eventSender.mouseMoveTo(hoverX, hoverY);
+ if (whileActive) {
+ eventSender.mouseDown();
+ }
+ if (!whileHovering) {
+ eventSender.mouseMoveTo(1, 1);
+ }
+
+ var result = getComputedStyle(element).backgroundColor;
+
+ if (whileActive) {
+ eventSender.mouseUp();
+ if (!whileHovering) {
+ eventSender.mouseDown();
+ eventSender.mouseUp();
+ }
+ }
+
+ return result;
+ }
+ return getComputedStyle(element).backgroundColor;
+ }
+
+ shouldBeDefined("window.eventSender");
+ eventSender.dragMode = false;
+
+ var green = "rgb(0, 128, 0)";
+
+ shouldBe("testElement(t1.firstChild, true, false)", "green");
+ shouldBe("testElement(t2.firstChild, true, true)", "green");
+ shouldBe("testElement(t3.firstChild, true, true)", "green");
+ shouldBe("testElement(t4.firstChild, true, false)", "green");
+ shouldBe("testElement(t5.firstChild, true, true)", "green");
+ shouldBe("testElement(t6.firstChild, true, true)", "green");
+ shouldBe("testElement(t7.firstChild, false, false)", "green");
+ shouldBe("testElement(t8.firstChild, false, false)", "green");
+ shouldBe("testElement(t9.firstChild, true, false)", "green");
+ shouldBe("testElement(t10.firstChild, true, false)", "green");
+ shouldBe("testElement(t11.firstChild, false, true)", "green");
+ shouldBe("testElement(t12.firstChild, false, true)", "green");
+ shouldBe("testElement(t13, true, false)", "green");
+ shouldBe("testElement(t14, true, false)", "green");
+ shouldBe("testElement(t15, true, false)", "green");
+ shouldBe("testElement(t16, true, false)", "green");
+ shouldBe("testElement(t17, true, false)", "green");
+ shouldBe("testElement(t18, true, false)", "green");
+ shouldBe("testElement(t19.firstChild, true, false)", "green");
+ shouldBe("testElement(t20, true, true)", "green");
+ shouldBe("testElement(t21, true, true)", "green");
+ shouldBe("testElement(t22, true, true)", "green");
+ shouldBe("testElement(t23, true, true)", "green");
+ shouldBe("testElement(t24, true, true)", "green");
+ shouldBe("testElement(t25, true, true)", "green");
+ shouldBe("testElement(t26.firstChild, true, true)", "green");
+
+</script>
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/fast/css/hover-active-quirks-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698