| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta http-equiv="Content-Security-Policy" content="require-trusted-types-for 'script'"> |
| <script> |
| // The majority of Trusted Types-related tests can be found in the WPT |
| // test suite. This particular test tests the interaction of Trusted Types |
| // with isolated worlds, which is not accessible from WPT tests. |
| |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| testRunner.waitUntilDone(); |
| } |
| |
| function trigger() { |
| try { |
| document.getElementById("target").innerHTML = "abc"; |
| } catch { |
| } |
| } |
| |
| function trigger_in_world() { |
| testRunner.evaluateScriptInIsolatedWorld(1, trigger.toString() + "trigger();"); |
| } |
| |
| function test() { |
| alert("Case #1: Trigger TT error on main page."); |
| trigger(); |
| |
| alert("Case #2: Trigger TT error in main world, via test runner."); |
| testRunner.setIsolatedWorldInfo(1, null, null); |
| trigger_in_world(); |
| |
| alert("Case #3: Trigger TT error in extension."); |
| testRunner.setIsolatedWorldInfo(1, 'chrome-extension://123', ''); |
| trigger_in_world(); |
| |
| alert("Case #4: Set default policy on main page. Trigger TT error in main 0page."); |
| trustedTypes.createPolicy("default", { createHTML: x => x }); |
| testRunner.setIsolatedWorldInfo(1, null, null); |
| trigger_in_world(); |
| |
| alert("Case #5: Default policy on main page. Trigger TT error in extension"); |
| testRunner.setIsolatedWorldInfo(1, 'chrome-extension://123', ''); |
| trigger_in_world(); |
| |
| alert("Cleanup & done."); |
| document.getElementById("target").textContent = ""; |
| testRunner.setIsolatedWorldInfo(1, null, null); |
| testRunner.notifyDone(); |
| } |
| </script> |
| </head> |
| <body onload='test();'> |
| <p> |
| The majority of Trusted Types-related tests can be found in the WPT |
| test suite. This particular test tests the interaction of Trusted Types |
| with isolated worlds, which is not accessible from WPT tests. |
| </p> |
| <p id="target"></p> |
| </body> |
| </html> |