Bug 1602611 - fix browser_menuButtonFitts.js to wait for resizes on Linux, r=jaws

Differential Revision: https://phabricator.services.mozilla.com/D61502

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Gijs Kruitbosch 2020-02-11 16:09:22 +00:00
Родитель 0c5c683162
Коммит a84196411a
2 изменённых файлов: 33 добавлений и 6 удалений

Просмотреть файл

@ -266,7 +266,6 @@ skip-if = e10s # Bug 863514 - no gesture support.
skip-if = toolkit == "windows" # Disabled on Windows due to frequent failures (bug 969405)
# DO NOT ADD MORE TESTS HERE. USE A TOPICAL DIRECTORY INSTEAD.
[browser_menuButtonFitts.js]
skip-if = os == 'linux' && os_version == '18.04' # Bug 1602611
# DO NOT ADD MORE TESTS HERE. USE A TOPICAL DIRECTORY INSTEAD.
[browser_middleMouse_noJSPaste.js]
# DO NOT ADD MORE TESTS HERE. USE A TOPICAL DIRECTORY INSTEAD.

Просмотреть файл

@ -2,9 +2,22 @@
* http://creativecommons.org/publicdomain/zero/1.0/
*/
function test() {
waitForExplicitFinish();
"use strict";
/**
* Clicking the right end of a maximized window should open the hamburger menu.
*/
add_task(async function test_clicking_hamburger_edge_fitts() {
let oldWidth = window.outerWidth;
let maximizeDone = BrowserTestUtils.waitForEvent(
window,
"resize",
false,
() => window.outerWidth >= screen.width - 1
);
window.maximize();
// Ensure we actually finish the resize before continuing.
await maximizeDone;
// Find where the nav-bar is vertically.
var navBar = document.getElementById("nav-bar");
@ -12,10 +25,24 @@ function test() {
var yPixel = boundingRect.top + Math.floor(boundingRect.height / 2);
var xPixel = boundingRect.width - 1; // Use the last pixel of the screen since it is maximized.
function onPopupHidden() {
let popupHiddenResolve;
let popupHiddenPromise = new Promise(resolve => {
popupHiddenResolve = resolve;
});
async function onPopupHidden() {
PanelUI.panel.removeEventListener("popuphidden", onPopupHidden);
let restoreDone = BrowserTestUtils.waitForEvent(
window,
"resize",
false,
() => {
let w = window.outerWidth;
return w > oldWidth - 5 && w < oldWidth + 5;
}
);
window.restore();
finish();
await restoreDone;
popupHiddenResolve();
}
function onPopupShown() {
PanelUI.panel.removeEventListener("popupshown", onPopupShown);
@ -29,4 +56,5 @@ function test() {
});
PanelUI.panel.addEventListener("popupshown", onPopupShown);
EventUtils.synthesizeMouseAtPoint(xPixel, yPixel, {}, window);
}
await popupHiddenPromise;
});