diff --git a/toolkit/locales/en-US/chrome/mozapps/extensions/extensions.dtd b/toolkit/locales/en-US/chrome/mozapps/extensions/extensions.dtd
index 9d9a067f154c..7b4e04b25e3c 100644
--- a/toolkit/locales/en-US/chrome/mozapps/extensions/extensions.dtd
+++ b/toolkit/locales/en-US/chrome/mozapps/extensions/extensions.dtd
@@ -95,7 +95,7 @@
-
+
@@ -108,6 +108,7 @@
+
diff --git a/toolkit/mozapps/extensions/content/extensions.css b/toolkit/mozapps/extensions/content/extensions.css
index 96cc15889241..e3b685379723 100644
--- a/toolkit/mozapps/extensions/content/extensions.css
+++ b/toolkit/mozapps/extensions/content/extensions.css
@@ -38,10 +38,14 @@ richlistitem[state="finishing"] hbox.addon-install-status {
-moz-binding: url("chrome://mozapps/content/extensions/extensions.xml#addon-install-finishing");
}
-richlistitem[state="success"][opType] hbox.addon-install-status {
+richlistitem[state="success"][opType="needs-install"] hbox.addon-install-status {
-moz-binding: url("chrome://mozapps/content/extensions/extensions.xml#addon-install-restart");
}
+richlistitem[state="success"][opType="needs-upgrade"] hbox.addon-install-status {
+ -moz-binding: url("chrome://mozapps/content/extensions/extensions.xml#addon-upgrade-restart");
+}
+
richlistitem[state="success"] hbox.addon-install-status {
-moz-binding: url("chrome://mozapps/content/extensions/extensions.xml#addon-install-success");
}
diff --git a/toolkit/mozapps/extensions/content/extensions.js b/toolkit/mozapps/extensions/content/extensions.js
index 5b5ef313c4bc..270530de2fe9 100644
--- a/toolkit/mozapps/extensions/content/extensions.js
+++ b/toolkit/mozapps/extensions/content/extensions.js
@@ -349,6 +349,7 @@ function showView(aView) {
["updateable", "?updateable"],
["updateURL", "?updateURL"],
["version", "?version"],
+ ["newVersion", "?newVersion"],
["typeName", "install"] ];
types = [ [ ["state", "?state", null ] ] ];
break;
diff --git a/toolkit/mozapps/extensions/content/extensions.xml b/toolkit/mozapps/extensions/content/extensions.xml
index 8e7e4c09be15..8bf4b5d2aa28 100644
--- a/toolkit/mozapps/extensions/content/extensions.xml
+++ b/toolkit/mozapps/extensions/content/extensions.xml
@@ -232,7 +232,7 @@
-
+
@@ -456,7 +456,7 @@
-
+
@@ -558,7 +558,7 @@
-
+
@@ -601,6 +601,12 @@
+
+
+
+
+
+
diff --git a/toolkit/mozapps/extensions/src/nsExtensionManager.js.in b/toolkit/mozapps/extensions/src/nsExtensionManager.js.in
index cd8104f41b04..e3bb066c8891 100644
--- a/toolkit/mozapps/extensions/src/nsExtensionManager.js.in
+++ b/toolkit/mozapps/extensions/src/nsExtensionManager.js.in
@@ -4758,6 +4758,7 @@ ExtensionManager.prototype = {
var props = { name : name,
version : EM_L(getManifestProperty(installManifest, "version")),
+ newVersion : EM_L(getManifestProperty(installManifest, "version")),
installLocation : EM_L(installLocation.name),
type : EM_I(type),
availableUpdateURL : null,
@@ -4799,6 +4800,7 @@ ExtensionManager.prototype = {
ds.updateVisibleList(id, installLocation.name, false);
var props = { installLocation : EM_L(installLocation.name),
type : EM_I(type),
+ newVersion : EM_L(getManifestProperty(installManifest, "version")),
availableUpdateURL : null,
availableUpdateHash : null,
availableUpdateVersion : null };
@@ -7274,8 +7276,10 @@ ExtensionsDataSource.prototype = {
* The Install Location of the item.
*/
addItemMetadata: function(id, installManifest, installLocation) {
- // Copy the assertions over from the source datasource.
var targetRes = getResourceForID(id);
+ // Remove any temporary assertions used for the install process
+ this._setProperty(this._inner, targetRes, EM_R("newVersion"), null);
+ // Copy the assertions over from the source datasource.
// Assert properties with single values
var singleProps = ["version", "updateURL", "updateService", "optionsURL",
"aboutURL", "iconURL", "internalName"];