| <!DOCTYPE html> |
| <title>showDirectoryPicker API test</title> |
| <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/utils.js"></script> |
| <script src="/common/utils.js"></script> |
| <script src="/common/dispatcher/dispatcher.js"></script> |
| <script src="/resources/testdriver-actions.js"></script> |
| |
| <body> |
| <script> |
| promise_test(async () => { |
| const frame = attachFencedFrameContext(); |
| await multiClick(10, 10, frame.element); |
| const result = await frame.execute(async () => { |
| try { |
| const dir = await window.showDirectoryPicker(); |
| return 'opened directory picker'; |
| } catch (e) { |
| if (e.name === 'SecurityError' && |
| e.message === "Failed to execute 'showDirectoryPicker' on 'Window': Cross origin sub frames aren't allowed to show a file picker.") { |
| return 'Access to the directory picker was disallowed'; |
| } |
| return `showDirectoryPicker failed with unknown error ${e.name} ${e.message}`; |
| } |
| }); |
| assert_equals(result, 'Access to the directory picker was disallowed'); |
| }, 'Directory information should not be read in the fenced frame.'); |
| </script> |