| <!DOCTYPE html> |
| <meta charset="utf-8"> |
| <title>navigator.clipboard.writeText() fails when permission denied</title> |
| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| <script src="../../http/tests/resources/permissions-helper.js"></script> |
| <script> |
| promise_test(async t => { |
| await PermissionsHelper.setPermission('clipboard-write', 'denied'); |
| // Note: Failure returns a rejected promise of type undefined, so |
| // promise_rejects doesn't seem to work here. |
| let promiseRejected = false; |
| try { |
| await navigator.clipboard.writeText("xyz"); |
| } |
| catch { |
| promiseRejected = true; |
| } |
| if(promiseRejected === false) { |
| throw "writeText should have failed with permission denied, but succeeded " |
| + "instead"; |
| } |
| }, "navigator.clipboard.writeText() fails when permission denied"); |
| </script> |