diff options
Diffstat (limited to 'browser/base/content/test/browser_bug822367.js')
-rw-r--r-- | browser/base/content/test/browser_bug822367.js | 196 |
1 files changed, 0 insertions, 196 deletions
diff --git a/browser/base/content/test/browser_bug822367.js b/browser/base/content/test/browser_bug822367.js deleted file mode 100644 index 5ce497919..000000000 --- a/browser/base/content/test/browser_bug822367.js +++ /dev/null @@ -1,196 +0,0 @@ -/* - * User Override Mixed Content Block - Tests for Bug 822367 - */ - - -const PREF_DISPLAY = "security.mixed_content.block_display_content"; -const PREF_ACTIVE = "security.mixed_content.block_active_content"; - -// We alternate for even and odd test cases to simulate different hosts -const gHttpTestRoot = "https://example.com/browser/browser/base/content/test/"; -const gHttpTestRoot2 = "https://test1.example.com/browser/browser/base/content/test/"; - -var origBlockDisplay; -var origBlockActive; -var gTestBrowser = null; - -registerCleanupFunction(function() { - // Set preferences back to their original values - Services.prefs.setBoolPref(PREF_DISPLAY, origBlockDisplay); - Services.prefs.setBoolPref(PREF_ACTIVE, origBlockActive); -}); - -function MixedTestsCompleted() { - gBrowser.removeCurrentTab(); - window.focus(); - finish(); -} - -function test() { - waitForExplicitFinish(); - - origBlockDisplay = Services.prefs.getBoolPref(PREF_DISPLAY); - origBlockActive = Services.prefs.getBoolPref(PREF_ACTIVE); - - Services.prefs.setBoolPref(PREF_DISPLAY, true); - Services.prefs.setBoolPref(PREF_ACTIVE, true); - - var newTab = gBrowser.addTab(); - gBrowser.selectedTab = newTab; - gTestBrowser = gBrowser.selectedBrowser; - newTab.linkedBrowser.stop() - - // Mixed Script Test - gTestBrowser.addEventListener("load", MixedTest1A, true); - var url = gHttpTestRoot + "file_bug822367_1.html"; - gTestBrowser.contentWindow.location = url; -} - -// Mixed Script Test -function MixedTest1A() { - gTestBrowser.removeEventListener("load", MixedTest1A, true); - gTestBrowser.addEventListener("load", MixedTest1B, true); - var notification = PopupNotifications.getNotification("mixed-content-blocked", gTestBrowser); - ok(notification, "Mixed Content Doorhanger didn't appear"); - notification.secondaryActions[0].callback(); -} -function MixedTest1B() { - waitForCondition(function() content.document.getElementById('p1').innerHTML == "hello", MixedTest1C, "Waited too long for mixed script to run in Test 1"); -} -function MixedTest1C() { - ok(content.document.getElementById('p1').innerHTML == "hello","Mixed script didn't load in Test 1"); - gTestBrowser.removeEventListener("load", MixedTest1B, true); - MixedTest2(); -} - -//Mixed Display Test - Doorhanger should not appear -function MixedTest2() { - gTestBrowser.addEventListener("load", MixedTest2A, true); - var url = gHttpTestRoot2 + "file_bug822367_2.html"; - gTestBrowser.contentWindow.location = url; -} - -function MixedTest2A() { - var notification = PopupNotifications.getNotification("mixed-content-blocked", gTestBrowser); - ok(!notification, "Mixed Content Doorhanger appears for mixed display content!"); - MixedTest3(); -} - -// Mixed Script and Display Test - User Override should cause both the script and the image to load. -function MixedTest3() { - gTestBrowser.removeEventListener("load", MixedTest2A, true); - gTestBrowser.addEventListener("load", MixedTest3A, true); - var url = gHttpTestRoot + "file_bug822367_3.html"; - gTestBrowser.contentWindow.location = url; -} -function MixedTest3A() { - gTestBrowser.removeEventListener("load", MixedTest3A, true); - gTestBrowser.addEventListener("load", MixedTest3B, true); - var notification = PopupNotifications.getNotification("mixed-content-blocked", gTestBrowser); - ok(notification, "Mixed Content Doorhanger doesn't appear for test 3"); - notification.secondaryActions[0].callback(); -} -function MixedTest3B() { - waitForCondition(function() content.document.getElementById('p1').innerHTML == "hello", MixedTest3C, "Waited too long for mixed script to run in Test 3"); -} -function MixedTest3C() { - waitForCondition(function() content.document.getElementById('p2').innerHTML == "bye", MixedTest3D, "Waited too long for mixed image to load in Test 3"); -} -function MixedTest3D() { - ok(content.document.getElementById('p1').innerHTML == "hello","Mixed script didn't load in Test 3"); - ok(content.document.getElementById('p2').innerHTML == "bye","Mixed image didn't load in Test 3"); - MixedTest4(); -} - -// Location change - User override on one page doesn't propogate to another page after location change. -function MixedTest4() { - gTestBrowser.removeEventListener("load", MixedTest3B, true); - gTestBrowser.addEventListener("load", MixedTest4A, true); - var url = gHttpTestRoot2 + "file_bug822367_4.html"; - gTestBrowser.contentWindow.location = url; -} -function MixedTest4A() { - gTestBrowser.removeEventListener("load", MixedTest4A, true); - gTestBrowser.addEventListener("load", MixedTest4B, true); - var notification = PopupNotifications.getNotification("mixed-content-blocked", gTestBrowser); - ok(notification, "Mixed Content Doorhanger doesn't appear for Test 4"); - notification.secondaryActions[0].callback(); -} -function MixedTest4B() { - waitForCondition(function() content.document.location == gHttpTestRoot + "file_bug822367_4B.html", MixedTest4C, "Waited too long for mixed script to run in Test 4"); -} -function MixedTest4C() { - ok(content.document.location == gHttpTestRoot + "file_bug822367_4B.html", "Location didn't change in test 4"); - var notification = PopupNotifications.getNotification("mixed-content-blocked", gTestBrowser); - ok(notification, "Mixed Content Doorhanger doesn't appear after location change in Test 4"); - waitForCondition(function() content.document.getElementById('p1').innerHTML == "", MixedTest4D, "Mixed script loaded in test 4 after location change!"); -} -function MixedTest4D() { - ok(content.document.getElementById('p1').innerHTML == "","p1.innerHTML changed; mixed script loaded after location change in Test 4"); - MixedTest5(); -} - -// Mixed script attempts to load in a document.open() -function MixedTest5() { - gTestBrowser.removeEventListener("load", MixedTest4B, true); - gTestBrowser.addEventListener("load", MixedTest5A, true); - var url = gHttpTestRoot + "file_bug822367_5.html"; - gTestBrowser.contentWindow.location = url; -} -function MixedTest5A() { - gTestBrowser.removeEventListener("load", MixedTest5A, true); - gTestBrowser.addEventListener("load", MixedTest5B, true); - var notification = PopupNotifications.getNotification("mixed-content-blocked", gTestBrowser); - ok(notification, "Mixed Content Doorhanger doesn't appear for Test 5"); - notification.secondaryActions[0].callback(); -} -function MixedTest5B() { - waitForCondition(function() content.document.getElementById('p1').innerHTML == "hello", MixedTest5C, "Waited too long for mixed script to run in Test 5"); -} -function MixedTest5C() { - ok(content.document.getElementById('p1').innerHTML == "hello","Mixed script didn't load in Test 5"); - MixedTest6(); -} - -// Mixed script attempts to load in a document.open() that is within an iframe. -function MixedTest6() { - gTestBrowser.removeEventListener("load", MixedTest5B, true); - gTestBrowser.addEventListener("load", MixedTest6A, true); - var url = gHttpTestRoot2 + "file_bug822367_6.html"; - gTestBrowser.contentWindow.location = url; -} -function MixedTest6A() { - gTestBrowser.removeEventListener("load", MixedTest6A, true); - waitForCondition(function() PopupNotifications.getNotification("mixed-content-blocked", gTestBrowser), MixedTest6B, "waited to long for doorhanger"); -} - -function MixedTest6B() { - var notification = PopupNotifications.getNotification("mixed-content-blocked", gTestBrowser); - ok(notification, "Mixed Content Doorhanger doesn't appear for Test 6"); - gTestBrowser.addEventListener("load", MixedTest6C, true); - notification.secondaryActions[0].callback(); -} - -function MixedTest6C() { - gTestBrowser.removeEventListener("load", MixedTest6C, true); - waitForCondition(function() content.document.getElementById('f1').contentDocument.getElementById('p1').innerHTML == "hello", MixedTest6D, "Waited too long for mixed script to run in Test 6"); -} -function MixedTest6D() { - ok(content.document.getElementById('f1').contentDocument.getElementById('p1').innerHTML == "hello","Mixed script didn't load in Test 6"); - MixedTestsCompleted(); -} - -function waitForCondition(condition, nextTest, errorMsg) { - var tries = 0; - var interval = setInterval(function() { - if (tries >= 30) { - ok(false, errorMsg); - moveOn(); - } - if (condition()) { - moveOn(); - } - tries++; - }, 100); - var moveOn = function() { clearInterval(interval); nextTest(); }; -} |