mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-10 03:45:46 +00:00
Bug 1215376 - allow itemToSelect to be null in menu closing test utility r=mixedpuppy
Most close*Menu methods in browser tests allow itemToSelect to be null. Some did not. Now they do (after this commit) MozReview-Commit-ID: 2jSGAi2R3ZD --HG-- extra : rebase_source : 897d4a66f5b1da8027180f85c5f5f5284734e860
This commit is contained in:
parent
2b915e93ba
commit
5926434b44
@ -334,7 +334,11 @@ async function openExtensionContextMenu(selector = "#img1") {
|
||||
async function closeExtensionContextMenu(itemToSelect, modifiers = {}) {
|
||||
let contentAreaContextMenu = document.getElementById("contentAreaContextMenu");
|
||||
let popupHiddenPromise = BrowserTestUtils.waitForEvent(contentAreaContextMenu, "popuphidden");
|
||||
EventUtils.synthesizeMouseAtCenter(itemToSelect, modifiers);
|
||||
if (itemToSelect) {
|
||||
EventUtils.synthesizeMouseAtCenter(itemToSelect, modifiers);
|
||||
} else {
|
||||
contentAreaContextMenu.hidePopup();
|
||||
}
|
||||
await popupHiddenPromise;
|
||||
|
||||
// Bug 1351638: parent menu fails to close intermittently, make sure it does.
|
||||
@ -361,11 +365,15 @@ function closeToolsMenu(itemToSelect, win = window) {
|
||||
const hidden = BrowserTestUtils.waitForEvent(menu, "popuphidden");
|
||||
if (AppConstants.platform === "macosx") {
|
||||
// Mocking on OSX, see above.
|
||||
itemToSelect.doCommand();
|
||||
if (itemToSelect) {
|
||||
itemToSelect.doCommand();
|
||||
}
|
||||
menu.dispatchEvent(new MouseEvent("popuphiding"));
|
||||
menu.dispatchEvent(new MouseEvent("popuphidden"));
|
||||
} else {
|
||||
} else if (itemToSelect) {
|
||||
EventUtils.synthesizeMouseAtCenter(itemToSelect, {}, win);
|
||||
} else {
|
||||
menu.hidePopup();
|
||||
}
|
||||
return hidden;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user