XUL Manifest Instructions
comments
A line is a comment if it begins with the character '#'; any other characters on the line are ignored.
content
A content package is registered with the line
This will register a location to use when resolving the URI chrome:packagename/content/.... The URI may be absolute or relative to the location of the manifest file. Note, that it must end with an '/'.
locale
A locale package is registered with the line
This will register a locale package when resolving the URI chrome:packagename/locale/... . The localename is usually a plain language identifier "en" or a language-country identifier "en-US". If more than one locale is registered for a package, the chrome registry will select the best-fit locale using the user's preferences.
skin
A skin package is registered with the line
This will register a skin package when resolving the URI chrome:packagename/skin/... . The skinname is an opaque string identifying an installed skin. If more than one skin is registered for a package, the chrome registry will select the best-fit skin using the user's preferences.
overlay
XUL overlays are registered with the following syntax:
style
Style overlays (custom CSS which will be applied to a chrome page) are registered with the following syntax:
Note that only stylesheets at chrome URIs can be applied in this way.
override
In some cases an extension or embedder may wish to override a chrome file provided by the application or XULRunner. In order to allow for this, the chrome registration manifest allows for "override" instructions:
Note: overrides are not recursive (so overriding chrome:foo/content/bar/ with file:/home/john/blah/ will not usually do what you want or expect it to do).
There was a bug in Gecko 1.8.1.5 (Firefox 2.0.0.5) and earlier where you could not use a relative URL for the new-resolved-URI parameter. You needed to provide an absolute URL. See bug 323455.
resource
When using JavaScript code modules it may be necessary to create resource protocol aliases so extensions and applications can load modules using Components.utils.import. Aliases can be created using the resource instruction:
This will create a mapping for resource:<aliasname>/ URIs to the path given.
Note that there are no security restrictions preventing web content from including content at resource: URIs, so take care with what you make visible there.
See Also XUL_Bundle_Structure
A line is a comment if it begins with the character '#'; any other characters on the line are ignored.
# this line is a comment - you can put whatever you want here
content
A content package is registered with the line
content packagename uri/to/files/ [flags]
This will register a location to use when resolving the URI chrome:packagename/content/.... The URI may be absolute or relative to the location of the manifest file. Note, that it must end with an '/'.
locale
A locale package is registered with the line
locale packagename localename uri/to/files/ [flags]
This will register a locale package when resolving the URI chrome:packagename/locale/... . The localename is usually a plain language identifier "en" or a language-country identifier "en-US". If more than one locale is registered for a package, the chrome registry will select the best-fit locale using the user's preferences.
skin
A skin package is registered with the line
skin packagename skinname uri/to/files/ [flags]
This will register a skin package when resolving the URI chrome:packagename/skin/... . The skinname is an opaque string identifying an installed skin. If more than one skin is registered for a package, the chrome registry will select the best-fit skin using the user's preferences.
overlay
XUL overlays are registered with the following syntax:
overlay chrome:URI-to-be-overlaid chrome:overlay-URI [flags]
style
Style overlays (custom CSS which will be applied to a chrome page) are registered with the following syntax:
style chrome:URI-to-style chrome:stylesheet-URI [flags]
Note that only stylesheets at chrome URIs can be applied in this way.
override
In some cases an extension or embedder may wish to override a chrome file provided by the application or XULRunner. In order to allow for this, the chrome registration manifest allows for "override" instructions:
override chrome:package/type/original-uri.whatever new-resolved-URI [flags]
Note: overrides are not recursive (so overriding chrome:foo/content/bar/ with file:/home/john/blah/ will not usually do what you want or expect it to do).
There was a bug in Gecko 1.8.1.5 (Firefox 2.0.0.5) and earlier where you could not use a relative URL for the new-resolved-URI parameter. You needed to provide an absolute URL. See bug 323455.
resource
- New in Firefox 3
When using JavaScript code modules it may be necessary to create resource protocol aliases so extensions and applications can load modules using Components.utils.import. Aliases can be created using the resource instruction:
resource aliasname uri/to/files/ [flags]
This will create a mapping for resource:<aliasname>/ URIs to the path given.
Note that there are no security restrictions preventing web content from including content at resource: URIs, so take care with what you make visible there.
See Also XUL_Bundle_Structure
none.