Seems to be working fine, so here's the new diff. This patch set requires at least Gecko 27, and on Gecko < 32 you must set browser.cache.use_new_backend to 1 in about:config.
Code: Select all
Only in ./jsview-2.0.8-mod/chrome/content/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/content/jsview: jsviewAbout0.xul
Only in ./jsview-2.0.8-mod/chrome/content/jsview: jsviewCustomizeToolbarOverlay0.js
Only in ./jsview-2.0.8-mod/chrome/content/jsview: jsviewExternal0.js
diff -r ./jsview-2.0.8-mod/chrome/content/jsview/jsviewExternal.js ./jsview-2.1.1-mod/chrome/content/jsview/jsviewExternal.js
96c96
< webBrowserPersist.saveURI(uri, null, null, null, null, file);
---
> webBrowserPersist.saveURI(uri, null, null, null, null, file, null);
278c278
< };
\ No newline at end of file
---
> };
Only in ./jsview-2.0.8-mod/chrome/content/jsview: jsviewOverlay0.xul
diff -r ./jsview-2.0.8-mod/chrome/content/jsview/jsviewOverlay.js ./jsview-2.1.1-mod/chrome/content/jsview/jsviewOverlay.js
275a276,301
> makeCacheListener: function(element, filesize) {
> var kb = jsvutils.getStr('jsview.KB');
> var bytes = jsvutils.getStr('jsview.Bytes');
> let cacheListener = {
> element: element,
> onCacheEntryAvailable: function(entry, accessGranted, status)
> {
> if (!entry) return;
> let size = '';
> if (filesize) {
> size = ' (' + (entry.dataSize / 1024).toFixed(2) + ' ' + kb + ')';
> } else {
> size = ' (' + jsvutils.addCommas(entry.dataSize) + ' ' + bytes + ')';
> }
> this.element.setAttribute("label", this.element.getAttribute("label")+size);
> // try to avoid memory leaks..
> this.element = null;
> },
> onCacheEntryCheck: function()
> {
> return Components.interfaces.nsICacheEntryOpenCallback.ENTRY_WANTED;
> }
> };
> return cacheListener;
> },
>
289c315,316
< var done = jsvutils.getStr('jsview.Done');
---
> //var done = jsvutils.getStr('jsview.Done');
> var done = "";
293,294d319
< var kb = jsvutils.getStr('jsview.KB');
< var bytes = jsvutils.getStr('jsview.Bytes');
321,333c346
< //get filesize for url if cached
< cacheKey = js[i].spec.replace(/#.*$/,'');
< try {
< entry = cache.openCacheEntry(cacheKey, Components.interfaces.nsICache.ACCESS_READ, false);
< if (filesize) {
< size = ' (' + (entry.dataSize / 1024).toFixed(2) + ' ' + kb + ')';
< } else {
< size = ' (' + jsvutils.addCommas(entry.dataSize) + ' ' + bytes + ')';
< }
< } catch(e) {
< size = '';
< }
<
---
> //create the element...
335c348
< ['label',fname + size],
---
> ['label',fname],
339,341c352,354
< ['oncommand','jsvutils.viewSource(this.value,4);'],
< ['onclick','jsvutils.promptBehavior(event,this.parentNode,this.value);'],
< ['onmouseover','window.content.status = this.value;'],
---
> ['oncommand','jsvutils.viewSource("'+js[i].spec+'",4);'],
> ['onclick','jsvutils.promptBehavior(event,this.parentNode,"'+js[i].spec+'");'],
> ['onmouseover','window.content.status = "'+js[i].spec+'";'],
344c357,367
< menu.appendChild(this.makeElement(attrs));
---
> let e = this.makeElement(attrs);
>
> //get filesize for url if cached
> cacheKey = js[i].spec.replace(/#.*$/,'');
> try {
> cache.asyncOpenURI(js[i], "", Components.interfaces.nsICacheStorage.OPEN_READONLY, jsview.makeCacheListener(e, filesize));
> } catch(ex) {
> Components.utils.reportError(ex);
> }
>
> menu.appendChild(e);
372,384c395
< //get filesize for url if cached
< cacheKey = css[i].spec.replace(/#.*$/,'');
< try {
< entry = cache.openCacheEntry(cacheKey, Components.interfaces.nsICache.ACCESS_READ, false);
< if (filesize) {
< size = ' (' + (entry.dataSize / 1024).toFixed(2) + ' ' + kb + ')';
< } else {
< size = ' (' + jsvutils.addCommas(entry.dataSize) + ' ' + bytes + ')';
< }
< } catch(e) {
< size = '';
< }
<
---
> // make the element...
386c397
< ['label',fname + size],
---
> ['label',fname],
390,392c401,403
< ['oncommand','jsvutils.viewSource(this.value,4);'],
< ['onclick','jsvutils.promptBehavior(event,this.parentNode,this.value);'],
< ['onmouseover','window.content.status = this.value;'],
---
> ['oncommand','jsvutils.viewSource("'+css[i].spec+'",4);'],
> ['onclick','jsvutils.promptBehavior(event,this.parentNode,"'+css[i].spec+'");'],
> ['onmouseover','window.content.status = "'+css[i].spec+'";'],
395c406,416
< menu.appendChild(this.makeElement(attrs));
---
> let e = this.makeElement(attrs);
>
> //get filesize for url if cached
> cacheKey = css[i].spec.replace(/#.*$/,'');
> try {
> cache.asyncOpenURI(css[i], "", Components.interfaces.nsICacheStorage.OPEN_READONLY, jsview.makeCacheListener(e, filesize));
> } catch(ex) {
> Components.utils.reportError(ex);
> }
>
> menu.appendChild(e);
Only in ./jsview-2.0.8-mod/chrome/content/jsview: jsviewPageInfo0.js
diff -r ./jsview-2.0.8-mod/chrome/content/jsview/jsviewPageInfo.js ./jsview-2.1.1-mod/chrome/content/jsview/jsviewPageInfo.js
63a64,89
> makeCacheListener: function(ancestor, filesize) {
> var kb = jsvutils.getStr('jsview.KB');
> var bytes = jsvutils.getStr('jsview.Bytes');
> let cacheListener = {
> ancestor: ancestor,
> onCacheEntryAvailable: function(entry, accessGranted, status)
> {
> if (!entry) return;
> if (filesize) {
> size = (entry.dataSize / 1024).toFixed(2) + ' ' + kb;
> } else {
> size = jsvutils.addCommas(entry.dataSize) + ' ' + bytes;
> }
> let e = this.ancestor.getElementsByClassName("jsview-pginfo-size")[0];
> e.setAttribute("label", size);
> // try to prevent memory leaks
> this.ancestor = null;
> },
> onCacheEntryCheck: function()
> {
> return Components.interfaces.nsICacheEntryOpenCallback.ENTRY_WANTED;
> }
> };
> return cacheListener;
> },
>
65c91
< var url,size,cacheKey,entry;
---
> var url,size,entry,item;
70,73d95
< //get string translations
< var kb = jsvutils.getStr('jsview.KB');
< var bytes = jsvutils.getStr('jsview.Bytes');
<
86a109,110
> item = this.createItem([url,'??']);
> if (url == "about:srcdoc") item.setAttribute('jsview',i);
89,95c113
< cacheKey = url.replace(/#.*$/,'');
< entry = cache.openCacheEntry(cacheKey, Components.interfaces.nsICache.ACCESS_READ, false);
< if (filesize) {
< size = (entry.dataSize / 1024).toFixed(2) + ' ' + kb;
< } else {
< size = jsvutils.addCommas(entry.dataSize) + ' ' + bytes;
< }
---
> cache.asyncOpenURI(jsvutils.getURI(url), "", Components.interfaces.nsICacheStorage.OPEN_READONLY, jsviewPageInfo.makeCacheListener(item, filesize));
97d114
< size = '??'; //display something to indicate size unknown
100c117
< child.appendChild(this.createItem([url,size]));
---
> child.appendChild(item);
105c122
< var url,size,cacheKey,entry,item,index;
---
> var url,size,entry,item,index;
134a152,153
> item = this.createItem([url,size]);
> item.setAttribute('jsview',i);
135a155,157
> size = unk;
> url = scripts[i];
> item = this.createItem([url,size]);
137,138d158
< url = scripts[i];
< cacheKey = url.replace(/#.*$/,'');
140,145c160
< entry = cache.openCacheEntry(cacheKey, Components.interfaces.nsICache.ACCESS_READ, false);
< if (filesize) {
< size = (entry.dataSize / 1024).toFixed(2) + ' ' + kb;
< } else {
< size = jsvutils.addCommas(entry.dataSize) + ' ' + bytes;
< }
---
> cache.asyncOpenURI(jsvutils.getURI(url), "", Components.interfaces.nsICacheStorage.OPEN_READONLY, jsviewPageInfo.makeCacheListener(item, filesize));
147d161
< size = unk;
152,153d165
< item = this.createItem([url,size]);
< if (url == embd) item.setAttribute('jsview',i);
159c171
< var url,size,cacheKey,entry,item,index;
---
> var url,size,entry,item,index;
188a201,202
> item = this.createItem([url,size]);
> item.setAttribute('jsview',i);
189a204,206
> size = unk;
> url = sheets[i];
> item = this.createItem([url,size]);
191,192d207
< url = sheets[i];
< cacheKey = url.replace(/#.*$/,'');
194,199c209
< entry = cache.openCacheEntry(cacheKey, Components.interfaces.nsICache.ACCESS_READ, false);
< if (filesize) {
< size = (entry.dataSize / 1024).toFixed(2) + ' ' + kb;
< } else {
< size = jsvutils.addCommas(entry.dataSize) + ' ' + bytes;
< }
---
> cache.asyncOpenURI(jsvutils.getURI(url), "", Components.interfaces.nsICacheStorage.OPEN_READONLY, jsviewPageInfo.makeCacheListener(item, filesize));
201c211
< size = unk;
---
> Components.utils.reportError(e);
205,206d214
< item = this.createItem([url,size]);
< if (url == embd) item.setAttribute('jsview',i);
218a227,228
> // Size cells need a class. Assume that each entry in cells is of the form [url,size].
> if (i == 1) cell.setAttribute("class", "jsview-pginfo-size");
Only in ./jsview-2.0.8-mod/chrome/content/jsview: jsviewPageInfoOverlayFF0.xul
Only in ./jsview-2.0.8-mod/chrome/content/jsview: jsviewUtils0.js
diff -r ./jsview-2.0.8-mod/chrome/content/jsview/jsviewUtils.js ./jsview-2.1.1-mod/chrome/content/jsview/jsviewUtils.js
27a28
> Components.utils.import("resource://gre/modules/Services.jsm");
80,84c81,85
< var cache = Components.classes["@mozilla.org/network/cache-service;1"].
< getService(Components.interfaces.nsICacheService).
< createSession("HTTP", 0, true);
< cache.doomEntriesIfExpired = false;
< return cache;
---
> let LoadContextInfo = Components.utils.import("resource://gre/modules/LoadContextInfo.jsm", {});
> var cache = Components.classes["@mozilla.org/netwerk/cache-storage-service;1"].
> getService(Components.interfaces.nsICacheStorageService).
> diskCacheStorage(LoadContextInfo.default, false);
> return cache;
Only in ./jsview-2.0.8-mod/chrome/content/jsview: jsviewViewSourceOverlay0.js
diff -r ./jsview-2.0.8-mod/chrome/content/jsview/jsviewViewSourceOverlay.js ./jsview-2.1.1-mod/chrome/content/jsview/jsviewViewSourceOverlay.js
233a234,258
> makeCacheListener: function(element, filesize) {
> var kb = jsvutils.getStr('jsview.KB');
> var bytes = jsvutils.getStr('jsview.Bytes');
> let cacheListener = {
> element: element,
> onCacheEntryAvailable: function(entry, accessGranted, status)
> {
> if (!entry) return;
> let size = '';
> if (filesize) {
> size = ' (' + (entry.dataSize / 1024).toFixed(2) + ' ' + kb + ')';
> } else {
> size = ' (' + jsvutils.addCommas(entry.dataSize) + ' ' + bytes + ')';
> }
> this.element.setAttribute("label", this.element.getAttribute("label")+size);
> this.element = null;
> },
> onCacheEntryCheck: function()
> {
> return Components.interfaces.nsICacheEntryOpenCallback.ENTRY_WANTED;
> }
> };
> return cacheListener;
> },
>
251,252d275
< var kb = jsvutils.getStr('jsview.KB');
< var bytes = jsvutils.getStr('jsview.Bytes');
279,291c302
< //get filesize for url if cached
< cacheKey = js[i].spec.replace(/#.*$/,'');
< try {
< entry = cache.openCacheEntry(cacheKey, Components.interfaces.nsICache.ACCESS_READ, false);
< if (filesize) {
< size = ' (' + (entry.dataSize / 1024).toFixed(2) + ' ' + kb + ')';
< } else {
< size = ' (' + jsvutils.addCommas(entry.dataSize) + ' ' + bytes + ')';
< }
< } catch(e) {
< size = '';
< }
<
---
> // create the element...
293c304
< ['label',fname + size],
---
> ['label',fname],
297,299c308,310
< ['oncommand','jsvutils.viewSource(this.value,4);'],
< ['onclick','jsvutils.promptBehavior(event,this.parentNode,this.value);'],
< ['onmouseover','jsviewViewSource.showStatusText(this.value);'],
---
> ['oncommand','jsvutils.viewSource("'+js[i].spec+'",4);'],
> ['onclick','jsvutils.promptBehavior(event,this.parentNode,"'+js[i].spec+'");'],
> ['onmouseover','jsviewViewSource.showStatusText("'+js[i].spec+'");'],
302c313,323
< menu.appendChild(this.makeElement(attrs));
---
> let e = this.makeElement(attrs);
>
> //get filesize for url if cached
> cacheKey = js[i].spec.replace(/#.*$/,'');
> try {
> cache.asyncOpenURI(js[i], "", Components.interfaces.nsICache.OPEN_READONLY, jsviewViewSource.makeCacheListener(e, filesize));
> } catch(ex) {
> Components.utils.reportError(ex);
> }
>
> menu.appendChild(e);
330,342c351
< //get filesize for url if cached
< cacheKey = css[i].spec.replace(/#.*$/,'');
< try {
< entry = cache.openCacheEntry(cacheKey, Components.interfaces.nsICache.ACCESS_READ, false);
< if (filesize) {
< size = ' (' + (entry.dataSize / 1024).toFixed(2) + ' ' + kb + ')';
< } else {
< size = ' (' + jsvutils.addCommas(entry.dataSize) + ' ' + bytes + ')';
< }
< } catch(e) {
< size = '';
< }
<
---
> // create the element...
344c353
< ['label',fname + size],
---
> ['label',fname],
348,350c357,359
< ['oncommand','jsvutils.viewSource(this.value,4);'],
< ['onclick','jsvutils.promptBehavior(event,this.parentNode,this.value);'],
< ['onmouseover','jsviewViewSource.showStatusText(this.value);'],
---
> ['oncommand','jsvutils.viewSource("'+css[i].spec+'",4);'],
> ['onclick','jsvutils.promptBehavior(event,this.parentNode,"'+css[i].spec+'");'],
> ['onmouseover','jsviewViewSource.showStatusText("'+css[i].spec+'");'],
353c362,372
< menu.appendChild(this.makeElement(attrs));
---
> let e = this.makeElement(attrs);
>
> //get filesize for url if cached
> cacheKey = css[i].spec.replace(/#.*$/,'');
> try {
> cache.asyncOpenURI(css[i], "", Components.interfaces.nsICache.OPEN_READONLY, jsviewViewSource.makeCacheListener(e, filesize));
> } catch(e) {
> Components.utils.reportError(e);
> }
>
> menu.appendChild(e);
Only in ./jsview-2.0.8-mod/chrome: jsview.jar
Only in ./jsview-2.0.8-mod/chrome/locale/be-BY/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/locale/ca-AD/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/locale/cs-CZ/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/locale/de/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/locale/de-CH/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/locale/en-US/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/locale/es-ES/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/locale/fa-IR/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/locale/fr/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/locale/hr-HR/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/locale/hu-HU/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/locale/it-IT/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/locale/ja-JP/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/locale/ko-KR/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/locale/nl/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/locale/pl/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/locale/pl-PL/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/locale/pt-BR/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/locale/pt-PT/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/locale/ro-RO/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/locale/ru-RU/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/locale/sv-SE/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/locale/tr-TR/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/locale/uk-UA/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/locale/zh-CN/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/locale/zh-TW/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/skin/classic/jsview: contents.rdf
Only in ./jsview-2.0.8-mod/chrome/skin/classic/jsview: jsviewStyle0.css
diff -r ./jsview-2.0.8-mod/chrome.manifest ./jsview-2.1.1-mod/chrome.manifest
11c11
< content jsview jar:chrome/jsview.jar!/content/jsview/
---
> content jsview chrome/content/jsview/
13c13
< skin jsview classic/1.0 jar:chrome/jsview.jar!/skin/classic/jsview/
---
> skin jsview classic/1.0 chrome/skin/classic/jsview/
15,39c15,39
< locale jsview be-BY jar:chrome/jsview.jar!/locale/be-BY/jsview/
< locale jsview ca-AD jar:chrome/jsview.jar!/locale/ca-AD/jsview/
< locale jsview cs-CZ jar:chrome/jsview.jar!/locale/cs-CZ/jsview/
< locale jsview de jar:chrome/jsview.jar!/locale/de/jsview/
< locale jsview de-CH jar:chrome/jsview.jar!/locale/de-CH/jsview/
< locale jsview en-US jar:chrome/jsview.jar!/locale/en-US/jsview/
< locale jsview es-ES jar:chrome/jsview.jar!/locale/es-ES/jsview/
< locale jsview fa-IR jar:chrome/jsview.jar!/locale/fa-IR/jsview/
< locale jsview fr jar:chrome/jsview.jar!/locale/fr/jsview/
< locale jsview hr-HR jar:chrome/jsview.jar!/locale/hr-HR/jsview/
< locale jsview hu-HU jar:chrome/jsview.jar!/locale/hu-HU/jsview/
< locale jsview it-IT jar:chrome/jsview.jar!/locale/it-IT/jsview/
< locale jsview ja-JP jar:chrome/jsview.jar!/locale/ja-JP/jsview/
< locale jsview ko-KR jar:chrome/jsview.jar!/locale/ko-KR/jsview/
< locale jsview nl jar:chrome/jsview.jar!/locale/nl/jsview/
< locale jsview pl jar:chrome/jsview.jar!/locale/pl/jsview/
< locale jsview pt-BR jar:chrome/jsview.jar!/locale/pt-BR/jsview/
< locale jsview pt-PT jar:chrome/jsview.jar!/locale/pt-PT/jsview/
< locale jsview ro-RO jar:chrome/jsview.jar!/locale/ro-RO/jsview/
< locale jsview ru-RU jar:chrome/jsview.jar!/locale/ru-RU/jsview/
< locale jsview sv-SE jar:chrome/jsview.jar!/locale/sv-SE/jsview/
< locale jsview tr-TR jar:chrome/jsview.jar!/locale/tr-TR/jsview/
< locale jsview uk-UA jar:chrome/jsview.jar!/locale/uk-UA/jsview/
< locale jsview zh-CN jar:chrome/jsview.jar!/locale/zh-CN/jsview/
< locale jsview zh-TW jar:chrome/jsview.jar!/locale/zh-TW/jsview/
---
> locale jsview be-BY chrome/locale/be-BY/jsview/
> locale jsview ca-AD chrome/locale/ca-AD/jsview/
> locale jsview cs-CZ chrome/locale/cs-CZ/jsview/
> locale jsview de chrome/locale/de/jsview/
> locale jsview de-CH chrome/locale/de-CH/jsview/
> locale jsview en-US chrome/locale/en-US/jsview/
> locale jsview es-ES chrome/locale/es-ES/jsview/
> locale jsview fa-IR chrome/locale/fa-IR/jsview/
> locale jsview fr chrome/locale/fr/jsview/
> locale jsview hr-HR chrome/locale/hr-HR/jsview/
> locale jsview hu-HU chrome/locale/hu-HU/jsview/
> locale jsview it-IT chrome/locale/it-IT/jsview/
> locale jsview ja-JP chrome/locale/ja-JP/jsview/
> locale jsview ko-KR chrome/locale/ko-KR/jsview/
> locale jsview nl chrome/locale/nl/jsview/
> locale jsview pl chrome/locale/pl/jsview/
> locale jsview pt-BR chrome/locale/pt-BR/jsview/
> locale jsview pt-PT chrome/locale/pt-PT/jsview/
> locale jsview ro-RO chrome/locale/ro-RO/jsview/
> locale jsview ru-RU chrome/locale/ru-RU/jsview/
> locale jsview sv-SE chrome/locale/sv-SE/jsview/
> locale jsview tr-TR chrome/locale/tr-TR/jsview/
> locale jsview uk-UA chrome/locale/uk-UA/jsview/
> locale jsview zh-CN chrome/locale/zh-CN/jsview/
> locale jsview zh-TW chrome/locale/zh-TW/jsview/
Only in ./jsview-2.0.8-mod: chrome.old.manifest
Only in ./jsview-2.0.8-mod: install.js
Only in ./jsview-2.0.8-mod: install.old.rdf
diff -r ./jsview-2.0.8-mod/install.rdf ./jsview-2.1.1-mod/install.rdf
9,10c9,10
< <em:name>JSView</em:name>
< <em:version>2.0.8</em:version>
---
> <em:name>JSView (Remake)</em:name>
> <em:version>2.1.1</em:version>
12a13,14
> <em:developer>Philip Chee</em:developer>
> <em:developer>barbaz</em:developer>
17,68d18
< <!--<em:updateURL>http://forum.softwareblaze.com/jsview/update.rdf</em:updateURL>-->
<
< <em:file>
< <Description about="urn:mozilla:extension:file:jsview.jar">
< <em:package>content/jsview/</em:package>
< <em:skin>skin/classic/jsview/</em:skin>
<
< <em:locale>locale/be-BY/jsview/</em:locale>
< <em:locale>locale/ca-AD/jsview/</em:locale>
< <em:locale>locale/cs-CZ/jsview/</em:locale>
< <em:locale>locale/de/jsview/</em:locale>
< <em:locale>locale/de-CH/jsview/</em:locale>
< <em:locale>locale/en-US/jsview/</em:locale>
< <em:locale>locale/es-ES/jsview/</em:locale>
< <em:locale>locale/fa-IR/jsview/</em:locale>
< <em:locale>locale/fr/jsview/</em:locale>
< <em:locale>locale/hr-HR/jsview/</em:locale>
< <em:locale>locale/hu-HU/jsview/</em:locale>
< <em:locale>locale/it-IT/jsview/</em:locale>
< <em:locale>locale/ja-JP/jsview/</em:locale>
< <em:locale>locale/ko-KR/jsview/</em:locale>
< <em:locale>locale/nl/jsview/</em:locale>
< <em:locale>locale/pl/jsview/</em:locale>
< <em:locale>locale/pt-BR/jsview/</em:locale>
< <em:locale>locale/pt-PT/jsview/</em:locale>
< <em:locale>locale/ro-RO/jsview/</em:locale>
< <em:locale>locale/ru-RU/jsview/</em:locale>
< <em:locale>locale/sv-SE/jsview/</em:locale>
< <em:locale>locale/tr-TR/jsview/</em:locale>
< <em:locale>locale/uk-UA/jsview/</em:locale>
< <em:locale>locale/zh-CN/jsview/</em:locale>
< <em:locale>locale/zh-TW/jsview/</em:locale>
< </Description>
< </em:file>
<
< <!-- Mozilla Firefox -->
< <em:targetApplication>
< <Description>
< <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
< <em:minVersion>3.0</em:minVersion>
< <em:maxVersion>20.*</em:maxVersion>
< </Description>
< </em:targetApplication>
<
< <!-- Flock -->
< <em:targetApplication>
< <Description>
< <em:id>{a463f10c-3994-11da-9945-000d60ca027b}</em:id>
< <em:minVersion>1.1</em:minVersion>
< <em:maxVersion>2.6.*</em:maxVersion>
< </Description>
< </em:targetApplication>
74c24
< <em:minVersion>2.0b1</em:minVersion>
---
> <em:minVersion>2.24</em:minVersion>
79,88c29
< <!-- Netscape -->
< <!--<em:targetApplication>
< <Description>
< <em:id>{3db10fab-e461-4c80-8b97-957ad5f8ea47}</em:id>
< <em:minVersion>9.0</em:minVersion>
< <em:maxVersion>9.0.*</em:maxVersion>
< </Description>
< </em:targetApplication>-->
<
< <!-- Songbird -->
---
> <!-- Generic toolkit -->
91,93c32,34
< <em:id>songbird@songbirdnest.com</em:id>
< <em:minVersion>1.8</em:minVersion>
< <em:maxVersion>2.*</em:maxVersion>
---
> <em:id>toolkit@mozilla.org</em:id>
> <em:minVersion>27.0</em:minVersion>
> <em:maxVersion>56.*</em:maxVersion>
Only in ./jsview-2.0.8-mod: jsview208.diff
Only in ./jsview-2.0.8-mod: mod-notes
(Although it may not be apparent from the diff, note that I got rid of the internal jar file in the new jsview and put its contents directly in the xpi.)