summaryrefslogtreecommitdiffstats
path: root/application/basilisk/modules/AboutHome.jsm
diff options
context:
space:
mode:
Diffstat (limited to 'application/basilisk/modules/AboutHome.jsm')
-rw-r--r--application/basilisk/modules/AboutHome.jsm173
1 files changed, 0 insertions, 173 deletions
diff --git a/application/basilisk/modules/AboutHome.jsm b/application/basilisk/modules/AboutHome.jsm
deleted file mode 100644
index 671448480..000000000
--- a/application/basilisk/modules/AboutHome.jsm
+++ /dev/null
@@ -1,173 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * 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/. */
-
-"use strict";
-
-var Cc = Components.classes;
-var Ci = Components.interfaces;
-var Cu = Components.utils;
-
-this.EXPORTED_SYMBOLS = [ "AboutHomeUtils", "AboutHome" ];
-
-Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
-Components.utils.import("resource://gre/modules/Services.jsm");
-
-XPCOMUtils.defineLazyModuleGetter(this, "AppConstants",
- "resource://gre/modules/AppConstants.jsm");
-XPCOMUtils.defineLazyModuleGetter(this, "AutoMigrate",
- "resource:///modules/AutoMigrate.jsm");
-XPCOMUtils.defineLazyModuleGetter(this, "PrivateBrowsingUtils",
- "resource://gre/modules/PrivateBrowsingUtils.jsm");
-XPCOMUtils.defineLazyModuleGetter(this, "Promise",
- "resource://gre/modules/Promise.jsm");
-
-// Should be bumped up if any data content format changes.
-const STARTPAGE_VERSION = 5;
-
-this.AboutHomeUtils = {
- /*
- * showKnowYourRights - Determines if the user should be shown the
- * about:rights notification. The notification should *not* be shown if
- * we've already shown the current version, or if the override pref says to
- * never show it. The notification *should* be shown if it's never been seen
- * before, if a newer version is available, or if the override pref says to
- * always show it.
- */
- get showKnowYourRights() {
- // Look for an unconditional override pref. If set, do what it says.
- // (true --> never show, false --> always show)
- try {
- return !Services.prefs.getBoolPref("browser.rights.override");
- } catch (e) { }
- // Ditto, for the legacy EULA pref.
- try {
- return !Services.prefs.getBoolPref("browser.EULA.override");
- } catch (e) { }
-
- if (!AppConstants.MC_OFFICIAL) {
- // Non-official builds shouldn't show the notification.
- return false;
- }
-
- // Look to see if the user has seen the current version or not.
- var currentVersion = Services.prefs.getIntPref("browser.rights.version");
- try {
- return !Services.prefs.getBoolPref("browser.rights." + currentVersion + ".shown");
- } catch (e) { }
-
- // Legacy: If the user accepted a EULA, we won't annoy them with the
- // equivalent about:rights page until the version changes.
- try {
- return !Services.prefs.getBoolPref("browser.EULA." + currentVersion + ".accepted");
- } catch (e) { }
-
- // We haven't shown the notification before, so do so now.
- return true;
- }
-};
-
-/**
- * This code provides services to the about:home page. Whenever
- * about:home needs to do something chrome-privileged, it sends a
- * message that's handled here.
- */
-var AboutHome = {
- MESSAGES: [
- "AboutHome:RestorePreviousSession",
- "AboutHome:Downloads",
- "AboutHome:Bookmarks",
- "AboutHome:History",
- "AboutHome:Addons",
- "AboutHome:Sync",
- "AboutHome:Settings",
- "AboutHome:RequestUpdate",
- "AboutHome:MaybeShowAutoMigrationUndoNotification",
- ],
-
- init: function() {
- let mm = Cc["@mozilla.org/globalmessagemanager;1"].getService(Ci.nsIMessageListenerManager);
-
- for (let msg of this.MESSAGES) {
- mm.addMessageListener(msg, this);
- }
- },
-
- receiveMessage: function(aMessage) {
- let window = aMessage.target.ownerGlobal;
-
- switch (aMessage.name) {
- case "AboutHome:RestorePreviousSession":
- let ss = Cc["@mozilla.org/browser/sessionstore;1"].
- getService(Ci.nsISessionStore);
- if (ss.canRestoreLastSession) {
- ss.restoreLastSession();
- }
- break;
-
- case "AboutHome:Downloads":
- window.BrowserDownloadsUI();
- break;
-
- case "AboutHome:Bookmarks":
- window.PlacesCommandHook.showPlacesOrganizer("UnfiledBookmarks");
- break;
-
- case "AboutHome:History":
- window.PlacesCommandHook.showPlacesOrganizer("History");
- break;
-
- case "AboutHome:Addons":
- window.BrowserOpenAddonsMgr();
- break;
-
- case "AboutHome:Sync":
- window.openPreferences("paneSync", { urlParams: { entrypoint: "abouthome" } });
- break;
-
- case "AboutHome:Settings":
- window.openPreferences();
- break;
-
- case "AboutHome:RequestUpdate":
- this.sendAboutHomeData(aMessage.target);
- break;
-
- case "AboutHome:MaybeShowAutoMigrationUndoNotification":
- AutoMigrate.maybeShowUndoNotification(aMessage.target);
- break;
- }
- },
-
- // Send all the chrome-privileged data needed by about:home. This
- // gets re-sent when the search engine changes.
- sendAboutHomeData: function(target) {
- let wrapper = {};
- Components.utils.import("resource:///modules/sessionstore/SessionStore.jsm",
- wrapper);
- let ss = wrapper.SessionStore;
-
- ss.promiseInitialized.then(function() {
- let data = {
- showRestoreLastSession: ss.canRestoreLastSession,
- showKnowYourRights: AboutHomeUtils.showKnowYourRights
- };
-
- if (AboutHomeUtils.showKnowYourRights) {
- // Set pref to indicate we've shown the notification.
- let currentVersion = Services.prefs.getIntPref("browser.rights.version");
- Services.prefs.setBoolPref("browser.rights." + currentVersion + ".shown", true);
- }
-
- if (target && target.messageManager) {
- target.messageManager.sendAsyncMessage("AboutHome:Update", data);
- } else {
- let mm = Cc["@mozilla.org/globalmessagemanager;1"].getService(Ci.nsIMessageListenerManager);
- mm.broadcastAsyncMessage("AboutHome:Update", data);
- }
- }).then(null, function onError(x) {
- Cu.reportError("Error in AboutHome.sendAboutHomeData: " + x);
- });
- },
-
-};