| <!doctype html> |
| <meta charset=utf-8> |
| <title>Clipboard API on detached iframe</title> |
| <link rel='help' href='https://w3c.github.io/clipboard-apis/#async-clipboard-api'> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| |
| <iframe id="iframe"></iframe> |
| <script> |
| 'use strict'; |
| |
| promise_test(async () => { |
| const iframe = document.getElementById('iframe'); |
| const iframeNavigator = iframe.contentWindow.navigator; |
| assert_not_equals(navigator.clipboard, null, |
| "parent frame's clipboard should exist with iframe attached"); |
| assert_not_equals(iframeNavigator.clipboard, null, |
| "attached child iframe's clipboard should exist"); |
| |
| iframe.parentNode.removeChild(iframe); |
| assert_not_equals(navigator.clipboard, null, |
| "parent frame's clipboard should exist with iframe detached"); |
| assert_equals(iframeNavigator.clipboard, null, |
| "detached child iframe's clipboard should not exist"); |
| }, 'Verify navigator.clipboard attached only on attached frames'); |
| </script> |