forked from mirrors/gecko-dev
39 lines
1.3 KiB
JavaScript
39 lines
1.3 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
add_task(async function() {
|
|
// set max rows to 1, to avoid scroll events by clicking middle button
|
|
await pushPrefs(["browser.newtabpage.rows", 1]);
|
|
await setLinks("0");
|
|
await addNewTabPageTab();
|
|
// we need a second newtab to honor max rows
|
|
await addNewTabPageTab();
|
|
|
|
await ContentTask.spawn(gBrowser.selectedBrowser, {index: 0}, async function(args) {
|
|
let {site} = content.wrappedJSObject.gGrid.cells[args.index];
|
|
|
|
let origOnClick = site.onClick;
|
|
site.onClick = e => {
|
|
origOnClick.call(site, e);
|
|
sendAsyncMessage("test:clicked-on-cell", {});
|
|
};
|
|
});
|
|
|
|
let mm = gBrowser.selectedBrowser.messageManager;
|
|
let messagePromise = new Promise(resolve => {
|
|
mm.addMessageListener("test:clicked-on-cell", function onResponse(message) {
|
|
mm.removeMessageListener("test:clicked-on-cell", onResponse);
|
|
resolve();
|
|
});
|
|
});
|
|
|
|
// Send a middle-click and make sure it happened
|
|
await BrowserTestUtils.synthesizeMouseAtCenter(".newtab-control-block",
|
|
{button: 1}, gBrowser.selectedBrowser);
|
|
|
|
await messagePromise;
|
|
ok(true, "middle click triggered click listener");
|
|
|
|
// Make sure the cell didn't actually get blocked
|
|
await checkGrid("0");
|
|
});
|