Bug 298140 - Extension Manager regressions. patch by rob strong, r/a=bsmedberg

This commit is contained in:
doronr%us.ibm.com 2005-06-22 20:29:45 +00:00
parent 5c48683e3e
commit 8941f37a65
4 changed files with 29 additions and 31 deletions

View File

@ -192,7 +192,7 @@ function Startup()
if (lastSelected != "")
lastSelected = document.getElementById(lastSelected);
if (!lastSelected)
gExtensionsView.selectionForward();
gExtensionsView.goDown();
else
gExtensionsView.selectedItem = lastSelected;
@ -256,6 +256,8 @@ function Shutdown()
if (gWindowState != "extensions")
gExtensionsView.removeEventListener("richview-select", onThemeSelect, false);
gExtensionsView.removeEventListener("richview-select", onExtensionSelect, false);
gExtensionsView.database.RemoveDataSource(gExtensionManager.datasource);
gExtensionManager.removeDownloadListenerAt(gObserverIndex);
@ -332,6 +334,7 @@ XPInstallDownloadManager.prototype = {
}
gExtensionManager.addDownloads(items, items.length);
gExtensionsView.scrollBoxObject.ensureElementIsVisible(gExtensionsView.lastChild);
},
removeDownload: function (aEvent)
@ -795,7 +798,7 @@ var gExtensionsViewController = {
return selectedItem && (children[children.length-1] != selectedItem);
case "cmd_showFolder":
return selectedItem &&
selectedItem.getAttribute("toBeInstalled") != "true";
opType != OP_NEEDS_INSTALL;
#ifndef MOZ_PHOENIX
case "cmd_install":
return true;

View File

@ -66,7 +66,6 @@
//
const nsIUpdateItem = Components.interfaces.nsIUpdateItem;
const nsIUpdateService = Components.interfaces.nsIUpdateService;
const PREF_UPDATE_EXTENSIONS_ENABLED = "extensions.update.enabled";
const PREF_UPDATE_EXTENSIONS_AUTOUPDATEENABLED = "extensions.update.autoUpdateEnabled";
@ -286,7 +285,7 @@ var gUpdatePage = {
var extensionCount = em.getItemList(nsIUpdateItem.TYPE_EXTENSION, {}).length;
var themeCount = em.getItemList(nsIUpdateItem.TYPE_THEME, {}).length;
this._totalCount = extensionCount + themeCount + 1;
this._totalCount = extensionCount + themeCount;
}
}
return this._totalCount;
@ -295,48 +294,44 @@ var gUpdatePage = {
observe: function (aSubject, aTopic, aData)
{
var canFinish = false;
dump("*** items = " + gUpdateWizard.items + "\n");
switch (aTopic) {
case "Update:Extension:Started":
break;
case "Update:Extension:Item-Started":
break;
case "Update:Extension:Item-Ended":
if (aData == "update-check-success") {
var item = aSubject.QueryInterface(Components.interfaces.nsIUpdateItem);
var item = aSubject.QueryInterface(Components.interfaces.nsIUpdateItem);
if (aData == "update-check-success")
gUpdateWizard.itemsToUpdate.push(item);
var updateStrings = document.getElementById("updateStrings");
var status = document.getElementById("checking.status");
var statusString = updateStrings.getFormattedString("checkingPrefix", [item.name]);
status.setAttribute("value", statusString);
}
++this._completeCount;
// Update the Progress Bar
// Update the status text and progress bar
var updateStrings = document.getElementById("updateStrings");
var status = document.getElementById("checking.status");
var statusString = updateStrings.getFormattedString("checkingPrefix", [item.name]);
status.setAttribute("value", statusString);
var progress = document.getElementById("checking.progress");
progress.value = Math.ceil((this._completeCount / this.totalCount) * 100);
break;
case "Update:Extension:Item-Error":
if (aSubject) {
var item = aSubject.QueryInterface(Components.interfaces.nsIUpdateItem);
gUpdateWizard.errorItems.push(item);
}
else {
for (var i = 0; i < gUpdateWizard.items.length; ++i) {
if (!gUpdateWizard.items[i].updateRDF)
gUpdateWizard.errorItems.push(gUpdateWizard.items[i]);
}
}
var item = aSubject.QueryInterface(Components.interfaces.nsIUpdateItem);
gUpdateWizard.errorItems.push(item);
++this._completeCount;
// Update the status text and progress bar
var updateStrings = document.getElementById("updateStrings");
var status = document.getElementById("checking.status");
var statusString = updateStrings.getFormattedString("checkingPrefix", [item.name]);
status.setAttribute("value", statusString);
var progress = document.getElementById("checking.progress");
progress.value = Math.ceil((this._completeCount / this.totalCount) * 100);
break;
case "Update:Extension:Ended":
canFinish = gUpdateWizard.items.length > 0;
dump("*** " + aTopic + "... canFinish = " + canFinish + "\n");
break;
case "Update:Ended":
// If we're doing a general update check, (that is, no specific extensions/themes
@ -373,11 +368,11 @@ var gFoundPage = {
foundAddonsList.appendChild(checkbox);
checkbox.setAttribute("type", "update");
checkbox.label = item.name + " " + item.version;
checkbox.URL = item.xpiURL;
checkbox.setAttribute("URL", item.xpiURL);
checkbox.infoURL = "";
checkbox.internalName = "";
uri.spec = item.xpiURL;
checkbox.source = uri.host;
checkbox.setAttribute("source", uri.host);
checkbox.checked = true;
hasExtensions = true;
}

View File

@ -5887,7 +5887,7 @@ ExtensionsDataSource.prototype = {
var ctr = getContainer(this._inner, this._itemRoot);
if (ctr.IndexOf(res) == -1)
ctr.InsertElementAt(res, 1, true);
ctr.AppendElement(res);
this.Flush();
},
@ -5924,7 +5924,7 @@ ExtensionsDataSource.prototype = {
var ctr = getContainer(this._inner, this._itemRoot);
if (ctr.IndexOf(res) == -1)
ctr.InsertElementAt(res, 1, true);
ctr.AppendElement(res);
this.Flush();
},

View File

@ -40,7 +40,7 @@
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<!DOCTYPE dialog SYSTEM "chrome://mozapps/locale/update/errors.dtd">
<!DOCTYPE dialog SYSTEM "chrome://mozapps/locale/extensions/errors.dtd">
<dialog id="errors"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
@ -100,7 +100,7 @@
<stringbundleset id="updateSet">
<stringbundle id="brandStrings" src="chrome://branding/locale/brand.properties"/>
<stringbundle id="xpinstallStrings" src="chrome://global/locale/xpinstall/xpinstall.properties"/>
<stringbundle id="updateStrings" src="chrome://mozapps/locale/update/update.properties"/>
<stringbundle id="updateStrings" src="chrome://mozapps/locale/extensions/update.properties"/>
</stringbundleset>
<description id="intro"/>