From 2459f40c64acc88456a130389cada8d9c3d09f66 Mon Sep 17 00:00:00 2001 From: Dave Townsend Date: Fri, 15 Jan 2021 11:11:19 +0000 Subject: [PATCH] Bug 1682593: Remove the site specific browser feature. r=Gijs Differential Revision: https://phabricator.services.mozilla.com/D101860 --- browser/app/profile/firefox.js | 3 - browser/base/content/browser-pageActions.js | 32 - browser/base/content/browser.js | 129 --- browser/base/content/browser.xhtml | 11 - browser/components/BrowserGlue.jsm | 11 - browser/components/moz.build | 1 - browser/components/ssb/ImageTools.jsm | 137 --- .../ssb/SiteSpecificBrowserChild.jsm | 177 ---- .../ssb/SiteSpecificBrowserParent.jsm | 75 -- .../ssb/SiteSpecificBrowserService.jsm | 908 ------------------ browser/components/ssb/WindowsSupport.jsm | 160 --- browser/components/ssb/components.conf | 19 - browser/components/ssb/content/jar.mn | 8 - browser/components/ssb/content/ssb.css | 14 - browser/components/ssb/content/ssb.html | 17 - browser/components/ssb/content/ssb.js | 269 ------ browser/components/ssb/moz.build | 31 - .../components/ssb/tests/browser/browser.ini | 24 - .../ssb/tests/browser/browser_ssb_direct.js | 66 -- .../ssb/tests/browser/browser_ssb_lasttab.js | 39 - .../tests/browser/browser_ssb_list_menu.js | 98 -- .../browser/browser_ssb_manifest_scope.js | 83 -- .../ssb/tests/browser/browser_ssb_menu.js | 38 - .../ssb/tests/browser/browser_ssb_newtab.js | 66 -- .../tests/browser/browser_ssb_newwindow.js | 66 -- .../ssb/tests/browser/browser_ssb_open.js | 25 - .../browser/browser_ssb_windowlocation.js | 72 -- .../tests/browser/browser_ssb_windowopen.js | 66 -- .../ssb/tests/browser/empty_page.html | 9 - browser/components/ssb/tests/browser/head.js | 225 ----- .../ssb/tests/browser/site1/allhost.html | 13 - .../ssb/tests/browser/site1/allhost.json | 3 - .../ssb/tests/browser/site1/bad.html | 14 - .../ssb/tests/browser/site1/bad.json | 3 - .../ssb/tests/browser/site1/empty.html | 14 - .../ssb/tests/browser/site1/empty.json | 1 - .../ssb/tests/browser/site1/final.html | 10 - .../ssb/tests/browser/site1/simple.html | 13 - .../ssb/tests/browser/site2/final.html | 10 - .../ssb/tests/browser/test_page.html | 47 - browser/components/ssb/tests/xpcshell/head.js | 69 -- .../ssb/tests/xpcshell/test_empty.js | 8 - .../ssb/tests/xpcshell/test_icons.js | 42 - .../ssb/tests/xpcshell/test_install.js | 59 -- .../ssb/tests/xpcshell/test_manifest.js | 88 -- .../ssb/tests/xpcshell/test_too_new.js | 22 - .../ssb/tests/xpcshell/test_uninstall.js | 31 - .../ssb/tests/xpcshell/xpcshell.ini | 12 - browser/modules/PageActions.jsm | 19 - browser/themes/shared/install-ssb.svg | 7 - browser/themes/shared/jar.inc.mn | 1 - browser/themes/shared/menupanel.inc.css | 6 - .../themes/shared/urlbar-searchbar.inc.css | 5 - 53 files changed, 3376 deletions(-) delete mode 100644 browser/components/ssb/ImageTools.jsm delete mode 100644 browser/components/ssb/SiteSpecificBrowserChild.jsm delete mode 100644 browser/components/ssb/SiteSpecificBrowserParent.jsm delete mode 100644 browser/components/ssb/SiteSpecificBrowserService.jsm delete mode 100644 browser/components/ssb/WindowsSupport.jsm delete mode 100644 browser/components/ssb/components.conf delete mode 100644 browser/components/ssb/content/jar.mn delete mode 100644 browser/components/ssb/content/ssb.css delete mode 100644 browser/components/ssb/content/ssb.html delete mode 100644 browser/components/ssb/content/ssb.js delete mode 100644 browser/components/ssb/moz.build delete mode 100644 browser/components/ssb/tests/browser/browser.ini delete mode 100644 browser/components/ssb/tests/browser/browser_ssb_direct.js delete mode 100644 browser/components/ssb/tests/browser/browser_ssb_lasttab.js delete mode 100644 browser/components/ssb/tests/browser/browser_ssb_list_menu.js delete mode 100644 browser/components/ssb/tests/browser/browser_ssb_manifest_scope.js delete mode 100644 browser/components/ssb/tests/browser/browser_ssb_menu.js delete mode 100644 browser/components/ssb/tests/browser/browser_ssb_newtab.js delete mode 100644 browser/components/ssb/tests/browser/browser_ssb_newwindow.js delete mode 100644 browser/components/ssb/tests/browser/browser_ssb_open.js delete mode 100644 browser/components/ssb/tests/browser/browser_ssb_windowlocation.js delete mode 100644 browser/components/ssb/tests/browser/browser_ssb_windowopen.js delete mode 100644 browser/components/ssb/tests/browser/empty_page.html delete mode 100644 browser/components/ssb/tests/browser/head.js delete mode 100644 browser/components/ssb/tests/browser/site1/allhost.html delete mode 100644 browser/components/ssb/tests/browser/site1/allhost.json delete mode 100644 browser/components/ssb/tests/browser/site1/bad.html delete mode 100644 browser/components/ssb/tests/browser/site1/bad.json delete mode 100644 browser/components/ssb/tests/browser/site1/empty.html delete mode 100644 browser/components/ssb/tests/browser/site1/empty.json delete mode 100644 browser/components/ssb/tests/browser/site1/final.html delete mode 100644 browser/components/ssb/tests/browser/site1/simple.html delete mode 100644 browser/components/ssb/tests/browser/site2/final.html delete mode 100644 browser/components/ssb/tests/browser/test_page.html delete mode 100644 browser/components/ssb/tests/xpcshell/head.js delete mode 100644 browser/components/ssb/tests/xpcshell/test_empty.js delete mode 100644 browser/components/ssb/tests/xpcshell/test_icons.js delete mode 100644 browser/components/ssb/tests/xpcshell/test_install.js delete mode 100644 browser/components/ssb/tests/xpcshell/test_manifest.js delete mode 100644 browser/components/ssb/tests/xpcshell/test_too_new.js delete mode 100644 browser/components/ssb/tests/xpcshell/test_uninstall.js delete mode 100644 browser/components/ssb/tests/xpcshell/xpcshell.ini delete mode 100644 browser/themes/shared/install-ssb.svg diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js index 2a94f9836ba6..b036253f505d 100644 --- a/browser/app/profile/firefox.js +++ b/browser/app/profile/firefox.js @@ -2030,9 +2030,6 @@ pref("app.normandy.onsync_skew_sec", 600); pref("app.shield.optoutstudies.enabled", false); #endif -// Web apps support -pref("browser.ssb.enabled", false); - // Multi-lingual preferences #if defined(RELEASE_OR_BETA) && !defined(MOZ_DEV_EDITION) pref("intl.multilingual.enabled", true); diff --git a/browser/base/content/browser-pageActions.js b/browser/base/content/browser-pageActions.js index b0b627395d85..8c896ba3b9f6 100644 --- a/browser/base/content/browser-pageActions.js +++ b/browser/base/content/browser-pageActions.js @@ -2,11 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -ChromeUtils.defineModuleGetter( - this, - "SiteSpecificBrowser", - "resource:///modules/SiteSpecificBrowserService.jsm" -); ChromeUtils.defineModuleGetter( this, "SearchUIUtils", @@ -1133,33 +1128,6 @@ BrowserPageActions.pinTab = { }, }; -// SiteSpecificBrowser -BrowserPageActions.launchSSB = { - updateState() { - let action = PageActions.actionForID("launchSSB"); - let browser = gBrowser.selectedBrowser; - action.setDisabled(!browser.currentURI.schemeIs("https"), window); - }, - - async onCommand(event, buttonNode) { - if (!gBrowser.currentURI.schemeIs("https")) { - return; - } - - let ssb = await SiteSpecificBrowser.createFromBrowser( - gBrowser.selectedBrowser - ); - - // Launching through the UI implies installing. - await ssb.install(); - - // The site's manifest may point to a different start page so explicitly - // open the SSB to the current page. - ssb.launch(gBrowser.selectedBrowser.currentURI); - gBrowser.removeTab(gBrowser.selectedTab, { closeWindowWithLastTab: false }); - }, -}; - // copy URL BrowserPageActions.copyURL = { onCommand(event, buttonNode) { diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js index afe37adfb66a..5c54c8a12f9e 100644 --- a/browser/base/content/browser.js +++ b/browser/base/content/browser.js @@ -70,9 +70,6 @@ XPCOMUtils.defineLazyModuleGetters(this, { SimpleServiceDiscovery: "resource://gre/modules/SimpleServiceDiscovery.jsm", SiteDataManager: "resource:///modules/SiteDataManager.jsm", SitePermissions: "resource:///modules/SitePermissions.jsm", - SiteSpecificBrowser: "resource:///modules/SiteSpecificBrowserService.jsm", - SiteSpecificBrowserService: - "resource:///modules/SiteSpecificBrowserService.jsm", SubDialogManager: "resource://gre/modules/SubDialog.jsm", TabModalPrompt: "chrome://global/content/tabprompts.jsm", TabCrashHandler: "resource:///modules/ContentCrashHandlers.jsm", @@ -1930,8 +1927,6 @@ var gBrowserInit = { FullZoom.init(); PanelUI.init(); - SiteSpecificBrowserUI.init(); - UpdateUrlbarSearchSplitterState(); BookmarkingUI.init(); @@ -2567,130 +2562,6 @@ gBrowserInit.idleTasksFinishedPromise = new Promise(resolve => { gBrowserInit.idleTaskPromiseResolve = resolve; }); -const SiteSpecificBrowserUI = { - menuInitialized: false, - - init() { - if (!SiteSpecificBrowserService.isEnabled) { - return; - } - - XPCOMUtils.defineLazyGetter(this, "panelBody", () => { - return PanelMultiView.getViewNode( - document, - "appMenu-SSBView .panel-subview-body" - ); - }); - - let initializeMenu = async () => { - let list = await SiteSpecificBrowserService.list(); - - for (let ssb of list) { - this.addSSBToMenu(ssb); - } - - if (!list.length) { - document.getElementById("appMenu-ssb-button").hidden = true; - } - - this.menuInitialized = true; - Services.obs.addObserver(this, "site-specific-browser-install", true); - Services.obs.addObserver(this, "site-specific-browser-uninstall", true); - }; - - document.getElementById("appMenu-popup").addEventListener( - "popupshowing", - () => { - let blocker = initializeMenu(); - PanelMultiView.getViewNode( - document, - "appMenu-SSBView" - ).addEventListener( - "ViewShowing", - event => { - event.detail.addBlocker(blocker); - }, - { once: true } - ); - }, - { once: true } - ); - }, - - observe(subject, topic, id) { - let ssb = SiteSpecificBrowser.get(id); - switch (topic) { - case "site-specific-browser-install": - this.addSSBToMenu(ssb); - break; - case "site-specific-browser-uninstall": - this.removeSSBFromMenu(ssb); - break; - } - }, - - removeSSBFromMenu(ssb) { - let container = document.getElementById("ssb-button-" + ssb.id); - if (!container) { - return; - } - - if (!container.nextElementSibling && !container.previousElementSibling) { - document.getElementById("appMenu-ssb-button").hidden = true; - } - - let button = container.querySelector(".ssb-launch"); - let uri = button.getAttribute("image"); - if (uri) { - URL.revokeObjectURL(uri); - } - - container.remove(); - }, - - addSSBToMenu(ssb) { - let container = document.createXULElement("toolbaritem"); - container.id = `ssb-button-${ssb.id}`; - container.className = "toolbaritem-menu-buttons"; - - let menu = document.createXULElement("toolbarbutton"); - menu.className = "ssb-launch subviewbutton subviewbutton-iconic"; - menu.setAttribute("label", ssb.name); - menu.setAttribute("flex", "1"); - - ssb.getScaledIcon(16 * devicePixelRatio).then( - icon => { - if (icon) { - menu.setAttribute("image", URL.createObjectURL(icon)); - } - }, - error => { - console.error(error); - } - ); - - menu.addEventListener("command", () => { - ssb.launch(); - }); - - let uninstall = document.createXULElement("toolbarbutton"); - uninstall.className = "ssb-uninstall subviewbutton subviewbutton-iconic"; - // Hardcoded for now. Localization tracked in bug 1602528. - uninstall.setAttribute("tooltiptext", "Uninstall"); - - uninstall.addEventListener("command", () => { - ssb.uninstall(); - }); - - container.append(menu); - container.append(uninstall); - this.panelBody.append(container); - document.getElementById("appMenu-ssb-button").hidden = false; - }, - - QueryInterface: ChromeUtils.generateQI(["nsISupportsWeakReference"]), -}; - function HandleAppCommandEvent(evt) { switch (evt.command) { case "Back": diff --git a/browser/base/content/browser.xhtml b/browser/base/content/browser.xhtml index c12045289676..16f4b14db764 100644 --- a/browser/base/content/browser.xhtml +++ b/browser/base/content/browser.xhtml @@ -868,12 +868,6 @@ key="key_openAddons" command="Tools:Addons" /> -