Wed, 31 Dec 2014 06:55:50 +0100
Added tag UPSTREAM_283F7C6 for changeset ca08bd8f51b2
michael@0 | 1 | /* Any copyright is dedicated to the public domain. |
michael@0 | 2 | http://creativecommons.org/publicdomain/zero/1.0/ */ |
michael@0 | 3 | |
michael@0 | 4 | // Bug 804446 - Test that window.open(javascript:..) works with <iframe mozbrowser>. |
michael@0 | 5 | |
michael@0 | 6 | "use strict"; |
michael@0 | 7 | SimpleTest.waitForExplicitFinish(); |
michael@0 | 8 | browserElementTestHelpers.setEnabledPref(true); |
michael@0 | 9 | browserElementTestHelpers.addPermission(); |
michael@0 | 10 | |
michael@0 | 11 | function runTest() { |
michael@0 | 12 | var iframeJS = document.createElement('iframe'); |
michael@0 | 13 | SpecialPowers.wrap(iframeJS).mozbrowser = true; |
michael@0 | 14 | |
michael@0 | 15 | iframeJS.addEventListener('mozbrowserloadstart', function(e) { |
michael@0 | 16 | ok(false, "This should not happen!"); |
michael@0 | 17 | }); |
michael@0 | 18 | |
michael@0 | 19 | iframeJS.addEventListener('mozbrowserloadend', function(e) { |
michael@0 | 20 | ok(false, "This should not happen!"); |
michael@0 | 21 | }); |
michael@0 | 22 | |
michael@0 | 23 | iframeJS.src = 'javascript:alert("Foo");'; |
michael@0 | 24 | document.body.appendChild(iframeJS); |
michael@0 | 25 | |
michael@0 | 26 | var iframe = document.createElement('iframe'); |
michael@0 | 27 | SpecialPowers.wrap(iframe).mozbrowser = true; |
michael@0 | 28 | |
michael@0 | 29 | var gotPopup = false; |
michael@0 | 30 | iframe.addEventListener('mozbrowseropenwindow', function(e) { |
michael@0 | 31 | is(gotPopup, false, 'Should get just one popup.'); |
michael@0 | 32 | gotPopup = true; |
michael@0 | 33 | |
michael@0 | 34 | document.body.appendChild(e.detail.frameElement); |
michael@0 | 35 | }); |
michael@0 | 36 | |
michael@0 | 37 | iframe.addEventListener('mozbrowsershowmodalprompt', function(e) { |
michael@0 | 38 | ok(gotPopup, 'Got mozbrowseropenwindow event before showmodalprompt event.'); |
michael@0 | 39 | if (e.detail.message.indexOf("success") == 0) { |
michael@0 | 40 | ok(true, e.detail.message); |
michael@0 | 41 | SimpleTest.finish(); |
michael@0 | 42 | } |
michael@0 | 43 | else { |
michael@0 | 44 | ok(false, "Got invalid message: " + e.detail.message); |
michael@0 | 45 | } |
michael@0 | 46 | }); |
michael@0 | 47 | |
michael@0 | 48 | iframe.src = 'file_browserElement_FrameWrongURI.html'; |
michael@0 | 49 | document.body.appendChild(iframe); |
michael@0 | 50 | } |
michael@0 | 51 | |
michael@0 | 52 | addEventListener('testready', runTest); |