mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-03-02 22:37:50 +00:00
Bug 298140 - Extension Manager regressions. patch by rob strong, r/a=bsmedberg
This commit is contained in:
parent
5c48683e3e
commit
8941f37a65
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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();
|
||||
},
|
||||
|
@ -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"/>
|
||||
|
Loading…
x
Reference in New Issue
Block a user