summaryrefslogtreecommitdiffstats
path: root/mobile/android/chrome/content/OfflineApps.js
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/chrome/content/OfflineApps.js')
-rw-r--r--mobile/android/chrome/content/OfflineApps.js77
1 files changed, 0 insertions, 77 deletions
diff --git a/mobile/android/chrome/content/OfflineApps.js b/mobile/android/chrome/content/OfflineApps.js
deleted file mode 100644
index e11b3c645..000000000
--- a/mobile/android/chrome/content/OfflineApps.js
+++ /dev/null
@@ -1,77 +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 OfflineApps = {
- offlineAppRequested: function(aContentWindow) {
- if (!Services.prefs.getBoolPref("browser.offline-apps.notify"))
- return;
-
- let tab = BrowserApp.getTabForWindow(aContentWindow);
- let currentURI = aContentWindow.document.documentURIObject;
-
- // Don't bother showing UI if the user has already made a decision
- if (Services.perms.testExactPermission(currentURI, "offline-app") != Services.perms.UNKNOWN_ACTION)
- return;
-
- try {
- if (Services.prefs.getBoolPref("offline-apps.allow_by_default")) {
- // All pages can use offline capabilities, no need to ask the user
- return;
- }
- } catch(e) {
- // This pref isn't set by default, ignore failures
- }
-
- let host = currentURI.asciiHost;
- let notificationID = "offline-app-requested-" + host;
-
- let strings = Strings.browser;
- let buttons = [{
- label: strings.GetStringFromName("offlineApps.dontAllow2"),
- callback: function(aChecked) {
- if (aChecked)
- OfflineApps.disallowSite(aContentWindow.document);
- }
- },
- {
- label: strings.GetStringFromName("offlineApps.allow"),
- callback: function() {
- OfflineApps.allowSite(aContentWindow.document);
- },
- positive: true
- }];
-
- let requestor = BrowserApp.manifest ? "'" + BrowserApp.manifest.name + "'" : host;
- let message = strings.formatStringFromName("offlineApps.ask", [requestor], 1);
- let options = { checkbox: Strings.browser.GetStringFromName("offlineApps.dontAskAgain") };
- NativeWindow.doorhanger.show(message, notificationID, buttons, tab.id, options);
- },
-
- allowSite: function(aDocument) {
- Services.perms.add(aDocument.documentURIObject, "offline-app", Services.perms.ALLOW_ACTION);
-
- // When a site is enabled while loading, manifest resources will
- // start fetching immediately. This one time we need to do it
- // ourselves.
- this._startFetching(aDocument);
- },
-
- disallowSite: function(aDocument) {
- Services.perms.add(aDocument.documentURIObject, "offline-app", Services.perms.DENY_ACTION);
- },
-
- _startFetching: function(aDocument) {
- if (!aDocument.documentElement)
- return;
-
- let manifest = aDocument.documentElement.getAttribute("manifest");
- if (!manifest)
- return;
-
- let manifestURI = Services.io.newURI(manifest, aDocument.characterSet, aDocument.documentURIObject);
- let updateService = Cc["@mozilla.org/offlinecacheupdate-service;1"].getService(Ci.nsIOfflineCacheUpdateService);
- updateService.scheduleUpdate(manifestURI, aDocument.documentURIObject, aDocument.nodePrincipal, window);
- }
-};