зеркало из https://github.com/mozilla/pjs.git
170006 - more work on mismatch/update checking wizard UI
This commit is contained in:
Родитель
dbc8d9bf51
Коммит
6d33fec1ab
|
@ -378,7 +378,8 @@ var gExtensionsViewController = {
|
||||||
.createInstance(Components.interfaces.nsIExtensionItem);
|
.createInstance(Components.interfaces.nsIExtensionItem);
|
||||||
item.init(aItemID, this.getExtensionProperty(aItemID, "version"),
|
item.init(aItemID, this.getExtensionProperty(aItemID, "version"),
|
||||||
this.getExtensionProperty(aItemID, "name"),
|
this.getExtensionProperty(aItemID, "name"),
|
||||||
-1, "", Components.interfaces.nsIExtensionItem.TYPE_EXTENSION); // XXXben
|
-1, "", "",
|
||||||
|
Components.interfaces.nsIExtensionItem.TYPE_EXTENSION); // XXXben
|
||||||
items.push(item);
|
items.push(item);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -394,7 +395,8 @@ var gExtensionsViewController = {
|
||||||
.createInstance(Components.interfaces.nsIExtensionItem);
|
.createInstance(Components.interfaces.nsIExtensionItem);
|
||||||
item.init(id, this.getExtensionProperty(id, "version"),
|
item.init(id, this.getExtensionProperty(id, "version"),
|
||||||
this.getExtensionProperty(id, "name"),
|
this.getExtensionProperty(id, "name"),
|
||||||
-1, "", Components.interfaces.nsIExtensionItem.TYPE_EXTENSION); // XXXben
|
-1, "", "",
|
||||||
|
Components.interfaces.nsIExtensionItem.TYPE_EXTENSION); // XXXben
|
||||||
items.push(item);
|
items.push(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,7 +60,7 @@ interface nsIExtensionItem : nsISupports
|
||||||
void init(in string aID, in string aVersion, in wstring aName,
|
void init(in string aID, in string aVersion, in wstring aName,
|
||||||
in long aRow, in wstring aXPIURL, in long aType);
|
in long aRow, in wstring aXPIURL, in long aType);
|
||||||
|
|
||||||
nsIVariant toObject();
|
readonly attribute wstring objectSource;
|
||||||
};
|
};
|
||||||
|
|
||||||
[scriptable, uuid(c3515b0f-99f4-453b-805e-1fdf5724d6d9)]
|
[scriptable, uuid(c3515b0f-99f4-453b-805e-1fdf5724d6d9)]
|
||||||
|
@ -88,3 +88,9 @@ interface nsIExtensionManager : nsISupports
|
||||||
readonly attribute nsIRDFDataSource datasource;
|
readonly attribute nsIRDFDataSource datasource;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[scriptable, uuid(c0b7517f-0b3a-41a2-bde8-ba3ac8a5af47)]
|
||||||
|
interface nsIExtensionItemUpdater : nsISupports
|
||||||
|
{
|
||||||
|
void checkForUpdates();
|
||||||
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,90 +0,0 @@
|
||||||
package org.mozilla.update.extensions;
|
|
||||||
|
|
||||||
public class ExtensionItem
|
|
||||||
{
|
|
||||||
private int row;
|
|
||||||
private java.lang.String id;
|
|
||||||
private java.lang.String version;
|
|
||||||
private java.lang.String name;
|
|
||||||
private java.lang.String xpiURL;
|
|
||||||
private int type;
|
|
||||||
|
|
||||||
public ExtensionItem()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getRow()
|
|
||||||
{
|
|
||||||
return row;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRow(int row)
|
|
||||||
{
|
|
||||||
this.row = row;
|
|
||||||
}
|
|
||||||
|
|
||||||
public java.lang.String getId()
|
|
||||||
{
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(java.lang.String id)
|
|
||||||
{
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public java.lang.String getVersion()
|
|
||||||
{
|
|
||||||
return version;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setVersion(java.lang.String version)
|
|
||||||
{
|
|
||||||
this.version = version;
|
|
||||||
}
|
|
||||||
|
|
||||||
public java.lang.String getName()
|
|
||||||
{
|
|
||||||
return name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setName(java.lang.String name)
|
|
||||||
{
|
|
||||||
this.name = name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public java.lang.String getXpiURL()
|
|
||||||
{
|
|
||||||
return xpiURL;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setXpiURL(java.lang.String xpiURL)
|
|
||||||
{
|
|
||||||
this.xpiURL = xpiURL;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getType()
|
|
||||||
{
|
|
||||||
return type;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setType(int type)
|
|
||||||
{
|
|
||||||
this.type = type;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//public class ExtensionType
|
|
||||||
//{
|
|
||||||
// public ExtensionType()
|
|
||||||
// {
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public int row;
|
|
||||||
// public String id;
|
|
||||||
// public String version;
|
|
||||||
// public String name;
|
|
||||||
// public String xpiURL;
|
|
||||||
// public int type;
|
|
||||||
//}
|
|
||||||
|
|
|
@ -70,6 +70,7 @@ public class VersionCheck
|
||||||
e.setName(getProperty(row, "name"));
|
e.setName(getProperty(row, "name"));
|
||||||
e.setVersion(getProperty(row, "version"));
|
e.setVersion(getProperty(row, "version"));
|
||||||
e.setXpiURL(getProperty(row, "xpiurl"));
|
e.setXpiURL(getProperty(row, "xpiurl"));
|
||||||
|
e.setIconURL(getProperty(row, "iconurl"));
|
||||||
results.add(e);
|
results.add(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -94,6 +95,7 @@ public class VersionCheck
|
||||||
e.setName(getProperty(row, "name"));
|
e.setName(getProperty(row, "name"));
|
||||||
e.setVersion(getProperty(row, "version"));
|
e.setVersion(getProperty(row, "version"));
|
||||||
e.setXpiURL(getProperty(row, "xpiurl"));
|
e.setXpiURL(getProperty(row, "xpiurl"));
|
||||||
|
e.setIconURL(getProperty(row, "iconurl"));
|
||||||
}
|
}
|
||||||
return e;
|
return e;
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,13 +49,14 @@ function ExtensionItem ()
|
||||||
}
|
}
|
||||||
|
|
||||||
ExtensionItem.prototype = {
|
ExtensionItem.prototype = {
|
||||||
init: function (aID, aVersion, aName, aRow, aXPIURL, aType)
|
init: function (aID, aVersion, aName, aRow, aXPIURL, aIconURL, aType)
|
||||||
{
|
{
|
||||||
this._id = aID;
|
this._id = aID;
|
||||||
this._version = aVersion;
|
this._version = aVersion;
|
||||||
this._name = aName;
|
this._name = aName;
|
||||||
this._row = aRow;
|
this._row = aRow;
|
||||||
this._xpiURL = aXPIURL;
|
this._xpiURL = aXPIURL;
|
||||||
|
this._iconURL = aIconURL;
|
||||||
this._type = aType;
|
this._type = aType;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -64,12 +65,14 @@ ExtensionItem.prototype = {
|
||||||
get name() { return this._name; },
|
get name() { return this._name; },
|
||||||
get row() { return this._row; },
|
get row() { return this._row; },
|
||||||
get xpiURL() { return this._xpiURL; },
|
get xpiURL() { return this._xpiURL; },
|
||||||
|
get iconURL() { return this._iconURL },
|
||||||
get type() { return this._type; },
|
get type() { return this._type; },
|
||||||
|
|
||||||
toObject: function ()
|
get objectSource()
|
||||||
{
|
{
|
||||||
return { id: this._id, version: this._version, name: this._name,
|
return { id: this._id, version: this._version, name: this._name,
|
||||||
row: this._row, xpiURL: this._xpiURL, type: this._type };
|
row: this._row, xpiURL: this._xpiURL, iconURL: this._iconURL,
|
||||||
|
type: this._type }.toSource();
|
||||||
},
|
},
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -251,7 +254,7 @@ nsExtensionManager.prototype = {
|
||||||
var appID = pref.getCharPref(PREF_EM_APP_ID);
|
var appID = pref.getCharPref(PREF_EM_APP_ID);
|
||||||
var appVersion = pref.getCharPref(PREF_EM_APP_VERSION);
|
var appVersion = pref.getCharPref(PREF_EM_APP_VERSION);
|
||||||
|
|
||||||
var updater = new nsItemUpdater(aItems, appID, appVersion);
|
var updater = new nsExtensionItemUpdater(aItems, appID, appVersion);
|
||||||
|
|
||||||
switch (aUpdateType) {
|
switch (aUpdateType) {
|
||||||
case Components.interfaces.nsIExtensionManager.UPDATE_TYPE_MISMATCH:
|
case Components.interfaces.nsIExtensionManager.UPDATE_TYPE_MISMATCH:
|
||||||
|
@ -318,7 +321,7 @@ nsExtensionManager.prototype = {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
function nsItemUpdater(aItems, aTargetAppID, aTargetAppVersion)
|
function nsExtensionItemUpdater(aItems, aTargetAppID, aTargetAppVersion)
|
||||||
{
|
{
|
||||||
this._items = aItems;
|
this._items = aItems;
|
||||||
this._count = aItems.length;
|
this._count = aItems.length;
|
||||||
|
@ -329,9 +332,9 @@ function nsItemUpdater(aItems, aTargetAppID, aTargetAppVersion)
|
||||||
.getService(Components.interfaces.nsIObserverService);
|
.getService(Components.interfaces.nsIObserverService);
|
||||||
}
|
}
|
||||||
|
|
||||||
nsItemUpdater.prototype = {
|
nsExtensionItemUpdater.prototype = {
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
// nsIExtensionItemUpdater
|
||||||
checkForUpdates: function ()
|
checkForUpdates: function ()
|
||||||
{
|
{
|
||||||
this._os.notifyObservers(null, "update-started", "");
|
this._os.notifyObservers(null, "update-started", "");
|
||||||
|
@ -341,6 +344,8 @@ nsItemUpdater.prototype = {
|
||||||
"VersionCheck", "", true, this);
|
"VersionCheck", "", true, this);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// nsExtensionItemUpdater
|
||||||
_proxy: null,
|
_proxy: null,
|
||||||
|
|
||||||
_checkForUpdates: function ()
|
_checkForUpdates: function ()
|
||||||
|
@ -348,7 +353,8 @@ nsItemUpdater.prototype = {
|
||||||
for (var i = 0; i < this._items.length; ++i) {
|
for (var i = 0; i < this._items.length; ++i) {
|
||||||
var e = this._items[i];
|
var e = this._items[i];
|
||||||
this._os.notifyObservers(null, "update-item-started", e.name + " " + e.version);
|
this._os.notifyObservers(null, "update-item-started", e.name + " " + e.version);
|
||||||
this._proxy.getNewestExtension(e, this._appID, this._appVersion);
|
dump("*** obj = " + e.objectSource + "\n"); // goats
|
||||||
|
this._proxy.getNewestExtension(eval(e.objectSource), this._appID, this._appVersion);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -381,7 +387,17 @@ nsItemUpdater.prototype = {
|
||||||
|
|
||||||
if (--this._count == 0)
|
if (--this._count == 0)
|
||||||
this._os.notifyObservers(null, "update-ended", "");
|
this._os.notifyObservers(null, "update-ended", "");
|
||||||
}
|
},
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// nsISupports
|
||||||
|
QueryInterface: function (aIID)
|
||||||
|
{
|
||||||
|
if (!aIID.equals(Components.interfaces.nsIExtensionItemUpdater) &&
|
||||||
|
!aIID.equals(Components.interfaces.nsISupports))
|
||||||
|
throw Components.results.NS_ERROR_NO_INTERFACE;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -432,7 +448,8 @@ nsExtensionsDataSource.prototype = {
|
||||||
.createInstance(Components.interfaces.nsIExtensionItem);
|
.createInstance(Components.interfaces.nsIExtensionItem);
|
||||||
item.init(id, this.getExtensionProperty(id, "version"),
|
item.init(id, this.getExtensionProperty(id, "version"),
|
||||||
this.getExtensionProperty(id, "name"),
|
this.getExtensionProperty(id, "name"),
|
||||||
-1, "", Components.interfaces.nsIExtensionItem.TYPE_EXTENSION);
|
-1, "", "",
|
||||||
|
Components.interfaces.nsIExtensionItem.TYPE_EXTENSION);
|
||||||
items.push(item);
|
items.push(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,8 @@ toolkit.jar:
|
||||||
* content/mozapps/extensions/about.js (extensions/content/about.js)
|
* content/mozapps/extensions/about.js (extensions/content/about.js)
|
||||||
* content/mozapps/update/update.xul (update/content/update.xul)
|
* content/mozapps/update/update.xul (update/content/update.xul)
|
||||||
* content/mozapps/update/update.js (update/content/update.js)
|
* content/mozapps/update/update.js (update/content/update.js)
|
||||||
|
* content/mozapps/update/updateItem.xml (update/content/updateItem.xml)
|
||||||
|
* content/mozapps/update/update.css (update/content/update.css)
|
||||||
* content/mozapps/shared/richview.xml (shared/content/richview.xml)
|
* content/mozapps/shared/richview.xml (shared/content/richview.xml)
|
||||||
content/mozapps/contents.rdf (contents-content.rdf)
|
content/mozapps/contents.rdf (contents-content.rdf)
|
||||||
|
|
||||||
|
@ -36,6 +38,7 @@ en-US.jar:
|
||||||
locale/en-US/mozapps/extensions/extensions.properties (extensions/locale/extensions.properties)
|
locale/en-US/mozapps/extensions/extensions.properties (extensions/locale/extensions.properties)
|
||||||
locale/en-US/mozapps/extensions/about.dtd (extensions/locale/about.dtd)
|
locale/en-US/mozapps/extensions/about.dtd (extensions/locale/about.dtd)
|
||||||
locale/en-US/mozapps/update/update.dtd (update/locale/update.dtd)
|
locale/en-US/mozapps/update/update.dtd (update/locale/update.dtd)
|
||||||
|
locale/en-US/mozapps/update/update.properties (update/locale/update.properties)
|
||||||
locale/en-US/mozapps/contents.rdf (contents-locale.rdf)
|
locale/en-US/mozapps/contents.rdf (contents-locale.rdf)
|
||||||
|
|
||||||
classic.jar:
|
classic.jar:
|
||||||
|
@ -43,6 +46,7 @@ classic.jar:
|
||||||
skin/classic/mozapps/extensions/about.css (extensions/skin/about.css)
|
skin/classic/mozapps/extensions/about.css (extensions/skin/about.css)
|
||||||
skin/classic/mozapps/extensions/placeholder.gif (extensions/skin/placeholder.gif)
|
skin/classic/mozapps/extensions/placeholder.gif (extensions/skin/placeholder.gif)
|
||||||
skin/classic/mozapps/extensions/viewWatermark.png (extensions/skin/viewWatermark.png)
|
skin/classic/mozapps/extensions/viewWatermark.png (extensions/skin/viewWatermark.png)
|
||||||
|
skin/classic/mozapps/update/update.css (update/skin/update.css)
|
||||||
skin/classic/mozapps/shared/richview.xml (shared/skin/richview.xml)
|
skin/classic/mozapps/shared/richview.xml (shared/skin/richview.xml)
|
||||||
skin/classic/mozapps/shared/richview.css (shared/skin/richview.css)
|
skin/classic/mozapps/shared/richview.css (shared/skin/richview.css)
|
||||||
skin/classic/mozapps/shared/viewFader.png (shared/skin/viewFader.png)
|
skin/classic/mozapps/shared/viewFader.png (shared/skin/viewFader.png)
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
updateitem {
|
||||||
|
-moz-binding: url("chrome://mozapps/content/update/updateItem.xml#updateItem");
|
||||||
|
display: -moz-box;
|
||||||
|
}
|
||||||
|
|
|
@ -47,12 +47,13 @@ var gUpdater = null;
|
||||||
|
|
||||||
var gUpdateWizard = {
|
var gUpdateWizard = {
|
||||||
_items: [],
|
_items: [],
|
||||||
|
_itemsToUpdate: [],
|
||||||
|
|
||||||
init: function ()
|
init: function ()
|
||||||
{
|
{
|
||||||
gUpdater = window.arguments[0];
|
gUpdater = window.arguments[0].QueryInterface(Components.interfaces.nsIExtensionItemUpdater);
|
||||||
for (var i = 1; i < window.argments.length; ++i)
|
for (var i = 1; i < window.arguments.length; ++i)
|
||||||
this._items.push(window.arguments[i].QueryInterface(Components.interfaces.nsIExtensionItem));
|
this._items.push(window.arguments[i].QueryInterface(nsIExtensionItem));
|
||||||
|
|
||||||
gMismatchPage.init();
|
gMismatchPage.init();
|
||||||
},
|
},
|
||||||
|
@ -76,7 +77,7 @@ var gMismatchPage = {
|
||||||
incompatible.appendChild(listitem);
|
incompatible.appendChild(listitem);
|
||||||
}
|
}
|
||||||
|
|
||||||
var strings = document.getElementById("extensionsStrings");
|
var strings = document.getElementById("updateStrings");
|
||||||
var next = document.documentElement.getButton("next");
|
var next = document.documentElement.getButton("next");
|
||||||
next.label = strings.getString("mismatchCheckNow");
|
next.label = strings.getString("mismatchCheckNow");
|
||||||
var cancel = document.documentElement.getButton("cancel");
|
var cancel = document.documentElement.getButton("cancel");
|
||||||
|
@ -90,7 +91,7 @@ var gMismatchPage = {
|
||||||
};
|
};
|
||||||
|
|
||||||
var gUpdatePage = {
|
var gUpdatePage = {
|
||||||
_itemsToUpdate: [],
|
_completeCount: 0,
|
||||||
_messages: ["update-started",
|
_messages: ["update-started",
|
||||||
"update-ended",
|
"update-ended",
|
||||||
"update-item-started",
|
"update-item-started",
|
||||||
|
@ -99,31 +100,22 @@ var gUpdatePage = {
|
||||||
|
|
||||||
onPageShow: function ()
|
onPageShow: function ()
|
||||||
{
|
{
|
||||||
|
var strings = document.getElementById("updateStrings");
|
||||||
|
var next = document.documentElement.getButton("next");
|
||||||
|
next.label = strings.getString("nextButtonText");
|
||||||
|
next.disabled = true;
|
||||||
|
var cancel = document.documentElement.getButton("cancel");
|
||||||
|
cancel.label = strings.getString("cancelButtonText");
|
||||||
|
cancel.disabled = true;
|
||||||
|
var back = document.documentElement.getButton("back");
|
||||||
|
back.disabled = true;
|
||||||
|
|
||||||
var os = Components.classes["@mozilla.org/observer-service;1"]
|
var os = Components.classes["@mozilla.org/observer-service;1"]
|
||||||
.getService(Components.interfaces.nsIObserverService);
|
.getService(Components.interfaces.nsIObserverService);
|
||||||
for (var i = 0; i < this._messages.length; ++i)
|
for (var i = 0; i < this._messages.length; ++i)
|
||||||
os.addObserver(this, this._messages[i], false);
|
os.addObserver(this, this._messages[i], false);
|
||||||
|
|
||||||
var extensions = [];
|
gUpdater.checkForUpdates();
|
||||||
var themes = [];
|
|
||||||
for (i = 0; i < gExtensionItems.length; ++i) {
|
|
||||||
switch (gExtensionItems[i].type) {
|
|
||||||
case nsIExtensionItem.TYPE_EXTENSION:
|
|
||||||
extensions.push(gExtensionItems[i]);
|
|
||||||
break;
|
|
||||||
case nsIExtensionItem.TYPE_THEME:
|
|
||||||
themes.push(gExtensionItems[i]);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var em = Components.classes["@mozilla.org/extensions/manager;1"]
|
|
||||||
.getService(Components.interfaces.nsIExtensionManager);
|
|
||||||
if (this._updateType == "extensions")
|
|
||||||
em.updateExtensions(extensions);
|
|
||||||
else if (gUpdateType == "themes")
|
|
||||||
em.updateTheme(this._extensionID);
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
uninit: function ()
|
uninit: function ()
|
||||||
|
@ -142,23 +134,49 @@ var gUpdatePage = {
|
||||||
case "update-item-started":
|
case "update-item-started":
|
||||||
break;
|
break;
|
||||||
case "update-item-ended":
|
case "update-item-ended":
|
||||||
this._extensionsToUpdate.push(aSubject);
|
dump("*** update-item-ended\n");
|
||||||
|
gUpdateWizard._itemsToUpdate.push(aSubject);
|
||||||
|
|
||||||
|
++this._completeCount;
|
||||||
|
|
||||||
|
var progress = document.getElementById("checking.progress");
|
||||||
|
progress.value = Math.ceil(this._completeCount / gUpdateWizard._itemsToUpdate.length) * 100;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case "update-ended":
|
case "update-ended":
|
||||||
var installObj = { };
|
if (gUpdateWizard._itemsToUpdate.length > 0)
|
||||||
for (var i = 0; i < this._extensionsToUpdate.length; ++i) {
|
document.getElementById("checking").setAttribute("next", "found");
|
||||||
var e = this._extensionsToUpdate[i];
|
document.documentElement.advance();
|
||||||
installObj[e.name + " " + e.version] = e.xpiURL;
|
|
||||||
}
|
|
||||||
if (InstallTrigger.updateEnabled())
|
|
||||||
InstallTrigger.install(installObj);
|
|
||||||
|
|
||||||
document.documentElement.acceptDialog();
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var gFoundPage = {
|
||||||
|
|
||||||
|
onPageShow: function ()
|
||||||
|
{
|
||||||
|
var strings = document.getElementById("updateStrings");
|
||||||
|
var next = document.documentElement.getButton("next");
|
||||||
|
next.label = strings.getString("installButtonText");
|
||||||
|
next.disabled = false;
|
||||||
|
var back = document.documentElement.getButton("back");
|
||||||
|
back.disabled = true;
|
||||||
|
|
||||||
|
var list = document.getElementById("foundList");
|
||||||
|
for (var i = 0; i < gUpdateWizard._itemsToUpdate.length; ++i) {
|
||||||
|
var updateitem = document.createElement("updateitem");
|
||||||
|
list.appendChild(updateitem);
|
||||||
|
|
||||||
|
var item = gUpdateWizard._itemsToUpdate[i];
|
||||||
|
updateitem.name = item.name + " " + item.version;
|
||||||
|
updateitem.url = item.xpiURL;
|
||||||
|
if (item.iconURL != "")
|
||||||
|
updateitem.icon = item.iconURL;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
# -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||||
|
|
|
@ -37,6 +37,8 @@
|
||||||
# ***** END LICENSE BLOCK *****
|
# ***** END LICENSE BLOCK *****
|
||||||
|
|
||||||
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
|
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
|
||||||
|
<?xml-stylesheet href="chrome://mozapps/content/update/update.css" type="text/css"?>
|
||||||
|
<?xml-stylesheet href="chrome://mozapps/skin/update/update.css" type="text/css"?>
|
||||||
|
|
||||||
<!DOCTYPE wizard [
|
<!DOCTYPE wizard [
|
||||||
<!ENTITY % updateDTD SYSTEM "chrome://mozapps/locale/update/update.dtd">
|
<!ENTITY % updateDTD SYSTEM "chrome://mozapps/locale/update/update.dtd">
|
||||||
|
@ -57,10 +59,10 @@
|
||||||
|
|
||||||
<stringbundleset id="updateSet">
|
<stringbundleset id="updateSet">
|
||||||
<stringbundle id="brandStrings" src="chrome://global/locale/brand.properties"/>
|
<stringbundle id="brandStrings" src="chrome://global/locale/brand.properties"/>
|
||||||
<stringbundle id="extensionsStrings" src="chrome://mozapps/locale/extensions/extensions.properties"/>
|
<stringbundle id="updateStrings" src="chrome://mozapps/locale/update/update.properties"/>
|
||||||
</stringbundleset>
|
</stringbundleset>
|
||||||
|
|
||||||
<wizardpage id="mismatch" pageid="mismatch" next="checkingForUpdates"
|
<wizardpage id="mismatch" pageid="mismatch" next="checking"
|
||||||
label="&mismatch.title;"
|
label="&mismatch.title;"
|
||||||
onpageadvanced="gMismatchPage.onPageAdvanced();">
|
onpageadvanced="gMismatchPage.onPageAdvanced();">
|
||||||
|
|
||||||
|
@ -79,29 +81,38 @@
|
||||||
|
|
||||||
</wizardpage>
|
</wizardpage>
|
||||||
|
|
||||||
<wizardpage id="checkingForUpdates" pageid="checkingForUpdates" next="updatesNotFound"
|
<wizardpage id="checking" pageid="checking" next="noupdates"
|
||||||
label="&checking.title;"
|
label="&checking.title;"
|
||||||
onpageshow="gUpdatePage.onPageShow();">
|
onpageshow="gUpdatePage.onPageShow();">
|
||||||
|
|
||||||
<label>&checking.intro.label;</label>
|
<label>&checking.intro.label;</label>
|
||||||
|
|
||||||
<progressmeter id="progress"/>
|
<separator/>
|
||||||
|
|
||||||
|
<progressmeter id="checking.progress"/>
|
||||||
|
|
||||||
</wizardpage>
|
</wizardpage>
|
||||||
|
|
||||||
<wizardpage id="updatesNotFound" pageid="updatesNotFound" next="finished"
|
<wizardpage id="noupdates" pageid="noupdates" next="finished"
|
||||||
label="&updatesNotFound.title;"
|
label="&noupdates.title;"
|
||||||
onpageshow="UpdateWizard.onUpdatesNotFoundPageShow();"
|
onpageshow="gNoUpdatesPage.onPageShow();"
|
||||||
onpageadvanced="UpdateWizard.onUpdatesNotFoundPageAdvanced();">
|
onpageadvanced="gNoUpdatesPage.onPageAdvanced();">
|
||||||
</wizardpage>
|
</wizardpage>
|
||||||
|
|
||||||
<wizardpage id="updatesFound" pageid="updatesFound" next="finished"
|
<wizardpage id="found" pageid="found" next="installing"
|
||||||
label="&updatesFound.title;"
|
label="&found.title;"
|
||||||
onpageshow="UpdateWizard.onUpdatesFoundPageShow();"
|
onpageshow="gFoundPage.onPageShow();"
|
||||||
onpageadvanced="UpdateWizard.onUpdatesFoundPageAdvanced();">
|
onpageadvanced="gFoundPage.onPageAdvanced();">
|
||||||
|
|
||||||
|
<label>&found.intro.label;</label>
|
||||||
|
|
||||||
|
<vbox id="foundList" flex="1" style="height: 16em; overflow: auto;"/>
|
||||||
|
|
||||||
|
<label>&found.instructions.label;</label>
|
||||||
|
|
||||||
</wizardpage>
|
</wizardpage>
|
||||||
|
|
||||||
<wizardpage id="installing" pageid="installing"
|
<wizardpage id="installing" pageid="installing" next="finished"
|
||||||
label="&installing.title;"
|
label="&installing.title;"
|
||||||
onpageshow="UpdateWizard.onFinishedPageShow();"
|
onpageshow="UpdateWizard.onFinishedPageShow();"
|
||||||
onpageadvanced="UpdateWizard.onFinishedPageAdvanced();">
|
onpageadvanced="UpdateWizard.onFinishedPageAdvanced();">
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
<!DOCTYPE bindings SYSTEM "chrome://mozapps/locale/update/update.dtd">
|
||||||
|
|
||||||
|
<bindings id="updateItemBindings"
|
||||||
|
xmlns="http://www.mozilla.org/xbl"
|
||||||
|
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||||
|
xmlns:xbl="http://www.mozilla.org/xbl">
|
||||||
|
|
||||||
|
<binding id="updateItem">
|
||||||
|
<resources>
|
||||||
|
<stylesheet src="chrome://mozapps/skin/update/update.css"/>
|
||||||
|
</resources>
|
||||||
|
<content>
|
||||||
|
<xul:hbox flex="1">
|
||||||
|
<xul:vbox align="center" pack="center">
|
||||||
|
<xul:image class="installItemIcon" xbl:inherits="src=icon"/>
|
||||||
|
</xul:vbox>
|
||||||
|
<xul:vbox flex="1">
|
||||||
|
<xul:hbox class="updateItemNameRow" align="center">
|
||||||
|
<xul:label class="updateItemName" xbl:inherits="value=name" flex="1" crop="right"/>
|
||||||
|
</xul:hbox>
|
||||||
|
<xul:hbox class="updateItemDetailsRow" align="center">
|
||||||
|
<xul:label class="updateItemFromLabel">&from.label;</xul:label>
|
||||||
|
<xul:textbox class="updateItemURL" xbl:inherits="value=url" flex="1" readonly="true" crop="right"/>
|
||||||
|
</xul:hbox>
|
||||||
|
</xul:vbox>
|
||||||
|
</xul:hbox>
|
||||||
|
</content>
|
||||||
|
<implementation>
|
||||||
|
<property name="name" onset="this.setAttribute('name', val); return val;"
|
||||||
|
onget="return this.getAttribute('name');"/>
|
||||||
|
<property name="url" onset="this.setAttribute('url', val); return val;"
|
||||||
|
onget="return this.getAttribute('url');"/>
|
||||||
|
<property name="icon" onset="this.setAttribute('icon', val); return val;"
|
||||||
|
onget="return this.getAttribute('icon');"/>
|
||||||
|
</implementation>
|
||||||
|
</binding>
|
||||||
|
|
||||||
|
</bindings>
|
||||||
|
|
|
@ -2,20 +2,24 @@
|
||||||
|
|
||||||
<!ENTITY mismatch.title "Incompatible Extensions">
|
<!ENTITY mismatch.title "Incompatible Extensions">
|
||||||
<!ENTITY mismatch.intro1.label "The following extensions are not compatible with the new version
|
<!ENTITY mismatch.intro1.label "The following extensions are not compatible with the new version
|
||||||
of &brandShortName; you have just installed.">
|
of &brandShortName; you have just installed:">
|
||||||
<!ENTITY mismatch.intro2.label "They have been disabled until compatible versions are
|
<!ENTITY mismatch.intro2.label "They have been disabled until compatible versions are
|
||||||
installed.">
|
installed.">
|
||||||
<!ENTITY mismatch.intro3.label "&brandShortName; can check for and install newer, compatible
|
<!ENTITY mismatch.intro3.label "&brandShortName; can check for and install newer, compatible
|
||||||
versions of these extensions.">
|
versions of these extensions.">
|
||||||
|
|
||||||
<!ENTITY checking.title "Checking for Updates">
|
<!ENTITY checking.title "Checking for Updates">
|
||||||
<!ENTITY checking.intro.label "&brandShortName; is now checking for updates to your extensions...">
|
<!ENTITY checking.intro.label "&brandShortName; is now checking for available updates...">
|
||||||
|
|
||||||
<!ENTITY updatesNotFound.title "No Updates Found">
|
<!ENTITY noupdates.title "No Updates Found">
|
||||||
|
|
||||||
|
<!ENTITY found.title "Updates Found">
|
||||||
|
<!ENTITY found.intro.label "&brandShortName; found the following available updates:">
|
||||||
|
<!ENTITY found.instructions.label "Choose the ones you want to install and click Install Now to install them.">
|
||||||
|
|
||||||
<!ENTITY updatesFound.title "Updates Found">
|
|
||||||
|
|
||||||
<!ENTITY installing.title "Installing Updates">
|
<!ENTITY installing.title "Installing Updates">
|
||||||
|
|
||||||
<!ENTITY finished.title "Done">
|
<!ENTITY finished.title "Done">
|
||||||
|
|
||||||
|
<!ENTITY from.label "from: ">
|
|
@ -0,0 +1,5 @@
|
||||||
|
mismatchCheckNow=Check Now
|
||||||
|
mismatchDontCheck=Don't Check
|
||||||
|
installButtonText=Install Now
|
||||||
|
nextButtonText=Next >
|
||||||
|
cancelButtonText=Cancel
|
|
@ -0,0 +1,41 @@
|
||||||
|
#foundList {
|
||||||
|
-moz-appearance: listbox;
|
||||||
|
margin: 10px 4px 10px 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
updateitem {
|
||||||
|
padding: 5px 0px 5px 5px;
|
||||||
|
border-bottom: 1px dotted #C0C0C0;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.warning {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.updateItemIcon {
|
||||||
|
width: 32px;
|
||||||
|
height: 32px;
|
||||||
|
max-width: 32px !important;
|
||||||
|
max-height: 32px !important;
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.updateItemName {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.updateItemNameRow {
|
||||||
|
padding-bottom: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.updateItemURL {
|
||||||
|
-moz-appearance: none;
|
||||||
|
border: none;
|
||||||
|
background-color: Window;
|
||||||
|
}
|
||||||
|
|
||||||
|
.updateItemIcon {
|
||||||
|
list-style-image: url("chrome://mozapps/skin/xpinstall/xpinstallItemGeneric.png");
|
||||||
|
}
|
||||||
|
|
|
@ -57,7 +57,7 @@
|
||||||
<vbox flex="1" id="dialogContentBox">
|
<vbox flex="1" id="dialogContentBox">
|
||||||
<description id="itemWarningIntro"/>
|
<description id="itemWarningIntro"/>
|
||||||
|
|
||||||
<vbox id="itemList" flex="1" style="height: 16em; overflow: auto;"/>
|
<vbox id="itemList" class="listbox" flex="1" style="height: 16em; overflow: auto;"/>
|
||||||
|
|
||||||
<description>&warningText2.label;</description>
|
<description>&warningText2.label;</description>
|
||||||
<description class="warning">&warningText3.label;</description>
|
<description class="warning">&warningText3.label;</description>
|
||||||
|
|
|
@ -1,59 +0,0 @@
|
||||||
#xpinstallIcon {
|
|
||||||
list-style-image: url("chrome://mozapps/skin/xpinstall/xpinstallIcon.png");
|
|
||||||
}
|
|
||||||
|
|
||||||
#itemList {
|
|
||||||
-moz-appearance: listbox;
|
|
||||||
margin: 10px 4px 10px 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#dialogContentBox {
|
|
||||||
padding: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
installitem {
|
|
||||||
padding: 5px 0px 5px 5px;
|
|
||||||
border-bottom: 1px dotted #C0C0C0;
|
|
||||||
margin-bottom: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.warning {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.xpinstallItemIcon {
|
|
||||||
width: 32px;
|
|
||||||
height: 32px;
|
|
||||||
max-width: 32px !important;
|
|
||||||
max-height: 32px !important;
|
|
||||||
margin-right: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.xpinstallItemName {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.xpinstallItemSigned {
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
|
|
||||||
.xpinstallItemSigned[signed=false] {
|
|
||||||
color: #ED1C24;
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.xpinstallItemNameRow {
|
|
||||||
padding-bottom: 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.xpinstallItemURL {
|
|
||||||
-moz-appearance: none;
|
|
||||||
border: none;
|
|
||||||
background-color: Window;
|
|
||||||
}
|
|
||||||
|
|
||||||
.xpinstallItemIcon {
|
|
||||||
list-style-image: url("chrome://mozapps/skin/xpinstall/xpinstallItemGeneric.png");
|
|
||||||
}
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче