[Pkg-mozext-commits] [SCM] Debian packaging of the downthemall extension. branch, master, updated. debian/2.0.13-1-4-gef0cdb2

Michael Meskes meskes at debian.org
Sun Feb 19 13:16:40 UTC 2012


The following commit has been merged in the master branch:
commit 58eabb99f79fd8c0c9f38f157eaf99828f3291a7
Author: Michael Meskes <meskes at debian.org>
Date:   Sun Feb 19 11:32:53 2012 +0100

    Imported Upstream version 2.0.13
    
    Closes: #660422

diff --git a/META-INF/manifest.mf b/META-INF/manifest.mf
index 12043d6..8619589 100644
--- a/META-INF/manifest.mf
+++ b/META-INF/manifest.mf
@@ -2,16 +2,16 @@ Manifest-Version: 1.0
 Created-By: xpisign.py (version: 1.8; https://github.com/nmaier/xpisign.py)
 
 Name: install.rdf
-SHA1-Digest: 369sZgQyqpOSIB2YJyXQFZ9cupo=
+SHA1-Digest: bRFzbxRSs0wecL7Yi9Juh8LP9W8=
 
 Name: chrome.manifest
-SHA1-Digest: aSA2+UAI1FxhDU9rqdaWsZOb+R4=
+SHA1-Digest: hQ3oeEBr7zU41vGK3lp3r+OSZqo=
 
 Name: icon.png
 SHA1-Digest: MsXiFy9pCljDLTymOJZSPGj51rw=
 
 Name: chrome/chrome.jar
-SHA1-Digest: O8fZqbPp1xbn2ltuCz+1jWPlrOo=
+SHA1-Digest: qvx3jjbjqJc+5PEsBass5N1dna0=
 
 Name: chrome/icons/default/DownThemAll.ico
 SHA1-Digest: sS6rGiLKMBmfQPX0vKKP7ahJSF4=
@@ -23,7 +23,7 @@ Name: chrome/icons/default/DownThemAllMirrors.ico
 SHA1-Digest: GyL6b9wyHztbKtQF4EfIgV7dzKs=
 
 Name: components/services.js
-SHA1-Digest: XokiVzgGcMnNGXVbDm6aQzHtajk=
+SHA1-Digest: uqxCt+PNPxVmu4Zs8HtECTaJ5xc=
 
 Name: components/services.xpt
 SHA1-Digest: PZB3LenvXM1644t5gNkeVepEIoo=
@@ -38,7 +38,7 @@ Name: interfaces/filterManager.idl
 SHA1-Digest: 3QkFGqApDtIy6QrAnZZk1MvG5OI=
 
 Name: modules/_apiloader.jsm
-SHA1-Digest: DUk9BEDAJM2rk6xsgRXRCo0YzjE=
+SHA1-Digest: ZJ8S3Pp5y5mll0uNLiUo4jbkDB0=
 
 Name: modules/api.jsm
 SHA1-Digest: rDbP/lududiL3N2y6B249xl/rGo=
@@ -65,7 +65,7 @@ Name: modules/version.jsm
 SHA1-Digest: WH2UyeHhSS7Lv1W/tQXfhzAd5/c=
 
 Name: modules/manager/connection.jsm
-SHA1-Digest: KZzsCuZ0uNODmpv67rG0QaqfKnc=
+SHA1-Digest: afljOqeP+9dd8726WC/CgqOsTbU=
 
 Name: modules/manager/decompressor.jsm
 SHA1-Digest: 93gx2mNUrl3LAjybE4f/AcrMWP0=
@@ -131,7 +131,7 @@ Name: modules/support/mediator.jsm
 SHA1-Digest: PjRh4RSeKnSaVHnSkMhFSk2mKPU=
 
 Name: modules/support/metalinker.jsm
-SHA1-Digest: EEZ+aKZoyBE6/pU/ApqNgSwNC1Y=
+SHA1-Digest: tTmnjTPou4a/wFPdPuwnE9Vb6Vc=
 
 Name: modules/support/pbm.jsm
 SHA1-Digest: wzX+3vH1uYIml5gNfabR8xoPVic=
diff --git a/META-INF/zigbert.rsa b/META-INF/zigbert.rsa
index 4e18f55..5b50302 100644
Binary files a/META-INF/zigbert.rsa and b/META-INF/zigbert.rsa differ
diff --git a/META-INF/zigbert.sf b/META-INF/zigbert.sf
index 8e0b065..1c9c55b 100644
--- a/META-INF/zigbert.sf
+++ b/META-INF/zigbert.sf
@@ -3,16 +3,16 @@ Created-By: xpisign.py (version: 1.8; https://github.com/nmaier/xpisign.py)
 SHA1-Digest: cCZ7eadNN7AwSR2JanajlYgnRMA=
 
 Name: install.rdf
-SHA1-Digest: OCT88BUbicV/j4fRF/pKPtF5vac=
+SHA1-Digest: fFTfxgiVuJburbzC7zLKPk7pYgM=
 
 Name: chrome.manifest
-SHA1-Digest: hY1/WPKi0CZhke5QGjfbRhCbsJE=
+SHA1-Digest: o8vByijRXgXl+WyQrM9NMT9iOiY=
 
 Name: icon.png
 SHA1-Digest: PkQqsqFzd2x7jceqZr7DLewvWdY=
 
 Name: chrome/chrome.jar
-SHA1-Digest: DBXQhF40XWdj2kBJrzl9unu48iQ=
+SHA1-Digest: aFET9dp+1lOBNRkMd2EQe64DgoU=
 
 Name: chrome/icons/default/DownThemAll.ico
 SHA1-Digest: hiOTeF7wcn2LnZ7gUB2kjWxsQYw=
@@ -24,7 +24,7 @@ Name: chrome/icons/default/DownThemAllMirrors.ico
 SHA1-Digest: +3TfHEP5PQS8/HiyDxgTmDQBN9M=
 
 Name: components/services.js
-SHA1-Digest: iJmiudllpsf6BG5wrOPjoR5WsZ0=
+SHA1-Digest: F8q1/xk8UGKSNL7TMKV4Wm+idnI=
 
 Name: components/services.xpt
 SHA1-Digest: KEhNTM6k9+Wcf476ZTGgTMrTVLk=
@@ -39,7 +39,7 @@ Name: interfaces/filterManager.idl
 SHA1-Digest: qVjMCMQ82tQjh+pvSXM2oIjmwtg=
 
 Name: modules/_apiloader.jsm
-SHA1-Digest: 0IIdzKC5ORzsXZiQ8afprZBVMfQ=
+SHA1-Digest: cFTbmArb0BQF1HA9VmTZfGTpA8o=
 
 Name: modules/api.jsm
 SHA1-Digest: FTpES0JOE7J88oBQF1MyhDrnGaE=
@@ -66,7 +66,7 @@ Name: modules/version.jsm
 SHA1-Digest: +K2thA/mVwBcJANF+VQn8BrhcMg=
 
 Name: modules/manager/connection.jsm
-SHA1-Digest: 4OBZCegTi9NWEj2ctu+0njs59+8=
+SHA1-Digest: IUKX7NiW917lk36orRKISTPSTdo=
 
 Name: modules/manager/decompressor.jsm
 SHA1-Digest: k3Uc9Nrt0jq07hxz7B/bvBF0j20=
@@ -132,7 +132,7 @@ Name: modules/support/mediator.jsm
 SHA1-Digest: e2+rM1dDZ5N0zsh7rQpPC69u+5I=
 
 Name: modules/support/metalinker.jsm
-SHA1-Digest: MwMVvssBdDEbcDwWkC8sSWVodY0=
+SHA1-Digest: +jnXQxIEaDCd7LGRz3U8FQSi4R0=
 
 Name: modules/support/pbm.jsm
 SHA1-Digest: RTHC3KolW9DJhqfH1y0+YDY0lzM=
diff --git a/chrome.manifest b/chrome.manifest
index b0fcb68..4f21a18 100644
--- a/chrome.manifest
+++ b/chrome.manifest
@@ -30,6 +30,7 @@ locale dta pt-BR jar:chrome/chrome.jar!/locale/pt-BR/
 locale dta pt-PT jar:chrome/chrome.jar!/locale/pt-PT/
 locale dta ro jar:chrome/chrome.jar!/locale/ro/
 locale dta ru jar:chrome/chrome.jar!/locale/ru/
+locale dta sk-SK jar:chrome/chrome.jar!/locale/sk-SK/
 locale dta sr jar:chrome/chrome.jar!/locale/sr/
 locale dta zh-CN jar:chrome/chrome.jar!/locale/zh-CN/
 locale dta zh-TW jar:chrome/chrome.jar!/locale/zh-TW/
diff --git a/chrome/chrome.jar!/content/dta/manager/info.js b/chrome/chrome.jar!/content/dta/manager/info.js
index 96f5c3f..4c377be 100644
--- a/chrome/chrome.jar!/content/dta/manager/info.js
+++ b/chrome/chrome.jar!/content/dta/manager/info.js
@@ -38,6 +38,7 @@ var Dialog = {
 				}
 				$('description').value = d.description;
 				this.item = d;
+				Tooltip.init();
 				Tooltip.start(d);
 			}
 			else {
@@ -77,7 +78,10 @@ var Dialog = {
 		catch(ex) {
 			Debug.log('load', ex);
 		}
-		window.setTimeout('window.sizeToContent()', 0);
+		window.setTimeout(function() {
+			window.sizeToContent();
+			addEventListener("resize", function() Dialog.resize(), true);
+		}, 0);
 	},
 	accept: function DTA_accept() {
 		if (this.isFullyDisabled) {
@@ -203,5 +207,5 @@ var Dialog = {
 		return true;
 	}
 };
-addEventListener("resize", function() Dialog.resize(), true);
+addEventListener("load", function() Dialog.load(), true);
 addEventListener('unload', function() Dialog.unload(), true);
\ No newline at end of file
diff --git a/chrome/chrome.jar!/content/dta/manager/info.xul b/chrome/chrome.jar!/content/dta/manager/info.xul
index f04f06b..8e3f02c 100644
--- a/chrome/chrome.jar!/content/dta/manager/info.xul
+++ b/chrome/chrome.jar!/content/dta/manager/info.xul
@@ -11,7 +11,7 @@
 	%managerDTD;	
 ]>
 
-<dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" title="&infoMultiple.value;" id="DownThemAll" onload="Dialog.load();" buttons="accept,cancel" ondialogaccept="return Dialog.accept();" ondialogcancel="Tooltip.stop(); return true;">
+<dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" title="&infoMultiple.value;" id="DownThemAll" buttons="accept,cancel" ondialogaccept="return Dialog.accept();">
 
 	<script type="application/x-javascript" src="chrome://global/content/nsUserSettings.js" />
 
diff --git a/chrome/chrome.jar!/content/dta/manager/manager.js b/chrome/chrome.jar!/content/dta/manager/manager.js
index b083bf2..1b27105 100644
--- a/chrome/chrome.jar!/content/dta/manager/manager.js
+++ b/chrome/chrome.jar!/content/dta/manager/manager.js
@@ -1092,48 +1092,55 @@ const Metalinker = {
 		Tree.remove(download, false);
 		let file = new FileFactory(download.destinationFile);
 
-		this.handleFile(file, download.referrer);
-
-		try {
-			file.remove(false);
-		}
-		catch (ex) {
-			Debug.log("failed to remove metalink file!", ex);
-		}
-	},
-	handleFile: function ML_handleFile(aFile, aReferrer) {
-		try {
-			let res = this.parse(aFile, aReferrer);
-			if (!res.downloads.length) {
-				throw new Error(_('mlnodownloads'));
+		this.handleFile(file, download.referrer, function() {
+			try {
+				file.remove(false);
 			}
-			res.downloads.forEach(function(e) {
-				if (e.size) {
-					e.size = Utils.formatBytes(e.size);
+			catch (ex) {
+				Debug.log("failed to remove metalink file!", ex);
+			}			
+		});
+	},
+	handleFile: function ML_handleFile(aFile, aReferrer, aCallback) {
+		this.parse(aFile, aReferrer, function (res, ex) {
+			try {
+				if (ex) {
+					throw ex;
+				}
+				if (!res.downloads.length) {
+					throw new Error(_('mlnodownloads'));
+				}
+				res.downloads.forEach(function(e) {
+					if (e.size) {
+						e.size = Utils.formatBytes(e.size);
+					}
+					e.fileName = e.fileName.getUsableFileName();
+				});
+				window.openDialog(
+					'chrome://dta/content/dta/manager/metaselect.xul',
+					'_blank',
+					'chrome,centerscreen,dialog=yes,modal',
+					res.downloads,
+					res.info
+				);
+				res.downloads = res.downloads.filter(function(d) { return d.selected; });
+				if (res.downloads.length) {
+					startDownloads(res.info.start, res.downloads);
 				}
-				e.fileName = e.fileName.getUsableFileName();
-			});
-			window.openDialog(
-				'chrome://dta/content/dta/manager/metaselect.xul',
-				'_blank',
-				'chrome,centerscreen,dialog=yes,modal',
-				res.downloads,
-				res.info
-			);
-			res.downloads = res.downloads.filter(function(d) { return d.selected; });
-			if (res.downloads.length) {
-				startDownloads(res.info.start, res.downloads);
 			}
-		}
-		catch (ex) {
-			Debug.log("Metalinker::handleDownload", ex);
-			if (!(ex instanceof Error)) {
-				ex = new Error(_('mlerror', [ex.message ? ex.message : (ex.error ? ex.error : ex.toString())]));
+			catch (ex) {
+				Debug.log("Metalinker::handleDownload", ex);
+				if (!(ex instanceof Error)) {
+					ex = new Error(_('mlerror', [ex.message ? ex.message : (ex.error ? ex.error : ex.toString())]));
+				}
+				if (ex instanceof Error) {
+					AlertService.show(_('mlerrortitle'), ex.message);
+				}
 			}
-			if (ex instanceof Error) {
-				AlertService.show(_('mlerrortitle'), ex.message);
+			if (aCallback) {
+				aCallback();
 			}
-		}
+		});
 	}
 };
 module('resource://dta/support/metalinker.jsm', Metalinker);
diff --git a/chrome/chrome.jar!/content/dta/manager/utils.js b/chrome/chrome.jar!/content/dta/manager/utils.js
index 32dce11..a2282b5 100644
--- a/chrome/chrome.jar!/content/dta/manager/utils.js
+++ b/chrome/chrome.jar!/content/dta/manager/utils.js
@@ -249,15 +249,20 @@ const Tooltip = {
 		).forEach(function(e) this[e.id] = e, this);
 	},		 
 	start: function(d) {
+		this.stop();
+		Debug.log("Starting tooltip");
 		this._current = d;
 		this._mustDraw = true;
 		this._timer = Timers.createRepeating(TOOLTIP_FREQ, this.update, this, true);
+		this._initUpdateRetries = 0;
 		this.initUpdate();
 	},
 	initUpdate: function() {
 		Debug.logString("init");
 		let mr = false;
 		let box = this.canvasGrid.boxObject;
+		this._initUpdateRetries = (this._initUpdateRetries || 0) + 1;
+		
 		for each (let canvas in [this.speedCanvas, this.chunkCanvas]) {
 			try {
 				let w = Math.min(box.width, canvas.clientWidth);
@@ -274,12 +279,16 @@ const Tooltip = {
 				mr = true;
 			}
 			catch (ex) {
+				if (this._initUpdateRetries >= 10) {
+					Debug.log("initUpdate failed; not retrying", ex);
+					return;
+				}
 				Debug.log("initUpdate failed; retrying", ex);
 				Timers.createOneshot(25, this.initUpdate, this);				
 				return;
 			}
 		}
-		if (mr) {
+		if (mr && this._initUpdateRetries < 10) {
 			this._mustDraw = true;
 			Timers.createOneshot(25, this.initUpdate, this);
 		}
@@ -287,6 +296,7 @@ const Tooltip = {
 		this._mustDraw = false;
 	},
 	stop: function() {
+		Debug.log("Stopping tooltip");
 		this._current = null;
 		if (this._timer) {
 			Timers.killTimer(this._timer);
diff --git a/chrome/chrome.jar!/locale/ar/prefpanes.dtd b/chrome/chrome.jar!/locale/ar/prefpanes.dtd
index c681411..5533dc3 100644
--- a/chrome/chrome.jar!/locale/ar/prefpanes.dtd
+++ b/chrome/chrome.jar!/locale/ar/prefpanes.dtd
@@ -1,4 +1,4 @@
-<!ENTITY winstyle "العرض:46em;الطول:37em">
+<!ENTITY winstyle "width:46em;height:37em;"> 
 <!ENTITY filterspane.label "الفلاتر">
 <!ENTITY listhead1.label "شرح لوحة">
 <!ENTITY listhead2.label "الامتدادات">
diff --git a/chrome/chrome.jar!/locale/gl/prefpanes.dtd b/chrome/chrome.jar!/locale/gl/prefpanes.dtd
index 967c1d2..dec3d7f 100644
--- a/chrome/chrome.jar!/locale/gl/prefpanes.dtd
+++ b/chrome/chrome.jar!/locale/gl/prefpanes.dtd
@@ -1,4 +1,4 @@
-<!ENTITY winstyle "largura:58em;altura:42em;">
+<!ENTITY winstyle "width:46em;height:37em;">
 <!ENTITY filterspane.label "Filtros">
 <!ENTITY listhead1.label "Título">
 <!ENTITY listhead2.label "Extensións">
diff --git a/chrome/chrome.jar!/locale/sk-SK/addurl.dtd b/chrome/chrome.jar!/locale/sk-SK/addurl.dtd
new file mode 100644
index 0000000..6a7a50b
--- /dev/null
+++ b/chrome/chrome.jar!/locale/sk-SK/addurl.dtd
@@ -0,0 +1,4 @@
+<!ENTITY title "Pridať adresu">
+<!ENTITY desc.value "Zadajte adresu a (voliteľne) odkazujúcu stránku súboru, ktorý chcete prevziať.">
+<!ENTITY desc.batches.value "Ak chcete prevziať viac súborov naraz, použite dávkové popisovače.">
+<!ENTITY examples.value "Príklady:">
diff --git a/chrome/chrome.jar!/locale/sk-SK/addurl.properties b/chrome/chrome.jar!/locale/sk-SK/addurl.properties
new file mode 100644
index 0000000..c8da8bc
--- /dev/null
+++ b/chrome/chrome.jar!/locale/sk-SK/addurl.properties
@@ -0,0 +1,5 @@
+tasks=Zdá sa, že používate nejaké dávkové popisovače. Naozaj chcete spustiť úlohy: %S?\n\n%S
+manytasks=\n\nMajte na pamäti, že veľké dávky môžu spôsobovať problémy s výkonom!
+batchtitle=Hromadné preberanie
+batch=Hromadné
+single=Jedna adresa
diff --git a/chrome/chrome.jar!/locale/sk-SK/common.properties b/chrome/chrome.jar!/locale/sk-SK/common.properties
new file mode 100644
index 0000000..e4ea2c2
--- /dev/null
+++ b/chrome/chrome.jar!/locale/sk-SK/common.properties
@@ -0,0 +1,19 @@
+alertmask=Zadajte platnú masku k premenovaniu
+alertnodir=Zadajte platnú cieľovú zložku
+alerthash=Zadajte platný kontrolný súčin alebo ponechajte nevyplnené
+alertinvaliddir=Zadaná cieľová zložka nie je platná alebo do nej nemáte právo zapisovať
+validdestination=Vyberte platný cieľový priečinok na preberanie.
+unknown=Neznáme
+nal=Nedostupné
+nas=N/A
+sizeB=%S bajtov
+sizeBs=%S b/s
+sizeKB=%S kB
+sizeKBs=%S KB/s
+sizeMB=%S MB
+sizeMBs=%S MB/s
+sizeGB=%S GB
+sizeGBs=%S GB/s
+sizeTB=%S TB
+disabled=Vypnuté
+mirrorsText=%S dostupných zdrojov
diff --git a/chrome/chrome.jar!/locale/sk-SK/conflicts.dtd b/chrome/chrome.jar!/locale/sk-SK/conflicts.dtd
new file mode 100644
index 0000000..cd73252
--- /dev/null
+++ b/chrome/chrome.jar!/locale/sk-SK/conflicts.dtd
@@ -0,0 +1,7 @@
+<!ENTITY title.value "Konflikt názvu súboru!">
+<!ENTITY text.value "Pamätať si toto nastavenie:">
+<!ENTITY file.label "Len pre tento súbor">
+<!ENTITY session.label "Len pre túto reláciu">
+<!ENTITY always.label "Odteraz">
+<!ENTITY overwrite.label "Prepísať existujúci súbor">
+<!ENTITY skip.label "Preskočiť/Zrušiť">
diff --git a/chrome/chrome.jar!/locale/sk-SK/conflicts.properties b/chrome/chrome.jar!/locale/sk-SK/conflicts.properties
new file mode 100644
index 0000000..6a7ece2
--- /dev/null
+++ b/chrome/chrome.jar!/locale/sk-SK/conflicts.properties
@@ -0,0 +1,3 @@
+rename.label=Premenovať na "%S"
+text.label=Súbor s názvom "%S" už existuje.
+question.label=Čo chcete robiť s prevzatým súborom "%S"?
diff --git a/chrome/chrome.jar!/locale/sk-SK/downloadHelper.properties b/chrome/chrome.jar!/locale/sk-SK/downloadHelper.properties
new file mode 100644
index 0000000..f1de45b
--- /dev/null
+++ b/chrome/chrome.jar!/locale/sk-SK/downloadHelper.properties
@@ -0,0 +1,4 @@
+dta-regular=DownThemAll!
+dta-regular-desc=Stiahnuť pomocou DownThemAll!
+dta-turbo=dTa! OneClick
+dta-turbo-desc=Stiahnuť pomocou DownThemAll! OneClick
diff --git a/chrome/chrome.jar!/locale/sk-SK/dta.dtd b/chrome/chrome.jar!/locale/sk-SK/dta.dtd
new file mode 100644
index 0000000..9c25b30
--- /dev/null
+++ b/chrome/chrome.jar!/locale/sk-SK/dta.dtd
@@ -0,0 +1,19 @@
+<!---->
+<!ENTITY start.label "Štart!">
+<!ENTITY start.key "s">
+<!ENTITY queue.label "Vložiť pauzu">
+<!ENTITY queue.key "p">
+<!ENTITY options.label "Predvoľby">
+<!ENTITY url.value "Stiahnuť">
+<!ENTITY dest.caption "Uložiť súbory do:">
+<!ENTITY mirrors.value "Mirrory:">
+<!ENTITY referrer.value "Odkazujúca stránka:">
+<!ENTITY description.value "Popis:">
+<!ENTITY checksum.value "Kontrolný súčet (Hash):">
+<!ENTITY browse.tip "Otvoriť zložku:">
+<!ENTITY mirrormanager.tip "Spravovať download mirrory">
+<!ENTITY mask.label "Maska pre premenovanie">
+<!ENTITY mask.tip "Vybrané súbory budú uložené a premenované podľa tejto masky">
+<!ENTITY selectall.label "Vybrať všetko">
+<!ENTITY selectinv.label "Obrátiť výber">
+<!ENTITY selectnone.label "Odznačiť všetko">
diff --git a/chrome/chrome.jar!/locale/sk-SK/filters.properties b/chrome/chrome.jar!/locale/sk-SK/filters.properties
new file mode 100644
index 0000000..b0f1097
--- /dev/null
+++ b/chrome/chrome.jar!/locale/sk-SK/filters.properties
@@ -0,0 +1,10 @@
+deffilter-all=Všetky súbory
+deffilter-arch=Archívy (zip, rar, ...)
+deffilter-vid=Videá (mpeg, avi, ...)
+deffilter-aud=Zvuk (mp3, wav, ...)
+deffilter-img=Obrázky (jpg, png, ...)
+deffilter-imgjpg=Obrázky JPEG
+deffilter-imgpng=Obrázky PNG
+deffilter-imggif=Obrázky GIF
+deffilter-bin=Softvér (exe, xpi, ...)
+deffilter-doc=Dokumenty (pdf, odf, ...)
diff --git a/chrome/chrome.jar!/locale/cs/mainmenu.dtd b/chrome/chrome.jar!/locale/sk-SK/mainmenu.dtd
similarity index 57%
copy from chrome/chrome.jar!/locale/cs/mainmenu.dtd
copy to chrome/chrome.jar!/locale/sk-SK/mainmenu.dtd
index 9730ffb..53886f9 100644
--- a/chrome/chrome.jar!/locale/cs/mainmenu.dtd
+++ b/chrome/chrome.jar!/locale/sk-SK/mainmenu.dtd
@@ -1,5 +1,5 @@
-<!ENTITY fileMenu.label "Soubor">
+<!ENTITY fileMenu.label "Súbor">
 <!ENTITY fileMenu.accesskey "S">
 <!ENTITY newNavigatorCmd.label "Nové okno">
 <!ENTITY tabCmd.label "Nový panel">
-<!ENTITY closeWindow.label "Zavřít DownThemAll!">
+<!ENTITY closeWindow.label "Zavrieť DownThemAll!">
diff --git a/chrome/chrome.jar!/locale/sk-SK/manager.dtd b/chrome/chrome.jar!/locale/sk-SK/manager.dtd
new file mode 100644
index 0000000..779140c
--- /dev/null
+++ b/chrome/chrome.jar!/locale/sk-SK/manager.dtd
@@ -0,0 +1,55 @@
+<!ENTITY tooladd.label "Pridať adresu">
+<!ENTITY tooladd.tooltip "Ručné pridanie adresy do DownThemAll">
+<!ENTITY tooldonate.tooltiptext "Môžete nám pomôcť vylepšiť DownThemAll. Pouvažujte nad malým darom!">
+<!ENTITY movetop.label "Navrch">
+<!ENTITY movebottom.label "Naspodok">
+<!ENTITY moveup.label "Nahor">
+<!ENTITY movedown.label "Nadol">
+<!ENTITY task.label "Adresa/Názov">
+<!ENTITY per.label "Percentá">
+<!ENTITY pct.label "Priebeh">
+<!ENTITY dim.label "Veľkosť">
+<!ENTITY time.label "Odhad. čas">
+<!ENTITY parts.label "Časti">
+<!ENTITY speed.label "Rýchlosť">
+<!ENTITY infoURLTitle.value "Z:">
+<!ENTITY infoSizeTitle.value "Veľkosť:">
+<!ENTITY infoMultiple.value "Viac položiek">
+<!ENTITY elapsedTitle.value "Uplynuté:">
+<!ENTITY remainingTitle.value "Zostávajúce:">
+<!ENTITY currentSpeedTitle.value "Aktuál. rýchlosť:">
+<!ENTITY avgSpeedTitle.value "Priem. rýchlosť:">
+<!ENTITY path.label "Cesta uloženia">
+<!ENTITY mask.label "Maska premenovania">
+<!ENTITY hash.label "Kontr. súčet">
+<!ENTITY infos.label "Informácie o preberaní">
+<!ENTITY launch.label "Otvoriť súbor">
+<!ENTITY delete.label "Odstrániť súbor">
+<!ENTITY targetdir.label "Otvoriť priečinok">
+<!ENTITY pause.label "Pozastaviť">
+<!ENTITY resume.label "Pokračovať">
+<!ENTITY cancel.label "Zrušiť">
+<!ENTITY removemenu.label "Odobrať sťahovanie">
+<!ENTITY removeselected.label "Vymazať označené">
+<!ENTITY removeCompleted.label "Odstrániť dokončené úlohy">
+<!ENTITY removeAll.label "Odobrať všetky">
+<!ENTITY removeDupes.label "Odobrať duplikáty">
+<!ENTITY removeGone.label "Vymazať neexistujúce súbory">
+<!ENTITY advanced.label "Pokročilé">
+<!ENTITY addchunk.label "Pridať časť">
+<!ENTITY removechunk.label "Odstrániť časť">
+<!ENTITY force.label "Vynútiť štart">
+<!ENTITY import.label "Importovať zo súboru">
+<!ENTITY export.label "Exportovať označené">
+<!ENTITY options.caption "Možnosti">
+<!ENTITY loading.label "Načítava sa...">
+<!ENTITY restore.label "Obnoviť">
+<!ENTITY close.label "Zavrieť">
+<!ENTITY speedlimit.label "Limit:">
+<!ENTITY speedlimit.tooltip "Zmeniť rýchlostný limit. Zoznam je priebežne aktualizovaný.">
+<!ENTITY perdownloadspeedlimit.label "Rýchlostný limit">
+<!ENTITY perdownloadspeedlimit.tooltip "Zmeniť limit rýchlosti. Hlavné nastavenie rýchlosti nebude zmenené.">
+<!ENTITY mirrors.label "Spravovať mirrory">
+<!ENTITY mirrors.tooltip "Upraviť umiestnenie mirrorov">
+<!ENTITY toolbar.icons "Ikony">
+<!ENTITY toolbar.full "Ikony a text">
diff --git a/chrome/chrome.jar!/locale/sk-SK/manager.properties b/chrome/chrome.jar!/locale/sk-SK/manager.properties
new file mode 100644
index 0000000..101e51d
--- /dev/null
+++ b/chrome/chrome.jar!/locale/sk-SK/manager.properties
@@ -0,0 +1,92 @@
+complete=Dokončené
+canceled=Zrušené
+currentdownloads=Sťahovanie: %S z %S celkom, %S prebieha
+transfered=%S z %S
+currentspeed=Aktuálna rýchlosť: %S/s
+timeout=Uplynul časový limit
+suc=DownThemAll dokončil všetky úlohy.
+dcom=Preberanie dokončené!
+folder=Chcete prehľadávať posledný cieľový priečinok?
+starting=Spúšťa sa...
+error=Chyba: %S
+paused=Pozastavené
+queued=Čaká sa
+offline=Offline
+decompress=Dekomprimuje sa...
+prettyhash=%S [%S]
+verify=Overuje sa...
+verifyerrortitle=Chyba pri overovaní
+verifyerrortext=Kontrolné súčty preberania nesúhlasia.\nTo znamená, že preberaný súbor je poškodený alebo komprimovaný, ak ovšem nebol poskytnutý nesprávny kontrolný súčet.\nOdporúča sa teda nepoužívať prevzaté údaje.\n\nČo chcete urobiť s prevzatým súborom?
+verifyerrorpartialstext=Kontrolný súčet sťahovaného súboru nesúhlasí.\nTo znamená, že bol súbor stiahnutý zle, alebo ho niekto zmenil pred kontrolou.\nPreto sa neodporúča používať stiahnuté dáta.\nČo si prajete spraviť so stiahnutými súbormi?
+failed=Zlyhané
+cancel=Zrušiť
+skipped=Preskočené
+servererror=Chyba servera
+autherror=Overenie sa nepodarilo
+temperror=Dočasná chyba
+pcerrortitle=Blokované!
+pcerrortext=Toto preberanie je blokované Rodičovskou ochranou
+sra=Server vrátil chybu: %S
+errmismatchtitle=Veľkosť nesúhlasí
+errmismatchtext=Aktuálna veľkosť %S nezodpovedá hlásenej veľkosti %S
+downloading=Preberá sa...
+confclose=Potvrdenie zatvorenia dTa
+nonresclose=dTa práve sťahuje súbory u ktorých sa nedá nadviazať sťahovanie.\nPokiaľ vypnete dTa, budú sa súbory sťahovať znovu od začiatku.\n\nNaozaj chcete zrušiť sťahovanie a zavrieť dTa?
+confpbm=Chcete spustiť režim anonymného prehliadania?
+nonrespbm=dTa práve sťahuje súbory u ktorých sa nedá nadviazať sťahovanie.\nPokiaľ spustíte anonymné prehliadanie, budú sa súbory sťahovať znovu od začiatku.\n\nNaozaj chcete zrušiť sťahovanie a spustiť anonymné prehliadanie?
+confleavepbm=Chcete opustiť režim anonymného prehliadania?
+nonleavepbm=dTa práve sťahuje súbory.\nPokiaľ opustíte anonymné prehliadanie, aktuálne sťahovanie bude zrušené a zoznam bude zmazaný.\n\nNaozaj chcete zrušiť sťahovanie a opustiť anonymné prehliadanie?
+ndsa=Na disku nie je dostatok miesta!
+spacetemp=V dočasnom priečinku nie je dostatok voľného miesta. Zakážte túto možnosť v časti Predvoľby > Spresniť.
+freespace=Nie je voľné miesto
+spacedir=V cieľovom priečinku nie je dostatok voľného miesta. Zmeňte ho v dialógovom okne "Informácie o preberaní".
+accesserror=Chyba pri prístupe k súboru
+permissions=Prístup k súboru bol odmietnutý. V cieľovej ceste nemožno vytvoriť
+tempnotdir=Umiestnenie pre dočasné dáta nie je zložka. Prosím opravte to v predvoľbách
+tempnotaccessible=Z dočasného adresára sa nedá čítať alebo je zamietnutý zápis. Prosím opravte to v predvoľbách.
+autofix=Opraviť problém
+manualfix=Manuálne...
+unknownerror=Neznáma chyba
+unknownerrortext=Došlo k neurčenej chybe, pravdepodobne je to chyba v DownThemAll!
+destpath=priečinok ani súbor.
+checkperm=. Skontrolujte svoje oprávnenia alebo zmeňte cieľovú cestu.
+canceltitle=Zrušiť vybrané sťahovania
+canceltext=Naozaj chcete zrušiť vybrané sťahovanie?
+cancelmanytext=Naozaj chcete zrušiť vybrané sťahovania?
+docancel=Zrušiť sťahovanie
+docancelmany=Zrušiť sťahovania
+dontcancel=Nezrušiť
+deletetitle=Potvrdenie odstránenia súboru
+deletetexts=Naozaj chcete odstrániť nasledujúce súbory?
+deletetextl=Naozaj chcete odstrániť súbory (%S)?
+retry=Opakovať
+recover=Obnoviť
+delete=Odstrániť
+keep=Ponechať
+mlerrortitle=Chyba v meta prepojení
+mlerror=Spracovanie meta prepojenia spôsobilo nasledujúcu chybu "%S"
+mlinvalid=Neplatný dokument meta prepojenia
+mlnodownloads=Na tomto meta prepojení sa nenašli žiadne spracovateľné súbory na prevzatie!
+mlidentity=Preberanie meta prepojení
+mldescription=Vyberte jeden alebo viac súborov, ktoré prevziať
+removetitle=Odstrániť označené preberané súbory
+removequestion=Naozaj chcete odstrániť označené preberané súbory?
+removeallquestion=Naozaj chcete zrušiť všetky sťahovania?
+removefilterquestion=Naozaj chcete odstrániť sťahovanie zodpovedajúce filtru "%s"?
+removecompletedquestion=Naozaj chcete odstrániť stiahnuté súbory?
+removecompletedfilterquestion=Naozaj chcete odstrániť stiahnuté súbory zodpovedajúce filtru "%s"?
+removecheck=Viac sa nepýtať
+importtitle=Importovať záznamy o preberaných súboroch
+importfailed=Nepodarilo sa importovať záznamy o preberaných súboroch
+exporttitle=Exportovať záznamy o preberaných súboroch
+exportfailed=Nepodarilo sa exportovať záznamy o preberaných súboroch
+filtermetalink=Meta odkaz (XML)
+loading=Načítavajú sa záznamy o preberaných súboroch (%S z %S, %S%). Prosím, čakajte...
+adding=Pridávajú sa záznamy o preberaných súboroch. Prosím, čakajte....
+ftperrortext=Nebolo možné nadviazať komunikáciu so serverom FTP alebo server odpovedal nesprávne.
+nagtext=Už máte stiahnutých viac ako %S súborov pomocou DownThemAll!. Skúste zvážiť venovanie daru na ďalší rozvoj.
+nagdonate=Darovať
+naghide=Skryť
+nagneveragain=Už sa nepýtať
+unlimitedspeed=Neobmedzene
+verificationfailed=Overenie súboru "%S" zlyhalo! Nastala chyba pri spracovávaní súboru.
diff --git a/chrome/chrome.jar!/locale/sk-SK/mask.dtd b/chrome/chrome.jar!/locale/sk-SK/mask.dtd
new file mode 100644
index 0000000..3634b5a
--- /dev/null
+++ b/chrome/chrome.jar!/locale/sk-SK/mask.dtd
@@ -0,0 +1,23 @@
+<!ENTITY mask.title "Značky premenovania">
+<!ENTITY mask.name "Názov súboru">
+<!ENTITY mask.ext "Prípona">
+<!ENTITY mask.url "Základ adresy">
+<!ENTITY mask.curl "Celá adresa">
+<!ENTITY mask.flatcurl "Celá adresa flat">
+<!ENTITY mask.num "Postupné číslo">
+<!ENTITY mask.inum "Číslo položky">
+<!ENTITY mask.hh "Hodiny">
+<!ENTITY mask.mm "Minúty">
+<!ENTITY mask.ss "Sekundy">
+<!ENTITY mask.d "Deň">
+<!ENTITY mask.m "Mesiac">
+<!ENTITY mask.y "Rok">
+<!ENTITY mask.subdirs "Podpriečinky adresy">
+<!ENTITY mask.flatsubdirs "Podpriečinky adresy flat">
+<!ENTITY mask.text "Popis prepojenia">
+<!ENTITY mask.flattext "Popis prepojenia flat">
+<!ENTITY mask.refer "Odkazujúca adresa">
+<!ENTITY mask.qstring "Reťazec dopytu">
+<!ENTITY mask.flattitle "Popis odkazu">
+<!ENTITY mask.tip "Kliknutím alebo presunutím myšou nastavte masku premenovania">
+<!ENTITY mask.open.tip "Tabuľka značiek premenovania">
diff --git a/chrome/chrome.jar!/locale/sk-SK/menu.dtd b/chrome/chrome.jar!/locale/sk-SK/menu.dtd
new file mode 100644
index 0000000..ca3818e
--- /dev/null
+++ b/chrome/chrome.jar!/locale/sk-SK/menu.dtd
@@ -0,0 +1,20 @@
+<!ENTITY dta-pref.label "Predvoľby">
+<!ENTITY dta-about.label "Čo je DownThemAll!">
+<!ENTITY dta-manager-button "Správca">
+<!ENTITY dta-selector-button "dTa OneClick! pepínač">
+<!ENTITY dta-tb-all.label "Všetky panely">
+<!ENTITY dta-tb-single.label "Aktuálny panel">
+<!ENTITY dta-selection.label "DownThemAll! výber...">
+<!ENTITY dta-selection-turbo.label "dTa OneClick výber...">
+<!ENTITY dta-regular.label "DownThemAll!...">
+<!ENTITY dta-regular-turbo.label "dTa OneClick...">
+<!ENTITY dta-img-save.label "Uložiť obrázok pomocou DownThemAll!">
+<!ENTITY dta-img-save-turbo.label "Začať sťahovať obrázok pomocou dTa OneClick!">
+<!ENTITY dta-video-save.label "Uložiť video pomocou DownThemAll!">
+<!ENTITY dta-video-save-turbo.label "Začať sťahovať video pomocou dTa OneClick!">
+<!ENTITY dta-audio-save.label "Uložiť zvuk pomocou DownThemAll!">
+<!ENTITY dta-audio-save-turbo.label "Začať sťahovať zvuk pomocou dTa OneClick!">
+<!ENTITY dta-link-save.label "Uložiť odkaz pomocou DownThemAll!">
+<!ENTITY dta-link-save-turbo.label "Začať sťahovať odkaz pomocou dTa OneClick!">
+<!ENTITY dta-form-save.label "Uložiť cieľ formulára s DownThemAll!">
+<!ENTITY dta-form-save-turbo.label "Spustiť ukladanie cieľa formulára s dTa OneClick!">
diff --git a/chrome/chrome.jar!/locale/sk-SK/menu.properties b/chrome/chrome.jar!/locale/sk-SK/menu.properties
new file mode 100644
index 0000000..90c1fbc
--- /dev/null
+++ b/chrome/chrome.jar!/locale/sk-SK/menu.properties
@@ -0,0 +1,11 @@
+error=DownThemAll! – Chyba
+errornolinks=Nenašli sa žiadne prepojenia ani obrázky!
+queuedn=%S položiek v rade
+queued=%S v rade
+errorinformation=DownThemAll! nemohol pokračovať!\nBuď nie sú vybrané žiadne prepojenia na prevzatie, alebo chýba údaj o cieľovom priečinku.
+errornodownload=Vybrané prepojenie nie je prevzateľný súbor!
+moredtatools=Ďalšie nástroje dTa
+simpledtatools=Nástroje DownThemAll!
+sniffedvideo=Vyhľadané video
+preparing=Pripravujem odkazy...
+processing=Prebieha spracovanie. Zatiaľ máme %S odkazov a %S obrázkov...
diff --git a/chrome/chrome.jar!/locale/sk-SK/metalinker.dtd b/chrome/chrome.jar!/locale/sk-SK/metalinker.dtd
new file mode 100644
index 0000000..c9542d4
--- /dev/null
+++ b/chrome/chrome.jar!/locale/sk-SK/metalinker.dtd
@@ -0,0 +1,4 @@
+<!ENTITY title "Výber meta prepojení">
+<!ENTITY publisher "Vydavateľ:">
+<!ENTITY license "Licencia:">
+<!ENTITY download "Prevziať">
diff --git a/chrome/chrome.jar!/locale/sk-SK/metalinker.properties b/chrome/chrome.jar!/locale/sk-SK/metalinker.properties
new file mode 100644
index 0000000..b8e21c4
--- /dev/null
+++ b/chrome/chrome.jar!/locale/sk-SK/metalinker.properties
@@ -0,0 +1,7 @@
+size=Veľkosť: %S
+version=Verzia: %S
+lang=Jazyk: %S
+sys=Systém: %S
+mirrors=Mirrory: %S
+copyright=Autor. práva: %S
+nolinks=Nie sú vybrané žiadne sťahované súbory! Prosím zvoľte aspoň jeden...
diff --git a/chrome/chrome.jar!/locale/sk-SK/mirrors.dtd b/chrome/chrome.jar!/locale/sk-SK/mirrors.dtd
new file mode 100644
index 0000000..9274da9
--- /dev/null
+++ b/chrome/chrome.jar!/locale/sk-SK/mirrors.dtd
@@ -0,0 +1,10 @@
+<!ENTITY title "Správca mirroru DownThemAll!">
+<!ENTITY header "Správca mirroru">
+<!ENTITY byline1 "Sťahovanie môže byť načítané z rôznych miest. Súbor je potom automaticky poskladaný.">
+<!ENTITY byline2 "Nebojte sa pridávať a odoberať miesta ukazujúce na rovnaký súbor.">
+<!ENTITY byline3 "Vkladanie rôznych umiestnení súboru môže spôsobiť chybné sťahovanie">
+<!ENTITY addmirror.tip "Pridať download mirror">
+<!ENTITY removemirror.tip "Zmazať označené download mirrory">
+<!ENTITY checkmirrors.tip "Skontrolovať všetky download mirrory">
+<!ENTITY mirrorurl "Umiestnenie:">
+<!ENTITY preference "Priorita:">
diff --git a/chrome/chrome.jar!/locale/sk-SK/mirrors.properties b/chrome/chrome.jar!/locale/sk-SK/mirrors.properties
new file mode 100644
index 0000000..60e2a4b
--- /dev/null
+++ b/chrome/chrome.jar!/locale/sk-SK/mirrors.properties
@@ -0,0 +1,12 @@
+removebadmirrors.caption=Nefunkčné mirrory
+removebadmirrors.message=Chcete vymazať %S nefunkčných mirrorov?
+removebadmirrors.keep=Ponechať
+removebadmirrors.remove=Odstrániť
+prefLow=Nízka (%S)
+prefMedium=Stredná (%S)
+prefHigh=Vysoká (%S)
+mirrorok=OK
+genericcheckerror=N/A
+sizecheckerror=Chybná veľkosť
+duplicatetitle=Duplicitný mirror
+duplicatetext=Mirror je už v zozname. Žiadne zmeny sa neuskutočnili!
diff --git a/chrome/chrome.jar!/locale/sk-SK/prefpanes.dtd b/chrome/chrome.jar!/locale/sk-SK/prefpanes.dtd
new file mode 100644
index 0000000..0dfa3b9
--- /dev/null
+++ b/chrome/chrome.jar!/locale/sk-SK/prefpanes.dtd
@@ -0,0 +1,114 @@
+<!ENTITY winstyle "width:58em;height:42em;">
+<!ENTITY filterspane.label "Filtre">
+<!ENTITY listhead1.label "Názov">
+<!ENTITY listhead2.label "Prípony">
+<!ENTITY filter.label "Filtrované prípony:">
+<!ENTITY regex.label "Regul. výraz">
+<!ENTITY useAs.label "Použiť ako:">
+<!ENTITY imagesf.label "Obrázky a zabudovaný filter">
+<!ENTITY linksf.label "Filter prepojení">
+<!ENTITY add.label "Pridať nový filter">
+<!ENTITY highlight.label "Zvýrazniť súbory kontrolované filtrami">
+<!ENTITY dtacontext2.label "Predvoľby">
+<!ENTITY buttonlabelextra2 "Obnoviť pôvodné nastavenie">
+<!ENTITY dtaPreferences.title "DownThemAll! – Predvoľby">
+<!ENTITY manager "Správca dTa">
+<!ENTITY mainpane.label "Hlavné">
+<!ENTITY mainpane.defaults.caption "Predvolené">
+<!ENTITY mainpane.defaults.desc "Zložka pre sťahovanie, maska pre premenovanie a filtre používané v OneClick! môžete nastaviť v dialógu DownThemAll!.">
+<!ENTITY mainpane.rename.caption "Ak už názov súboru existuje:">
+<!ENTITY mainpane.rename.label "Premenovať">
+<!ENTITY mainpane.overwrite.label "Prepísať">
+<!ENTITY mainpane.skip.label "Preskočiť">
+<!ENTITY mainpane.ask.label "Opýtať sa">
+<!ENTITY mainpane.misc.caption "Rôzne">
+<!ENTITY mainpane.sounderror.label "Prehrať zvuk v prípade chyby">
+<!ENTITY mainpane.alert.caption "Keď je preberanie dokončené:">
+<!ENTITY mainpane.alert.label "Upozorňovanie:">
+<!ENTITY mainpane.alertboxes.label "Oznámiť upozorňovacím oknom">
+<!ENTITY mainpane.alertslides.label "Oznámiť vysúvacím upozornením">
+<!ENTITY mainpane.alertnone.label "Neoznamovať">
+<!ENTITY mainpane.sounddone.label "Prehrať zvuk po dokončení všetkých preberaní">
+<!ENTITY mainpane.closedta.label "Zavrieť DownThemAll po dokončení preberania">
+<!ENTITY mainpane.settime.label "Nastaviť čas súboru na čas poslednej úpravy (na serveru) alebo čas sťahovania.">
+<!ENTITY mainpane.rememberoneclick.label "Pamätať si nastavenie dTa OneClick či bolo určené pre všetky panely, alebo len pre aktuálne">
+<!ENTITY mainpane.confirmremove.label "Užívateľ musí odobranie/vymazanie potvrdiť">
+<!ENTITY mainpane.textlinks.label "Rozpoznať odkazy v texte">
+<!ENTITY mainpane.listsniffedvideos.label "Nájsť a vložiť do zoznamu (Flash) videá">
+<!ENTITY privacypane.label "Súkromie">
+<!ENTITY privacypane.closing.caption "Ak je okno Správca zatvorené">
+<!ENTITY privacypane.removecompleted.label "Odstrániť dokončené preberanie">
+<!ENTITY privacypane.removecanceled.label "Odstrániť zrušené/chybné preberanie">
+<!ENTITY privacypane.removeaborted.label "Odstrániť nedokončené preberanie">
+<!ENTITY privacypane.deletefoldershistory.label "Odstrániť zoznam priečinkov">
+<!ENTITY privacypane.deletefiltershistory.label "Odstrániť ďalšie filtre">
+<!ENTITY privacypane.showlog.label "Zobraziť denník">
+<!ENTITY privacypane.reveallog.label "Zobraziť súbor">
+<!ENTITY privacypane.deletelog.label "Odstrániť denník">
+<!ENTITY privacypane.updates.caption "Aktualizácie/Internet">
+<!ENTITY privacypane.information.label "Umožniť dTa prevziať aktualizované novinky a správy a číslo najnovšej verzie">
+<!ENTITY privacypane.statistics.label "Umožniť dTa zbierať a prenášať anonymné štatistiky používania">
+<!ENTITY privacypane.dropdowns.caption "Rozbaľovacie ponuky">
+<!ENTITY privacypane.dropdownresults.label "Počet položiek, ktoré uchovať">
+<!ENTITY privacypane.logs.caption "Denník diagnostiky">
+<!ENTITY privacypane.enablelogs.label "Povoliť denník diagnostiky">
+<!ENTITY privacypane.notice.caption "Poznámka">
+<!ENTITY privacypane.notice.desc "DownThemAll je integrovaný s funkciou Odstrániť súkromné údaje (ak je k dispozícii).">
+<!ENTITY privacypane.privacynotice.label "Poznámka k našim zásadám ochrany súkromia">
+<!ENTITY serverspane.label "Sieť">
+<!ENTITY serverspane.downloads.caption "Sťahovanie">
+<!ENTITY serverspane.concurrent.label "Súčasných sťahovaní:">
+<!ENTITY serverspane.perserver.label "Počet sťahovaní na server:">
+<!ENTITY serverspane.url.label "Umiestnenie alebo doména">
+<!ENTITY serverspane.new.label "Pridať obmedzenie">
+<!ENTITY serverspane.del.label "Odstrániť obmedzenie">
+<!ENTITY serverspane.limits.label "Obmedzenie pre jednotlivé servery">
+<!ENTITY serverpane.limits.noitems "Neboli pridané žiadne obmedzenia">
+<!ENTITY serverspane.connections.label "spojenia:">
+<!ENTITY serverspane.speed.label "Limit rýchlosti:">
+<!ENTITY serverspane.unlimited "Neobmedzený">
+<!ENTITY serverspane.limited "Obmedzený">
+<!ENTITY serverspane.autoretry.caption "Automatické opakovanie">
+<!ENTITY serverspane.autoretry.interval.label "Opakovať každých">
+<!ENTITY serverspane.autoretry.max.label "Max. opakovaní">
+<!ENTITY serverspane.cancel.label "Zrušiť">
+<!ENTITY serverspane.edit.label "Upraviť">
+<!ENTITY serverspane.remove.label "Vymazať">
+<!ENTITY advancedpane.label "Spresniť">
+<!ENTITY advancedpane.downloads.caption "Ovládanie pokročilého sťahovania">
+<!ENTITY advancedpane.misc.caption "Rôzne nastavenia">
+<!ENTITY advancedpane.files.caption "Zložky">
+<!ENTITY advancedpane.chunks.label "Max. počet častí pri preberaní:">
+<!ENTITY advancedpane.chunksdisabled "Zakázané">
+<!ENTITY advancedpane.timeout.label "Max. čas nečinnosti pripojenia">
+<!ENTITY advancedpane.seconds "s.">
+<!ENTITY advancedpane.minute "min.">
+<!ENTITY advancedpane.minutes "min.">
+<!ENTITY advancedpane.hour "hodina">
+<!ENTITY advancedpane.hours "hodiny">
+<!ENTITY advancedpane.tempfiles.caption "Dočasné súbory">
+<!ENTITY advancedpane.usetemp.label "Uložiť prevzaté časti do dočasného priečinka">
+<!ENTITY advancedpane.tempdir.label "Použiť tento priečinok:">
+<!ENTITY advancedpane.permissions.caption "Predvolené oprávnenia k súborom">
+<!ENTITY advancedpane.permissions.group "Skupina">
+<!ENTITY advancedpane.permissions.everybody "Všetci">
+<!ENTITY advancedpane.permissions.read "Môže čítať">
+<!ENTITY advancedpane.permissions.write "Môžu zapisovať">
+<!ENTITY advancedpane.loadendfirst.label "Načítať najskôr len niekoľko prvých kilobajtov">
+<!ENTITY advancedpane.scheduler.caption "Poradie sťahovania:">
+<!ENTITY advancedpane.scheduler.fast "Rýchle - Ako v rade">
+<!ENTITY advancedpane.scheduler.fair "Spravodlivé + opatrné - rovnomerne rozložené">
+<!ENTITY advancedpane.scheduler.legacy "Bez obmedzenia">
+<!ENTITY advancedpane.exposeinua.label "Pridať DownThemAll! do reťazca User-Agent">
+<!ENTITY uipane.label "Použív. prostredie">
+<!ENTITY uipane.namesonly.label "Zobraziť v okne Správcu len názvy súborov">
+<!ENTITY uipane.integration.caption "Integrácia">
+<!ENTITY uipane.downloadwin.label "Pridať položku DownThemAll! do okna 'Uložiť súbor'">
+<!ENTITY uipane.context.caption "Kontextová ponuka">
+<!ENTITY uipane.tools.caption "Ponuka Nástroje">
+<!ENTITY uipane.compact.label "Použiť kompaktnú ponuku">
+<!ENTITY uipane.hide.label "Skryť túto ponuku">
+<!ENTITY uipane.showtooltip.label "Zobraziť popisy preberania">
+<!ENTITY uipane.manager.caption "Správca">
+<!ENTITY uipane.startminimized.label "Spustiť minimalizované">
+<!ENTITY uipane.minimizetotray.label "Minimalizovať do oznamovacej oblasti">
diff --git a/chrome/chrome.jar!/locale/sk-SK/prefpanes.properties b/chrome/chrome.jar!/locale/sk-SK/prefpanes.properties
new file mode 100644
index 0000000..9e281b3
--- /dev/null
+++ b/chrome/chrome.jar!/locale/sk-SK/prefpanes.properties
@@ -0,0 +1,23 @@
+allfiles=Všetky súbory
+arch=Archívy (zip, rar..)
+vid=Videá (mpeg, avi, wmv..)
+images=Obrázky (gif, jpg, png..)
+confirmfiltersreset=Chcete odstrániť všetky filtre a obnoviť pôvodné?
+restoreprefstitle=Obnoviť Predvoľby
+restoreprefstext=Chcete obnoviť predvoľby do predvoleného stavu?\nTúto akciu nemožno vrátiť!
+restorefilterstitle=Obnoviť filter
+restorefilterstext=Chcete obnoviť zabudované hodnoty tohto filtra?\nTúto akciu nemožno vrátiť!
+restore=Obnoviť
+regex=Regul. výraz
+links=Filter prepojení
+limages=Filter obrázkov
+newfilt=Nový filter
+inserthere=Sem zadajte prípony (oddelené znakom ,)
+removebutton=Odstrániť filter
+restorebutton=Obnoviť predvolený filter
+unlimited=Bez limitu
+removelimittitle=Zrušiť limity serverov
+removelimitdesc=Zrušiť limity pridané k "%S"?
+removelimit=Zrušiť limity
+createlimit=Vytvoriť
+savelimit=Uložiť
diff --git a/chrome/chrome.jar!/locale/sk-SK/sanitize.properties b/chrome/chrome.jar!/locale/sk-SK/sanitize.properties
new file mode 100644
index 0000000..b26d1d8
--- /dev/null
+++ b/chrome/chrome.jar!/locale/sk-SK/sanitize.properties
@@ -0,0 +1 @@
+sanitizeitem=História a front DownThemAll!
diff --git a/chrome/chrome.jar!/locale/cs/saveas.dtd b/chrome/chrome.jar!/locale/sk-SK/saveas.dtd
similarity index 100%
copy from chrome/chrome.jar!/locale/cs/saveas.dtd
copy to chrome/chrome.jar!/locale/sk-SK/saveas.dtd
diff --git a/chrome/chrome.jar!/locale/sk-SK/select.dtd b/chrome/chrome.jar!/locale/sk-SK/select.dtd
new file mode 100644
index 0000000..7c5450d
--- /dev/null
+++ b/chrome/chrome.jar!/locale/sk-SK/select.dtd
@@ -0,0 +1,18 @@
+<!ENTITY title "DownThemAll! – vyberte si">
+<!ENTITY filters.caption "Filtre">
+<!ENTITY additional.caption "Rýchle filtrovanie">
+<!ENTITY additional.tip "Textový filter: môžete nastaviť viac textových filtrov naraz, oddeľte ich čiarkou.">
+<!ENTITY regex.label "Reg. výraz">
+<!ENTITY filter.tip "Sem zadajte textové filtre! (V rozbaľovacom zozname sú príklady.)">
+<!ENTITY status.label "Po výbere prepojení kliknite na položku Spustiť!">
+<!ENTITY menu.mask.title "Upraviť masku premenovania...">
+<!ENTITY menu.check.label "Označiť vybrané">
+<!ENTITY menu.uncheck.label "Zrušiť označenie vybraných">
+<!ENTITY menu.toggle.label "Prepnúť označenie vybraných">
+<!ENTITY tab.links.label "Prepojenia">
+<!ENTITY tab.pics.label "Obrázky/Vložené">
+<!ENTITY header.desc.label "Popis">
+<!ENTITY selectfiltered.label "Vybrať filtrované">
+<!ENTITY disableother.label "Vypnúť ostatné filtre">
+<!ENTITY disableother.tooltip "Vypnúť ostatné filtre a použiť len rýchle filtrovanie (toto nastavenie sa momentálne neukladá)">
+<!ENTITY resname.value "Názov zdroja">
diff --git a/chrome/chrome.jar!/locale/sk-SK/select.properties b/chrome/chrome.jar!/locale/sk-SK/select.properties
new file mode 100644
index 0000000..6a67d81
--- /dev/null
+++ b/chrome/chrome.jar!/locale/sk-SK/select.properties
@@ -0,0 +1,7 @@
+available=je teraz k dispozácii na prevzatie! Inovujte teraz!
+status=Po výbere prepojení kliknite na položku Spustiť!
+nolinks=Neboli vybrané žiadne prepojenia! Označte v zozname prepojenia.
+selel=Vybrané prepojenia: %S of %S
+default=Predvolené
+openlink=Otvoriť %S
+openlinks=Otvoriť prepojenia: %S
diff --git a/chrome/chrome.jar!/skin/manager/style.css b/chrome/chrome.jar!/skin/manager/style.css
index 44c86c9..b43da66 100644
--- a/chrome/chrome.jar!/skin/manager/style.css
+++ b/chrome/chrome.jar!/skin/manager/style.css
@@ -201,7 +201,6 @@ tooltip textbox.plain {
 	width: 100%;
 	font-size: 14px;
 	font-weight: bold;
-	background: !important;
 	color: black !important;
 }
 #infoDest {
@@ -217,25 +216,25 @@ tooltip textbox.plain {
 	margin-left: 0;
 }
 treechildren::-moz-tree-progressmeter(completed) {
-  color: #008F00 !important;
+	color: #008F00 !important;
 }
 
 treechildren::-moz-tree-progressmeter(paused) {
-  color: #FFCC00 !important;
+	color: #FFCC00 !important;
 }
 treechildren::-moz-tree-progressmeter(paused, pausedAutoretrying) {
 	color: #849FFF !important;
 }
 treechildren::-moz-tree-progressmeter(canceled) {
-  color: #B12801 !important;
+	color: #B12801 !important;
 }
 
 treechildren::-moz-tree-progressmeter(queued) {
-  color: #BFDEFF !important;
+	color: #BFDEFF !important;
 }
 
 treechildren::-moz-tree-progressmeter(inprogress) {
-  color: #AAE061 !important;
+	color: #AAE061 !important;
 }
 
 treechildren::-moz-tree-image(iconic) {
@@ -526,17 +525,17 @@ menuitem#selectinv {
 }
 
 #loadingbox {
-  opacity: 0.6;
-  background-color: -moz-Field;
+	opacity: 0.6;
+	background-color: -moz-Field;
 }
 
 #loading {
-  -moz-appearance: none;
-  -moz-user-focus: ignore;
-  border: none !important;
-  min-width: 0;
-  background-color: transparent;
-  color: -moz-fieldText;
+	-moz-appearance: none;
+	-moz-user-focus: ignore;
+	border: none !important;
+	min-width: 0;
+	background-color: transparent;
+	color: -moz-fieldText;
 
 	font-size: large;
 	font-weight: bold;
diff --git a/components/services.js b/components/services.js
index b4546eb..e63e21b 100644
--- a/components/services.js
+++ b/components/services.js
@@ -1,5 +1,5 @@
 /* You may find the license in the LICENSE file */
- 
+
 const Cc = Components.classes;
 const Ci = Components.interfaces;
 const Cr = Components.results;
@@ -258,7 +258,8 @@ LimitedDict.prototype = {
 		if (this._arr.length == this._limit) {
 			delete this._dict[this._arr.shift()];
 		}
-		this._arr.push(this._dict[key] = value);
+		this._dict[key] = value;
+		this._arr.push(key);
 	}
 };
 
@@ -303,6 +304,7 @@ ContentHandling.prototype = {
 	_init: function ct__init() {
 		Observers.addObserver(this, 'xpcom-shutdown', false);
 		Observers.addObserver(this, 'private-browsing', false);
+		Observers.addObserver(this, 'http-on-modify-request', false);
 		this._prefs = Cc['@mozilla.org/preferences-service;1'].getService(Ci.nsIPrefBranch2);
 		this._prefs.addObserver(PREF_SNIFFVIDEOS, this, false);
 
@@ -314,8 +316,8 @@ ContentHandling.prototype = {
 		}
 	},
 	get _io() {
-    delete ContentHandling.prototype._io;
-    return (ContentHandling.prototype._io = Cc['@mozilla.org/network/io-service;1'].getService(Ci.nsIIOService));
+		delete ContentHandling.prototype._io;
+		return (ContentHandling.prototype._io = Cc['@mozilla.org/network/io-service;1'].getService(Ci.nsIIOService));
 	},
 
 	_uninit: function ct__uninit() {
@@ -327,14 +329,13 @@ ContentHandling.prototype = {
 
 		Observers.removeObserver(this, 'xpcom-shutdown');
 		Observers.removeObserver(this, 'private-browsing');
+		Observers.removeObserver(this, 'http-on-modify-request');
 	},
 	registerHttpObservers: function ct_registerHttpObservers() {
-		Observers.addObserver(this, 'http-on-modify-request', false);
 		Observers.addObserver(this, 'http-on-examine-response', false);
 		Observers.addObserver(this, 'http-on-examine-cached-response', false);
 	},
 	unregisterHttpObservers: function ct_unregisterHttpObservers() {
-		Observers.removeObserver(this, 'http-on-modify-request');
 		Observers.removeObserver(this, 'http-on-examine-response');
 		Observers.removeObserver(this, 'http-on-examine-cached-response');
 	},
@@ -353,7 +354,7 @@ ContentHandling.prototype = {
 		case 'nsPref:changed':
 			try {
 				let newValue = this._prefs.getBoolPref(PREF_SNIFFVIDEOS);
-				let differs = newValue == this.sniffVideos;
+				let differs = newValue != this.sniffVideos;
 				this.sniffVideos = newValue;
 				if (differs) {
 					if (newValue) {
@@ -419,7 +420,7 @@ ContentHandling.prototype = {
 			ss.seek(0, op);
 
 			if (post) {
-				this._data.setKey(channel.URI.spec, data);
+				this._data.setKey(channel.URI.spec, post);
 			}
 		}
 		catch (ex) {
@@ -561,27 +562,27 @@ AboutModule.prototype = {
 	
 	QueryInterface: XPCOMUtils.generateQI([Ci.nsIAboutModule]),
 	
-  newChannel : function(aURI) {
+	newChannel : function(aURI) {
 		try {
-		    let io = Cc['@mozilla.org/network/io-service;1'].getService(Ci.nsIIOService);
-		    let sec = Cc['@mozilla.org/scriptsecuritymanager;1'].getService(Ci.nsIScriptSecurityManager);
-
-	    	module('resource://dta/version.jsm');
-	    	if (!Version.ready) {
-	    		throw new Exception("Cannot build about:downthemall, version.jsm not ready");
-	    	}
-
-		    let ru = ABOUT_URI.replace(
-		    	/%(.+?)%/g,
-		    	function (m, m1) (m1 in Version) ? Version[m1] : m
-		    );
-		    
-		    let uri = io.newURI(ru, null, null);
-		    let chan = io.newChannelFromURI(uri);
-		    chan.originalURI = aURI;
-		    chan.owner = sec.getCodebasePrincipal(uri);
-		    
-		    return chan;
+				let io = Cc['@mozilla.org/network/io-service;1'].getService(Ci.nsIIOService);
+				let sec = Cc['@mozilla.org/scriptsecuritymanager;1'].getService(Ci.nsIScriptSecurityManager);
+
+				module('resource://dta/version.jsm');
+				if (!Version.ready) {
+					throw new Exception("Cannot build about:downthemall, version.jsm not ready");
+				}
+
+				let ru = ABOUT_URI.replace(
+					/%(.+?)%/g,
+					function (m, m1) (m1 in Version) ? Version[m1] : m
+				);
+				
+				let uri = io.newURI(ru, null, null);
+				let chan = io.newChannelFromURI(uri);
+				chan.originalURI = aURI;
+				chan.owner = sec.getCodebasePrincipal(uri);
+				
+				return chan;
 		}
 		catch (ex) {
 			log(ex);
@@ -1060,8 +1061,8 @@ FilterManager.prototype = {
 };
 
 if (XPCOMUtils.generateNSGetFactory) {
-    var NSGetFactory = XPCOMUtils.generateNSGetFactory([Stuff, ContentHandling, AboutModule, FilterManager]);
+		var NSGetFactory = XPCOMUtils.generateNSGetFactory([Stuff, ContentHandling, AboutModule, FilterManager]);
 }
 else {
-    function NSGetModule() XPCOMUtils.generateModule([Stuff, ContentHandling, AboutModule, FilterManager]);
+		function NSGetModule() XPCOMUtils.generateModule([Stuff, ContentHandling, AboutModule, FilterManager]);
 }
\ No newline at end of file
diff --git a/debian/changelog b/debian/changelog
index c716013..ffa16ab 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+downthemall (2.0.13-1) unstable; urgency=low
+
+  * Imported Upstream version 2.0.13 (Closes: #660422)
+
+ -- Michael Meskes <meskes at debian.org>  Sun, 19 Feb 2012 11:40:07 +0100
+
 downthemall (2.0.10-1) unstable; urgency=low
 
   * Imported Upstream version 2.0.10
diff --git a/install.rdf b/install.rdf
index 5d36fb5..25c4430 100644
--- a/install.rdf
+++ b/install.rdf
@@ -4,7 +4,7 @@
 		<em:id>{DDC359D1-844A-42a7-9AA1-88A850A938A8}</em:id>
 		<em:name>DownThemAll!</em:name>
 		<em:description>The mass downloader for Firefox.</em:description>
-		<em:version>2.0.10</em:version>
+		<em:version>2.0.13</em:version>
 
 		<em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator>
 
@@ -21,8 +21,8 @@
 		<em:targetApplication>
 			<Description>
 				<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
-				<em:minVersion>3.5</em:minVersion>
-				<em:maxVersion>11.*</em:maxVersion>
+				<em:minVersion>3.6</em:minVersion>
+				<em:maxVersion>12.*</em:maxVersion>
 			</Description>
 		</em:targetApplication>
 
@@ -30,12 +30,12 @@
 		<em:targetApplication>
 			<Description>
 				<em:id>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em:id>
-				<em:minVersion>2.0</em:minVersion>
-				<em:maxVersion>2.7.*</em:maxVersion>
+				<em:minVersion>2.1</em:minVersion>
+				<em:maxVersion>2.9.*</em:maxVersion>
 			</Description>
 		</em:targetApplication>
 
-		<em:localized><Description><em:description>The mass downloader for Firefox.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>en-US</em:locale><em:name>DownThemAll!</em:name><em:translator>The dTa Team</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>المنزِّل الشامل لفَيَرفُكس.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>ar</em:locale><em:name>DownThemAll!</em:name><em:translator>فريق نزِّل</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Správce stahování pro Firefox.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>cs</em:locale><em:name>DownThemAll!</em:name><em:translator>Luděk Janča</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Der Massen-Download-Manager für Firefox</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>de</em:locale><em:name>DownThemAll!</em:name><em:translator>Nils Maier</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Ο διαχειριστής μαζικών λήψεων του Firefox</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>el</em:locale><em:name>DownThemAll!</em:name><em:translator>Sonickydon</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>El gestor de descargas masivo para Firefox.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>es-AR</em:locale><em:name>DownThemAll!</em:name><em:translator>El equipo de dTa</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>El descargador masivo para Firefox</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>es-ES</em:locale><em:name>DownThemAll!</em:name><em:translator>Urko - Babelzilla.org</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>L'extension de téléchargement par lot pour Firefox.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>fr</em:locale><em:name>DownThemAll!</em:name><em:translator>L'équipe dTa</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Descargador masivo para Firefox.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>gl</em:locale><em:name>DownThemAll!</em:name><em:translator>O equipo de dTa</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>O descargador masivo para Firefox.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>gl-ES</em:locale><em:name>DownThemAll!</em:name><em:translator>Sadrarin - BabelZilla.org</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>תוסף להורדת קבצים מרובים עבור פיירפוקס.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>he</em:locale><em:name>DownThemAll!</em:name><em:translator>צוות dTa</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Tömeges letöltés a Firefox böngészőhöz</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>hu</em:locale><em:name>DownThemAll!</em:name><em:translator>KAMI</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Lo scaricatore di massa per Firefox</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>it</em:locale><em:name>DownThemAll!</em:name><em:translator>Il Team di dTa</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Firefox 用の多機能ダウンローダーです。</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>ja</em:locale><em:name>DownThemAll!</em:name><em:translator>Norah</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Firefox용 대량 다운로드 도구입니다.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>ko-KR</em:locale><em:name>DownThemAll!</em:name><em:translator>The dTa Team</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>De bulk downloader voor Firefox.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>nl</em:locale><em:name>DownThemAll!</em:name><em:translator>Het dTa! Team</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Menedżer pobierania plików dla Firefoksa.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>pl</em:locale><em:name>DownThemAll!</em:name><em:translator>Zespół dTa</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>O gerenciador de downloads em massa do Firefox.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>pt-BR</em:locale><em:name>DownThemAll!</em:name><em:translator>A Equipe dTa</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>O transferidor em massa para o Firefox.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>pt-PT</em:locale><em:name>DownThemAll!</em:name><em:translator>A Equipa dTa</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Gestionează descărcarea în masă pentru Firefox.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>ro</em:locale><em:name>DownThemAll!</em:name><em:translator>Cătălin Zamfirescu (x10firefox)</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Менеджер загрузок для Firefox.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>ru</em:locale><em:name>DownThemAll!</em:name><em:translator>Sergeys - Russian Mozilla Team</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Управљач преузимањима за Фајерфокс.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>sr</em:locale><em:name>DownThemAll!</em:name><em:translator>dTa тим</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Firefox的批量下载工具。</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>zh-CN</em:locale><em:name>DownThemAll!</em:name><em:translator>dTa团队</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Firefox 的大量下載工具</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>zh-TW</em:locale><em:name>DownThemAll!</em:name><em:translator>rayx000, scsi, tiffblue, Goldie Lin (林俊良).</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized>
+		<em:localized><Description><em:description>The mass downloader for Firefox.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>en-US</em:locale><em:name>DownThemAll!</em:name><em:translator>The dTa Team</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>المنزِّل الشامل لفَيَرفُكس.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>ar</em:locale><em:name>DownThemAll!</em:name><em:translator>فريق نزِّل</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Správce stahování pro Firefox.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>cs</em:locale><em:name>DownThemAll!</em:name><em:translator>Luděk Janča</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Der Massen-Download-Manager für Firefox</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>de</em:locale><em:name>DownThemAll!</em:name><em:translator>Nils Maier</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Ο διαχειριστής μαζικών λήψεων του Firefox</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>el</em:locale><em:name>DownThemAll!</em:name><em:translator>Sonickydon</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>El gestor de descargas masivo para Firefox.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>es-AR</em:locale><em:name>DownThemAll!</em:name><em:translator>El equipo de dTa</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>El descargador masivo para Firefox</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>es-ES</em:locale><em:name>DownThemAll!</em:name><em:translator>Urko - Babelzilla.org</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>L'extension de téléchargement par lot pour Firefox.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>fr</em:locale><em:name>DownThemAll!</em:name><em:translator>L'équipe dTa</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Descargador masivo para Firefox.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>gl</em:locale><em:name>DownThemAll!</em:name><em:translator>O equipo de dTa</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>O descargador masivo para Firefox.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>gl-ES</em:locale><em:name>DownThemAll!</em:name><em:translator>Sadrarin - BabelZilla.org</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>תוסף להורדת קבצים מרובים עבור פיירפוקס.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>he</em:locale><em:name>DownThemAll!</em:name><em:translator>צוות dTa</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Tömeges letöltés a Firefox böngészőhöz</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>hu</em:locale><em:name>DownThemAll!</em:name><em:translator>KAMI</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Lo scaricatore di massa per Firefox</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>it</em:locale><em:name>DownThemAll!</em:name><em:translator>Il Team di dTa</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Firefox 用の多機能ダウンローダーです。</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>ja</em:locale><em:name>DownThemAll!</em:name><em:translator>Norah</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Firefox용 대량 다운로드 도구입니다.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>ko-KR</em:locale><em:name>DownThemAll!</em:name><em:translator>The dTa Team</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>De bulk downloader voor Firefox.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>nl</em:locale><em:name>DownThemAll!</em:name><em:translator>Het dTa! Team</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Menedżer pobierania plików dla Firefoksa.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>pl</em:locale><em:name>DownThemAll!</em:name><em:translator>Zespół dTa</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>O gerenciador de downloads em massa do Firefox.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>pt-BR</em:locale><em:name>DownThemAll!</em:name><em:translator>A Equipe dTa</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>O transferidor em massa para o Firefox.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>pt-PT</em:locale><em:name>DownThemAll!</em:name><em:translator>A Equipa dTa</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Gestionează descărcarea în masă pentru Firefox.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>ro</em:locale><em:name>DownThemAll!</em:name><em:translator>Cătălin Zamfirescu (x10firefox)</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Менеджер загрузок для Firefox.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>ru</em:locale><em:name>DownThemAll!</em:name><em:translator>Sergeys - Russian Mozilla Team</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Správca sťahovania pre Firefox.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>sk-SK</em:locale><em:name>DownThemAll!</em:name><em:translator>Tomáš Taro</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Управљач преузимањима за Фајерфокс.</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>sr</em:locale><em:name>DownThemAll!</em:name><em:translator>dTa тим</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Firefox的批量下载工具。</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>zh-CN</em:locale><em:name>DownThemAll!</em:name><em:translator>dTa团队</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized><em:localized><Description><em:description>Firefox 的大量下載工具</em:description><em:creator>Federico Parodi, Stefano Verna, Nils Maier</em:creator><em:locale>zh-TW</em:locale><em:name>DownThemAll!</em:name><em:translator>rayx000, scsi, tiffblue, Goldie Lin (林俊良).</em:translator><em:homepageURL>http://downthemall.net/</em:homepageURL><em:developer>Federico Parodi</em:developer><em:developer>Stefano Verna</em:developer><em:developer>Nils Maier</em:developer></Description></em:localized>
 
 	</Description>
 </RDF>
\ No newline at end of file
diff --git a/modules/_apiloader.jsm b/modules/_apiloader.jsm
index 4b44612..5075605 100644
--- a/modules/_apiloader.jsm
+++ b/modules/_apiloader.jsm
@@ -20,7 +20,7 @@ function inject(window) {
 	/* Compat; mostly FlashGot, maybe others */
 	// Obsolete; will be removed in 2.++ timeframe
 	window.__defineGetter__('DTA_AddingFunctions', function() {
-	 	let rv = {
+		let rv = {
 			get ios() {
 				return DTA.IOService
 			},
@@ -45,9 +45,9 @@ function inject(window) {
 			sendToDown: function() this.applyWithWindow(DTA.sendToDown, Array.map(arguments, function(e) e)),
 			turboSendToDown: function() this.applyWithWindow(DTA.turboSendToDown, Array.map(arguments, function(e) e))
 		};
-	 	delete window.DTA_AddingFunctions;
-	 	return (window.DTA_AddingFunctions = rv);
+		delete window.DTA_AddingFunctions;
+		return (window.DTA_AddingFunctions = rv);
 	});
-	window.__defineGetter__('DTA_getLinkPrintMetalink', function() DTA.getLinkPrintMetalink);
-	window.__defineGetter__('DTA_URL', function() DTA.URL);
+	window.__defineGetter__('DTA_getLinkPrintMetalink', function() this.DTA.getLinkPrintMetalink);
+	window.__defineGetter__('DTA_URL', function() this.DTA.URL);
 };
\ No newline at end of file
diff --git a/modules/manager/connection.jsm b/modules/manager/connection.jsm
index 3f6ddf0..71055a3 100644
--- a/modules/manager/connection.jsm
+++ b/modules/manager/connection.jsm
@@ -287,6 +287,41 @@ Connection.prototype = {
 		}
 	},
 	
+	verifyChunksStarted: function() {
+		// XXX always check, not just .isInfoGetter?
+		if (!this.isInfoGetter || this.d.chunks.every(function(c) !c.running || !!c.sessionBytes)) {
+			// All running chunks received something at this point
+			return false;
+		}
+		// Other downloads didn't start; assume the worst
+		Debug.logString("Need to recombine chunks; not all started");
+		this.d.dumpScoreboard();
+
+		// recombine affected chunks
+		let chunks = this.d.chunks;
+		for (let c, i = chunks.length - 1; i > 1 && (c = chunks[i]); --i) {
+			if (!c.running || !!c.sessionBytes) {
+				// Only check running chunks without bytes received
+				Debug.logString("skipping: " + i + " / " + c);
+				continue;
+			}
+			Debug.logString("Respinning by merging: " + i + " / " + c);
+
+			// Merge with previous chunk
+			chunks[i-1].end = c.end;
+			c.cancel();
+			chunks.splice(i, 1);
+
+			// We do not want to run into yet another timed out thing
+			// However, completely disabling chunks isn't really a great thing to do
+			if (this.d.maxChunks > 2) {
+				this.d.maxChunks--;
+			}
+		}
+		Debug.logString("Done respinning, new score board follows");
+		this.d.dumpScoreboard();
+		return true;
+	},
 	// nsIStreamListener
 	onDataAvailable: function DL_onDataAvailable(aRequest, aContext, aInputStream, aOffset, aCount) {
 		if (this._closed) {
@@ -296,31 +331,14 @@ Connection.prototype = {
 			// we want to kill ftp chans as well which do not seem to respond to
 			// cancel correctly.
 			if (this.c.write(aRequest, aInputStream, aCount) < 0) {
-				if (this.isInfoGetter && !this.d.chunks.every(function(c) !c.running || !!c.sessionBytes)) {
-					// Other downloads didn't start; assume the worst
-					Debug.log("Need to recombine chunks; not all started");
-					this.d.dumpScoreboard();
-
-					let oldChunks = this.d.chunks.filter(function(c) c != this.c, this);
-					this.d.chunks = [this.c];
-					this.d.activeChunks = this.d.maxChunks = 1;
-					
-					for each (let chunk in oldChunks) {
-						if (this.c.end < chunk.end) {
-							this.c.end = chunk.end;
-						}
-						chunk.cancel();
-					}
-					
-					this.d.dumpScoreboard();
-					if (this.c.write(aRequest, aInputStream, aCount) >= 0) {
-						Debug.log("successfully respun");
-						return;
-					}
+				// need to attempt another write after merging in verifyChunksStarted
+				if (this.verifyChunksStarted()
+						&& this.c.write(aRequest, aInputStream, aCount) >= 0) {
+					return;
 				}
 
 				// we already got what we wanted
-				this.cancel();
+				this.cancel();	
 			}
 		}
 		catch (ex) {
diff --git a/modules/support/metalinker.jsm b/modules/support/metalinker.jsm
index 2175c5c..952f178 100644
--- a/modules/support/metalinker.jsm
+++ b/modules/support/metalinker.jsm
@@ -36,8 +36,9 @@ module("resource://dta/support/urlmanager.jsm");
 const IOService = DTA.IOService;
 const XPathResult = Ci.nsIDOMXPathResult;
 
-const FileInputStream = new Ctor('@mozilla.org/network/file-input-stream;1', 'nsIFileInputStream', 'init');
-const DOMParser = new Ctor("@mozilla.org/xmlextras/domparser;1", 'nsIDOMParser');
+if (!('XMLHttpRequest' in this)) {
+	this.XMLHttpRequest = Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1", "nsIXMLHttpRequest");
+}
 
 /**
  * Parsed Metalink representation
@@ -537,35 +538,46 @@ const __parsers__ = [
  * Parse a metalink
  * @param aFile (nsIFile) Metalink file
  * @param aReferrer (String) Optional. Referrer
- * @return (Metalink) Parsed metalink data 
+ * @param aCallback (Function) Receiving callback function of form f(result, exception || null) 
+ * @return async (Metalink) Parsed metalink data 
  */
-function parse(aFile, aReferrer) {
-	let fiStream = new FileInputStream(aFile, 1, 0, false);
-	let doc;
-	try {
-		doc = new DOMParser().parseFromStream(
-				fiStream,
-				null,
-				aFile.fileSize,
-				"application/xml"
-		);
-		if (doc.documentElement.nodeName == 'parsererror') {
-			throw new Exception("Failed to parse XML");
-		}
-	}
-	finally {
-		fiStream.close();
-	}
-	
-	for each (let parser in __parsers__) {
+function parse(aFile, aReferrer, aCallback) {
+	let fu = IOService.newFileURI(aFile);
+	let xhrLoad, xhrError;
+	let xhr = new XMLHttpRequest();
+	xhr.open("GET", fu.spec);
+	xhr.overrideMimeType("application/xml");
+	xhr.addEventListener("load", xhrLoad = (function() {
+		xhr.removeEventListener("load", xhrLoad, false);
+		xhr.removeEventListener("error", xhrError, false);
+
 		try {
-			parser = new parser(doc);
+			doc = xhr.responseXML;
+			if (doc.documentElement.nodeName == 'parsererror') {
+				throw new Exception("Failed to parse XML");
+			}
+			for each (let parser in __parsers__) {
+				try {
+					parser = new parser(doc);
+				}
+				catch (ex) {
+					Debug.log(parser.name + " failed", ex);
+					continue;
+				}
+				aCallback(parser.parse(aReferrer));
+				return;
+			}
+			throw new Exception("no suitable parser found!");			
 		}
 		catch (ex) {
-			Debug.log(parser.name + " failed", ex);
-			continue;
+			aCallback(null, ex);
 		}
-		return parser.parse(aReferrer);
-	}
-	throw new Exception("");
+	}), false);
+	xhr.addEventListener("error", xhrError = (function() {
+		xhr.removeEventListener("load", xhrLoad, false);
+		xhr.removeEventListener("error", xhrError, false);
+
+		aCallback(null, new Exception("failed to load"));
+	}), false);
+	xhr.send();
 }
\ No newline at end of file

-- 
Debian packaging of the downthemall extension.



More information about the Pkg-mozext-commits mailing list