MozillaZine

Overlays

From MozillaZine Knowledge Base

Revision as of 16:55, 13 September 2004; view current revision
←Older revision | Newer revision→

Much of the information intended for this page is not written yet. Take a look at http://xulplanet.com/tutorials/xulapp/overlays.html

Registering overlay information for extensions

Specifying overlays when packaging extensions

Information about overlays should be specified in a contents.rdf file inside the same folder as any XUL overlay. For example, if you have a file contents/myextension/myOverlay.xul in myextension.jar which overlays the file content/mozapps/downloads/unknownContentType.xul in <mozilla install directory>/chrome/toolkit.jar then you should include the following two things in myextension.jar/contents/myextension/contents.rdf.

Add the line

   <RDF:li RDF:resource="chrome://mozapps/content/downloads/unknownContentType.xul"/>

inside the tag

 <RDF:Seq RDF:about="urn:mozilla:overlays">
 </RDF:Seq>

(Create this tag if it doesn't already exist.)

Further down, add the tag

 <RDF:Seq RDF:about="chrome://mozapps/content/downloads/unknownContentType.xul">
   <RDF:li>chrome://myextension/content/myOverlay.xul</RDF:li>
 </RDF:Seq>

Where Mozilla stores extension overlay information

When an extension is installed, overlay information found in its various contents.rdf files is copied into various overlays.rdf files located inside the Profile Folder under chrome/overlayinfo. For example, if a contents.rdf file contains

 <RDF:Seq RDF:about="chrome://mozapps/content/downloads/unknownContentType.xul">
   <RDF:li>chrome://myextension/content/myOverlay.xul</RDF:li>
 </RDF:Seq>

then this information becomes

 <RDF:Seq RDF:about="chrome://mozapps/content/downloads/unknownContentType.xul">
   <RDF:li>chrome://myextension/content/myOverlay.xul</RDF:li>
 </RDF:Seq>

in an overlays.rdf file created in the folder <profile>/chrome/overlayinfo/mozapps/content.

Once an extension is installed, Mozilla pays no further heed to the contents.rdf files and refers instead to the overlays.rdf files.