diff --git a/caps/BasePrincipal.cpp b/caps/BasePrincipal.cpp index ade5b4e2e0..78b09bb249 100644 --- a/caps/BasePrincipal.cpp +++ b/caps/BasePrincipal.cpp @@ -624,13 +624,8 @@ BasePrincipal::GetOriginSuffix(nsACString& aOriginAttributes) NS_IMETHODIMP BasePrincipal::GetAppStatus(uint16_t* aAppStatus) { - if (AppId() == nsIScriptSecurityManager::UNKNOWN_APP_ID) { - NS_WARNING("Asking for app status on a principal with an unknown app id"); - *aAppStatus = nsIPrincipal::APP_STATUS_NOT_INSTALLED; - return NS_OK; - } - - *aAppStatus = nsScriptSecurityManager::AppStatusForPrincipal(this); + // TODO: Remove GetAppStatus. + *aAppStatus = nsIPrincipal::APP_STATUS_NOT_INSTALLED; return NS_OK; } diff --git a/caps/nsPrincipal.cpp b/caps/nsPrincipal.cpp index c9e66fef7a..169ee0cb8c 100644 --- a/caps/nsPrincipal.cpp +++ b/caps/nsPrincipal.cpp @@ -31,8 +31,6 @@ #include "mozilla/Preferences.h" #include "mozilla/HashFunctions.h" -#include "nsIAppsService.h" - using namespace mozilla; static bool gCodeBasePrincipalSupport = false; diff --git a/caps/nsScriptSecurityManager.cpp b/caps/nsScriptSecurityManager.cpp index 9c70115482..9a17bda4b9 100644 --- a/caps/nsScriptSecurityManager.cpp +++ b/caps/nsScriptSecurityManager.cpp @@ -9,7 +9,6 @@ #include "xpcpublic.h" #include "XPCWrapper.h" -#include "nsIAppsService.h" #include "nsIInputStreamChannel.h" #include "nsILoadContext.h" #include "nsIServiceManager.h" @@ -55,7 +54,6 @@ #include "nsIChromeRegistry.h" #include "nsIContentSecurityPolicy.h" #include "nsIAsyncVerifyRedirectCallback.h" -#include "mozIApplication.h" #include "mozilla/Preferences.h" #include "mozilla/dom/BindingUtils.h" #include "mozilla/dom/ContentParent.h" @@ -240,12 +238,6 @@ nsScriptSecurityManager::SecurityHashURI(nsIURI* aURI) return NS_SecurityHashURI(aURI); } -uint16_t -nsScriptSecurityManager::AppStatusForPrincipal(nsIPrincipal *aPrin) -{ - return nsIPrincipal::APP_STATUS_NOT_INSTALLED; -} - /* * GetChannelResultPrincipal will return the principal that the resource * returned by this channel will use. For example, if the resource is in diff --git a/docshell/base/nsDocShell.cpp b/docshell/base/nsDocShell.cpp index 39cee20f1f..770eb43119 100644 --- a/docshell/base/nsDocShell.cpp +++ b/docshell/base/nsDocShell.cpp @@ -193,7 +193,6 @@ #include "nsSandboxFlags.h" #include "nsXULAppAPI.h" #include "nsDOMNavigationTiming.h" -#include "nsIAppsService.h" #include "nsDSURIContentListener.h" #include "nsDocShellLoadTypes.h" #include "nsDocShellTransferableHooks.h" diff --git a/dom/apps/AppsService.js b/dom/apps/AppsService.js deleted file mode 100644 index e0a7ea041c..0000000000 --- a/dom/apps/AppsService.js +++ /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" - -function debug(s) { - //dump("-*- AppsService.js: " + s + "\n"); -} - -const Cc = Components.classes; -const Ci = Components.interfaces; -const Cu = Components.utils; -const Cr = Components.results; - -Cu.import("resource://gre/modules/XPCOMUtils.jsm"); -Cu.import("resource://gre/modules/Services.jsm"); -Cu.import("resource://gre/modules/Promise.jsm"); - -const APPS_SERVICE_CID = Components.ID("{05072afa-92fe-45bf-ae22-39b69c117058}"); - -function AppsService() -{ - debug("AppsService Constructor"); - this.inParent = Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime) - .processType == Ci.nsIXULRuntime.PROCESS_TYPE_DEFAULT; - debug("inParent: " + this.inParent); - if (!this.inParent) { - Cu.import("resource://gre/modules/AppsServiceChild.jsm"); - } -} - -AppsService.prototype = { - - isInvalidId: function(localId) { - return (localId == Ci.nsIScriptSecurityManager.NO_APP_ID || - localId == Ci.nsIScriptSecurityManager.UNKNOWN_APP_ID); - }, - - getAppByManifestURL: function getAppByManifestURL(aManifestURL) { - debug("GetAppByManifestURL( " + aManifestURL + " )"); - throw Cr.NS_ERROR_NOT_IMPLEMENTED; - }, - - getManifestFor: function getManifestFor(aManifestURL) { - debug("getManifestFor(" + aManifestURL + ")"); - if (this.inParent) { - throw Cr.NS_ERROR_NOT_IMPLEMENTED; - } else { - return Promise.reject( - new Error("Calling getManifestFor() from child is not supported")); - } - }, - - getAppLocalIdByManifestURL: function getAppLocalIdByManifestURL(aManifestURL) { - debug("getAppLocalIdByManifestURL( " + aManifestURL + " )"); - throw Cr.NS_ERROR_NOT_IMPLEMENTED; - }, - - getAppLocalIdByStoreId: function getAppLocalIdByStoreId(aStoreId) { - debug("getAppLocalIdByStoreId( " + aStoreId + " )"); - throw Cr.NS_ERROR_NOT_IMPLEMENTED; - }, - - getAppByLocalId: function getAppByLocalId(aLocalId) { - debug("getAppByLocalId( " + aLocalId + " )"); - if (this.isInvalidId(aLocalId)) { - return null; - } - throw Cr.NS_ERROR_NOT_IMPLEMENTED; - }, - - getManifestURLByLocalId: function getManifestURLByLocalId(aLocalId) { - debug("getManifestURLByLocalId( " + aLocalId + " )"); - if (this.isInvalidId(aLocalId)) { - return null; - } - throw Cr.NS_ERROR_NOT_IMPLEMENTED; - }, - - getCoreAppsBasePath: function getCoreAppsBasePath() { - debug("getCoreAppsBasePath()"); - throw Cr.NS_ERROR_NOT_IMPLEMENTED; - }, - - getWebAppsBasePath: function getWebAppsBasePath() { - debug("getWebAppsBasePath()"); - throw Cr.NS_ERROR_NOT_IMPLEMENTED; - }, - - areAnyAppsInstalled: function() { - throw Cr.NS_ERROR_NOT_IMPLEMENTED; - }, - - getAppInfo: function getAppInfo(aAppId) { - debug("getAppInfo()"); - throw Cr.NS_ERROR_NOT_IMPLEMENTED; - }, - - getScopeByLocalId: function(aLocalId) { - debug("getScopeByLocalId( " + aLocalId + " )"); - if (this.isInvalidId(aLocalId)) { - return null; - } - // TODO : implement properly! - // We just return null for now to not break PushService.jsm - return null; - }, - - classID : APPS_SERVICE_CID, - QueryInterface : XPCOMUtils.generateQI([Ci.nsIAppsService]) -} - -this.NSGetFactory = XPCOMUtils.generateNSGetFactory([AppsService]) diff --git a/dom/apps/AppsService.manifest b/dom/apps/AppsService.manifest deleted file mode 100644 index 2ed92d4e8a..0000000000 --- a/dom/apps/AppsService.manifest +++ /dev/null @@ -1,2 +0,0 @@ -component {05072afa-92fe-45bf-ae22-39b69c117058} AppsService.js -contract @mozilla.org/AppsService;1 {05072afa-92fe-45bf-ae22-39b69c117058} diff --git a/dom/apps/AppsServiceChild.jsm b/dom/apps/AppsServiceChild.jsm deleted file mode 100644 index 4aca938af4..0000000000 --- a/dom/apps/AppsServiceChild.jsm +++ /dev/null @@ -1,408 +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"; - -const Cu = Components.utils; -const Cc = Components.classes; -const Ci = Components.interfaces; - -// This module exposes a subset of the functionalities of the parent DOM -// Registry to content processes, to be used from the AppsService component. - -this.EXPORTED_SYMBOLS = ["DOMApplicationRegistry", "WrappedManifestCache"]; - -Cu.import("resource://gre/modules/AppsUtils.jsm"); -Cu.import("resource://gre/modules/Services.jsm"); - -function debug(s) { - //dump("-*- AppsServiceChild.jsm: " + s + "\n"); -} - -const APPS_IPC_MSG_NAMES = [ - "Webapps:AddApp", - "Webapps:RemoveApp", - "Webapps:UpdateApp", - "Webapps:CheckForUpdate:Return:KO", - "Webapps:FireEvent", - "Webapps:UpdateState" -]; - -// A simple cache for the wrapped manifests. -this.WrappedManifestCache = { - _cache: { }, - - // Gets an entry from the cache, and populates the cache if needed. - get: function mcache_get(aManifestURL, aManifest, aWindow, aInnerWindowID) { - if (!aManifest) { - return; - } - - if (!(aManifestURL in this._cache)) { - this._cache[aManifestURL] = { }; - } - - let winObjs = this._cache[aManifestURL]; - if (!(aInnerWindowID in winObjs)) { - winObjs[aInnerWindowID] = Cu.cloneInto(aManifest, aWindow); - } - - return winObjs[aInnerWindowID]; - }, - - // Invalidates an entry in the cache. - evict: function mcache_evict(aManifestURL, aInnerWindowID) { - debug("Evicting manifest " + aManifestURL + " window ID " + - aInnerWindowID); - if (aManifestURL in this._cache) { - let winObjs = this._cache[aManifestURL]; - if (aInnerWindowID in winObjs) { - delete winObjs[aInnerWindowID]; - } - - if (Object.keys(winObjs).length == 0) { - delete this._cache[aManifestURL]; - } - } - }, - - observe: function(aSubject, aTopic, aData) { - // Clear the cache on memory pressure. - this._cache = { }; - Cu.forceGC(); - }, - - init: function() { - Services.obs.addObserver(this, "memory-pressure", false); - } -}; - -this.WrappedManifestCache.init(); - - -// DOMApplicationRegistry keeps a cache containing a list of apps in the device. -// This information is updated with the data received from the main process and -// it is queried by the DOM objects to set their state. -// This module handle all the messages broadcasted from the parent process, -// including DOM events, which are dispatched to the corresponding DOM objects. - -this.DOMApplicationRegistry = { - // DOMApps will hold a list of arrays of weak references to - // mozIDOMApplication objects indexed by manifest URL. - DOMApps: {}, - - ready: false, - webapps: null, - - init: function init() { - this.cpmm = Cc["@mozilla.org/childprocessmessagemanager;1"] - .getService(Ci.nsISyncMessageSender); - - APPS_IPC_MSG_NAMES.forEach((function(aMsgName) { - this.cpmm.addMessageListener(aMsgName, this); - }).bind(this)); - - this.webapps = { }; - // We need a fast mapping from localId -> app, so we add an index. - // We also add the manifest to the app object. - this.localIdIndex = { }; - for (let id in this.webapps) { - let app = this.webapps[id]; - this.localIdIndex[app.localId] = app; - app.manifest = list.manifests[id]; - } - - Services.obs.addObserver(this, "xpcom-shutdown", false); - }, - - observe: function(aSubject, aTopic, aData) { - // cpmm.addMessageListener causes the DOMApplicationRegistry object to - // live forever if we don't clean up properly. - this.webapps = null; - this.DOMApps = null; - - APPS_IPC_MSG_NAMES.forEach((aMsgName) => { - this.cpmm.removeMessageListener(aMsgName, this); - }); - }, - - receiveMessage: function receiveMessage(aMessage) { - debug("Received " + aMessage.name + " message."); - let msg = aMessage.data; - switch (aMessage.name) { - case "Webapps:AddApp": - this.webapps[msg.id] = msg.app; - this.localIdIndex[msg.app.localId] = msg.app; - if (msg.manifest) { - this.webapps[msg.id].manifest = msg.manifest; - } - break; - case "Webapps:RemoveApp": - delete this.DOMApps[this.webapps[msg.id].manifestURL]; - delete this.localIdIndex[this.webapps[msg.id].localId]; - delete this.webapps[msg.id]; - break; - case "Webapps:UpdateApp": - let app = this.webapps[msg.oldId]; - if (!app) { - return; - } - - if (msg.app) { - for (let prop in msg.app) { - app[prop] = msg.app[prop]; - } - } - - this.webapps[msg.newId] = app; - this.localIdIndex[app.localId] = app; - delete this.webapps[msg.oldId]; - - let apps = this.DOMApps[msg.app.manifestURL]; - if (!apps) { - return; - } - for (let i = 0; i < apps.length; i++) { - let domApp = apps[i].get(); - if (!domApp || domApp._window === null) { - apps.splice(i, 1); - continue; - } - domApp._proxy = new Proxy(domApp, { - get: function(target, prop) { - if (!DOMApplicationRegistry.webapps[msg.newId]) { - return; - } - return DOMApplicationRegistry.webapps[msg.newId][prop]; - }, - set: function(target, prop, val) { - if (!DOMApplicationRegistry.webapps[msg.newId]) { - return; - } - DOMApplicationRegistry.webapps[msg.newId][prop] = val; - return; - }, - }); - } - break; - case "Webapps:FireEvent": - this._fireEvent(aMessage); - break; - case "Webapps:UpdateState": - this._updateState(msg); - break; - case "Webapps:CheckForUpdate:Return:KO": - let DOMApps = this.DOMApps[msg.manifestURL]; - if (!DOMApps || !msg.requestID) { - return; - } - DOMApps.forEach((DOMApp) => { - let domApp = DOMApp.get(); - if (domApp && msg.requestID) { - domApp._fireRequestResult(aMessage, true /* aIsError */); - } - }); - break; - } - }, - - /** - * mozIDOMApplication management - */ - - // Every time a DOM app is created, we save a weak reference to it that will - // be used to dispatch events and fire request results. - addDOMApp: function(aApp, aManifestURL, aId) { - let weakRef = Cu.getWeakReference(aApp); - - if (!this.DOMApps[aManifestURL]) { - this.DOMApps[aManifestURL] = []; - } - - let apps = this.DOMApps[aManifestURL]; - - // Get rid of dead weak references. - for (let i = 0; i < apps.length; i++) { - let app = apps[i].get(); - if (!app || app._window === null) { - apps.splice(i, 1); - } - } - - apps.push(weakRef); - - // Each DOM app contains a proxy object used to build their state. We - // return the handler for this proxy object with traps to get and set - // app properties kept in the DOMApplicationRegistry app cache. - return { - get: function(target, prop) { - if (!DOMApplicationRegistry.webapps[aId]) { - return; - } - - if (prop in DOMApplicationRegistry.webapps[aId]) { - return DOMApplicationRegistry.webapps[aId][prop]; - } - return null; - }, - set: function(target, prop, val) { - if (!DOMApplicationRegistry.webapps[aId]) { - return; - } - DOMApplicationRegistry.webapps[aId][prop] = val; - return; - }, - }; - }, - - _fireEvent: function(aMessage) { - let msg = aMessage.data; - debug("_fireEvent " + JSON.stringify(msg)); - if (!this.DOMApps || !msg.manifestURL || !msg.eventType) { - return; - } - - let DOMApps = this.DOMApps[msg.manifestURL]; - if (!DOMApps) { - return; - } - - // The parent might ask childs to trigger more than one event in one - // shot, so in order to avoid needless IPC we allow an array for the - // 'eventType' IPC message field. - if (!Array.isArray(msg.eventType)) { - msg.eventType = [msg.eventType]; - } - - DOMApps.forEach((DOMApp) => { - let domApp = DOMApp.get(); - if (!domApp) { - return; - } - msg.eventType.forEach((aEventType) => { - if ('on' + aEventType in domApp) { - domApp._fireEvent(aEventType); - } - }); - - if (msg.requestID) { - aMessage.data.result = msg.manifestURL; - domApp._fireRequestResult(aMessage); - } - }); - }, - - _updateState: function(aMessage) { - if (!this.DOMApps || !aMessage.id) { - return; - } - - let app = this.webapps[aMessage.id]; - if (!app) { - return; - } - - if (aMessage.app) { - for (let prop in aMessage.app) { - app[prop] = aMessage.app[prop]; - } - } - - if ("error" in aMessage) { - app.downloadError = aMessage.error; - } - - if (aMessage.manifest) { - app.manifest = aMessage.manifest; - // Evict the wrapped manifest cache for all the affected DOM objects. - let DOMApps = this.DOMApps[app.manifestURL]; - if (!DOMApps) { - return; - } - DOMApps.forEach((DOMApp) => { - let domApp = DOMApp.get(); - if (!domApp) { - return; - } - WrappedManifestCache.evict(app.manifestURL, domApp.innerWindowID); - }); - } - }, - - getAll: function(aCallback) { - debug("getAll()\n"); - if (!aCallback || typeof aCallback !== "function") { - return; - } - - let res = []; - for (let id in this.webapps) { - res.push(this.webapps[id]); - } - aCallback(res); - }, - - getAdditionalLanguages: function(aManifestURL) { - for (let id in this.webapps) { - if (this.webapps[id].manifestURL == aManifestURL) { - return this.webapps[id].additionalLanguages || {}; - } - } - return {}; - }, - - /** - * nsIAppsService API - */ - getAppByManifestURL: function getAppByManifestURL(aManifestURL) { - debug("getAppByManifestURL " + aManifestURL); - return AppsUtils.getAppByManifestURL(this.webapps, aManifestURL); - }, - - getAppLocalIdByManifestURL: function getAppLocalIdByManifestURL(aManifestURL) { - debug("getAppLocalIdByManifestURL " + aManifestURL); - return AppsUtils.getAppLocalIdByManifestURL(this.webapps, aManifestURL); - }, - - getAppLocalIdByStoreId: function(aStoreId) { - debug("getAppLocalIdByStoreId:" + aStoreId); - return AppsUtils.getAppLocalIdByStoreId(this.webapps, aStoreId); - }, - - getAppByLocalId: function getAppByLocalId(aLocalId) { - debug("getAppByLocalId " + aLocalId + " - ready: " + this.ready); - let app = this.localIdIndex[aLocalId]; - if (!app) { - debug("Ouch, No app!"); - return null; - } - - return new mozIApplication(app); - }, - - getManifestURLByLocalId: function getManifestURLByLocalId(aLocalId) { - debug("getManifestURLByLocalId " + aLocalId); - return AppsUtils.getManifestURLByLocalId(this.webapps, aLocalId); - }, - - getCoreAppsBasePath: function getCoreAppsBasePath() { - debug("getCoreAppsBasePath() not yet supported on child!"); - return null; - }, - - getWebAppsBasePath: function getWebAppsBasePath() { - debug("getWebAppsBasePath() not yet supported on child!"); - return null; - }, - - areAnyAppsInstalled: function() { - return AppsUtils.areAnyAppsInstalled(this.webapps); - }, - - getAppInfo: function getAppInfo(aAppId) { - return AppsUtils.getAppInfo(this.webapps, aAppId); - } -} - -DOMApplicationRegistry.init(); diff --git a/dom/apps/AppsUtils.jsm b/dom/apps/AppsUtils.jsm index d24dee8c23..5a70b352f1 100644 --- a/dom/apps/AppsUtils.jsm +++ b/dom/apps/AppsUtils.jsm @@ -19,14 +19,10 @@ XPCOMUtils.defineLazyModuleGetter(this, "FileUtils", XPCOMUtils.defineLazyModuleGetter(this, "NetUtil", "resource://gre/modules/NetUtil.jsm"); -XPCOMUtils.defineLazyServiceGetter(this, "appsService", - "@mozilla.org/AppsService;1", - "nsIAppsService"); - -// Shared code for AppsServiceChild.jsm, Webapps.jsm and Webapps.js +// Shared code for Webapps.jsm and Webapps.js this.EXPORTED_SYMBOLS = - ["AppsUtils", "ManifestHelper", "isAbsoluteURI", "mozIApplication"]; + ["AppsUtils", "ManifestHelper", "isAbsoluteURI"]; function debug(s) { //dump("-*- AppsUtils.jsm: " + s + "\n"); @@ -39,46 +35,6 @@ this.isAbsoluteURI = function(aURI) { Services.io.newURI(aURI, null, bar).prePath != bar.prePath; } -this.mozIApplication = function(aApp) { - _setAppProperties(this, aApp); -} - -mozIApplication.prototype = { - hasPermission: function(aPermission) { - // This helper checks an URI inside |aApp|'s origin and part of |aApp| has a - // specific permission. It is not checking if browsers inside |aApp| have such - // permission. - let perm = Services.perms.testExactPermissionFromPrincipal(this.principal, - aPermission); - return (perm === Ci.nsIPermissionManager.ALLOW_ACTION); - }, - - get principal() { - if (this._principal) { - return this._principal; - } - - this._principal = null; - - try { - this._principal = Services.scriptSecurityManager.createCodebasePrincipal( - Services.io.newURI(this.origin, null, null), - {appId: this.localId}); - } catch(e) { - dump("Could not create app principal " + e + "\n"); - } - - return this._principal; - }, - - QueryInterface: function(aIID) { - if (aIID.equals(Ci.mozIApplication) || - aIID.equals(Ci.nsISupports)) - return this; - throw Cr.NS_ERROR_NO_INTERFACE; - } -} - function _setAppProperties(aObj, aApp) { aObj.name = aApp.name; aObj.csp = aApp.csp; @@ -217,21 +173,6 @@ this.AppsUtils = { return aPagePath.substr(pathPos, pathLen); }, - getAppByManifestURL: function getAppByManifestURL(aApps, aManifestURL) { - debug("getAppByManifestURL " + aManifestURL); - // This could be O(1) if |webapps| was a dictionary indexed on manifestURL - // which should be the unique app identifier. - // It's currently O(n). - for (let id in aApps) { - let app = aApps[id]; - if (app.manifestURL == aManifestURL) { - return new mozIApplication(app); - } - } - - return null; - }, - getManifestFor: function getManifestFor(aManifestURL) { debug("getManifestFor(" + aManifestURL + ")"); return DOMApplicationRegistry.getManifestFor(aManifestURL); @@ -259,18 +200,6 @@ this.AppsUtils = { return Ci.nsIScriptSecurityManager.NO_APP_ID; }, - getAppByLocalId: function getAppByLocalId(aApps, aLocalId) { - debug("getAppByLocalId " + aLocalId); - for (let id in aApps) { - let app = aApps[id]; - if (app.localId == aLocalId) { - return new mozIApplication(app); - } - } - - return null; - }, - getManifestURLByLocalId: function getManifestURLByLocalId(aApps, aLocalId) { debug("getManifestURLByLocalId " + aLocalId); for (let id in aApps) { @@ -697,14 +626,6 @@ this.AppsUtils = { return this.computeHash(JSON.stringify(aObject)); }, - getAppManifestURLFromWindow: function(aWindow) { - let appId = aWindow.document.nodePrincipal.appId; - if (appId === Ci.nsIScriptSecurityManager.NO_APP_ID) { - return null; - } - - return appsService.getManifestURLByLocalId(appId); - }, } /** diff --git a/dom/apps/moz.build b/dom/apps/moz.build index 27ac62947e..d16c926bc7 100644 --- a/dom/apps/moz.build +++ b/dom/apps/moz.build @@ -5,13 +5,7 @@ XPCSHELL_TESTS_MANIFESTS += ['tests/unit/xpcshell.ini'] -EXTRA_COMPONENTS += [ - 'AppsService.js', - 'AppsService.manifest', -] - EXTRA_JS_MODULES += [ - 'AppsServiceChild.jsm', 'AppsUtils.jsm', 'PermissionsInstaller.jsm', 'PermissionsTable.jsm', diff --git a/dom/apps/tests/unit/test_moziapplication.js b/dom/apps/tests/unit/test_moziapplication.js deleted file mode 100644 index dbcf2372a3..0000000000 --- a/dom/apps/tests/unit/test_moziapplication.js +++ /dev/null @@ -1,64 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - http://creativecommons.org/publicdomain/zero/1.0/ */ - -var {classes: Cc, interfaces: Ci, utils: Cu} = Components; - -Cu.import("resource:///modules/AppsUtils.jsm"); - -add_test(() => { - let app = { - name: "TestApp", - csp: "aCsp", - installOrigin: "http://installorigin.com", - origin: "http://www.example.com", - installTime: Date.now(), - manifestURL: "http://www.example.com/manifest.webapp", - appStatus: Ci.nsIPrincipal.APP_STATUS_NOT_INSTALLED, - removable: false, - id: 123, - localId: 123, - basePath: "/", - progress: 1.0, - installState: "installed", - downloadAvailable: false, - downloading: false, - lastUpdateCheck: Date.now(), - updateTime: Date.now(), - etag: "aEtag", - packageEtag: "aPackageEtag", - manifestHash: "aManifestHash", - packageHash: "aPackageHash", - staged: false, - installerAppId: 345, - installerIsBrowser: false, - storeId: "aStoreId", - storeVersion: 1, - role: "aRole", - kind: "aKind", - enabled: true, - sideloaded: false - }; - - let mozapp = new mozIApplication(app); - - Object.keys(app).forEach((key) => { - if (key == "principal") { - return; - } - Assert.equal(app[key], mozapp[key], - "app[" + key + "] should be equal to mozapp[" + key + "]"); - }); - - Assert.ok(mozapp.principal, "app principal should exist"); - let expectedPrincipalOrigin = app.origin + "^appId=" + app.localId; - Assert.equal(mozapp.principal.origin, expectedPrincipalOrigin, - "app principal origin ok"); - Assert.equal(mozapp.principal.appId, app.localId, "app principal appId ok"); - Assert.equal(mozapp.principal.isInIsolatedMozBrowserElement, false, - "app principal isInIsolatedMozBrowserElement ok"); - run_next_test(); -}); - -function run_test() { - run_next_test(); -} diff --git a/dom/apps/tests/unit/xpcshell.ini b/dom/apps/tests/unit/xpcshell.ini index 9745b198f2..c7df08d02d 100644 --- a/dom/apps/tests/unit/xpcshell.ini +++ b/dom/apps/tests/unit/xpcshell.ini @@ -2,4 +2,3 @@ [test_manifestSanitizer.js] [test_manifestHelper.js] -[test_moziapplication.js] diff --git a/dom/base/Navigator.cpp b/dom/base/Navigator.cpp index 9ff4519d82..26789c2881 100644 --- a/dom/base/Navigator.cpp +++ b/dom/base/Navigator.cpp @@ -62,7 +62,6 @@ #include "nsIHttpChannelInternal.h" #include "TimeManager.h" #include "nsStreamUtils.h" -#include "nsIAppsService.h" #include "WidgetUtils.h" #include "mozilla/dom/MediaDevices.h" #include "MediaManager.h" diff --git a/dom/base/nsFrameLoader.cpp b/dom/base/nsFrameLoader.cpp index 9c10b9af08..8db5e6fe9d 100644 --- a/dom/base/nsFrameLoader.cpp +++ b/dom/base/nsFrameLoader.cpp @@ -13,7 +13,6 @@ #include "prenv.h" #include "nsDocShell.h" -#include "nsIAppsService.h" #include "nsIDOMHTMLIFrameElement.h" #include "nsIDOMHTMLFrameElement.h" #include "nsIDOMMozBrowserFrame.h" diff --git a/dom/html/nsBrowserElement.cpp b/dom/html/nsBrowserElement.cpp index 1292d7673f..fb991caba9 100644 --- a/dom/html/nsBrowserElement.cpp +++ b/dom/html/nsBrowserElement.cpp @@ -18,7 +18,6 @@ #include "nsComponentManagerUtils.h" #include "nsContentUtils.h" #include "nsFrameLoader.h" -#include "nsIAppsService.h" #include "nsIDOMDocument.h" #include "nsIDOMDOMRequest.h" #include "nsIDOMElement.h" diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp index 7cccb6462e..3ea646d25a 100644 --- a/dom/indexedDB/ActorsParent.cpp +++ b/dom/indexedDB/ActorsParent.cpp @@ -74,7 +74,6 @@ #include "nsHashKeys.h" #include "nsNetUtil.h" #include "nsISimpleEnumerator.h" -#include "nsIAppsService.h" #include "nsIEventTarget.h" #include "nsIFile.h" #include "nsIFileURL.h" diff --git a/dom/inputmethod/Keyboard.jsm b/dom/inputmethod/Keyboard.jsm index e110df6fdd..13a41a5025 100644 --- a/dom/inputmethod/Keyboard.jsm +++ b/dom/inputmethod/Keyboard.jsm @@ -19,10 +19,6 @@ XPCOMUtils.defineLazyServiceGetter(this, "ppmm", XPCOMUtils.defineLazyModuleGetter(this, "SystemAppProxy", "resource://gre/modules/SystemAppProxy.jsm"); -XPCOMUtils.defineLazyGetter(this, "appsService", function() { - return Cc["@mozilla.org/AppsService;1"].getService(Ci.nsIAppsService); -}); - XPCOMUtils.defineLazyGetter(this, "hardwareKeyHandler", function() { return null; }); @@ -554,24 +550,6 @@ InputRegistryGlue.prototype.addInput = function(msg, mm) { mm: mm, requestId: msg.data.requestId }); - - let manifestURL = appsService.getManifestURLByLocalId(msg.data.appId); - - Keyboard.sendToSystem('System:InputRegistry:Add', { - id: msgId, - manifestURL: manifestURL, - inputId: msg.data.inputId, - inputManifest: msg.data.inputManifest - }); - - // XXX: To be removed when content migrate away from mozChromeEvents. - SystemAppProxy.dispatchEvent({ - type: 'inputregistry-add', - id: msgId, - manifestURL: manifestURL, - inputId: msg.data.inputId, - inputManifest: msg.data.inputManifest - }); }; InputRegistryGlue.prototype.removeInput = function(msg, mm) { @@ -580,22 +558,6 @@ InputRegistryGlue.prototype.removeInput = function(msg, mm) { mm: mm, requestId: msg.data.requestId }); - - let manifestURL = appsService.getManifestURLByLocalId(msg.data.appId); - - Keyboard.sendToSystem('System:InputRegistry:Remove', { - id: msgId, - manifestURL: manifestURL, - inputId: msg.data.inputId - }); - - // XXX: To be removed when content migrate away from mozChromeEvents. - SystemAppProxy.dispatchEvent({ - type: 'inputregistry-remove', - id: msgId, - manifestURL: manifestURL, - inputId: msg.data.inputId - }); }; InputRegistryGlue.prototype.returnMessage = function(detail) { diff --git a/dom/interfaces/apps/moz.build b/dom/interfaces/apps/moz.build deleted file mode 100644 index 018bda3d80..0000000000 --- a/dom/interfaces/apps/moz.build +++ /dev/null @@ -1,13 +0,0 @@ -# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- -# 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/. - -XPIDL_SOURCES += [ - 'mozIApplication.idl', - 'mozIApplicationClearPrivateDataParams.idl', - 'nsIAppsService.idl', -] - -XPIDL_MODULE = 'dom_apps' - diff --git a/dom/interfaces/apps/mozIApplication.idl b/dom/interfaces/apps/mozIApplication.idl deleted file mode 100644 index 3ec506cdba..0000000000 --- a/dom/interfaces/apps/mozIApplication.idl +++ /dev/null @@ -1,58 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * 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/. */ - -#include "domstubs.idl" - -interface nsIPrincipal; - -/** - * We expose Gecko-internal helpers related to "web apps" through this - * sub-interface. - */ -[scriptable, uuid(e76aa5e0-80b2-404f-bccc-1067828bb6ed)] -interface mozIApplication: nsISupports -{ - /* Return true if this app has |permission|. */ - boolean hasPermission(in string permission); - - /* Application status as defined in nsIPrincipal. */ - readonly attribute unsigned short appStatus; - - /* Returns the uuid of the app. */ - readonly attribute DOMString id; - - /* Returns the origin of the app. */ - readonly attribute DOMString origin; - - /* Returns the manifest url of the app. */ - readonly attribute DOMString manifestURL; - - /* Returns the local id of the app. */ - readonly attribute unsigned long localId; - - /* Returns the base directory for the app */ - readonly attribute DOMString basePath; - - /* Name copied from the manifest */ - readonly attribute DOMString name; - - /* CSP copied from the manifest */ - readonly attribute DOMString csp; - - /* Store ID if the app is installed from a store */ - readonly attribute DOMString storeID; - - /* Store version if the app is installed from a store */ - readonly attribute unsigned long storeVersion; - - /* role copied from the manifest */ - readonly attribute DOMString role; - - /* Returns the kind of the app. */ - readonly attribute DOMString kind; - - /* Returns the app's principal */ - readonly attribute nsIPrincipal principal; -}; diff --git a/dom/interfaces/apps/mozIApplicationClearPrivateDataParams.idl b/dom/interfaces/apps/mozIApplicationClearPrivateDataParams.idl deleted file mode 100644 index 924fc3f2d3..0000000000 --- a/dom/interfaces/apps/mozIApplicationClearPrivateDataParams.idl +++ /dev/null @@ -1,18 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * 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/. */ - -#include "nsISupports.idl" - -[scriptable, uuid(ba0e6c8e-8c03-4b9b-8f9b-4fb14216f56e)] -interface mozIApplicationClearPrivateDataParams : nsISupports -{ - readonly attribute unsigned long appId; - readonly attribute boolean browserOnly; -}; - -%{C++ -#define TOPIC_WEB_APP_CLEAR_DATA "webapps-clear-data" -#define TOPIC_CLEAR_ORIGIN_DATA "clear-origin-attributes-data" -%} diff --git a/dom/interfaces/apps/nsIAppsService.idl b/dom/interfaces/apps/nsIAppsService.idl deleted file mode 100644 index 4e91a50eca..0000000000 --- a/dom/interfaces/apps/nsIAppsService.idl +++ /dev/null @@ -1,75 +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/. */ - -#include "domstubs.idl" - -interface mozIApplication; -interface nsIURI; - -%{C++ -#define APPS_SERVICE_CID { 0x05072afa, 0x92fe, 0x45bf, { 0xae, 0x22, 0x39, 0xb6, 0x9c, 0x11, 0x70, 0x58 } } -#define APPS_SERVICE_CONTRACTID "@mozilla.org/AppsService;1" -%} - -/* - * This service allows accessing some DOMApplicationRegistry methods from - * non-javascript code. - */ -[scriptable, uuid(711cfab6-7b72-4aa2-a60c-17952ea05661)] -interface nsIAppsService : nsISupports -{ - mozIApplication getAppByManifestURL(in DOMString manifestURL); - - /** - * Returns a Promise for the manifest for a given manifestURL. - * This is only supported in the parent process: the promise will be rejected - * in content processes. - */ - jsval getManifestFor(in DOMString manifestURL); - - /** - * Returns the |localId| of the app associated with the |manifestURL| passed - * in parameter. - * Returns nsIScriptSecurityManager::NO_APP_ID if |manifestURL| isn't a valid - * installed manifest URL. - */ - unsigned long getAppLocalIdByManifestURL(in DOMString manifestURL); - - /** - * Returns the application associated to this localId. - */ - mozIApplication getAppByLocalId(in unsigned long localId); - - /** - * Returns the manifest URL associated to this localId. - */ - DOMString getManifestURLByLocalId(in unsigned long localId); - - /** - * Returns the basepath for core apps - */ - DOMString getCoreAppsBasePath(); - - /** - * Returns the basepath for regular packaged apps - */ - DOMString getWebAppsBasePath(); - - /** - * Returns true if at least one app is in the registry. - */ - boolean areAnyAppsInstalled(); - - jsval getAppInfo(in DOMString appId); - - /** - * Returns the localId if the app was installed from a store - */ - DOMString getAppLocalIdByStoreId(in DOMString storeID); - - /** - * Returns the scope for app to use with service workers. - */ - DOMString getScopeByLocalId(in unsigned long localId); -}; diff --git a/dom/ipc/ContentParent.cpp b/dom/ipc/ContentParent.cpp index 319b20d1f9..b1ee02095c 100644 --- a/dom/ipc/ContentParent.cpp +++ b/dom/ipc/ContentParent.cpp @@ -96,7 +96,6 @@ #include "nsFrameMessageManager.h" #include "nsHashPropertyBag.h" #include "nsIAlertsService.h" -#include "nsIAppsService.h" #include "nsIClipboard.h" #include "nsContentPermissionHelper.h" #include "nsICycleCollectorListener.h" diff --git a/dom/ipc/TabChild.cpp b/dom/ipc/TabChild.cpp index b274345786..ed183eb1b2 100644 --- a/dom/ipc/TabChild.cpp +++ b/dom/ipc/TabChild.cpp @@ -44,7 +44,6 @@ #include "mozilla/TextEvents.h" #include "mozilla/TouchEvents.h" #include "mozilla/Unused.h" -#include "mozIApplication.h" #include "nsContentUtils.h" #include "nsCSSFrameConstructor.h" #include "nsDocShell.h" @@ -98,7 +97,6 @@ #include "nsColorPickerProxy.h" #include "nsContentPermissionHelper.h" #include "nsPresShell.h" -#include "nsIAppsService.h" #include "nsNetUtil.h" #include "nsIPermissionManager.h" #include "nsIURILoader.h" diff --git a/dom/moz.build b/dom/moz.build index 446fc25126..585dcce59c 100644 --- a/dom/moz.build +++ b/dom/moz.build @@ -29,7 +29,6 @@ interfaces = [ 'permission', 'svg', 'smil', - 'apps', 'push', ] diff --git a/dom/workers/ServiceWorkerManager.h b/dom/workers/ServiceWorkerManager.h index bbf185ff81..8d2600ea48 100644 --- a/dom/workers/ServiceWorkerManager.h +++ b/dom/workers/ServiceWorkerManager.h @@ -32,7 +32,6 @@ #include "nsTArrayForwardDeclare.h" #include "nsTObserverArray.h" -class mozIApplicationClearPrivateDataParams; class nsIConsoleReportCollector; namespace mozilla { diff --git a/extensions/cookie/nsPermissionManager.cpp b/extensions/cookie/nsPermissionManager.cpp index 426cd79486..f8fa542e76 100644 --- a/extensions/cookie/nsPermissionManager.cpp +++ b/extensions/cookie/nsPermissionManager.cpp @@ -29,7 +29,6 @@ #include "nsIPrincipal.h" #include "nsContentUtils.h" #include "nsIScriptSecurityManager.h" -#include "nsIAppsService.h" #include "nsIEffectiveTLDService.h" #include "nsPIDOMWindow.h" #include "nsIDocument.h" diff --git a/ipc/glue/BackgroundParentImpl.cpp b/ipc/glue/BackgroundParentImpl.cpp index 1d11ae8f6c..931bc5bc9c 100644 --- a/ipc/glue/BackgroundParentImpl.cpp +++ b/ipc/glue/BackgroundParentImpl.cpp @@ -40,7 +40,6 @@ #include "mozilla/layout/VsyncParent.h" #include "mozilla/dom/network/UDPSocketParent.h" #include "mozilla/Preferences.h" -#include "nsIAppsService.h" #include "nsNetUtil.h" #include "nsIScriptSecurityManager.h" #include "nsProxyRelease.h" diff --git a/layout/build/nsLayoutModule.cpp b/layout/build/nsLayoutModule.cpp index 2d4866b00b..36135cd605 100644 --- a/layout/build/nsLayoutModule.cpp +++ b/layout/build/nsLayoutModule.cpp @@ -79,7 +79,6 @@ #include "DOMStorageManager.h" #include "nsJSON.h" #include "nsZipArchive.h" -#include "mozIApplicationClearPrivateDataParams.h" #include "mozilla/Attributes.h" #include "mozilla/dom/DOMException.h" #include "mozilla/dom/DOMRequest.h" diff --git a/layout/build/nsLayoutStatics.cpp b/layout/build/nsLayoutStatics.cpp index ab6af2eb21..ffdf624e49 100644 --- a/layout/build/nsLayoutStatics.cpp +++ b/layout/build/nsLayoutStatics.cpp @@ -282,8 +282,6 @@ nsLayoutStatics::Initialize() #ifdef MOZ_PERMISSIONS nsPermissionManager::ClearOriginDataObserverInit(); #endif - nsCookieService::AppClearDataObserverInit(); - nsApplicationCacheService::AppClearDataObserverInit(); HTMLVideoElement::Init(); diff --git a/netwerk/base/nsNetUtil.cpp b/netwerk/base/nsNetUtil.cpp index b9a07f34a1..ce62cfa8fc 100644 --- a/netwerk/base/nsNetUtil.cpp +++ b/netwerk/base/nsNetUtil.cpp @@ -12,7 +12,6 @@ #include "mozilla/Preferences.h" #include "nsNetUtil.h" #include "nsNetUtilInlines.h" -#include "mozIApplicationClearPrivateDataParams.h" #include "nsCategoryCache.h" #include "nsContentUtils.h" #include "nsHashKeys.h" @@ -1324,39 +1323,6 @@ NS_HasBeenCrossOrigin(nsIChannel* aChannel, bool aReport) return NS_FAILED(loadingPrincipal->CheckMayLoad(uri, aReport, dataInherits)); } -nsresult -NS_GetAppInfoFromClearDataNotification(nsISupports *aSubject, - uint32_t *aAppID, - bool *aBrowserOnly) -{ - nsresult rv; - - nsCOMPtr - clearParams(do_QueryInterface(aSubject)); - MOZ_ASSERT(clearParams); - if (!clearParams) { - return NS_ERROR_UNEXPECTED; - } - - uint32_t appId; - rv = clearParams->GetAppId(&appId); - MOZ_ASSERT(NS_SUCCEEDED(rv)); - MOZ_ASSERT(appId != NECKO_UNKNOWN_APP_ID); - NS_ENSURE_SUCCESS(rv, rv); - if (appId == NECKO_UNKNOWN_APP_ID) { - return NS_ERROR_UNEXPECTED; - } - - bool browserOnly = false; - rv = clearParams->GetBrowserOnly(&browserOnly); - MOZ_ASSERT(NS_SUCCEEDED(rv)); - NS_ENSURE_SUCCESS(rv, rv); - - *aAppID = appId; - *aBrowserOnly = browserOnly; - return NS_OK; -} - bool NS_ShouldCheckAppCache(nsIURI *aURI, bool usePrivateBrowsing) { diff --git a/netwerk/base/nsNetUtil.h b/netwerk/base/nsNetUtil.h index 53fa679879..f9645f4c60 100644 --- a/netwerk/base/nsNetUtil.h +++ b/netwerk/base/nsNetUtil.h @@ -682,15 +682,6 @@ bool NS_GetAppInfo(nsIChannel *aChannel, uint32_t *aAppID, bool *aIsInIsolatedMozBrowserElement); -/** - * Gets appId and browserOnly parameters from the TOPIC_WEB_APP_CLEAR_DATA - * nsIObserverService notification. Used when clearing user data or - * uninstalling web apps. - */ -nsresult NS_GetAppInfoFromClearDataNotification(nsISupports *aSubject, - uint32_t *aAppID, - bool *aBrowserOnly); - /** * Determines whether appcache should be checked for a given URI. */ diff --git a/netwerk/cache/nsApplicationCacheService.cpp b/netwerk/cache/nsApplicationCacheService.cpp index c512b91695..5420f2755f 100644 --- a/netwerk/cache/nsApplicationCacheService.cpp +++ b/netwerk/cache/nsApplicationCacheService.cpp @@ -7,7 +7,6 @@ #include "nsCacheService.h" #include "nsApplicationCacheService.h" #include "nsCRT.h" -#include "mozIApplicationClearPrivateDataParams.h" #include "nsNetCID.h" #include "nsNetUtil.h" #include "nsIObserverService.h" @@ -253,14 +252,3 @@ private: NS_IMPL_ISUPPORTS(AppCacheClearDataObserver, nsIObserver) } // namespace - -// Instantiates and registers AppCacheClearDataObserver for notifications -void -nsApplicationCacheService::AppClearDataObserverInit() -{ - nsCOMPtr observerService = services::GetObserverService(); - if (observerService) { - RefPtr obs = new AppCacheClearDataObserver(); - observerService->AddObserver(obs, "clear-origin-attributes-data", /*ownsWeak=*/ false); - } -} diff --git a/netwerk/cache/nsApplicationCacheService.h b/netwerk/cache/nsApplicationCacheService.h index 73bd32206c..45623e50b9 100644 --- a/netwerk/cache/nsApplicationCacheService.h +++ b/netwerk/cache/nsApplicationCacheService.h @@ -18,8 +18,6 @@ public: NS_DECL_ISUPPORTS NS_DECL_NSIAPPLICATIONCACHESERVICE - static void AppClearDataObserverInit(); - private: ~nsApplicationCacheService(); RefPtr mCacheService; diff --git a/netwerk/cookie/nsCookieService.cpp b/netwerk/cookie/nsCookieService.cpp index cc996a201a..9ffee5fa76 100644 --- a/netwerk/cookie/nsCookieService.cpp +++ b/netwerk/cookie/nsCookieService.cpp @@ -48,8 +48,6 @@ #include "mozilla/storage.h" #include "mozilla/AutoRestore.h" #include "mozilla/FileUtils.h" -#include "nsIAppsService.h" -#include "mozIApplicationClearPrivateDataParams.h" #include "nsIConsoleService.h" #include "nsVariant.h" @@ -674,15 +672,6 @@ nsCookieService::GetSingleton() return gCookieService; } -/* static */ void -nsCookieService::AppClearDataObserverInit() -{ - nsCOMPtr observerService = services::GetObserverService(); - nsCOMPtr obs = new AppClearDataObserver(); - observerService->AddObserver(obs, TOPIC_CLEAR_ORIGIN_DATA, - /* ownsWeak= */ false); -} - /****************************************************************************** * nsCookieService impl: * public methods diff --git a/netwerk/cookie/nsCookieService.h b/netwerk/cookie/nsCookieService.h index deb9fed330..df83045243 100644 --- a/netwerk/cookie/nsCookieService.h +++ b/netwerk/cookie/nsCookieService.h @@ -260,14 +260,6 @@ class nsCookieService final : public nsICookieService static nsICookieService* GetXPCOMSingleton(); nsresult Init(); - /** - * Start watching the observer service for messages indicating that an app has - * been uninstalled. When an app is uninstalled, we get the cookie service - * (thus instantiating it, if necessary) and clear all the cookies for that - * app. - */ - static void AppClearDataObserverInit(); - protected: virtual ~nsCookieService(); diff --git a/netwerk/ipc/NeckoParent.cpp b/netwerk/ipc/NeckoParent.cpp index c3a288e689..3b00a15d29 100644 --- a/netwerk/ipc/NeckoParent.cpp +++ b/netwerk/ipc/NeckoParent.cpp @@ -34,7 +34,6 @@ #include "mozilla/AppProcessChecker.h" #include "nsPrintfCString.h" #include "nsHTMLDNSPrefetch.h" -#include "nsIAppsService.h" #include "nsEscape.h" #include "SerializedLoadContext.h" #include "nsAuthInformationHolder.h" diff --git a/netwerk/protocol/http/nsHttpAuthCache.cpp b/netwerk/protocol/http/nsHttpAuthCache.cpp index be5cd17a77..b5b6ee79f3 100644 --- a/netwerk/protocol/http/nsHttpAuthCache.cpp +++ b/netwerk/protocol/http/nsHttpAuthCache.cpp @@ -13,7 +13,6 @@ #include "mozilla/Attributes.h" #include "nsString.h" #include "nsCRT.h" -#include "mozIApplicationClearPrivateDataParams.h" #include "nsIObserverService.h" #include "mozilla/Services.h" #include "mozilla/DebugOnly.h" diff --git a/netwerk/protocol/http/nsHttpHandler.cpp b/netwerk/protocol/http/nsHttpHandler.cpp index 4e96415105..d6c5ca2107 100644 --- a/netwerk/protocol/http/nsHttpHandler.cpp +++ b/netwerk/protocol/http/nsHttpHandler.cpp @@ -33,7 +33,6 @@ #include "nsSocketTransportService2.h" #include "nsAlgorithm.h" #include "ASpdySession.h" -#include "mozIApplicationClearPrivateDataParams.h" #include "EventTokenBucket.h" #include "Tickler.h" #include "nsIXULAppInfo.h" @@ -388,7 +387,6 @@ nsHttpHandler::Init() obsService->AddObserver(this, "net:prune-all-connections", true); obsService->AddObserver(this, "net:failed-to-process-uri-content", true); obsService->AddObserver(this, "last-pb-context-exited", true); - obsService->AddObserver(this, "webapps-clear-data", true); obsService->AddObserver(this, "browser:purge-session-history", true); obsService->AddObserver(this, NS_NETWORK_LINK_TOPIC, true); obsService->AddObserver(this, "application-background", true); @@ -2173,10 +2171,6 @@ nsHttpHandler::Observe(nsISupports *subject, if (mConnMgr) { mConnMgr->ClearAltServiceMappings(); } - } else if (!strcmp(topic, "webapps-clear-data")) { - if (mConnMgr) { - mConnMgr->ClearAltServiceMappings(); - } } else if (!strcmp(topic, "browser:purge-session-history")) { if (mConnMgr) { if (gSocketTransportService) { diff --git a/netwerk/protocol/wyciwyg/nsWyciwygProtocolHandler.cpp b/netwerk/protocol/wyciwyg/nsWyciwygProtocolHandler.cpp index 4e1f7c22e6..3bf1fedf76 100644 --- a/netwerk/protocol/wyciwyg/nsWyciwygProtocolHandler.cpp +++ b/netwerk/protocol/wyciwyg/nsWyciwygProtocolHandler.cpp @@ -11,7 +11,6 @@ #include "nsServiceManagerUtils.h" #include "plstr.h" #include "nsIObserverService.h" -#include "mozIApplicationClearPrivateDataParams.h" #include "nsIURI.h" #include "mozilla/net/NeckoChild.h" diff --git a/testing/specialpowers/content/SpecialPowersObserver.jsm b/testing/specialpowers/content/SpecialPowersObserver.jsm index fc7584505e..0b44393fb9 100644 --- a/testing/specialpowers/content/SpecialPowersObserver.jsm +++ b/testing/specialpowers/content/SpecialPowersObserver.jsm @@ -87,7 +87,6 @@ SpecialPowersObserver.prototype._loadFrameScript = function() this._messageManager.addMessageListener("SPUnloadExtension", this); this._messageManager.addMessageListener("SPExtensionMessage", this); this._messageManager.addMessageListener("SPCleanUpSTSData", this); - this._messageManager.addMessageListener("SPClearAppPrivateData", this); this._messageManager.loadFrameScript(CHILD_LOGGER_SCRIPT, true); this._messageManager.loadFrameScript(CHILD_SCRIPT_API, true); @@ -159,7 +158,6 @@ SpecialPowersObserver.prototype.uninit = function() this._messageManager.removeMessageListener("SPUnloadExtension", this); this._messageManager.removeMessageListener("SPExtensionMessage", this); this._messageManager.removeMessageListener("SPCleanUpSTSData", this); - this._messageManager.removeMessageListener("SPClearAppPrivateData", this); this._messageManager.removeDelayedFrameScript(CHILD_LOGGER_SCRIPT); this._messageManager.removeDelayedFrameScript(CHILD_SCRIPT_API); diff --git a/testing/specialpowers/content/SpecialPowersObserverAPI.js b/testing/specialpowers/content/SpecialPowersObserverAPI.js index f37f7bf0e9..d3137a42d4 100644 --- a/testing/specialpowers/content/SpecialPowersObserverAPI.js +++ b/testing/specialpowers/content/SpecialPowersObserverAPI.js @@ -601,28 +601,6 @@ SpecialPowersObserverAPI.prototype = { return undefined; } - case "SPClearAppPrivateData": { - let appId = aMessage.data.appId; - let browserOnly = aMessage.data.browserOnly; - - let attributes = { appId: appId }; - if (browserOnly) { - attributes.inIsolatedMozBrowser = true; - } - this._notifyCategoryAndObservers(null, - "clear-origin-attributes-data", - JSON.stringify(attributes)); - - let subject = { - appId: appId, - browserOnly: browserOnly, - QueryInterface: XPCOMUtils.generateQI([Ci.mozIApplicationClearPrivateDataParams]) - }; - this._notifyCategoryAndObservers(subject, "webapps-clear-data", null); - - return undefined; - } - default: throw new SpecialPowersError("Unrecognized Special Powers API"); } diff --git a/testing/specialpowers/content/specialpowers.js b/testing/specialpowers/content/specialpowers.js index 09dbb52097..dae8584690 100644 --- a/testing/specialpowers/content/specialpowers.js +++ b/testing/specialpowers/content/specialpowers.js @@ -44,8 +44,7 @@ function SpecialPowers(window) { "SPLoadExtension", "SPStartupExtension", "SPUnloadExtension", - "SPExtensionMessage", - "SPClearAppPrivateData"]; + "SPExtensionMessage"]; addMessageListener("SPPingService", this._messageListener); addMessageListener("SpecialPowers.FilesCreated", this._messageListener); addMessageListener("SpecialPowers.FilesError", this._messageListener); diff --git a/testing/specialpowers/content/specialpowersAPI.js b/testing/specialpowers/content/specialpowersAPI.js index e97ad89c40..dc33cd8260 100644 --- a/testing/specialpowers/content/specialpowersAPI.js +++ b/testing/specialpowers/content/specialpowersAPI.js @@ -1766,16 +1766,6 @@ SpecialPowersAPI.prototype = { // It's an URL. let uri = Services.io.newURI(arg, null, null); principal = secMan.createCodebasePrincipal(uri, {}); - } else if (arg.manifestURL) { - // It's a thing representing an app. - let appsSvc = Cc["@mozilla.org/AppsService;1"] - .getService(Ci.nsIAppsService) - let app = appsSvc.getAppByManifestURL(arg.manifestURL); - if (!app) { - throw "No app for this manifest!"; - } - - principal = app.principal; } else if (arg.nodePrincipal) { // It's a document. // In some tests the arg is a wrapped DOM element, so we unwrap it first. diff --git a/tools/lint/eslint/modules.json b/tools/lint/eslint/modules.json index 1ff5469789..78efc21a2a 100644 --- a/tools/lint/eslint/modules.json +++ b/tools/lint/eslint/modules.json @@ -11,7 +11,6 @@ "AlertsHelper.jsm": [], "AppData.jsm": ["makeFakeAppDir"], "AppInfo.jsm": ["newAppInfo", "getAppInfo", "updateAppInfo"], - "AppsServiceChild.jsm": ["DOMApplicationRegistry", "WrappedManifestCache"], "arrays.js": ["inArray", "getSet", "indexOf", "remove", "rindexOf", "compare"], "assertions.js": ["Assert", "Expect"], "async.js": ["Async"],