Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
michael@0 | 1 | /* This Source Code Form is subject to the terms of the Mozilla Public |
michael@0 | 2 | * License, v. 2.0. If a copy of the MPL was not distributed with this |
michael@0 | 3 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
michael@0 | 4 | |
michael@0 | 5 | function test() { |
michael@0 | 6 | /** Test for Bug 461743 **/ |
michael@0 | 7 | |
michael@0 | 8 | waitForExplicitFinish(); |
michael@0 | 9 | |
michael@0 | 10 | let testURL = "http://mochi.test:8888/browser/" + |
michael@0 | 11 | "browser/components/sessionstore/test/browser_461743_sample.html"; |
michael@0 | 12 | |
michael@0 | 13 | let frameCount = 0; |
michael@0 | 14 | let tab = gBrowser.addTab(testURL); |
michael@0 | 15 | tab.linkedBrowser.addEventListener("load", function(aEvent) { |
michael@0 | 16 | // Wait for all frames to load completely. |
michael@0 | 17 | if (frameCount++ < 2) |
michael@0 | 18 | return; |
michael@0 | 19 | tab.linkedBrowser.removeEventListener("load", arguments.callee, true); |
michael@0 | 20 | let tab2 = gBrowser.duplicateTab(tab); |
michael@0 | 21 | tab2.linkedBrowser.addEventListener("461743", function(aEvent) { |
michael@0 | 22 | tab2.linkedBrowser.removeEventListener("461743", arguments.callee, true); |
michael@0 | 23 | is(aEvent.data, "done", "XSS injection was attempted"); |
michael@0 | 24 | |
michael@0 | 25 | executeSoon(function() { |
michael@0 | 26 | let iframes = tab2.linkedBrowser.contentWindow.frames; |
michael@0 | 27 | let innerHTML = iframes[1].document.body.innerHTML; |
michael@0 | 28 | isnot(innerHTML, Components.utils.reportError.toString(), |
michael@0 | 29 | "chrome access denied!"); |
michael@0 | 30 | |
michael@0 | 31 | // Clean up. |
michael@0 | 32 | gBrowser.removeTab(tab2); |
michael@0 | 33 | gBrowser.removeTab(tab); |
michael@0 | 34 | |
michael@0 | 35 | finish(); |
michael@0 | 36 | }); |
michael@0 | 37 | }, true, true); |
michael@0 | 38 | }, true); |
michael@0 | 39 | } |