Bug 1742889 - Rewrite consumers of whereToOpenLink to use BrowserUtils.whereToOpenLink. r=Gijs,search-reviewers,places-reviewers,firefox-desktop-core-reviewers ,home-newtab-reviewers,reusable-components-reviewers,hjones,nbarrett

Differential Revision: https://phabricator.services.mozilla.com/D208680
This commit is contained in:
Leeya
2024-05-03 19:05:59 +00:00
parent 35e0b65acd
commit 23b26e9421
20 changed files with 69 additions and 48 deletions

View File

@@ -2523,7 +2523,7 @@ const BrowserSearch = {
event
) {
event = getRootEvent(event);
let where = whereToOpenLink(event);
let where = BrowserUtils.whereToOpenLink(event);
if (where == "current") {
// override: historically search opens in new tab
where = "tab";
@@ -4537,7 +4537,7 @@ nsBrowserAccess.prototype = {
: PrivateBrowsingUtils.isWindowPrivate(window);
switch (aWhere) {
case Ci.nsIBrowserDOMWindow.OPEN_NEWWINDOW:
case Ci.nsIBrowserDOMWindow.OPEN_NEWWINDOW: {
// FIXME: Bug 408379. So how come this doesn't send the
// referrer like the other loads do?
var url = aURI && aURI.spec;
@@ -4581,6 +4581,7 @@ nsBrowserAccess.prototype = {
console.error(ex);
}
break;
}
case Ci.nsIBrowserDOMWindow.OPEN_NEWTAB:
case Ci.nsIBrowserDOMWindow.OPEN_NEWTAB_BACKGROUND: {
// If we have an opener, that means that the caller is expecting access
@@ -4991,7 +4992,7 @@ function setToolbarVisibility(
document.documentElement.toggleAttribute(overlapAttr, false);
break;
case "newtab":
default:
default: {
let currentURI = gBrowser?.currentURI;
if (!gBrowserInit.domContentLoaded) {
let uriToLoad = gBrowserInit.uriToLoadPromise;
@@ -5008,6 +5009,7 @@ function setToolbarVisibility(
isVisible = BookmarkingUI.isOnNewTabPage(currentURI);
document.documentElement.toggleAttribute(overlapAttr, isVisible);
break;
}
}
}
@@ -5420,7 +5422,7 @@ function handleLinkClick(event, href, linkNode) {
return false;
}
var where = whereToOpenLink(event);
var where = BrowserUtils.whereToOpenLink(event);
if (where == "current") {
return false;
}
@@ -5493,7 +5495,7 @@ function middleMousePaste(event) {
// if it's not the current tab, we don't need to do anything because the
// browser doesn't exist.
let where = whereToOpenLink(event, true, false);
let where = BrowserUtils.whereToOpenLink(event, true, false);
let lastLocationChange;
if (where == "current") {
lastLocationChange = gBrowser.selectedBrowser.lastLocationChange;
@@ -7051,7 +7053,7 @@ function safeModeRestart() {
*/
function duplicateTabIn(aTab, where, delta) {
switch (where) {
case "window":
case "window": {
let otherWin = OpenBrowserWindow({
private: PrivateBrowsingUtils.isBrowserPrivate(aTab.linkedBrowser),
});
@@ -7073,6 +7075,7 @@ function duplicateTabIn(aTab, where, delta) {
"browser-delayed-startup-finished"
);
break;
}
case "tabshifted":
SessionStore.duplicateTab(window, aTab, delta);
// A background tab has been opened, nothing else to do here.
@@ -8085,7 +8088,7 @@ var FirefoxViewHandler = {
},
handleEvent(e) {
switch (e.type) {
case "TabSelect":
case "TabSelect": {
const selected = e.target == this.tab;
this.button?.toggleAttribute("open", selected);
this.button?.setAttribute("aria-pressed", selected);
@@ -8096,6 +8099,7 @@ var FirefoxViewHandler = {
gBrowser.visibleTabs[0].style.MozUserFocus =
e.target == this.tab ? "normal" : "";
break;
}
case "TabClose":
this.tab = null;
gBrowser.tabContainer.removeEventListener("TabSelect", this);