MozillaZine

Dev : Tips : Disable XUL cache

From MozillaZine Knowledge Base

(Difference between revisions)
Revision as of 17:00, 27 July 2004
Asqueella (Talk | contribs)

<-- Previous diff
Revision as of 17:05, 27 July 2004
Asqueella (Talk | contribs)
(bold is bad)
Next diff -->
Line 1: Line 1:
==nglayout.debug.disable_xul_cache== ==nglayout.debug.disable_xul_cache==
-'''nglayout.debug.disable_xul_cache''' is a Mozilla [[Firefox : FAQs : Edit Config|preference]] useful for extension developers. Basically when it is set to ''true'' (default), Mozilla caches chrome XUL and JavaScript (and more) in a file named XUL.mfl or similarly. Therefore, when making changes to your extension, you have to restart Mozilla in order to get new version used. As it is very inconvenient, many extension developers set this pref to ''false''.+<tt>nglayout.debug.disable_xul_cache</tt> is a Mozilla [[Firefox : FAQs : Edit Config|preference]] useful for extension developers. Basically when it is set to ''true'' (default), Mozilla caches chrome XUL and JavaScript (and more) in a file named XUL.mfl or similarly. Therefore, when making changes to your extension, you have to restart Mozilla in order to get new version used. As it is very inconvenient, many extension developers set this pref to ''false''.
-However even when '''nglayout.debug.disable_xul_cache''' is set to ''false'', Mozilla forbids rewriting *.jar files that contain installed extensions. You have to unpack the JAR file you want to edit and update chrome.rdf to point to the unpacked files instead of the JAR:+However even when <tt>nglayout.debug.disable_xul_cache</tt> is set to ''false'', Mozilla forbids rewriting *.jar files that contain installed extensions. You have to unpack the JAR file you want to edit and update chrome.rdf to point to the unpacked files instead of the JAR:
'''''Important!! Backup your profile before editing chrome.rdf!''''' '''''Important!! Backup your profile before editing chrome.rdf!'''''

Revision as of 17:05, 27 July 2004

nglayout.debug.disable_xul_cache

nglayout.debug.disable_xul_cache is a Mozilla preference useful for extension developers. Basically when it is set to true (default), Mozilla caches chrome XUL and JavaScript (and more) in a file named XUL.mfl or similarly. Therefore, when making changes to your extension, you have to restart Mozilla in order to get new version used. As it is very inconvenient, many extension developers set this pref to false.

However even when nglayout.debug.disable_xul_cache is set to false, Mozilla forbids rewriting *.jar files that contain installed extensions. You have to unpack the JAR file you want to edit and update chrome.rdf to point to the unpacked files instead of the JAR:

Important!! Backup your profile before editing chrome.rdf!

  1. Unpack the JAR file you have, say Profiles\default\extensions\{YOUR-EXTENSION'S-GUID}\my-ext.jar to the same directory. You will get (at least) Profiles\default\extensions\{YOUR-EXTENSION'S-GUID}\content directory.
  2. In Profiles\default\chrome\chrome.rdf look for my-ext.jar! and delete it. For example replace this line
    c:baseURL="jar:file:///D:/Firefox/Profiles/default/extensions/{GUID}/chrome/my-ext.jar!/content/my-ext/"

    with this:

    c:baseURL="file:///D:/Firefox/Profiles/asqueella/extensions/{GUID}/chrome/content/my-ext/"
    Note, that you should also delete jar: at the beginning of the path.

As you may have noticed that we assume that the extension is installed in profile.