| Index: LayoutTests/http/tests/security/isolatedWorld/resources/bypass-main-world-csp-for-inline-script.js
|
| diff --git a/LayoutTests/http/tests/security/isolatedWorld/resources/bypass-main-world-csp-for-inline-script.js b/LayoutTests/http/tests/security/isolatedWorld/resources/bypass-main-world-csp-for-inline-script.js
|
| index 25727b6a2365be39ff6eef801c7d47da0d5c802e..954e817e40c152eaa0b32e18362740ebf3267ed8 100644
|
| --- a/LayoutTests/http/tests/security/isolatedWorld/resources/bypass-main-world-csp-for-inline-script.js
|
| +++ b/LayoutTests/http/tests/security/isolatedWorld/resources/bypass-main-world-csp-for-inline-script.js
|
| @@ -21,24 +21,34 @@ function test() {
|
| document.body.appendChild(script);
|
| window.postMessage("next", "*");
|
| }
|
| + function injectInlineEventHandler(isolated) {
|
| + var div = document.createElement('div');
|
| + div.innerHTML = "<div onclick='function () {}'></div>";
|
| + document.body.appendChild(div);
|
| + window.postMessage("next", "*");
|
| + }
|
|
|
| switch (tests) {
|
| case 4:
|
| console.log("Injecting in main world: this should fail.");
|
| injectInlineScript(false);
|
| + injectInlineEventHandler(false);
|
| break;
|
| case 3:
|
| console.log("Injecting into isolated world without bypass: this should fail.");
|
| testRunner.evaluateScriptInIsolatedWorld(1, String(eval("injectInlineScript")) + "\ninjectInlineScript(true);");
|
| + testRunner.evaluateScriptInIsolatedWorld(1, String(eval("injectInlineEventHandler")) + "\injectInlineEventHandler(true);");
|
| break;
|
| case 2:
|
| console.log("Starting to bypass main world's CSP: this should pass!");
|
| testRunner.setIsolatedWorldContentSecurityPolicy(1, 'script-src \'unsafe-inline\' *');
|
| testRunner.evaluateScriptInIsolatedWorld(1, String(eval("injectInlineScript")) + "\ninjectInlineScript(true);");
|
| + testRunner.evaluateScriptInIsolatedWorld(1, String(eval("injectInlineEventHandler")) + "\injectInlineEventHandler(true);");
|
| break;
|
| case 1:
|
| console.log("Injecting into main world again: this should fail.");
|
| injectInlineScript(false);
|
| + injectInlineEventHandler(false);
|
| break;
|
| case 0:
|
| testRunner.setIsolatedWorldContentSecurityPolicy(1, '');
|
|
|