Index: LayoutTests/fast/css/invalidation/fullscreen.html |
diff --git a/LayoutTests/fast/css/invalidation/fullscreen.html b/LayoutTests/fast/css/invalidation/fullscreen.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..bae172654a722be05c7dbad2c4f0b23806cee89a |
--- /dev/null |
+++ b/LayoutTests/fast/css/invalidation/fullscreen.html |
@@ -0,0 +1,74 @@ |
+<!DOCTYPE html> |
+<script src="../../../resources/js-test.js"></script> |
+<style> |
+#full, #ancestor, #doc { |
+ background-color: red; |
+} |
+ |
+.t1 #full:-webkit-full-screen, |
+.t2 #ancestor:-webkit-full-screen-ancestor, |
+.t3 #doc:-webkit-full-screen-document { |
+ background-color: green; |
+} |
+</style> |
+<div id="testRoot"> |
+ <div id="ancestor"> |
+ <div id="full"> |
+ <div></div> |
+ </div> |
+ <div id="doc"> |
+ <div></div> |
+ </div> |
+ <div></div> |
+ </div> |
+ <div></div> |
+ <div></div> |
+</div> |
+<script> |
+description("Test that descendant invalidation works with fullscreen pseudo classes."); |
+ |
+window.jsTestIsAsync = true; |
+ |
+var red = "rgb(255, 0, 0)"; |
+var green = "rgb(0, 128, 0)"; |
+ |
+function runTests() { |
+ |
+ shouldBe("getComputedStyle(full).backgroundColor", "red"); |
+ testRoot.offsetTop; // force recalc |
+ testRoot.className = "t1"; |
+ if (window.internals) |
+ shouldBe("internals.updateStyleAndReturnAffectedElementCount()", "2"); |
+ shouldBe("getComputedStyle(full).backgroundColor", "green"); |
+ |
+ shouldBe("getComputedStyle(ancestor).backgroundColor", "red"); |
+ testRoot.offsetTop; // force recalc |
+ testRoot.className += " t2"; |
+ if (window.internals) |
+ shouldBe("internals.updateStyleAndReturnAffectedElementCount()", "2"); |
+ shouldBe("getComputedStyle(ancestor).backgroundColor", "green"); |
+ |
+ shouldBe("getComputedStyle(doc).backgroundColor", "red"); |
+ testRoot.offsetTop; // force recalc |
+ testRoot.className += " t3"; |
+ if (window.internals) |
+ shouldBe("internals.updateStyleAndReturnAffectedElementCount()", "2"); |
+ shouldBe("getComputedStyle(doc).backgroundColor", "green"); |
+ |
+ finishJSTest(); |
+} |
+ |
+if (window.testRunner) |
+ testRunner.waitUntilDone(); |
+ |
+document.addEventListener("keypress", function(){ |
+ document.getElementById("full").webkitRequestFullScreen(); |
+}); |
+ |
+document.addEventListener("webkitfullscreenchange", function(){ |
+ runTests(); |
+}); |
+ |
+if (window.eventSender) |
+ eventSender.keyDown(" "); |
+</script> |