MozillaZine

Overlays

From MozillaZine Knowledge Base

(Difference between revisions)
Revision as of 07:50, 30 March 2005
Asqueella (Talk | contribs)
(not applies to g1.8)
<-- Previous diff
Revision as of 11:43, 14 December 2005
Asqueella (Talk | contribs)

Next diff -->
Line 1: Line 1:
{{extdev}} {{extdev}}
-''Much of the information intended for this page is not written yet. Take a look at http://xulplanet.com/tutorials/xulapp/overlays.html'' 
-'''Update:''' This is no longer true for Firefox/Thunderbird 1.1. During Gecko 1.8 development contents.rdf and rdf-based overlayinfo directory were dropped in favor of plain-text chrome.manifest files. See [https://bugzilla.mozilla.org/show_bug.cgi?id=278534 bug 278534] and [http://www.mozilla.org/xpfe/ConfigChromeSpec.html]. The information below is only useful for pre-Gecko 1.8 applications.+See http://developer.mozilla.org/en/docs/XUL_Overlays for general information about overlays.
 +__NOTOC__
 += Registering overlays =
 +== Firefox 1.5 and newer ==
 +In Firefox 1.5 and Thunderbird 1.5, contents.rdf and RDF-based overlayinfo directory were dropped in favor of plain-text chrome.manifest files. Chrome manifests are automatically generated from contents.rdf for legacy extensions. See http://developer.mozilla.org/en/docs/Chrome_Registration for more information.
-==Registering overlay information for extensions==+The information below is only useful for pre-Gecko 1.8 applications.
 + 
 + 
 +== Firefox 1.0 / Mozilla Suite ==
===Specifying overlays when developing extensions=== ===Specifying overlays when developing extensions===

Revision as of 11:43, 14 December 2005

This page is part of the extension development documentation project.

Ask your questions in MozillaZine Forums. Also try browsing example code.

Note: development documentation is in process of being moved to Mozilla Development Center (MDC).


See http://developer.mozilla.org/en/docs/XUL_Overlays for general information about overlays.


Registering overlays

Firefox 1.5 and newer

In Firefox 1.5 and Thunderbird 1.5, contents.rdf and RDF-based overlayinfo directory were dropped in favor of plain-text chrome.manifest files. Chrome manifests are automatically generated from contents.rdf for legacy extensions. See http://developer.mozilla.org/en/docs/Chrome_Registration for more information.

The information below is only useful for pre-Gecko 1.8 applications.


Firefox 1.0 / Mozilla Suite

Specifying overlays when developing extensions

Information about overlays should be specified in a contents.rdf file inside the same folder as your overlays. For example, if you have an overlay in content/myextension/myOverlay.xul in myextension.jar which overlays the chrome://browser/content/browser.xul location (<install directory>/chrome/browser.jar/browser/content/browser/browser.xul file), you should include the following two things in content/myextension/contents.rdf:

  1. Add the line
    <RDF:li RDF:resource="chrome://browser/content/browser.xul"/>

    inside the tag

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

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

  2. Further down, add the tag
    <RDF:Seq RDF:about="chrome://browser/content/browser.xul">
    	<RDF:li>chrome://myextension/content/myOverlay.xul</RDF:li>
    </RDF:Seq>

It is usually quite easy to find the chrome URL of the window you want to overlay. For your convenience, the URLs of some windows are listed in Chrome URLs. If you don't see the window you need to overlay listed, get DOM Inspector, open the window and click File > Inspect a Window > your window. The chrome URL will be displayed in the top textbox.

See also Contents.rdf.

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 is copied into <profile>/chrome/overlayinfo/mozapps/content/overlays.rdf.

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