forked from mirrors/gecko-dev
		
	 aff747d5bc
			
		
	
	
		aff747d5bc
		
	
	
	
	
		
			
			https://treeherder.mozilla.org/#/jobs?repo=try&revision=cd9437abac50dd7524518788cebbc5df5b389eb4 Differential Revision: https://phabricator.services.mozilla.com/D100641
		
			
				
	
	
		
			133 lines
		
	
	
	
		
			3.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			133 lines
		
	
	
	
		
			3.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| // Make sure that we can open private browsing windows
 | |
| 
 | |
| function test() {
 | |
|   waitForExplicitFinish();
 | |
|   var nonPrivateWin = OpenBrowserWindow();
 | |
|   ok(
 | |
|     !PrivateBrowsingUtils.isWindowPrivate(nonPrivateWin),
 | |
|     "OpenBrowserWindow() should open a normal window"
 | |
|   );
 | |
|   nonPrivateWin.close();
 | |
| 
 | |
|   var privateWin = OpenBrowserWindow({ private: true });
 | |
|   ok(
 | |
|     PrivateBrowsingUtils.isWindowPrivate(privateWin),
 | |
|     "OpenBrowserWindow({private: true}) should open a private window"
 | |
|   );
 | |
| 
 | |
|   nonPrivateWin = OpenBrowserWindow({ private: false });
 | |
|   ok(
 | |
|     !PrivateBrowsingUtils.isWindowPrivate(nonPrivateWin),
 | |
|     "OpenBrowserWindow({private: false}) should open a normal window"
 | |
|   );
 | |
|   nonPrivateWin.close();
 | |
| 
 | |
|   whenDelayedStartupFinished(privateWin, function() {
 | |
|     nonPrivateWin = privateWin.OpenBrowserWindow({ private: false });
 | |
|     ok(
 | |
|       !PrivateBrowsingUtils.isWindowPrivate(nonPrivateWin),
 | |
|       "privateWin.OpenBrowserWindow({private: false}) should open a normal window"
 | |
|     );
 | |
| 
 | |
|     nonPrivateWin.close();
 | |
| 
 | |
|     [
 | |
|       {
 | |
|         normal: "menu_newNavigator",
 | |
|         private: "menu_newPrivateWindow",
 | |
|         accesskey: true,
 | |
|       },
 | |
|       {
 | |
|         normal: "appmenu_newNavigator",
 | |
|         private: "appmenu_newPrivateWindow",
 | |
|         accesskey: false,
 | |
|       },
 | |
|     ].forEach(function(menu) {
 | |
|       let newWindow = privateWin.document.getElementById(menu.normal);
 | |
|       let newPrivateWindow = privateWin.document.getElementById(menu.private);
 | |
|       if (newWindow && newPrivateWindow) {
 | |
|         ok(
 | |
|           !newPrivateWindow.hidden,
 | |
|           "New Private Window menu item should be hidden"
 | |
|         );
 | |
|         isnot(
 | |
|           newWindow.label,
 | |
|           newPrivateWindow.label,
 | |
|           "New Window's label shouldn't be overwritten"
 | |
|         );
 | |
|         if (menu.accesskey) {
 | |
|           isnot(
 | |
|             newWindow.accessKey,
 | |
|             newPrivateWindow.accessKey,
 | |
|             "New Window's accessKey shouldn't be overwritten"
 | |
|           );
 | |
|         }
 | |
|         isnot(
 | |
|           newWindow.command,
 | |
|           newPrivateWindow.command,
 | |
|           "New Window's command shouldn't be overwritten"
 | |
|         );
 | |
|       }
 | |
|     });
 | |
| 
 | |
|     is(
 | |
|       privateWin.gBrowser.tabs[0].label,
 | |
|       "Private Browsing",
 | |
|       "New tabs in the private browsing windows should have 'Private Browsing' as the title."
 | |
|     );
 | |
| 
 | |
|     privateWin.close();
 | |
| 
 | |
|     Services.prefs.setBoolPref("browser.privatebrowsing.autostart", true);
 | |
|     privateWin = OpenBrowserWindow({ private: true });
 | |
|     whenDelayedStartupFinished(privateWin, function() {
 | |
|       [
 | |
|         {
 | |
|           normal: "menu_newNavigator",
 | |
|           private: "menu_newPrivateWindow",
 | |
|           accessKey: true,
 | |
|         },
 | |
|         {
 | |
|           normal: "appmenu_newNavigator",
 | |
|           private: "appmenu_newPrivateWindow",
 | |
|           accessKey: false,
 | |
|         },
 | |
|       ].forEach(function(menu) {
 | |
|         let newWindow = privateWin.document.getElementById(menu.normal);
 | |
|         let newPrivateWindow = privateWin.document.getElementById(menu.private);
 | |
|         if (newWindow && newPrivateWindow) {
 | |
|           ok(
 | |
|             newPrivateWindow.hidden,
 | |
|             "New Private Window menu item should be hidden"
 | |
|           );
 | |
|           is(
 | |
|             newWindow.label,
 | |
|             newPrivateWindow.label,
 | |
|             "New Window's label should be overwritten"
 | |
|           );
 | |
|           if (menu.accesskey) {
 | |
|             is(
 | |
|               newWindow.accessKey,
 | |
|               newPrivateWindow.accessKey,
 | |
|               "New Window's accessKey should be overwritten"
 | |
|             );
 | |
|           }
 | |
|           is(
 | |
|             newWindow.command,
 | |
|             newPrivateWindow.command,
 | |
|             "New Window's command should be overwritten"
 | |
|           );
 | |
|         }
 | |
|       });
 | |
| 
 | |
|       is(
 | |
|         privateWin.gBrowser.tabs[0].label,
 | |
|         "New Tab",
 | |
|         "Normal tab title is used also in the permanent private browsing mode."
 | |
|       );
 | |
|       privateWin.close();
 | |
|       Services.prefs.clearUserPref("browser.privatebrowsing.autostart");
 | |
|       finish();
 | |
|     });
 | |
|   });
 | |
| }
 |