blob: 4f4c955d01ed7ac7ce37313e00a0811fe94df49a [file] [log] [blame]
François Beaufort92d49352018-02-09 17:59:311<!DOCTYPE html>
2<title>Test for pictureInPictureElement adjustment for Shadow DOM</title>
3<script src='/resources/testharness.js'></script>
4<script src='/resources/testharnessreport.js'></script>
5<script src="/resources/testdriver.js"></script>
6<script src="/resources/testdriver-vendor.js"></script>
7<script src="resources/picture-in-picture-helpers.js"></script>
8<script src='../shadow-dom/resources/shadow-dom.js'></script>
9<body>
10<div id='host'>
11 <template data-mode='open' id='root'>
12 <slot></slot>
13 </template>
14 <div id='host2'>
15 <template data-mode='open' id='root2'>
16 <div id='host3'>
17 <template data-mode='open' id='root3'>
18 <video id='video'></video>
19 <div id='host4'>
20 <template data-mode='open' id='root4'>
21 <div></div>
22 </template>
23 </div>
24 </template>
25 </div>
26 <div id='host5'>
27 <template data-mode='open' id='root5'>
28 <div></div>
29 </template>
30 </div>
31 </template>
32 </div>
33</div>
34</body>
35<script>
36promise_test(t => {
37 const ids = createTestTree(host);
38 document.body.appendChild(ids.host);
39
40 assert_equals(document.pictureInPictureElement, null);
41 assert_equals(ids.root.pictureInPictureElement, null);
42 assert_equals(ids.root2.pictureInPictureElement, null);
43 assert_equals(ids.root3.pictureInPictureElement, null);
44 assert_equals(ids.root4.pictureInPictureElement, null);
45 assert_equals(ids.root5.pictureInPictureElement, null);
46
47 return requestPictureInPictureWithTrustedClick(ids.video)
48 .then(() => {
49 assert_equals(document.pictureInPictureElement, ids.host2);
50 assert_equals(ids.root.pictureInPictureElement, null);
51 assert_equals(ids.root2.pictureInPictureElement, ids.host3);
52 assert_equals(ids.root3.pictureInPictureElement, ids.video);
53 assert_equals(ids.root4.pictureInPictureElement, null);
54 assert_equals(ids.root5.pictureInPictureElement, null);
55 })
56});
57</script>