B2G/gecko/browser/components/privatebrowsing/test/browser/browser_privatebrowsing_popupblocker.js
// for the popup blocker menu.
for the popup blocker menu.
for the popup blocker menu .
function test() {
  let pb = Cc["@mozilla.org/privatebrowsing;1"].
           getService(Ci.nsIPrivateBrowsingService);
  let oldPopupPolicy = gPrefService.getBoolPref("dom.disable_open_during_load");
  gPrefService.setBoolPref("dom.disable_open_during_load", true);
  const TEST_URI = "http://mochi.test:8888/browser/browser/components/privatebrowsing/test/browser/popup.html";
  waitForExplicitFinish();
  function testPopupBlockerMenuItem(expectedDisabled, callback) {
    gBrowser.addEventListener("DOMUpdatePageReport", function() {
      gBrowser.removeEventListener("DOMUpdatePageReport", arguments.callee, false);
      executeSoon(function() {
        let notification = gBrowser.getNotificationBox().getNotificationWithValue("popup-blocked");
        ok(notification, "The notification box should be displayed");
        function checkMenuItem(callback) {
          dump("CMI: in\n");
          document.addEventListener("popupshown", function(event) {
            dump("CMI: popupshown\n");
            document.removeEventListener("popupshown", arguments.callee, false);
            if (expectedDisabled)
              is(document.getElementById("blockedPopupAllowSite").getAttribute("disabled"), "true",
                 "The allow popups menu item should be disabled");
            event.originalTarget.hidePopup();
            dump("CMI: calling back\n");
            callback();
            dump("CMI: called back\n");
          }, false);
          dump("CMI: out\n");
        }
        checkMenuItem(function() {
          gBrowser.removeTab(tab);
          callback();
        });
        notification.querySelector("button").doCommand();
      });
    }, false);
    let tab = gBrowser.addTab(TEST_URI);
    gBrowser.selectedTab = tab;
  }
  testPopupBlockerMenuItem(false, function() {
    pb.privateBrowsingEnabled = true;
    testPopupBlockerMenuItem(true, function() {
      pb.privateBrowsingEnabled = false;
      testPopupBlockerMenuItem(false, function() {
        gPrefService.setBoolPref("dom.disable_open_during_load", oldPopupPolicy);
        finish();
      });
    });
  });
}
function test ( ) { let pb = Cc [ "@mozilla.org/privatebrowsing;1" ] . getService ( Ci . nsIPrivateBrowsingService ) ; let oldPopupPolicy = gPrefService . getBoolPref ( "dom.disable_open_during_load" ) ; gPrefService . setBoolPref ( "dom.disable_open_during_load" , true ) ; const TEST_URI = "http://mochi.test:8888/browser/browser/components/privatebrowsing/test/browser/popup.html" ; waitForExplicitFinish ( ) ; function testPopupBlockerMenuItem ( expectedDisabled , callback ) { gBrowser . addEventListener ( "DOMUpdatePageReport" , function ( ) { gBrowser . removeEventListener ( "DOMUpdatePageReport" , arguments . callee , false ) ; executeSoon ( function ( ) { let notification = gBrowser . getNotificationBox ( ) . getNotificationWithValue ( "popup-blocked" ) ; ok ( notification , "The notification box should be displayed" ) ; function checkMenuItem ( callback ) { dump ( "CMI: in\n" ) ; document . addEventListener ( "popupshown" , function ( event ) { dump ( "CMI: popupshown\n" ) ; document . removeEventListener ( "popupshown" , arguments . callee , false ) ; if ( expectedDisabled ) is ( document . getElementById ( "blockedPopupAllowSite" ) . getAttribute ( "disabled" ) , "true" , "The allow popups menu item should be disabled" ) ; event . originalTarget . hidePopup ( ) ; dump ( "CMI: calling back\n" ) ; callback ( ) ; dump ( "CMI: called back\n" ) ; } , false ) ; dump ( "CMI: out\n" ) ; } checkMenuItem ( function ( ) { gBrowser . removeTab ( tab ) ; callback ( ) ; } ) ; notification . querySelector ( "button" ) . doCommand ( ) ; } ) ; } , false ) ; let tab = gBrowser . addTab ( TEST_URI ) ; gBrowser . selectedTab = tab ; } testPopupBlockerMenuItem ( false , function ( ) { pb . privateBrowsingEnabled = true ; testPopupBlockerMenuItem ( true , function ( ) { pb . privateBrowsingEnabled = false ; testPopupBlockerMenuItem ( false , function ( ) { gPrefService . setBoolPref ( "dom.disable_open_during_load" , oldPopupPolicy ) ; finish ( ) ; } ) ; } ) ; } ) ; }
for the popup blocker menu.
for the popup blocker menu .
// initialization