forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			61 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /* Any copyright is dedicated to the Public Domain.
 | |
|    http://creativecommons.org/publicdomain/zero/1.0/ */
 | |
| 
 | |
| "use strict";
 | |
| 
 | |
| /**
 | |
|  * Check that we show the inspect item(s) as appropriate.
 | |
|  */
 | |
| add_task(async function test_contextmenu_inspect() {
 | |
|   await SpecialPowers.pushPrefEnv({
 | |
|     set: [
 | |
|       ["devtools.selfxss.count", 0],
 | |
|       ["devtools.everOpened", false],
 | |
|     ],
 | |
|   });
 | |
|   let contextMenu = document.getElementById("contentAreaContextMenu");
 | |
|   await BrowserTestUtils.withNewTab("about:blank", async browser => {
 | |
|     for (let [pref, value, expectation] of [
 | |
|       ["devtools.selfxss.count", 10, true],
 | |
|       ["devtools.selfxss.count", 0, false],
 | |
|       ["devtools.everOpened", false, false],
 | |
|       ["devtools.everOpened", true, true],
 | |
|     ]) {
 | |
|       await SpecialPowers.pushPrefEnv({
 | |
|         set: [["devtools.selfxss.count", value]],
 | |
|       });
 | |
|       is(contextMenu.state, "closed", "checking if popup is closed");
 | |
|       let promisePopupShown = BrowserTestUtils.waitForEvent(
 | |
|         contextMenu,
 | |
|         "popupshown"
 | |
|       );
 | |
|       let promisePopupHidden = BrowserTestUtils.waitForEvent(
 | |
|         contextMenu,
 | |
|         "popuphidden"
 | |
|       );
 | |
|       await BrowserTestUtils.synthesizeMouse(
 | |
|         "body",
 | |
|         2,
 | |
|         2,
 | |
|         { type: "contextmenu", button: 2 },
 | |
|         browser
 | |
|       );
 | |
|       await promisePopupShown;
 | |
|       let inspectItem = document.getElementById("context-inspect");
 | |
|       ok(
 | |
|         !inspectItem.hidden,
 | |
|         `Inspect should be shown (pref ${pref} is ${value}).`
 | |
|       );
 | |
|       let inspectA11y = document.getElementById("context-inspect-a11y");
 | |
|       is(
 | |
|         inspectA11y.hidden,
 | |
|         !expectation,
 | |
|         `A11y should be ${
 | |
|           expectation ? "visible" : "hidden"
 | |
|         } (pref ${pref} is ${value}).`
 | |
|       );
 | |
|       contextMenu.hidePopup();
 | |
|       await promisePopupHidden;
 | |
|     }
 | |
|   });
 | |
| });
 | 
