From 8941f37a658e04b2a5206e449ee9c0540dcfe8c3 Mon Sep 17 00:00:00 2001 From: "doronr%us.ibm.com" Date: Wed, 22 Jun 2005 20:29:45 +0000 Subject: [PATCH] Bug 298140 - Extension Manager regressions. patch by rob strong, r/a=bsmedberg --- .../mozapps/extensions/content/extensions.js | 7 ++- toolkit/mozapps/extensions/content/update.js | 45 +++++++++---------- .../extensions/src/nsExtensionManager.js.in | 4 +- toolkit/mozapps/update/content/errors.xul | 4 +- 4 files changed, 29 insertions(+), 31 deletions(-) diff --git a/toolkit/mozapps/extensions/content/extensions.js b/toolkit/mozapps/extensions/content/extensions.js index 949df93d1002..0514d72d762d 100644 --- a/toolkit/mozapps/extensions/content/extensions.js +++ b/toolkit/mozapps/extensions/content/extensions.js @@ -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; diff --git a/toolkit/mozapps/extensions/content/update.js b/toolkit/mozapps/extensions/content/update.js index 23db0b759c80..3b5b052057e8 100644 --- a/toolkit/mozapps/extensions/content/update.js +++ b/toolkit/mozapps/extensions/content/update.js @@ -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; } diff --git a/toolkit/mozapps/extensions/src/nsExtensionManager.js.in b/toolkit/mozapps/extensions/src/nsExtensionManager.js.in index 09b1c282be37..1e2b1a7cc244 100644 --- a/toolkit/mozapps/extensions/src/nsExtensionManager.js.in +++ b/toolkit/mozapps/extensions/src/nsExtensionManager.js.in @@ -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(); }, diff --git a/toolkit/mozapps/update/content/errors.xul b/toolkit/mozapps/update/content/errors.xul index 8180a76ba541..d94433ccdcd2 100644 --- a/toolkit/mozapps/update/content/errors.xul +++ b/toolkit/mozapps/update/content/errors.xul @@ -40,7 +40,7 @@ - + - +