| <!DOCTYPE html> |
| <head> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| </head> |
| <body> |
| <script> |
| var t = async_test("navigator.cookieEnabled behavior on frames without cookie access"); |
| window.onmessage = t.step_func_done(ev => { |
| // Surprisingly, the legacy behavior here is to return true; this actually |
| // does match the spec definition since false is supposed to be returned |
| // when a document.cookie write is ignored --- and here it would throw |
| // a security exception, not be ignored. |
| assert_true(ev.data); |
| }); |
| |
| t.step(() => { |
| var iframe = document.createElement("iframe"); |
| iframe.sandbox = "allow-scripts"; |
| iframe.srcdoc = "<scr" + "ipt>" + |
| "window.onmessage = function() {" + |
| " parent.postMessage(navigator.cookieEnabled, '*'); " + |
| "}</scr" + "ipt>"; |
| iframe.onload = function() { |
| iframe.contentWindow.postMessage({}, "*"); |
| } |
| document.body.appendChild(iframe); |
| }); |
| </script> |
| </body> |