| <!DOCTYPE html> |
| <title>Test CSS selector :picture-in-picture</title> |
| <script src="/common/media.js"></script> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/resources/testdriver.js"></script> |
| <script src="/resources/testdriver-vendor.js"></script> |
| <script src="resources/picture-in-picture-helpers.js"></script> |
| <style> |
| video { |
| color: rgb(0, 0, 255); |
| } |
| :picture-in-picture { |
| color: rgb(0, 255, 0); |
| } |
| /* illegal selector list */ |
| video, :picture-in-picture(*) { |
| color: rgb(255, 0, 0); |
| } |
| </style> |
| <body></body> |
| <script> |
| promise_test(async t => { |
| const video = await loadVideo(); |
| document.body.appendChild(video); |
| assert_equals(getComputedStyle(video).color, 'rgb(0, 0, 255)'); |
| |
| await requestPictureInPictureWithTrustedClick(video); |
| assert_equals(getComputedStyle(video).color, 'rgb(0, 255, 0)'); |
| |
| await document.exitPictureInPicture(); |
| assert_equals(getComputedStyle(video).color, 'rgb(0, 0, 255)'); |
| }, 'Entering and leaving Picture-in-Picture toggles CSS selector'); |
| </script> |