summaryrefslogtreecommitdiffstats
path: root/application/palemoon/components/shell/ShellService.jsm
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2019-12-14 14:37:24 -0500
committerMatt A. Tobin <email@mattatobin.com>2019-12-14 14:37:24 -0500
commit4e34c57467a8d38d593c6fbb7c0d63c3257e99f0 (patch)
treeff5ee62f90cebe34f23f734669e2c526d783caf0 /application/palemoon/components/shell/ShellService.jsm
parentdacb3da00bd17e69f1a8f1080668808a5f3fe431 (diff)
downloadUXP-4e34c57467a8d38d593c6fbb7c0d63c3257e99f0.tar
UXP-4e34c57467a8d38d593c6fbb7c0d63c3257e99f0.tar.gz
UXP-4e34c57467a8d38d593c6fbb7c0d63c3257e99f0.tar.lz
UXP-4e34c57467a8d38d593c6fbb7c0d63c3257e99f0.tar.xz
UXP-4e34c57467a8d38d593c6fbb7c0d63c3257e99f0.zip
Remove Pale Moon from the Unified XUL Platform repository
Development will proceed at https://github.com/MoonchildProductions/Pale-Moon
Diffstat (limited to 'application/palemoon/components/shell/ShellService.jsm')
-rw-r--r--application/palemoon/components/shell/ShellService.jsm114
1 files changed, 0 insertions, 114 deletions
diff --git a/application/palemoon/components/shell/ShellService.jsm b/application/palemoon/components/shell/ShellService.jsm
deleted file mode 100644
index 74632b692..000000000
--- a/application/palemoon/components/shell/ShellService.jsm
+++ /dev/null
@@ -1,114 +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";
-
-this.EXPORTED_SYMBOLS = ["ShellService"];
-
-const { classes: Cc, interfaces: Ci, utils: Cu, results: Cr } = Components;
-
-Cu.import("resource://gre/modules/AppConstants.jsm");
-Cu.import("resource://gre/modules/Services.jsm");
-Cu.import("resource://gre/modules/XPCOMUtils.jsm");
-XPCOMUtils.defineLazyModuleGetter(this, "WindowsRegistry",
- "resource://gre/modules/WindowsRegistry.jsm");
-
-/**
- * Internal functionality to save and restore the docShell.allow* properties.
- */
-var ShellServiceInternal = {
- /**
- * Used to determine whether or not to offer "Set as desktop background"
- * functionality. Even if shell service is available it is not
- * guaranteed that it is able to set the background for every desktop
- * which is especially true for Linux with its many different desktop
- * environments.
- */
- get canSetDesktopBackground() {
- if (AppConstants.platform == "win" ||
- AppConstants.platform == "macosx") {
- return true;
- }
-
- if (AppConstants.platform == "linux") {
- if (this.shellService) {
- let linuxShellService = this.shellService
- .QueryInterface(Ci.nsIGNOMEShellService);
- return linuxShellService.canSetDesktopBackground;
- }
- }
-
- return false;
- },
-
- /**
- * Used to determine whether or not to show a "Set Default Browser"
- * query dialog. This attribute is true if the application is starting
- * up and "browser.shell.checkDefaultBrowser" is true, otherwise it
- * is false.
- */
- _checkedThisSession: false,
- get shouldCheckDefaultBrowser() {
- // If we've already checked, the browser has been started and this is a
- // new window open, and we don't want to check again.
- if (this._checkedThisSession) {
- return false;
- }
-
- if (!Services.prefs.getBoolPref("browser.shell.checkDefaultBrowser")) {
- return false;
- }
-
- if (AppConstants.platform == "win") {
- let optOutValue = WindowsRegistry.readRegKey(Ci.nsIWindowsRegKey.ROOT_KEY_CURRENT_USER,
- "Software\\Mozilla\\PaleMoon",
- "DefaultBrowserOptOut");
- WindowsRegistry.removeRegKey(Ci.nsIWindowsRegKey.ROOT_KEY_CURRENT_USER,
- "Software\\Mozilla\\PaleMoon",
- "DefaultBrowserOptOut");
- if (optOutValue == "True") {
- Services.prefs.setBoolPref("browser.shell.checkDefaultBrowser", false);
- return false;
- }
- }
-
- return true;
- },
-
- set shouldCheckDefaultBrowser(shouldCheck) {
- Services.prefs.setBoolPref("browser.shell.checkDefaultBrowser", !!shouldCheck);
- },
-
- isDefaultBrowser(startupCheck, forAllTypes) {
- // If this is the first browser window, maintain internal state that we've
- // checked this session (so that subsequent window opens don't show the
- // default browser dialog).
- if (startupCheck) {
- this._checkedThisSession = true;
- }
- if (this.shellService) {
- return this.shellService.isDefaultBrowser(startupCheck, forAllTypes);
- }
- return false;
- }
-};
-
-XPCOMUtils.defineLazyServiceGetter(ShellServiceInternal, "shellService",
- "@mozilla.org/browser/shell-service;1", Ci.nsIShellService);
-
-/**
- * The external API exported by this module.
- */
-this.ShellService = new Proxy(ShellServiceInternal, {
- get(target, name) {
- if (name in target) {
- return target[name];
- }
- if (target.shellService) {
- return target.shellService[name];
- }
- Services.console.logStringMessage(`${name} not found in ShellService: ${target.shellService}`);
- return undefined;
- }
-});