diff options
Diffstat (limited to 'mobile/android/chrome/content/OfflineApps.js')
-rw-r--r-- | mobile/android/chrome/content/OfflineApps.js | 77 |
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); - } -}; |