Bug 1467113: Save signedState in startup data. r?aswan
MozReview-Commit-ID: 5iIzy1qKS0P
--- a/toolkit/mozapps/extensions/internal/XPIProvider.jsm
+++ b/toolkit/mozapps/extensions/internal/XPIProvider.jsm
@@ -101,17 +101,17 @@ const STARTUP_MTIME_SCOPES = [KEY_APP_GL
KEY_APP_SYSTEM_SHARE,
KEY_APP_SYSTEM_USER];
const NOTIFICATION_FLUSH_PERMISSIONS = "flush-pending-permissions";
const XPI_PERMISSION = "install";
const XPI_SIGNATURE_CHECK_PERIOD = 24 * 60 * 60;
-const DB_SCHEMA = 26;
+const DB_SCHEMA = 27;
const NOTIFICATION_TOOLBOX_CONNECTION_CHANGE = "toolbox-connection-change";
function encoded(strings, ...values) {
let result = [];
for (let [i, string] of strings.entries()) {
result.push(string);
@@ -376,16 +376,17 @@ const JSON_FIELDS = Object.freeze([
"changed",
"dependencies",
"enabled",
"file",
"hasEmbeddedWebExtension",
"lastModifiedTime",
"path",
"runInSafeMode",
+ "signedState",
"startupData",
"telemetryKey",
"type",
"version",
]);
class XPIState {
constructor(location, id, saved = {}) {
@@ -450,29 +451,29 @@ class XPIState {
/**
* Returns a JSON-compatible representation of this add-on's state
* data, to be saved to addonStartup.json.
*
* @returns {Object}
*/
toJSON() {
let json = {
+ dependencies: this.dependencies,
enabled: this.enabled,
+ hasEmbeddedWebExtension: this.hasEmbeddedWebExtension,
lastModifiedTime: this.lastModifiedTime,
path: this.relativePath,
+ runInSafeMode: this.runInSafeMode,
+ signedState: this.signedState,
+ telemetryKey: this.telemetryKey,
version: this.version,
- telemetryKey: this.telemetryKey,
};
if (this.type != "extension") {
json.type = this.type;
}
- json.dependencies = this.dependencies;
- json.runInSafeMode = this.runInSafeMode;
- json.hasEmbeddedWebExtension = this.hasEmbeddedWebExtension;
-
if (this.startupData) {
json.startupData = this.startupData;
}
return json;
}
/**
* Update the last modified time for an add-on on disk.
@@ -535,16 +536,17 @@ class XPIState {
this.startupData = aDBAddon.startupData;
}
this.telemetryKey = this.getTelemetryKey();
this.hasEmbeddedWebExtension = aDBAddon.hasEmbeddedWebExtension;
this.dependencies = aDBAddon.dependencies;
this.runInSafeMode = canRunInSafeMode(aDBAddon);
+ this.signedState = aDBAddon.signedState;
if (aUpdated || mustGetMod) {
this.getModTime(this.file);
if (this.lastModifiedTime != aDBAddon.updateDate) {
aDBAddon.updateDate = this.lastModifiedTime;
if (XPIDatabase.initialized) {
XPIDatabase.saveChanges();
}