Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(179)

Unified Diff: LayoutTests/http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write.html

Issue 494343003: Eliminate globalFlag usage from http security layout tests. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: consistify Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | LayoutTests/http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write-expected.txt » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: LayoutTests/http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write.html
diff --git a/LayoutTests/http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write.html b/LayoutTests/http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write.html
index 56a2bce815b24d0ec41b34d0b9a2d869b9cd85c1..e1495f1d42f6e6aa14ef15dc1217776b59e0535e 100644
--- a/LayoutTests/http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write.html
+++ b/LayoutTests/http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write.html
@@ -26,71 +26,25 @@
var try_control = 'write(window.opener.top.frames[1], ' + libwrapjs.in_string(message_success) + ');';
var control = 'setTimeout(function() {' + try_control + '}, 200);';
- var sigDone = 'setTimeout(function() { if (window.testRunner) testRunner.globalFlag = true; }, 300);';
+ var sigDone = 'setTimeout(function() { window.opener.top.postMessage(\'done\', \'*\'); }, 300);';
var payload = 'document.write(' + libwrapjs.in_string(libwrapjs.in_script_tag(write_func + attack + control + sigDone)) + ');';
code = libwrapjs.in_script_tag(payload);
log("Code injected into window:");
log(code);
- if (window.testRunner) {
- setTimeout(pollForTest1, 1);
- } else {
- log("To run the test, click the button below when the frames finish loading.");
- var button = document.createElement("button");
- button.appendChild(document.createTextNode("Run Test"));
- button.onclick = runTest1;
- document.body.appendChild(button);
- }
- }
-
- pollForTest1 = function()
- {
- if (window.testRunner && !testRunner.globalFlag) {
- setTimeout(pollForTest1, 1);
- return;
- }
- runTest1();
- }
-
- runTest1 = function() {
frames[0].openWindow();
openedWindow = frames[0].openedWindow;
- if (window.testRunner)
- testRunner.globalFlag = false;
-
- frames[0].location = 'http://localhost:8000/security/resources/innocent-victim-with-notify.html';
-
- setTimeout(pollForTest2, 1);
+ document.getElementById('targetFrame').onload = runTest;
+ frames[0].location = 'http://localhost:8000/security/resources/innocent-victim.html';
}
- pollForTest2 = function()
- {
- if (window.testRunner && !testRunner.globalFlag) {
- setTimeout(pollForTest2, 1);
- return;
- }
- runTest2();
- }
-
- runTest2 = function()
+ runTest = function()
{
+ window.addEventListener('message', function () { closeWindowAndNotifyDone(openedWindow); });
openedWindow.document.write(code);
openedWindow.document.close();
- if (window.testRunner) {
- testRunner.globalFlag = false;
- setTimeout(pollForDone, 1);
- }
- }
-
- pollForDone = function()
- {
- if (window.testRunner && !testRunner.globalFlag) {
- setTimeout(pollForDone, 1);
- return;
- }
- closeWindowAndNotifyDone(openedWindow);
}
</script>
</head>
@@ -99,7 +53,7 @@
then navigates its opener to the victim. The opened window then tries to
scripts its opener after <code>document.write</code>ing a new document.</div>
<pre id="console"></pre>
-<iframe style="border: solid 3px red;" src="../resources/open-window.html"></iframe>
+<iframe id="targetFrame" style="border: solid 3px red;" src="../resources/open-window.html"></iframe>
<iframe style="border: solid 3px green;" src="../resources/innocent-victim.html"></iframe>
</body>
</html>
« no previous file with comments | « no previous file | LayoutTests/http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698