Index: LayoutTests/media/activation-behavior-shadow.html |
diff --git a/LayoutTests/media/activation-behavior-shadow.html b/LayoutTests/media/activation-behavior-shadow.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..aa18ecdebc302acd40881cef64e406d35e5c6cc9 |
--- /dev/null |
+++ b/LayoutTests/media/activation-behavior-shadow.html |
@@ -0,0 +1,32 @@ |
+<!doctype html> |
+<title>activation behavior with shadow children</title> |
+<script src="../resources/testharness.js"></script> |
+<script src="../resources/testharnessreport.js"></script> |
+<video controls></video> |
+<script> |
+function shouldTogglePlayState(shadowChild) |
+{ |
+ var id = internals.shadowPseudoId(shadowChild); |
+ if (id == "-webkit-media-controls") |
+ return true; |
+ if (id == "-webkit-media-controls-play-button") |
+ return true; |
+ if (id == "-webkit-media-controls-panel") |
+ return false; |
+ return shouldTogglePlayState(shadowChild.parentNode); |
+} |
+ |
+test(function() |
+{ |
+ var v = document.querySelector("video"); |
+ var shadowChildren = internals.shadowRoot(v).querySelectorAll("*"); |
+ Array.prototype.forEach.call(shadowChildren, function(shadowChild) |
+ { |
+ v.pause(); |
+ shadowChild.click(); |
+ assert_equals(v.paused, !shouldTogglePlayState(shadowChild), |
+ "paused state after click element with pseudo id '" |
+ + internals.shadowPseudoId(shadowChild) + "'"); |
+ }); |
+}); |
+</script> |