| <!doctype html> |
| <html> |
| <head> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script> |
| var button = null; |
| |
| function clickButton() { |
| if (!button) |
| button = document.querySelector("button"); |
| button.click(); |
| } |
| |
| function handler(event) { |
| assert_not_equals(event.sourceCapabilities, null); |
| event.sourceCapabilities.customProperty = 42; |
| } |
| |
| async_test(function(t) { |
| window.addEventListener('message', function(evt) { |
| if (evt.data === "start") { |
| setTimeout(clickButton); |
| return; |
| } |
| |
| assert_equals(evt.data, undefined); |
| // Check that |sourceCapabilities| is same within the context |
| // of the same window. We may want to weaken this further and |
| // not insist on sameness across dispatched events. |
| button.onclick = function (event) { |
| assert_not_equals(event.sourceCapabilities, null); |
| assert_equals(event.sourceCapabilities.customProperty, 42); |
| t.done(); |
| }; |
| button.click(); |
| }); |
| |
| }, 'Test that event sourceCapabilities object is not shared cross-origin'); |
| </script> |
| </head> |
| <body> |
| <button onclick="handler(event)"></button> |
| <iframe src="http://localhost:8000/security/resources/cross-frame-mouse-source-capabilities.html"></iframe> |
| </body> |
| </html> |