Search completed in 1.27 seconds.
RDF in Mozilla FAQ - Archive of obsolete content
rdf serves two primary purposes in mozilla.
...second, and more importantly, the
rdf model is used along with xul templates as an abstract "api" for displaying information.
...
rdf in fifty words or less is a quick, high-level description of what
rdf does in mozilla.
...And 82 more matches
Mail and RDF
mozilla mail exposes many of it's data structures to
rdf through a few datasources.
... this allows exposure of mailnews-specific data to user interface using
rdf templates.
... you should learn about
rdf before reading this document or you will be hopelessly confused.
...And 30 more matches
Introduction to RDF - Archive of obsolete content
« previousnext » in this section, we'll look at
rdf (resource description framework).
...the way to solve this is by using
rdf datasources.
...
rdf (resource description framework) is a format that can be used to store resources such as bookmarks or mail.
...And 25 more matches
RDF Datasources - Archive of obsolete content
« previousnext » here, we'll look at additional datasources and how to use your own
rdf files as datasources.
...the resource can be referred to using
rdf:history as the datasource.
... date http://home.netscape.com/nc-
rdf#date date of last visit name http://home.netscape.com/nc-
rdf#name title of the page page http://home.netscape.com/nc-
rdf#page page name referrer http://home.netscape.com/nc-
rdf#referrer referrer of the page url http://home.netscape.com/nc-
rdf#url url of the page visit count http://home.netscape.com/nc-
rdf#visitcount number of page visits a typical history list will display a tree with a selection of these fie...
...And 23 more matches
RDF Modifications - Archive of obsolete content
« previousnext » one of the most useful aspects of using templates with
rdf datasources is that when the
rdf datasource changes, for instance a new triple is added, or a triple is removed, the template updates accordingly, adding or removing result output as needed.
...this involves a third type of observer involved in a template builder, an nsi
rdfobserver, used to listen for modifications to the
rdf datasource.
... naturally, this only applies to
rdf queries.
...And 20 more matches
RDF Datasource How-To - Archive of obsolete content
this document is a cookbook that describes how to create a native, client-side datasource that works with mozilla's
rdf implementation.
...the "
rdf universe" consists of a set of statements about internet resources; for example, "my home page was last modified april 2nd", or "that news article was sent by bob".
...more concretely, a datasource is a translator that can present information as a collection of
rdf statements.
...And 19 more matches
RDF Query Syntax - Archive of obsolete content
<vbox datasources="http://www.xulplanet.com/ds/sample.
rdf" ref="http://www.xulplanet.com/
rdf/a"> <template> <query> <content uri="?start"/> <triple subject="?start" predicate="http://www.xulplanet.com/
rdf/relateditem" object="?relateditem"/> </query> <rule> ...
...the seed result will be created like this: (?start = http://www.xulplanet.com/
rdf/a) the variable ?start is determined from the tag's 'uri' attribute.
...the value of ?start is set to 'http://www.xulplanet.com/
rdf/a'.
...And 10 more matches
RDF in Fifty Words or Less - Archive of obsolete content
the resource description framework, or "
rdf", is really two things.
... first,
rdf is a graph-based model for describing internetresources (like web pages and email messages), and how these resources relate to one another.
...to a mozilla developer, it means that the
rdf data model (the "graph") can be used as a mechanism for integrating and organizing internet resources.
...And 6 more matches
RDF: Resource Description Framework for metadata - Archive of obsolete content
resource description framework (
rdf) is a family of specifications for a metadata model that is often implemented as an application of xml.
... the
rdf family of specifications is maintained by the world wide web consortium (w3c).
... the
rdf metadata model is based upon the idea of making statements about resources in the form of a subject-predicate-object expression, called a triple in
rdf terminology.
...And 5 more matches
mimeTypes.rdf corruption - SVG: Scalable Vector Graphics
for files loaded locally, it first looks in a cache of filename extension to media type mappings (stored in a mozilla profile file called mimetypes.
rdf), and if it doesn't find a media type there, it asks the operating system.
...first, certain actions can cause the media types cache in mimetypes.
rdf to associate a filename extension with the wrong media type.
... possible solutions how you solve this problem depends on whether it's your operating system or your mozilla profile (mimetypes.
rdf) that are corrupt.
...And 4 more matches
contents.rdf - Archive of obsolete content
copy the following text and paste it into a text file, then save that file as "contents.
rdf": <?xml version="1.0"?> <
rdf:
rdf xmlns:
rdf="http://www.w3.org/1999/02/22-
rdf-syntax-ns#" xmlns:chrome="http://www.mozilla.org/
rdf/chrome#"> <!-- list all the skins being supplied by this theme --> <
rdf:seq about="urn:mozilla:skin:root"> <
rdf:li resource="urn:mozilla:skin:myskin/1.0" /> </
rdf:seq> <
rdf:description about="urn:mozilla:skin:myskin/1.0" chrome:displayname="my skin" chrome:accesskey="m" chrome:author="me" chrome:description="this is my custom skin for mozilla" chrome:name="myskin/1.0" chrome:image="preview.png"> <chrome:packages> <
rdf:seq about="urn:mozilla:skin:myskin/1.0:packages"> <
rdf:li resource=...
..."urn:mozilla:skin:myskin/1.0:communicator"/> <
rdf:li resource="urn:mozilla:skin:myskin/1.0:editor"/> <
rdf:li resource="urn:mozilla:skin:myskin/1.0:global"/> <
rdf:li resource="urn:mozilla:skin:myskin/1.0:messenger"/> <
rdf:li resource="urn:mozilla:skin:myskin/1.0:navigator"/> </
rdf:seq> </chrome:packages> </
rdf:description> <!-- version information.
...--> <
rdf:description chrome:skinversion="1.0" about="urn:mozilla:skin:myskin/1.0:communicator"/> <
rdf:description chrome:skinversion="1.0" about="urn:mozilla:skin:myskin/1.0:editor"/> <
rdf:description chrome:skinversion="1.0" about="urn:mozilla:skin:myskin/1.0:global"/> <
rdf:description chrome:skinversion="1.0" about="urn:mozilla:skin:myskin/1.0:messenger"/> <
rdf:description chrome:skinversion="1.0" about="urn:mozilla:skin:myskin/1.0:navigator"/> </
rdf:
rdf> ...
XUL and RDF - Archive of obsolete content
the first section of the document describes the motivation and reasoning behind using
rdf as the foundation of xul.
... this section makes a technical argument both for having xul in the first place and for using
rdf as the underlying implementation of xul's content model.
... the second section describes the xul/
rdf architecture itself and outlines enhancements to the xul language in order to allow the markup language to reference local data and to indicate how and when it would like to be annotatable with local data.
contents.rdf - Archive of obsolete content
copy the following text and paste it into a text file, then save that file as "contents.
rdf": <?xml version="1.0"?> <
rdf:
rdf xmlns:
rdf="http://www.w3.org/1999/02/22-
rdf-syntax-ns#" xmlns:chrome="http://www.mozilla.org/
rdf/chrome#"> <!-- list all the skins being supplied by this theme --> <
rdf:seq about="urn:mozilla:skin:root"> <
rdf:li resource="urn:mozilla:skin:my_theme"/> </
rdf:seq> <
rdf:description about="urn:mozilla:skin:my_theme" chrome:displayname="my theme" chrome:accesskey="n" chrome:author="" chrome:authorurl="" chrome:description="" chrome:name="my_theme" chrome:image="preview.png"> <chrome:packages> <
rdf:seq about="urn:mozilla:skin:my_theme:packages"> <
rdf:li resource="urn:mozilla:skin:my_...
...theme:browser"/> <
rdf:li resource="urn:mozilla:skin:my_theme:communicator"/> <
rdf:li resource="urn:mozilla:skin:my_theme:global"/> <
rdf:li resource="urn:mozilla:skin:my_theme:mozapps"/> <
rdf:li resource="urn:mozilla:skin:my_theme:help"/> </
rdf:seq> </chrome:packages> </
rdf:description> <!-- version information.
...--> <
rdf:description chrome:skinversion="1.5" about="urn:mozilla:skin:my_theme:browser"/> <
rdf:description chrome:skinversion="1.5" about="urn:mozilla:skin:my_theme:communicator"/> <
rdf:description chrome:skinversion="1.5" about="urn:mozilla:skin:my_theme:global"/> <
rdf:description chrome:skinversion="1.5" about="urn:mozilla:skin:my_theme:mozapps"/> <
rdf:description chrome:skinversion="1.5" about="urn:mozilla:skin:my_theme:help"/> </
rdf:
rdf> ...
install.rdf - Archive of obsolete content
copy the following text and paste it into a text file, then save that file as "install.
rdf": <?xml version="1.0"?> <
rdf xmlns="http://www.w3.org/1999/02/22-
rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-
rdf#"> <description about="urn:mozilla:install-manifest"> <em:id>author@oftheme.com</em:id> <em:version>2.0b1</em:version> <!-- seamonkey --> <em:targetapplication> <description> <em:id>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em:id> <em:minversion>2.0b1pre</em:minversion> <em:maxversion>2.0b2pre</em:maxversion> </description> </em:targetapplication> <!-- front end metadata --> <em:name>my_theme</em:name> <em:description>my first theme</em:description> <!-- front end integration hooks (used by ...
...theme manager)--> <em:creator>john johnson</em:creator> <em:contributor>john johnson</em:contributor> <em:homepageurl>https://mycoolskin.com/</em:homepageurl> <em:updateurl>https://mycoolskin.com/</em:updateurl> <em:abouturl>https://mycoolskin.com/</em:abouturl> <em:internalname>my_theme</em:internalname> </description> </
rdf> ...
install.rdf - Archive of obsolete content
copy the following text and paste it into a text file, then save that file as "install.
rdf": <?xml version="1.0"?> <
rdf xmlns="http://www.w3.org/1999/02/22-
rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-
rdf#"> <description about="urn:mozilla:install-manifest"> <em:id>{themes_uuid}</em:id> <em:version>themes_version</em:version> <!-- target application this extension can install into, with minimum and maximum supported versions.
...heme</em:description> <em:creator>your_name</em:creator> <em:contributor>contributors_names</em:contributor> <em:homepageurl>themes_homepage</em:homepageurl> <em:updateurl> url_of_update_location </em:updateurl> <em:abouturl> url_of_about_page </em:abouturl> <!-- front end integration hooks (used by theme manager)--> <em:internalname>my_theme</em:internalname> </description> </
rdf> ...
RDF - MDN Web Docs Glossary: Definitions of Web-related terms
rdf (resource description framework) is a language developed by w3c for representing information on the world wide web, such as webpages.
...
rdf provides a standard way of encoding resource information so that it can be exchanged in a fully automated way between applications.
The Implementation of the Application Object Model - Archive of obsolete content
as of 2007, we're trying to rely less on
rdf, not more.
...the first section of the document describes the motivation and reasoning behind using
rdf as the foundation of xul.
... this section makes a technical argument both for having xul in the first place and for using
rdf as the underlying implementation of xul's content model.
...And 40 more matches
Index - Archive of obsolete content
rdf a multiple item package provides the ability to package multiple installable bundles which can then be downloaded and installed by a user, or provided pre-packaged with an application or by an external program.
... every multiple item package must provide an install.
rdf file (not old-style install.js!) and has the same requirements as an extension except as noted below.
...after that we'll create a contents.
rdf file describing the tinderstatus component for the chrome registry and an install.js script to perform the installation.
...And 38 more matches
Creating a Help Content Pack - Archive of obsolete content
content packs include help documents written in xhtml, a content pack descriptor file written in
rdf, and a table of contents, index, and glossary (also written in
rdf).
...the help documents are written in xhtml, and the rest are written in
rdf.
... the content pack descriptor file outlines the framework of the contents of the pack by pointing to the files describing the table of contents, index, and glossary
rdf files.
...And 35 more matches
Templates - Archive of obsolete content
populating elements xul provides a method in which we create elements from data supplied by
rdf, either from an
rdf file or from an internal datasource.
... to allow the creation of elements based on
rdf data, you need to provide a simple template which will be duplicated for each element that is created.
... this example and any others that reference internal
rdf datasources will only work if you load them from a chrome url.
...And 27 more matches
Extension Versioning, Update and Compatibility - Archive of obsolete content
how applications determine compatibility when installing add-ons applications look at the targetapplication entries in the add-on's install.
rdf.
... if the install.
rdf contains any targetplatform entries then the platform of the currently running application must be listed or the installation will be rejected.
...this means that if your update manifest contains an entry for the currently installed version of the add-on, and the entry's targetapplication entry specifies a larger maxversion then the application will use this value instead of that specified in the add-on's install.
rdf.
...And 23 more matches
Index - Archive of obsolete content
255 onwiza
rdfinish xul attributes, xul reference no summary!
...xul provides template query processors for
rdf, xml and sql (mozstorage).
...this will not work for other types of trees, for example
rdf-backed or ones created with dom methods.
...And 19 more matches
Simple Query Syntax - Archive of obsolete content
« previousnext » when iterating over the children of an
rdf container, there is a simpler query syntax which may used.
...simple
rdf graph navigation such as this is common, so the simpler syntax is usually used in this situation since it avoids extra tags, although the simple syntax is not more or less efficient, at least when a single query is involved.
...here is what it might look like: <template> <vbox class="box-padded" uri="
rdf:*"> <image src="
rdf:*"/> <label value="
rdf:http://purl.org/dc/elements/1.1/title"/> </vbox> </template> there is no <query> or <action> element used.
...And 16 more matches
A bird's-eye view of the Mozilla framework
let’s consider a resource description framework (
rdf) example, where
rdf is a framework for describing and interchangingmetadata, that is, information about information.
... in this example, we’re interested in the
rdf sub-graph underlying thecontents panel widget within thehelp viewer window.
... suppose the client already has an nsi
rdfdatasource object representing a sub-graph of an
rdf graph and calls nsi
rdfdatasource.gettarget(resource, nc_link, true) to obtain an nsi
rdfnode representing a specific node in the graph, in this case a link to ahelp viewer document page.
...And 14 more matches
package.json - Archive of obsolete content
this value will be used as the add-on's em:creator element in the install.
rdf file generated by cfx.
... these values will be used as the add-on's em:contributor elements in its install.
rdf.
... this value will be used as the add-on's em:description element in its install.
rdf.
...And 13 more matches
Result Generation - Archive of obsolete content
« previousnext »
rdf in this section, we'll look at generating template output using
rdf datasources.
...
rdf, in mathematical terms, is a labeled directed graph.
... that means that
rdf is a graph of nodes and arrows between them where each node and arrow has some label.
...And 13 more matches
Advanced Rules - Archive of obsolete content
in
rdf terms, that means a container such a seq, bag or alt.
... let's say you have a list of cities described in the following
rdf/xml fragment: <
rdf:seq about="http://www.xulplanet.com/
rdf/weather/cities"> <
rdf:li resource="http://www.xulplanet.com/
rdf/weather/city/paris"/> <
rdf:li resource="http://www.xulplanet.com/
rdf/weather/city/manchester"/> <
rdf:li resource="http://www.xulplanet.com/
rdf/weather/city/melbourne"/> <
rdf:li resource="http://www.xulplanet.com/
rdf/weather/city/kiev"/> </
rdf:seq> <
rdf:description about="http://www.xulplanet.com/
rdf/weather/city/paris"> <cityset:name>paris</cityset:name> </
rdf:description> .
...to do this, use the member element as in the following: <tree id="citiestree" datasources="weather.
rdf" ref="http://www.xulplanet.com/
rdf/weather/cities"> <template> <rule> <conditions> <content uri="?list"/> <member container="?list" child="?city"/> </conditions> <rule> <template> </tree> the template builder starts by grabbing the value of the ref attribute, which in this case is http://www.xulplanet.com/
rdf/weather/cities.
...And 13 more matches
Enhanced Extension Installation - Archive of obsolete content
c:\program files\mozilla firefox\extensions extension metadata the extension system stores metadata in both of the two locations, in the following files: <location>/extensions/extensions.
rdf - an xml/
rdf datasource listing all the extensions installed at that location.
... datasource structure the extension manager implements a
rdf datasource which contains a composite of the two xml/
rdf datasources at the two install locations.
...the model looks something like this: nsextensionsdatasource.prototype = { _composite // the composite that manages the two // datasources at the install locations for // read-only information requests _profileextensions // the
rdf/xml datasource for the items at the // profile install location _globalextensions // the
rdf/xml datasource for the items at the // global install location.
...And 12 more matches
Install Manifests - Archive of obsolete content
the format of the install manifest is
rdf/xml.
... the file must be called install.
rdf and live at the top level of an add-on's xpi file.
... layout the basic layout of an install manifest is like so: <?xml version="1.0" encoding="utf-8"?> <
rdf xmlns="http://www.w3.org/1999/02/22-
rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-
rdf#"> <description about="urn:mozilla:install-manifest"> <!-- properties --> </description> </
rdf> some properties are required, some are optional.
...And 12 more matches
Creating XPI Installer Modules - Archive of obsolete content
chrome/ us/ us.jar chatzilla/ chatzilla.jar chrome.
rdf chromelist.txt classic/ classic.jar comm/ comm.jar content-packs/ content-packs.jar embed-sample/ embed-sample.jar en-us/ en-us.jar en-mac/ en-mac.jar en-unix/ en-unix.jar en-win/ en-win.jar help/ help.jar inspector/ inspector.jar installed-chrome.txt messenger/ messenger.jar ...
... in addition to these jar files, there are also several new
rdf files.
...resources are collected in jar archives whose contents are specified in contents.
rdf files at their own top level.
...And 12 more matches
Additional Navigation - Archive of obsolete content
since the subject of an
rdf arc is always a resource, the subject may be a resource uri.
...to look closer, here is the data network after only the member has been evaluated: (?start = http://www.xulplanet.com/
rdf/myphotos, ?photo = http://www.xulplanet.com/ndeakin/images/t/palace.jpg) (?start = http://www.xulplanet.com/
rdf/myphotos, ?photo = http://www.xulplanet.com/ndeakin/images/t/canal.jpg) (?start = http://www.xulplanet.com/
rdf/myphotos, ?photo = http://www.xulplanet.com/ndeakin/images/t/obselisk.jpg) when evaluating the triple, the template builder will iterate over the three potential results fo...
...the resulting data will look like the following: (?start = http://www.xulplanet.com/
rdf/myphotos, ?photo = http://www.xulplanet.com/ndeakin/images/t/canal.jpg) here is the example.
...And 12 more matches
Simple Example - Archive of obsolete content
in this situation, an
rdf container will be used to hold the list of images.
... <?xml version="1.0"?> <
rdf:
rdf xmlns:
rdf="http://www.w3.org/1999/02/22-
rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <
rdf:seq
rdf:about="http://www.xulplanet.com/
rdf/myphotos"> <
rdf:li
rdf:resource="http://www.xulplanet.com/ndeakin/images/t/palace.jpg"/> <
rdf:li
rdf:resource="http://www.xulplanet.com/ndeakin/images/t/canal.jpg"/> <
rdf:li
rdf:resource="http://www.xulplanet.com/ndeakin/images/t/obelisk.jpg"/> </
rdf:seq> <
rdf:description
rdf:about="http://www.xulplanet.com/ndeakin/images/t/palace.jpg" dc:title="palace from above"/> <
rdf:description
rdf:about="http://www.xulplanet.com/ndeakin/images/t/canal.jpg" dc:title="canal"/> <
rdf:description
rdf:about="http://www.xulplanet.com/ndeakin/images/t/obelisk.jp...
...g" dc:title="obelisk"/> </
rdf:
rdf> in this example, we have three images, which can be identified by urls.
...And 11 more matches
Introduction - Archive of obsolete content
several types of datasources are supported by default,
rdf, xml and sqlite databases, however, processors may be written to support other types of datasources.
...here is an example: <vbox datasources="http://www.xulplanet.com/ds/sample.
rdf" querytype="
rdf"> this example specifies the datasource 'http://www.xulplanet.com/ds/sample.
rdf', using the datasource type
rdf as indicated by the querytype attribute'.
... we'll look at
rdf datasources first.
...And 10 more matches
Template Builder Interface - Archive of obsolete content
this isn't a very common technique, however, here is an example of how this can be used: <html:div id="photoslist" datasources="template-guide-photos5.
rdf" ref="http://www.xulplanet.com/
rdf/myphotos" xmlns:html="http://www.w3.org/1999/xhtml"> <html:h1>my photos</html:h1> <template> <html:p uri="
rdf:*"><textnode value="
rdf:http://purl.org/dc/elements/1.1/title"/></html:p> </template> </html:div> this example generates three paragraphs.
...for
rdf datasources, the builder's refresh method, however, will reload the datasources.
...the
rdf datasource associated with the template can be retrieved using the element's 'database' property.
...And 10 more matches
SeaMonkey - making custom toolbar (SM ver. 1.x) - Archive of obsolete content
delete these two files: chrome.
rdf overlays.
rdf explanation: seamonkey automatically rebuilds these files the next time it starts.
... create a plain text file named contents.
rdf.
...paste it into the new file: <?xml version="1.0" encoding="utf-8"?> <!doctype
rdf:
rdf> <
rdf:
rdf xmlns:
rdf="http://www.w3.org/1999/02/22-
rdf-syntax-ns#" xmlns:chrome="http://www.mozilla.org/
rdf/chrome#"> <
rdf:seq
rdf:about="urn:mozilla:package:root"> <
rdf:li
rdf:resource="urn:mozilla:package:custombutton"/> </
rdf:seq> <
rdf:description
rdf:about="urn:mozilla:package:custombutton" chrome:displayname="custom button" chrome:description="my custom toolbar button" chrome:author="my name" chrome:name="custombutton" chrome:localeversion="1.8" chrome:skinversion="1.5" chrome:extension="true"/> <
rdf:seq about="urn:mozilla:overlays"> <!-- browser --> <
rdf:l...
...And 10 more matches
Manifest Files - Archive of obsolete content
for extensions, you will need to create an install file install.
rdf which describes what will be installed, the author of the extension and which versions of the browser or other applications it is compatible with.
...<?xml version="1.0"?> <
rdf:
rdf xmlns:
rdf="http://www.w3.org/1999/02/22-
rdf-syntax-ns#" xmlns:chrome="http://www.mozilla.org/
rdf/chrome#"> <
rdf:seq about="urn:mozilla:package:root"> <
rdf:li resource="urn:mozilla:package:myapplication"/> </
rdf:seq> <
rdf:description about="urn:mozilla:package:myapplication" chrome:displayname="application title" chrome:author="author name" ch...
...rome:name="myapplication" chrome:extension="true"/> </
rdf:
rdf> content,install,url,file:///main/app/ create a directory somewhere on your disk.
...And 10 more matches
XUL element attributes - Archive of obsolete content
containment type: uri this attribute specifies
rdf properties (an
rdf predicate) that indicate that a resource is a container.
...it may be set to a space-separated list of
rdf properties or resources.
...these can be either internal datasources such as
rdf:bookmarks or a url.
...And 9 more matches
Filtering - Archive of obsolete content
function applyfilter(country) { var cond = document.getelementbyid("cond"); var triple = document.getelementbyid("filtertriple"); if (country) { if (!triple) { triple = document.createelement("triple"); triple.id = "filtertriple"; triple.setattribute("subject", "?photo"); triple.setattribute("predicate", "http://www.xulplanet.com/
rdf/country"); } triple.setattribute("object", country); cond.appendchild(triple); } else if (triple) { cond.removechild(triple); } document.getelementbyid("photoslist").builder.rebuild(); } the 'country' argument to the applyfilter function holds the value to filter by.
...for example, the resulting triple for the netherlands might be: <triple subject="?photo" predicate="http://www.xulplanet.com/
rdf/country" object="http://www.daml.org/2001/09/countries/iso#nl"/> this triple is then appended to the query.
...or, we could use an
rdf type to specify the countries.
...And 7 more matches
Trees and Templates - Archive of obsolete content
the following example uses the history datasource: <tree datasources="
rdf:history" ref="nc:historybydate" flags="dont-build-content"> as described in the previous section, the tree may use a tree builder for template generation instead of the normal content builder.
...this would normally be set to an
rdf property so that the label is pulled from the datasource.
...example 1 : source <tree id="my-tree" flex="1" datasources="
rdf:files" ref="nc:filesroot" flags="dont-build-content"> <treecols> <treecol id="name" label="name" primary="true" flex="1"/> <splitter/> <treecol id="date" label="date" flex="1"/> </treecols> <template> <rule> <treechildren> <treeitem uri="
rdf:*"> <treerow> <treecell label="
rdf:http://home.netscape.com/nc-
rdf#name"/> <treecell label="
rdf:http://home.netscape.com/web-
rdf#lastmodifieddate"/> </treerow> </treeitem> </treechildren> </rule> </template> </tree> here, a tree is created wit...
...And 7 more matches
tree - Archive of obsolete content
rdf tree nsitreeview, nsixultreebuilder no this tree is generated from an
rdf datasource.
...for this tree, the data comes directly from the
rdf datasource.
...this is the type that should be used for
rdf generated trees with lots of rows.
...And 7 more matches
Aggregating the In-Memory Datasource
say you were writing a datasource2, and the way you chose to implement it was to "wrap" the in-memory datasource; i.e., myclass : public nsimyinterface, public nsi
rdfdatasource { private: nscomptr<nsi
rdfdatasource> minner; public: // nsi
rdfdatasource methods ns_imethod init(const char* auri) { return minner->init(auri); } ns_imethod geturi(char* *auri) { return minner->geturi(auri); } // etc., for each method in nsi
rdfdatasource!
...that is, you want to reflect the contents of something as an
rdf graph (presumably so that it can be aggregated with other information or displayed as styled content).
... technical details as before, have an nscomptr as your delegate, but this time around,don't derive from nsi
rdfdatasource.
...And 7 more matches
nsINavBookmarksService
ng getitemguid(in long long aitemid); obsolete since gecko 14.0 long long getitemidforguid(in astring aguid); obsolete since gecko 14.0 long getitemindex(in long long aitemid); prtime getitemlastmodified(in long long aitemid); autf8string getitemtitle(in long long aitemid); unsigned short getitemtype(in long long aitemid); astring getkeywo
rdforbookmark(in long long aitemid); obsolete since gecko 40.0 astring getkeywo
rdforuri(in nsiuri auri); obsolete since gecko 40.0 nsitransaction getremovefoldertransaction(in long long aitemid); nsiuri geturiforkeyword(in astring keyword); obsolete since gecko 40.0 void importbookmarkshtml(in nsiuri url); obsolete since gecko 1.9 void importbookmarkshtml...
...emdateadded(in long long aitemid, in prtime adateadded); void setitemguid(in long long aitemid, in astring aguid); obsolete since gecko 14.0 void setitemindex(in long long aitemid, in long anewindex); void setitemlastmodified(in long long aitemid, in prtime alastmodified); void setitemtitle(in long long aitemid, in autf8string atitle); void setkeywo
rdforbookmark(in long long aitemid, in astring akeyword); obsolete since gecko 40.0 void setkeywo
rdforuri(in nsiuri uri, in astring keyword); obsolete since gecko 1.9 obsolete since gecko 40.0 attributes attribute type description bookmarksmenufolder long long the item id of the bookmarks menu folder.
... getkeywo
rdforbookmark() obsolete since gecko 40.0 (firefox 40.0 / thunderbird 40.0 / seamonkey 2.37)this feature is obsolete.
...And 7 more matches
Multiple item extension packaging - Archive of obsolete content
every multiple item package must provide an install.
rdf file (not old-style install.js!) and has the same requirements as an extension except as noted below.
...the basic structure is shown below: /install.
rdf install manifest /extension1.xpi extension /extension2.xpi extension /theme1.jar theme /theme2.jar theme ...
... the extension manager will read the install.
rdf install manifest to determine if this is a multiple item package and then start the installation of the individual packages it contains automatically.
...And 6 more matches
Special Condition Tests - Archive of obsolete content
rdf parent matching for
rdf sources, you can use the same technique.
...for instance, we might use the following: <vbox datasources="template-guide-streets.
rdf" ref="http://www.xulplanet.com/
rdf/myneighbourhood"> <template> <rule parent="vbox"> <groupbox uri="
rdf:*"> <caption label="
rdf:http://purl.org/dc/elements/1.1/title"/> </groupbox> </rule> <rule> <label uri="
rdf:*" value="
rdf:http://www.xulplanet.com/
rdf/address"/> </rule> </template> </vbox> on the first pass, the container where generated content would be inserted is a <vbox>, so the first rule will match and a captioned <groupbox> will be created.
...here is the same example using the extended template syntax: <vbox datasources="template-guide-streets.
rdf" ref="http://www.xulplanet.com/
rdf/myneighbourhood"> <template> <query> <content uri="?start"/> <member container="?start" child="?item"/> </query> <rule parent="vbox"> <binding subject="?item" predicate="http://purl.org/dc/elements/1.1/title" object="?title"/> <action> <groupbox uri="?item"> <caption label="?title"/> </groupbox> ...
...And 6 more matches
Cross Package Overlays - Archive of obsolete content
applying overlays to other packages note: this section talks about contents.
rdf which has been replaced in gecko 1.8 by manifest files.
...you specify this by modifying the contents.
rdf file for your package.
...mozilla allows you to add a list of overlays to the contents.
rdf file that you use to list chrome packages, skins and locales.
...And 6 more matches
XUL Template Primer - Bindings - Archive of obsolete content
example to illustrate how <bindings> work, we'll examine this xul document, which builds a simple content model an
rdf/xml file.
... <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin" type="text/css"?> <window xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" align="vertical"> <vbox datasources="friends.
rdf" ref="urn:root"> <template> <rule> <conditions> <content uri="?uri"/> <triple subject="?uri" predicate="http://home.netscape.com/nc-
rdf#friends" object="?friends"/> <member container="?friends" child="?friend"/> <triple subject="?friend" predicate="http://home.netscape.com/nc-
rdf#name" object="?name"/> </conditions> <bindings> <binding subject="?friend" predicate="http:...
...//home.netscape.com/nc-
rdf#address" object="?addr"/> <binding subject="?addr" predicate="http://home.netscape.com/nc-
rdf#street" object="?street"/> </bindings> <action> <hbox uri="?friend"> <label value="?name"/> <label value="?street"/> </hbox> </action> </rule> </template> </vbox> </window> the xul template primer covers the <conditions> and <action> elements, so we won't discuss those here.
...And 6 more matches
nsIXULTemplateBuilder
; void removeresult(in nsixultemplateresult aresult); void replaceresult(in nsixultemplateresult aoldresult, in nsixultemplateresult anewresult, in nsidomnode aquerynode); void resultbindingchanged(in nsixultemplateresult aresult); nsixultemplateresult getresultforid(in astring aid); nsixultemplateresult getresultforcontent(in nsidomelement aelement); boolean hasgeneratedcontent(in nsi
rdfresource anode, in nsiatom atag); void addrulefilter(in nsidomnode arule, in nsixultemplaterulefilter afilter); [noscript] void init(in nsicontent aelement); [noscript] void createcontents(in nsicontent aelement, in boolean aforcecreation); void addlistener(in nsixulbuilderlistener alistener); void removelistener(in nsixulbuilderlistener alistener); attributes attribute type descri...
...for an
rdf datasource, this will be the same as the database.
... database nsi
rdfcompositedatasource readonly: the composite datasource that the template builder observes and uses to create content.
...And 6 more matches
Chapter 5: Let's build a Firefox extension - Archive of obsolete content
figure 4: folder structure used in phase 1 c:/ └───extensions └───helloworld │ chrome.manifest │ install.
rdf │ └───content clock.js clock.xul overlay.xul table 2: how files are used in phase 1 fixme: make the table cleaner file name role install.
rdf called the install manifest, this gives basic information about the extension, and is required in order for the extension to be installed in firefox...
... create install manifest fill in the install.
rdf file as shown in listing 1.
... listing 1: content for install.
rdf <?xml version="1.0"?> <
rdf xmlns="http://www.w3.org/1999/02/22-
rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-
rdf#"> <description about="urn:mozilla:install-manifest"> <!-- unique id for extension.
...And 5 more matches
The Essentials of an Extension - Archive of obsolete content
« previousnext » the install.
rdf file in the last section we looked at the contents of the hello world extension.
... now we'll look into its files and code, starting with the install.
rdf file.
... the file is formatted in a special flavor of xml called
rdf.
...And 5 more matches
Actions - Archive of obsolete content
<vbox datasources="http://www.xulplanet.com/ds/sample.
rdf" ref="http://www.xulplanet.com/
rdf/a"> <template> <query> <content uri="?start"/> <triple subject="?start" predicate="http://www.xulplanet.com/
rdf/relateditem" object="?relateditem"/> </query> <action> <button uri="?relateditem" label="?relateditem"/> </action> </template> </vbox> in this example, we omit the <xul:rule> e...
...let's look at the results again: (?start = http://www.xulplanet.com/
rdf/a, ?relateditem = http://www.xulplanet.com/
rdf/b) (?start = http://www.xulplanet.com/
rdf/a, ?relateditem = http://www.xulplanet.com/
rdf/c) (?start = http://www.xulplanet.com/
rdf/a, ?relateditem = http://www.xulplanet.com/
rdf/d) the builder will start with the first result.
...since the first result has a value of 'http://www.xulplanet.com/
rdf/b' for the ?relateditem variable, the id will be set to this value.
...And 5 more matches
Multiple Queries - Archive of obsolete content
here is an example using an
rdf datasource: <hbox id="photoslist" datasources="template-guide-photos3.
rdf" ref="http://www.xulplanet.com/
rdf/myphotos"> <template> <queryset> <query> <content uri="?start"/> <member container="?start" child="?photo"/> <triple subject="?photo" predicate="http://purl.org/dc/elements/1.1/title" object="canal"/> </query>...
...here are the results that would be generated by the first query above, before any bindings are applied: (?start = http://www.xulplanet.com/
rdf/myphotos, ?photo = http://www.xulplanet.com/ndeakin/images/t/canal.jpg, then, the builder adds the three results generated from the second query: (?start = http://www.xulplanet.com/
rdf/myphotos, ?photo = http://www.xulplanet.com/ndeakin/images/t/canal.jpg) (?start = http://www.xulplanet.com/
rdf/myphotos, ?photo = http://www.xulplanet.com/ndeakin/images/t/palace.jpg) (?start = http://www.xulp...
...lanet.com/
rdf/myphotos, ?photo = http://www.xulplanet.com/ndeakin/images/t/canal.jpg) (?start = http://www.xulplanet.com/
rdf/myphotos, ?photo = http://www.xulplanet.com/ndeakin/images/t/obelisk.jpg) so four possible results are available, one from the first query and three from the second.
...And 5 more matches
Sorting Results - Archive of obsolete content
for an
rdf datasource, again, the results are in the order the query generates them, although except in the case of an
rdf seq, this order is arbitrary as
rdf triples don't occur in any particular order.
... when the reference node is an
rdf seq container and the results are in that container, however, the template builder orders the results in the order the items appear in the seq.
...for
rdf datasources, another way to sort by dates is to use the the parsetype="date" construct in the
rdf datasource.
...And 5 more matches
Complete - Archive of obsolete content
the xpi contains: install.
rdf information about the extension chrome.manifest registration data for firefox etc.
...these version checks depend on the version numbers specified in the install.
rdf file.
...you can see the registration details in chrome.manifest (firefox, etc.) or in installed-chrome.txt and chrome.
rdf (seamonkey).
...And 5 more matches
XPCOM Examples - Archive of obsolete content
window management this example contains
rdf datasource that will be seen in the later section.
... creating a window menu the list of currently open mozilla windows can be used as an
rdf datasource.
...the datasource for this is
rdf:window-mediator.
...And 5 more matches
XUL Questions and Answers - Archive of obsolete content
there are several options for displaying graphics and animation in xul: <html:canvas> svg <xul:image> (static images or animated gif; support for apng is planned) plugins templates with non-
rdf datasources?
... support for non-
rdf datasources for xul template is planned (bug 321170): xml datasources (bug 321171) storage (sqlite) datasources (bug 321172) when loading an xslt stylesheet into an xml i get the error: "error loading stylesheet: an xslt stylesheet load was blocked for security reasons." that error is from a security check that has been put up to safeguard against cross-site-scripting attacks.
... how to use dynamic objects in toolbar there may be a few ways to implement this: by building your menupopup from an
rdf datasource, which could be generated on the server.
...And 5 more matches
Getting Started - Archive of obsolete content
make a copy of contents.
rdf and place it in \myskin and open it up in your text editor.
...list all the skins being supplied by this theme <
rdf:seq about="urn:mozilla:skin:root"> <
rdf:li resource="urn:mozilla:skin:myskin/1.0" /> in the code search for the part listed above.
... <
rdf:description about="urn:mozilla:skin:myskin/1.0" chrome:displayname="my skin" chrome:accesskey="m" chrome:author="me" chrome:description="this is my custom skin for mozilla" chrome:name="myskin/1.0" chrome:image="preview.png"> the blue areas are explained below.
...And 4 more matches
Containment Properties - Archive of obsolete content
« previousnext » so far, we've seen how the simple query syntax can generate results from the children of an
rdf container.
...<vbox datasources="template-guide-ex1.
rdf" ref="http://www.xulplanet.com/
rdf/a" containment="http://www.xulplanet.com/
rdf/relateditem"> <template> <rule> <label uri="
rdf:*" value="
rdf:*"/> </rule> </template> </vbox> instead of iterating over a container, this example iterates over a specific predicate.
... this attribute is useful when the
rdf data is structured in such a way that an
rdf container isn't used.
...And 4 more matches
What is RSS - Archive of obsolete content
(although
rdf-based rss formats exist, namely the deprecated rss 0.90 and rss 1.0.) common uses of rss syndication are for the syndication of news web sites, of blogs, of internet radio, and of internet television.
...rss 0.90 was
rdf-based, which many found to be overly complex.
... so at this point netscape deprecated the
rdf-based rss 0.90 and told everyone to use netscape's rss 0.91, which was xml-based.
...And 4 more matches
Building a Theme - Archive of obsolete content
an example of the content within a typical xpi file for a theme: example.xpi: /install.
rdf /chrome.manifest /preview.png /icon.png /chrome/ browser/ communicator/ global/ mozapps/ we'll want to create a file structure similar to the one above for our tutorial, so let's begin by creating a folder for your theme somewhere on your hard disk (e.g.
...inside your new theme folder, create two new empty text files, one called chrome.manifest and the other called install.
rdf.
... browser to chrome/browser/ communicator to chrome/communicator/ you should end up with this directory structure: <ext path>/ /install.
rdf /chrome.manifest /chrome/ browser/ communicator/ global/ mozapps/ after this, it would be a good idea to read the article setting up extension development environment and follow the directions there.
...And 4 more matches
McCoy
once you have a key you need to add its public part to your add-on's install.
rdf file.
...you must then locate your install.
rdf for mccoy and the public part of the key will be added directly to the file.
... you can then include this install.
rdf in your add-on's xpi and release it.
...And 4 more matches
NSS PKCS11 Functions
secmod_loadusermodule secmod_unloadusermodule secmod_openuserdb secmod_closeuserdb pk11_findcertfromnickname pk11_findkeybyanycert pk11_getslotname pk11_gettokenname pk11_ishw pk11_ispresent pk11_isreadonly pk11_setpasswo
rdfunc secmod_loadusermodule load a new pkcs #11 module based on a modulespec.
...the pk11_findcertfromnickname function calls the password callback function set with pk11_setpasswo
rdfunc and passes it the pointer specified by the wincx parameter.
...the pk11_findkeybyanycert function calls the password callback function set with pk11_setpasswo
rdfunc and passes it the pointer specified by the wincx parameter.
...And 4 more matches
pkfnc.html
pk11_findcertfromnickname pk11_findkeybyanycert pk11_getslotname pk11_gettokenname pk11_ishw pk11_ispresent pk11_isreadonly pk11_setpasswo
rdfunc pk11_findcertfromnickname finds a certificate from its nickname.
... the pk11_findcertfromnickname function calls the password callback function set with pk11_setpasswo
rdfunc and passes it the pointer specified by the wincx parameter.
... the pk11_findkeybyanycert function calls the password callback function set with pk11_setpasswo
rdfunc and passes it the pointer specified by the wincx parameter.
...And 4 more matches
passwords - Archive of obsolete content
passwo
rdfield the value of the "name" attribute for the form's password field.
...om/foo/authenticate.cgi"> <div>please log in.</div> <label>username:</label> <input type="text" name="uname"> <label>password:</label> <input type="password" name="pword"> </form> the corresponding values for the credential (excluding username and password) should be: url: "http://www.example.com" formsubmiturl: "http://login.example.com" usernamefield: "uname" passwo
rdfield: "pword" note that for both url and formsubmiturl, the portion of the url after the hostname is omitted.
... passwo
rdfield string the value of the name attribute for the password input field in a form.
...And 3 more matches
Creating custom Firefox extensions with the Mozilla build system - Archive of obsolete content
topsrcdir = @top_srcdir@ srcdir = @srcdir@ vpath = @srcdir@ include $(depth)/config/autoconf.mk module = myextension dirs = public src xpi_name = myextension install_extension_id = myextension@mycompany.com xpi_pkgname = myextension dist_files = install.
rdf include $(topsrcdir)/config/rules.mk a detailed description of the make process, describing the key features of this makefile, can be found here.
... every extension must include an install.
rdf file that tells firefox how to install it.
... this file should be located in the main extension directory and look something like this: <?xml version="1.0"?> <
rdf xmlns="http://www.w3.org/1999/02/22-
rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-
rdf#"> <description about="urn:mozilla:install-manifest"> <em:id>myextension@mycompany.com</em:id> <em:version>0.1</em:version> <em:targetapplication> <!-- firefox --> <description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <em:minversion>1.0+</em:minversion> <em:maxversion>1.0+</em:maxversion> </description> </em:targetapplication> <!-- front-end metadata --> <em:name>my first extension</em:name> <em:description>just an example.</em:description> <em:creator>allpeers.com</em:creator> ...
...And 3 more matches
Deploying a Plugin as an Extension - Archive of obsolete content
rhapsodyplayerengine_inst_win.xpi install.
rdf plugins/ license.rtf nprhapengine.dll the important file here is the install.
rdf file.
...here's what a basic install.
rdf file looks like: <
rdf xmlns="http://www.w3.org/1999/02/22-
rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-
rdf#"> <description about="urn:mozilla:install-manifest"> <em:id>rhapsodyplayerengine@rhapsody.com</em:id> <em:name>rhapsody player engine</em:name> <em:version>1.0.0.487</em:version> <em:targetapplication> <description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <em:minversion>1.5</em:minversion> <em:maxversion>1.5.0.*</em:maxversion> </description> </em:targetapplication> </description> </
rdf> you can get more detailed information about this file at install.
rdf.
...now that we have an install.
rdf file, we can actually package the xpi.
...And 3 more matches
Local Storage - Archive of obsolete content
rdf rdf used to be the preferred storage mechanism for firefox.
... if was used for most of its datasources, and you can still see it in use here and there, like in the install.
rdf file.
...the
rdf api may be removed at some point in the future because it requires a great deal of code even for the simplest tasks, and it currently sees little maintenance, so we don't recommend using it unless you really have to.
...And 3 more matches
Building Hierarchical Trees - Archive of obsolete content
with an
rdf datasource, this would usually be an
rdf container such as a seq and the tree would display its children.
...for instance, in the photo example, we have a container 'http://www.xulplanet.com/
rdf/myphotos' with three photos.
...if you want to put rows inside the photo rows, you will either need to make each photo resource a container (for this
rdf datasource, this will usually be an
rdf seq), or use the containment attribute to specify additional properties that indicate containership.
...And 3 more matches
Building Menus With Templates - Archive of obsolete content
here is an
rdf example: <button label="houses in my neighbourhood" type="menu" datasources="template-guide-streets.
rdf" ref="http://www.xulplanet.com/
rdf/myneighbourhood" xmlns:
rdf="http://www.w3.org/1999/02/22-
rdf-syntax-ns#"> <template> <rule
rdf:type="http://www.xulplanet.com/
rdf/house"> <menupopup> <menuitem uri="
rdf:*" label="
rdf:http://www.xulplanet.com/
rdf/addr...
...ess"/> </menupopup> </rule> <rule> <menupopup> <menu uri="
rdf:*" label="
rdf:http://purl.org/dc/elements/1.1/title"/> </menupopup> </rule> </template> </button> this example uses the simple
rdf query syntax.
...first, the menu tag is different (menuitem versus menu), and the label is taken from a different
rdf predicate.
...And 3 more matches
Building Trees - Archive of obsolete content
to use the tree builder, you need to add a flags attribute to the root node: <tree datasources="template-guide-streets.
rdf" ref="http://www.xulplanet.com/
rdf/myneighbourhood" flags="dont-build-content"> the dont-build-content flag causes no content to be built for the template.
...here is an example (using an
rdf source): <tree id="photoslist" flex="1" datasources="template-guide-photos5.
rdf" ref="http://www.xulplanet.com/
rdf/myphotos" flags="dont-build-content"> <treecols> <treecol id="name" label="name" flex="1"/> <treecol id="date" label="date" flex="1"/> </treecols> <template> <treechildren> <treeitem uri="
rdf:*"> <treerow> <treecell label="
rdf:http://pu...
...rl.org/dc/elements/1.1/title"/> <treecell label="
rdf:http://purl.org/dc/elements/1.1/date"/> </treerow> </treeitem> </treechildren> </template> </tree> note: the tree columns (treecols) are declared outside the template as static content, since they only need to be declared once.
...And 3 more matches
Custom toolbar button - Archive of obsolete content
create a plain text file named install.
rdf.
...paste it into the new file: <?xml version="1.0"?> <
rdf xmlns="http://www.w3.org/1999/02/22-
rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-
rdf#"> <description about="urn:mozilla:install-manifest" em:name="custom button" em:description="my custom toolbar button" em:creator="my name" em:id="custom-toolbar-button@example.com" em:version="1.0" em:homepageurl="http://developer.mozilla.org/en/docs/custom_toolbar_button" em:iconurl="chrome://custombutton/content/icon.png" > <em:targetapplication><!-- firefox --> <description em:id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}" em:minversion="1.4" em:maxversion="*" /> </em:targetapplication...
... </em:targetapplication> <em:targetapplication><!-- sunbird --> <description em:id="{718e30fb-e89b-41dd-9da7-e25a45638b28}" em:minversion="0.2.9" em:maxversion="99" /> </em:targetapplication> <em:file> <description about="urn:mozilla:extension:custombutton" em:package="content/custombutton/" /> </em:file> </description> </
rdf> optionally customize the file by changing the name, description and creator.
...And 3 more matches
Index
certificate to or from a pkcs #12 file and the nss database synopsis pk12util [-i p12file [-h tokenname] [-v] [common-options] ] [ -l p12file [-h tokenname] [-r] [common-options] ] [ -o p12file -n certname [-c keycipher] [-c certcipher] [-m|--key_len keylen] [-n|--cert_key_len certkeylen] [common-options] ] [ common-options are: [-d [sql:]directory] [-p dbprefix] [-k slotpasswo
rdfile|-k slotpassword] [-w p12filepasswo
rdfile|-w p12filepassword] ] description the pkcs #12 utility, pk12util, enables sharing certificates among any server that supports pkcs#12.
... -k slotpasswo
rdfile specify the text file containing the slot's password.
... -w p12filepasswo
rdfile specify the text file containing the pkcs #12 file password.
...And 3 more matches
NSS tools : pk12util
nss tools : pk12util name pk12util — export and import keys and certificate to or from a pkcs #12 file and the nss database synopsis pk12util [-i p12file|-l p12file|-o p12file] [-d [sql:]directory] [-h tokenname] [-p dbprefix] [-r] [-v] [-k slotpasswo
rdfile|-k slotpassword] [-w p12filepasswo
rdfile|-w p12filepassword] description the pkcs #12 utility, pk12util, enables sharing certificates among any server that supports pkcs#12.
... -k slotpasswo
rdfile specify the text file containing the slot's password.
... -w p12filepasswo
rdfile specify the text file containing the pkcs #12 file password.
...And 3 more matches
NSS tools : pk12util
certificate to or from a pkcs #12 file and the nss database synopsis pk12util [-i p12file [-h tokenname] [-v] [common-options] ] [ -l p12file [-h tokenname] [-r] [common-options] ] [ -o p12file -n certname [-c keycipher] [-c certcipher] [-m|--key_len keylen] [-n|--cert_key_len certkeylen] [common-options] ] [ common-options are: [-d [sql:]directory] [-p dbprefix] [-k slotpasswo
rdfile|-k slotpassword] [-w p12filepasswo
rdfile|-w p12filepassword] ] description the pkcs #12 utility, pk12util, enables sharing certificates among any server that supports pkcs#12.
... -k slotpasswo
rdfile specify the text file containing the slot's password.
... -w p12filepasswo
rdfile specify the text file containing the pkcs #12 file password.
...And 3 more matches
mozIRegistry
there will be two registry interface implementations: one based solely on libreg (for "compatibility") and a fancier
rdf-based one.
...lastly, there's one component (labelled "moz
rdfregistry/nsi
rdfdatabase") that potentially will emerge as an improved implementation of one of the moziregistry interfaces.
... this is so that one can choose the basic libreg-based registry implementation versus a more advanced, e.g.,
rdf-based, one.
...And 3 more matches
Theme Packaging
theme file layout thunderbird themes are packaged in an xpi file with the following structure: theme.xpi: install.
rdf preview.png icon.png chrome/ browser/files communicator/files global/files mozapps/files ...
... you must have a top-level chrome.manifest file which registers the chrome for the theme (as before) and also an install.
rdf manifest that specifies metadata that is displayed in the appearance section of the add-ons manager.
... install.
rdf your install.
rdf manifest will look something like this: <?xml version="1.0"?> <
rdf xmlns="http://www.w3.org/1999/02/22-
rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-
rdf#"> <description about="urn:mozilla:install-manifest"> <em:type>4</em:type> more properties </description> </
rdf> required install.
rdf properties your install.
rdf file must have the following properties.
...And 3 more matches
Signing an XPI - Archive of obsolete content
c:\projects\codesigning\> cd signed c:\projects\codesigning\signed> unzip fsb.xpi archive: fsb.xpi creating: chrome/ inflating: chrome.manifest inflating: chrome/fsb.jar inflating: install.
rdf c:\projects\codesigning\signed> del fsb.xpi c:\projects\codesigning\signed> cd ..
...--> chrome/fsb.jar --> chrome.manifest --> install.
rdf generating zigbert.sf file..
...s\certs\> cd signed c:\projects\codesigning\signed\> zip fsb.xpi meta-inf/zigbert.rsa adding: meta-inf/zigbert.rsa (deflated 35%) c:\projects\codesigning\signed> zip -r -d fsb.xpi * -x meta-inf/zigbert.rsa adding: meta-inf/manifest.mf (deflated 37%) adding: meta-inf/zigbert.sf (deflated 40%) adding: chrome/fsb.jar (deflated 74%) adding: chrome.manifest (deflated 69%) adding: install.
rdf (deflated 62%) test your certificate to test your certificate, install it into your browser, and attempt to load the signed extension by following these steps: 1.
...And 2 more matches
Index of archived content - Archive of obsolete content
making it into a static overlay prerequisites specifying the appearance tinderbox creating a release tag creating a skin for firefox/getting started creating a skin for mozilla faq getting started in-depth links contents.
rdf toolbarbindings.xml creating a skin for seamonkey 2.x getting started chrome.manifest install.
rdf creating a hybrid cd creating regular expressions for a microsummary generator dtrace dehydra deh...
...ing nspr to unix platforms priority content prism blogposts build bundlelibrary bundles configuration extensions faq hostwindow installer scripting styling proxy ui pydom
rdf api
rdf datasource how-to reading textual data remote xul remote debugging rsyncing the cvs repository running windows debug builds downloaded from tinderbox sxsw 2007 presentations safe browsing safe browsing: design documentation safely loading uris same origin policy for xbl ...
... methods winreg object methods winregvalue xpjs components proposal xre xtech 2005 presentations directions of the mozilla
rdf engine extending gecko with xbl and xtf mozilla e4x rich web svg and canvas in mozilla xul - mozilla's xml user interface language xtech 2006 presentations xul explorer xulrunner application up...
...And 2 more matches
Creating a Skin for Firefox/Getting Started - Archive of obsolete content
(yes, this means that the structure of your new directory and classic.jar will be slightly different.) creating the install files contents.
rdf make a copy of contents.
rdf, place it in \my_theme and open it up in your text editor.
... <
rdf:li resource="urn:mozilla:skin:my_theme:communicator"/> <
rdf:li resource="urn:mozilla:skin:my_theme:editor"/> <
rdf:li resource="urn:mozilla:skin:my_theme:global"/> <
rdf:li resource="urn:mozilla:skin:my_theme:messenger"/> <
rdf:li resource="urn:mozilla:skin:my_theme:navigator"/> save the file and exit the text editor.
... install.
rdf make a copy of install.
rdf and place it in the my_theme directory, then open it up in your text editor.
...And 2 more matches
Mozilla Application Framework in Detail - Archive of obsolete content
our platform also can take advantage of other internet standards such as xslt and
rdf.
...
rdf, a core element to the framework, allows you to define dynamic elements in your ui (elements that may change after you have completed the application, such as a "history" menu item).
...gecko features full support for open internet standards such as css1, html 4.0, dom1,
rdf, xml and javascript.
...And 2 more matches
Recursive Generation - Archive of obsolete content
here is the content that was generated after one iteration: <vbox datasources="http://www.xulplanet.com/ds/sample.
rdf" ref="http://www.xulplanet.com/
rdf/a"> <template> <query> <content uri="?start"/> <triple subject="?start" predicate="http://www.xulplanet.com/
rdf/relateditem" object="?relateditem"/> </query> <action> <hbox uri="?relateditem"> <button label="?start"/> <button label="?relateditem"/> </hbox> </action> </t...
...emplate> <hbox id="http://www.xulplanet.com/
rdf/b"> <button label="http://www.xulplanet.com/
rdf/a"/> <button label="http://www.xulplanet.com/
rdf/b"/> </hbox> <hbox id="http://www.xulplanet.com/
rdf/c"> <button label="http://www.xulplanet.com/
rdf/a"/> <button label="http://www.xulplanet.com/
rdf/c"/> </hbox> <hbox id="http://www.xulplanet.com/
rdf/d"> <button label="http://www.xulplanet.com/
rdf/a"/> <button label="http://www.xulplanet.com/
rdf/d"/> </hbox> </vbox> for the next iteration, the insertion point will be the three <hbox> elements.
...to begin, b is evaluated and seeded with the right value: (?start = http://www.xulplanet.com/
rdf/b) the <triple> statement is then examined, however, item b doesn't have a relateditem arc out of it, so the result is rejected.
...And 2 more matches
triple - Archive of obsolete content
the subject of a triple is an
rdf resource.
... in an
rdf file this would usually be an
rdf description element.
...the object is the value of the
rdf property.
...And 2 more matches
XULRunner tips - Archive of obsolete content
sion: (if you already have inspector installed for another application you can skip to the next step) follow the instructions above through "unzip the package." create a file in the extensions directory of your application with the same name as the dom inspector id (inspector@mozilla.org) containing one line of text -- the exact path to the root directory of dom inspector (where the install.
rdf is) like this one: /home/username/.mozilla/firefox/numbersandletters/extensions/inspector@mozilla.org/ now create a javascript file with the following code and include it in the main window of your application: function startdomi() { // load the window datasource so that browser windows opened subsequent to dom // inspector show up in the dom inspector's window list.
... var windowds = components.classes["@mozilla.org/
rdf/datasource;1?name=window-mediator"] .getservice(components.interfaces.nsiwindowdatasource); var tmpnamespace = {}; var sl = components.classes["@mozilla.org/moz/jssubscript-loader;1"] .createinstance(components.interfaces.mozijssubscriptloader); sl.loadsubscript("chrome://inspector/content/hooks.js", tmpnamespace); tmpnamespace.inspectdomdocument(document); } now create a hook in your application window to start dom inspector, like this one: <button label="start inpector" oncommand="startdomi()"/> start your application and dom inspector will be installed.
...to install the extension into your application you'll need to hack its install.
rdf (see above).
...And 2 more matches
Creating a spell check dictionary add-on
to create a dictionary add-on, simply create a zip file which contains the following files and folders: my-dictionary.xpi install.
rdf dictionaries/ locale-code.dic locale-code.aff the .dic and .aff files must be placed in a subfolder named dictionaries within the zip file.
...you also have to add a file named install.
rdf to the root of the zip file.
... here is an example of the install.
rdf file.
...And 2 more matches
Localizing extension descriptions
all of the different descriptions now appear in the install.
rdf file using em:localized properties.
...the following example demonstrates this (most normal manifest properties have been removed for brevity): <?xml version="1.0"?> <
rdf xmlns="http://www.w3.org/1999/02/22-
rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-
rdf#"> <description about="urn:mozilla:install-manifest"> <em:id>tabsidebar@blueprintit.co.uk</em:id> <em:localized> <description> <em:locale>de-de</em:locale> <em:name>tab sidebar</em:name> <em:description>zeigt in einer sidebar vorschaubilder der inhalte aller offenen tabs an.</em:description> </description> </em:localized> <em:localized> <description> ...
...d> <em:localized> <description> <em:locale>nl-nl</em:locale> <em:name>tab sidebar</em:name> <em:description>laat voorbeeldweergaven van uw tabbladen in de zijbalk zien.</em:description> </description> </em:localized> <em:name>tab sidebar</em:name> <em:description>displays previews of your tabs in your sidebar.</em:description> </description> </
rdf> all of the metadata mentioned below can be localized in this way.
...And 2 more matches
nsILoginInfo
sses["@mozilla.org/login-manager/logininfo;1"] .createinstance(components.interfaces.nsilogininfo); method overview nsilogininfo clone(); boolean equals(in nsilogininfo alogininfo); void init(in astring ahostname, in astring aformsubmiturl, in astring ahttprealm, in astring ausername, in astring apassword, in astring ausernamefield, in astring apasswo
rdfield); boolean matches(in nsilogininfo alogininfo, in boolean ignorepassword); attributes attribute type description formsubmiturl astring the origin, not url, a form-based login was submitted to.
... passwo
rdfield astring the name attribute for the password input in a form.
... void init( in astring ahostname, in astring aformsubmiturl, in astring ahttprealm, in astring ausername, in astring apassword, in astring ausernamefield, in astring apasswo
rdfield ); parameters ahostname the value to assign to the hostname field.
...And 2 more matches
cfx - Archive of obsolete content
at the updateurl you host a file in the update
rdf format: among other things, this includes another url called updatelink which points to the updated xpi itself.
... the --update-link option builds an update
rdf alongside the xpi, and embeds the supplied url in the update
rdf as the value of updatelink.
... so if we run the following command: cfx xpi --update-link https://example.com/addon/latest/pluginname.xpi --update-url https://example.com/addon/update_
rdf/pluginname.update.
rdf cfx will create two files: an xpi file which embeds https://example.com/addon/update_
rdf/pluginname.update.
rdf as the value of updateurl an
rdf file which embeds https://example.com/addon/latest/pluginname.xpi as the value of updatelink.
... --update-link=update_link build an update
rdf alongside the xpi file, and embed the url supplied in update_link in it as the value of updatelink.
cfx to jpm - Archive of obsolete content
in a built xpi, it's the id field in the add-on's install manifest (install.
rdf) file.
... so: if you never did anything with ids when using cfx, then the value in your add-on's package.json will be something like "jid1-f3boogbjqje67a", and the corresponding id in the install.
rdf will be "jid1-f3boogbjqje67a@jetpack".
... id handling with jpm when you create an xpi with jpm xpi: if the package.json does not include an id field, then the id written into the install.
rdf is the value of the name field prepended with "@".
... if the package.json does include an id field, and it contains "@", then this is written into the install.
rdf as the add-on id.
Bootstrapped extensions - Archive of obsolete content
a sibling of the install.
rdf) is loaded automatically.
... creating a bootstrapped extension to mark an extension as bootstrappable, you need to add the following element to its install manifest: <em:bootstrap>true</em:bootstrap> then you need to add a bootstrap.js file that contains the required functions; this should be alongside the install.
rdf file in the extension's package.
... the absolute minimum needed here is: file: install.
rdf file: chrome.manifest file: bootstrap.js folder: locale folder: valid_locale_here file: anything.properties in the locale folder you must have folders for each of the languages you want to provide; each folder must be named a valid locale (ex: en-us).
...have to change the html file's extension to be .xhtml the doctype must be defined point to a dtd file in your locale folder such as: <!doctype html system "chrome://l10n/locale/mozilla.dtd"> must add xmlns attribute to html tag for example: <html xmlns="http://www.w3.org/1999/xhtml"> if you have multiple dtd files read on here: using multiple dtds the bare minimum needed is: file: install.
rdf file: chrome.manifest file: bootstrap.js folder: locale folder: valid_locale_here file: anything.dtd the chrome.manifest file must include a definition for content for example: content name_of_your_addon ./ the chrome.manifest file must also include a line pointing to the locale, just like in the above property section, if you had a folder named en-us in locale...
How to convert an overlay extension to restartless - Archive of obsolete content
an old-style add-on installer is packaged something like this: myaddon.xpi file (glorified zip) └─ chrome.manifest └─ install.
rdf └─ chrome folder └─ myaddon folder └─ content.jar file └─ content folder (most files go here) └─ locale folder (your locale files go here) in versions of firefox prior to 4.0 (gecko 2.0), the xpi would be extracted into a folder in your profile's extensions folder.
...opting-out to extractionlessness is done via the "unpack" flag in install.
rdf.
... step 9: bootstrap.js a bootstrap.js file in the root of your xpi, next to your chrome.manifest and install.
rdf, will be the heart of your restartless add-on.
...this is all assuming a minimum version of firefox 17+ (or other gecko 17+ application) which you should remember to state explicitly in your install.
rdf.
Creating a Firefox sidebar extension - Archive of obsolete content
the first is install.
rdf, the install manifest.
...install.
rdf <?xml version="1.0" encoding="utf-8"?> <
rdf xmlns="http://www.w3.org/1999/02/22-
rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-
rdf#"> <description about="urn:mozilla:install-manifest"> <em:id>emptysidebar@yourdomain.com</em:id> <em:name>emptysidebar extension</em:name> <em:version>1.0</em:version> <em:creator>your name</em:creator> <em:description>example extension for creation and registration of a sidebar.</em:description> <em:targetapplication> <description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <!-- firefox --> <em:minversion>1.5</em:minversion> <em:m...
...axversion>2.0.0.*</em:maxversion> </description> </em:targetapplication> </description> </
rdf> the other manifest file is chrome.manifest, the chrome manifest file.
...~/src/emptysidebar$ zip emptysidebar.xpi install.
rdf chrome.manifest chrome/emptysidebar.jar open firefox and browse to the folder containing emptysidebar.xpi.
Making it into a dynamic overlay and packaging it up for distribution - Archive of obsolete content
after that we'll create a contents.
rdf file describing the tinderstatus component for the chrome registry and an install.js script to perform the installation.
...tyle-image: url("chrome://tinderstatus/content/tb-success.png"); } statusbarpanel#tinderbox-status[status="testfailed"] { list-style-image: url("chrome://tinderstatus/content/tb-testfailed.png"); } statusbarpanel#tinderbox-status[status="busted"] { list-style-image: url("chrome://tinderstatus/content/tb-busted.png"); } then we need to create two files in the directory, one called contents.
rdf which contains information for the chrome registry about the component being installed and one called install.js that contains the code to install the component.
... contents.
rdf goes in the content sub-subdirectory: <?xml version="1.0"?> <
rdf:
rdf xmlns:
rdf="http://www.w3.org/1999/02/22-
rdf-syntax-ns#" xmlns:chrome="http://www.mozilla.org/
rdf/chrome#"> <
rdf:seq about="urn:mozilla:package:root"> <
rdf:li resource="urn:mozilla:package:tinderstatus"/> </
rdf:seq> <
rdf:description about="urn:mozilla:package:tinderstatus" chrome:displayname="mozilla tinderstatus extension" chrome:author="myk melez" chrome:name="tinderstatus" chrome:extension="true" chrome:description="displays tinderbox status for the mozilla codebase."> </
rdf:description> <
rdf:seq about="urn:mozilla:overlays"> <
rdf:li resource="chrome://navigator/content/navigator.xul"/> </
rdf:seq> <
rdf:seq about="chrome://navigator/content/navigator.xul"> <rd...
...f:li>chrome://tinderstatus/content/tinderstatusoverlay.xul</
rdf:li> </
rdf:seq> </
rdf:
rdf> install.js, on the other hand, goes into the tinderstatus-installer directory: initinstall( "mozilla tinderstatus extension", "/mozdev/tinderstatus", "0.1"); var installdir = getfolder("chrome","tinderstatus"); setpackagefolder(installdir); adddirectory("tinderstatus"); registerchrome( content | delayed_chrome, getfolder(installdir, "content")); var result = performinstall(); if ( result != success ) cancelinstall(result); once all the files are in place, use your zip utility from within the tinderstatus-installer directory to create a zip archive called tinderstatus.xpi with install.js and the entire contents of the tinderstatus/ directory.
Makefile.mozextension.2 - Archive of obsolete content
@echo $(mkdir) $(project) $(mkdir) $(project)/content $(project)/locale $(project)/locale/en-us $(project)/components/ $(project)/defaults/ $(project)/defaults/preferences/ $(project)/locale/de-de $(project)/skin make_xpi: $(mkdir) $(project)/chrome && \ cd $(project) && \ $(zipprog) -r chrome/$(project).jar content locale skin && \ $(zipprog) -r $(project).xpi chrome.manifest install.
rdf components defaults chrome && cd ..
... make_files: chrome.manifest install.
rdf overlay.xul overlay.js overlay.dtd $(noecho) $(noop) make_clean: rm -rf $(project) # this may be a bit too old ?!
....manifest ###### #firefox {ec8030f7-c20a-464f-9b0e-13a3a9e97384} #thunderbird {3550f703-e582-4d05-9a08-453d09bdfdc6} #nvu {136c295a-4a5a-41cf-bf24-5cee526720d5} #mozilla suite {86c18b42-e466-45a9-ae7a-9b95ba6f5640} #seamonkey {92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a} #sunbird {718e30fb-e89b-41dd-9da7-e25a45638b28} #netscape browser {3db10fab-e461-4c80-8b97-957ad5f8ea47} ###### define install_
rdf <
rdf xmlns="http://www.w3.org/1999/02/22-
rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-
rdf#"> <description about="urn:mozilla:install-manifest"> <id>$(project_id)</id> <name>$(project_name)</name> <version>$(project_version)</version> <description>$(project_desc)</description> <creator>$(project_author)</creator> <contributor>here is a place for you who helped me</contributor> <ho...
...mepageurl>http://$(project).mozdev.org/</homepageurl> <optionsurl>chrome://$(project)/content/settings.xul</optionsurl> <abouturl>chrome://$(project)/content/about.xul</abouturl> <iconurl>chrome://$(project)/skin/mainicon.png</iconurl> <updateurl>http://$(project).mozdev.org/update.
rdf</updateurl> <type>2</type> <targetapplication> <description> <id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</id> <minversion>2.0</minversion> <maxversion>9.0</maxversion> </description> </targetapplication> </description> </
rdf> endef export install_
rdf install.
rdf: @echo generating $(project)/install.
rdf @echo "$$install_
rdf" > $(project)/install.
rdf ###### define overlay_xul <overlay id="$(project)-overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"><script sr...
registerChrome - Archive of obsolete content
xpipath xpipath is the path within the xpi in where the contents.
rdf file defining the chrome is located.
...in this case, registerchrome is supporting the old format of installation archives, in which the manifest.
rdf file was always located at the highest level of the installation archive.
... in this case, registerchrome does not require a path inside the archive, as it does now in order to locate the more flexible contents.
rdf format of installation archives.
...example example assumes your xpi file is in plugins folder and
rdf file is in resources subfolder of xpi.
Bindings - Archive of obsolete content
to do this all we need to do is add the necessary data to the
rdf datasource and add another <triple> element to the template's statements.
... <
rdf:description
rdf:about="http://www.xulplanet.com/ndeakin/images/t/palace.jpg" dc:title="palace from above"/> dc:description="view from the top of the tower looking east of the doges palace"/> if you try a full example based on this data, you will notice that only one result has been generated.
...(?start = http://www.xulplanet.com/
rdf/myphotos, ?photo = http://www.xulplanet.com/ndeakin/images/t/palace.jpg, ?title = 'palace from above') (?start = http://www.xulplanet.com/
rdf/myphotos, ?photo = http://www.xulplanet.com/ndeakin/images/t/canal.jpg, ?title = 'canal') (?start = http://www.xulplanet.com/
rdf/myphotos, ?photo = http://www.xulplanet.com/ndeakin/images/t/obelisk.jpg, ?title = 'obelisk') the second triple will add a ?description for the first photo, adding a fourth variable-value pair to the existing data.
...(?start = http://www.xulplanet.com/
rdf/myphotos, ?photo = http://www.xulplanet.com/ndeakin/images/t/palace.jpg, ?title = 'palace from above', ?description = 'view from the top of the tower looking east of the doges palace') thus, only one match exists, so only one set of content is generated.
Rule Compilation - Archive of obsolete content
for
rdf and xml, the query contains a set of instructions for navigating through the
rdf graph or xml document tree.
... a query is declared with the query tag (new to ff3; ff2 only worked with
rdf datasources and had no query tag), which you would place directly inside the <template>.
...<vbox datasources="http://www.xulplanet.com/ds/sample.
rdf" ref="http://www.xulplanet.com/
rdf/a" flex="1"> <template> <query> -- query content goes here -- </query> <rule> -- rule content goes here -- </rule> <rule> -- rule content goes here -- </rule> </template> </vbox> query/rule compilation and lazy content generation when the template builder starts processing, and after it has started the data...
...for instance, consider the example below: <vbox datasources="http://www.xulplanet.com/ds/sample.
rdf" ref="http://www.xulplanet.com/
rdf/a" hidden="true"> <template> ...
Shipping a plugin as a Toolkit bundle - Archive of obsolete content
plugin packages should only need to package a small set of files in the following structure in the xpi file: install.
rdf plugins/ pluginlib.dll plugintypes.xpt the install.
rdf file contains an install manifest that describes the plugin to the user.
...for a plugin the manifest only needs to be very simple: <
rdf xmlns="http://www.w3.org/1999/02/22-
rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-
rdf#"> <description about="urn:mozilla:install-manifest"> <em:id>mypluginid@myplugin.com</em:id> <em:name>my plugin</em:name> <em:version>1.0</em:version> <em:targetapplication> <description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <em:minversion>1.5</...
...em:minversion> <em:maxversion>4.0.*</em:maxversion> </description> </em:targetapplication> <em:unpack>true</em:unpack> </description> </
rdf> this contains 5 required pieces of information.
...this should point to an update.
rdf file on the internet which will include the updated versions and version information for the plugin.
Back to the Server: Server-Side JavaScript On The Rise - Archive of obsolete content
importpackage( java.net ); // connect to the remote resource var u = new url( "http://www.mozilla.org/news.
rdf" ); var c = u.openconnection(); c.connect(); // read in the raw data var s = new java.io.inputstreamreader( c.getinputstream() ); var b = new java.io.bufferedreader( s ); var l, str = ""; while( ( l = b.readline() ) != null ) { // skip if( l != "" ) { str = str + l + "\n"; } } // define the namespaces, first the default, // then additional namespaces default xml namespace = "http://purl.org...
.../rss/1.0/"; var dc = new namespace( "http://purl.org/dc/elements/1.1/" ); var
rdf = new namespace( "http://www.w3.org/1999/02/22-
rdf-syntax-ns#" ); // use e4x to process the feed var x = new xml( str ); for each( var i in x..item ) { print( "title: " + i.title + "\n" ); print( "about: " + i.@
rdf::about + "\n" ); print( "link: " + i.link + "\n" ); print( "date: " + i.dc::date + "\n" ); } the first half of this script is standard java code used to retrieve the feed data.
...the default namespace is defined along with two others, in particular dc and
rdf.
...notice during the processing of the item element where we use the
rdf and dc namespace to access the about attribute of the item element, and the date element respectively.
nsIDOMXULElement
database nsi
rdfcompositedatasource read only.
... returns the template builder's database, if it is an
rdf template.
... resource nsi
rdfresource read only.
... returns the nsi
rdfresource corresponding to the element's ref or id attribute, if any.
Index
34 mail and
rdf mozilla mail exposes many of it's data structures to
rdf through a few datasources.
... this allows exposure of mailnews-specific data to user interface using
rdf templates.
...at a minimum, they contain an install.
rdf, the chrome.manifest and a chrome/ folder.
...when this tutorial is finished, our extension will look like this: 76 building a thunderbird extension 3: install manifest extensions, thunderbird the install.
rdf file is an xml file that provides general information about the extension.
Extension Packaging - Archive of obsolete content
every extension must provide an install.
rdf file, which contains metadata about the extension, such as its unique id, version, author, and compatibility information.
... after the extension files and install.
rdf have been prepared, there are several ways to prepare an extension for installation: zip the extension directory into a user-installable xpi (xpinstall) file, unpack the extension directly into the user's application or profile directory, or register the extension in the windows registry.
... making an extension xpi an xpi (xpinstall) file is simply a zip file, containing the extension files, with the install.
rdf file at the root of the zip.
Inline options - Archive of obsolete content
locating the options file there are two ways to let the add-on manager find your options file: method 1 name the file options.xul and put it in the extension's root folder (alongside install.
rdf).
...this method does not require you to specify optionstype in install.
rdf.
... method 2 use install.
rdf to identify the xul file used for displaying the options.
Setting up an extension development environment - Archive of obsolete content
maxversion needs to be set in install.
rdf javascript.options.showinconsole = true.
... get the extension id from the extension's install.
rdf file.
... the contents of this file should be the path to the directory that contains your install.
rdf file, for example /full/path/to/yourextension/ on mac and linux, and c:\full\path\to\yourextension\ on windows.
Creating a status bar extension - Archive of obsolete content
download the sample the install manifest the install manifest, install.
rdf, is a text file containing information that tells the host application important information about the extension.
... <?xml version="1.0"?> <
rdf xmlns="http://www.w3.org/1999/02/22-
rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-
rdf#"> <description about="urn:mozilla:install-manifest"> <em:id>status-bar-sample-1@example.com</em:id> <em:version>1.0</em:version> <em:type>2</em:type> <!-- front end metadata --> <em:name>status bar sample 1</em:name> <em:description>sample static status bar panel</em:description> <em:creator>my name</em:creator> <em:homepageurl>http://developer.mozilla.org/en/docs/creating_a_status_bar_extension</em:homepageurl> <!-- describe the firefox versions we support --> <em:targetapplication> <description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <em:minversion>1.5</em:minversion> <em:maxversion>2.0.
...0.*</em:maxversion> </description> </em:targetapplication> </description> </
rdf> let's take a look at some key parts of the manifest.
Install.js - Archive of obsolete content
extension, theme, and plug-in developers must switch away from install.js based packages to the new packaging scheme with an install.
rdf manifest.
...if you want your extension to install in firefox 0.9 and later and/or thunderbird 0.7 and later only, you don't need install.js, you need an install.
rdf instead.
... install.js install.
rdf (optional -- see above) code // install.js // xpiinstaller // by pike (heavily inspired by code from henrik gemal and stephen clavering) var xpiinstaller = { // --- editable items begin --- extfullname: 'sample extension', // the name displayed to the user (don't include the version) extshortname: 'sampleext', // the leafname of the jar file (without the .jar part) extversion: '1.0', extau...
Getting Started - Archive of obsolete content
install.
rdf make a copy of install.
rdf and place it in the my_theme directory, then open it up in your text editor.
...see install manifests for the reference information about the install.
rdf file.
...e with the following directory structure, using your favorite archive manager to create a zip archive: /chrome/my_theme.jar!/communicator/* /chrome/my_theme.jar!/editor/* /chrome/my_theme.jar!/global/* /chrome/my_theme.jar!/help/* /chrome/my_theme.jar!/messenger/* /chrome/my_theme.jar!/messenger-newsblog/* /chrome/my_theme.jar!/mozapps/* /chrome/my_theme.jar!/navigator/* /chrome.manifest /install.
rdf /icon.png /preview.png make sure not to just zip up the my_theme parent directory since that will cause the drag and drop install in the next section to fail without error messages.
Learn XPI Installer Scripting by Example - Archive of obsolete content
extension, theme, and plug-in developers must switch away from install.js based packages to the new packaging scheme with an install.
rdf manifest.
...if successful, this function returns a "0" and makes entries into theinstalled-chrome.txt file in the chrome subdirectory, which is then used to regenerate the various
rdf files that make up the chrome registry.
...in this most common form of the registerchrome function (it can also be used to support the now-deprecatedmanifest.
rdf style of installation archive), the three parameters represent, in order, the chrome switch used to indicate what kind of software is being registered, the target destination of the software (e.g., the "chrome" folder in the example above), and the path within the xpi (or jar theme archive) where the contents.
rdf file is located.
XPInstall - Archive of obsolete content
extension, theme, and plug-in developers must switch away from install.js based packages to the new packaging scheme with an install.
rdf manifest.
...<?xml version="1.0" encoding="utf-8"?> <
rdf xmlns="http://www.w3.org/1999/02/22-
rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-
rdf#"> <description about="urn:mozilla:install-manifest"> <!-- properties --> </description> </
rdf> cross-platform install (xpinstall) is a technology used by mozilla application suite, mozilla firefox, mozilla thunderbird and other xul-based applications for installing extensions.
... an xpi (pronounced "zippy" and derived from xpinstall) installer module is a zip file that contains an install script or manifest (entitled install.js or install.
rdf) at the root of the file.
datasources - Archive of obsolete content
these can be either internal datasources such as
rdf:bookmarks or a url.
... for
rdf templates, the specified datasources are combined into a single composite datasource which holds the data from all of the datasources.
... if you plan on adding a datasource to an element but don't want one to be added right away, set this attribute to '
rdf:null'.
Building accessible custom components in XUL - Archive of obsolete content
we will need to declare this namespace as well (xmlns:wairole="http://www.w3.org/2005/01/wai-
rdf/guiroletaxonomy#"), and then use this namespace prefix (wairole:) as part of the role attribute value.
...<code> <window id="accjax" title="accjax spreadsheet" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:x2="http://www.w3.org/tr/xhtml2" xmlns:wairole="http://www.w3.org/2005/01/wai-
rdf/guiroletaxonomy#" > </code> once the namespaces are in place, we define the roles for each component of our spreadsheet.
...<code> <window id="accjax" title="accjax spreadsheet" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:x2="http://www.w3.org/tr/xhtml2" xmlns:wairole="http://www.w3.org/2005/01/wai-
rdf/guiroletaxonomy#" xmlns:waistate="http://www.w3.org/2005/01/wai-
rdf/guistatetaxonomy#" onload="install_handlers()" > <script src="accjax.js"/> </code> by adding this javascript code and these css rules, we can tab to the spreadsheet see which cell, row header, or column header has focus click on other cells or headers to change focus within the spreadsheet tab off the spreadsheet by...
Additional Template Attributes - Archive of obsolete content
<listbox datasources="template-guide-photos5.
rdf" ref="http://www.xulplanet.com/
rdf/myphotos" template="phototemplate"/> ...
... one possible advantage is when using the simple
rdf query syntax where you don't specify variables; instead you use the special '
rdf:*' syntax for the member variable and the container is implied.
... <hbox datasources="template-guide-photos5.
rdf" ref="http://www.xulplanet.com/
rdf/myphotos"> <template container="?start" member="?photo"> <rule> <image uri="?photo" src="?photo"/> </rule> </template> </hbox> in this example, the ?photo variable can be used instead of '
rdf:*' (although you can use either even if you specify the member variable).
Multiple Rule Example - Archive of obsolete content
<vbox id="photoslist" align="start" datasources="template-guide-photos5.
rdf" ref="http://www.xulplanet.com/
rdf/myphotos"> <template> <rule> <conditions> <content uri="?start"/> <member container="?start" child="?photo"/> <triple subject="?photo" predicate="http://purl.org/dc/elements/1.1/title" object="?title"/> <triple subject="?photo" predicate="http://purl.org/dc/elements...
...the resulting data will be: (?start = http://www.xulplanet.com/
rdf/myphotos, ?photo = http://www.xulplanet.com/ndeakin/images/t/palace.jpg, ?title = palace from above ?description = view from the top of the tower looking east of the doges palace, ?date = 2005-04-30t14:55:00+01.00) (?start = http://www.xulplanet.com/
rdf/myphotos, ?photo = http://www.xulplanet.com/ndeakin/images/t/palace.jpg, ?phototitle = palace from above) (?start = http://www.xulplanet.co...
...m/
rdf/myphotos, ?photo = http://www.xulplanet.com/ndeakin/images/t/canal.jpg, ?phototitle = canal) (?start = http://www.xulplanet.com/
rdf/myphotos, ?photo = http://www.xulplanet.com/ndeakin/images/t/obelisk.jpg, ?phototitle = obelisk) the first result matches the first rule and contains variables for the two additional predicates that were examined in the conditions.
Template Logging - Archive of obsolete content
for an
rdf datasource, this will be the result's resource.
...only the '
rdf', 'xml' and 'storage' values are provided by default.
...expected <content> to be first for an
rdf template, when using the full query syntax, the <content> element must always appear before any other elements.
Using Multiple Queries to Generate More Results - Archive of obsolete content
if resources don't overlap, we can generate content for two different parts of the
rdf data.
... if we add the following data about people to the neighbourhood datasource: <
rdf:description
rdf:about="http://www.xulplanet.com/
rdf/myneighbourhood"> <r:people> <
rdf:seq> <
rdf:li
rdf:resource="http://www.xulplanet.com/
rdf/person/1"/> <
rdf:li
rdf:resource="http://www.xulplanet.com/
rdf/person/2"/> </
rdf:seq> </r:people> </
rdf:description> <
rdf:description
rdf:about="http://www.xulplanet.com/
rdf/person/1" dc:title="nathan"/> <
rdf:description
rdf:about="http://www.xulplanet.com/
rdf/person/2" dc:title="karen"/> we can then use two queries to generate results from different parts of the datasource.
...ber container="?start" child="?item"/> </query> <rule> <binding subject="?item" predicate="http://purl.org/dc/elements/1.1/title" object="?title"/> <action> <label uri="?item" value="?title" class="header"/> </action> </rule> </queryset> <queryset> <query> <content uri="?start"/> <triple subject="?start" predicate="http://www.xulplanet.com/
rdf/people" object="?people"/> <member container="?people" child="?item"/> </query> <rule> <binding subject="?item" predicate="http://purl.org/dc/elements/1.1/title" object="?title"/> <action> <label uri="?item" value="?title"/> </action> </rule> </queryset> </template> you can view the example.
Creating toolbar buttons (Customize Toolbar Window) - Archive of obsolete content
to include the style on your chrome.manifest file: style chrome://global/content/customizetoolbar.xul chrome://myextension/skin/toolbar-button.css if you are developing for firefox 1.0, attach it to the customize toolbar window (chrome://global/content/customizetoolbar.xul) using skin/contents.
rdf.
... the code looks like this: <?xml version="1.0"?> <
rdf xmlns="http://www.w3.org/1999/02/22-
rdf-syntax-ns#" xmlns:chrome="http://www.mozilla.org/
rdf/chrome#"> <seq about="urn:mozilla:skin:root"> <li resource="urn:mozilla:skin:classic/1.0"/> </seq> <description about="urn:mozilla:skin:classic/1.0"> <chrome:packages> <seq about="urn:mozilla:skin:classic/1.0:packages"> <li resource="urn:mozilla:skin:classic/1.0:myextension"/> </seq> </chrome:packages> </description> <seq about="urn:mozilla:stylesheets"> <li resource="chrome://global/content/customizetoolbar.xul"/> </seq> <seq about="chrome://global/content/customizetoolbar.xul"> <li>chrome://myextension/skin/toolbar-button.css</li> </seq> </
rdf> the skin/contents.
rdf file is denigrated in developing for later releases of firefox.
... solution: check to be sure your stylesheet is correct, make sure your contents.
rdf (or chrome.manifest) is correct, and be sure you didn't forget to apply the stylesheet to customizetoolbar.xul.
Creating an Installer - Archive of obsolete content
extension, theme, and plug-in developers must switch away from install.js based packages to the new packaging scheme with an install.
rdf manifest.
... our find files example for the find files dialog, we'll create a structure in the archive much like the following: install.js findfile content contents.
rdf findfile.xul findfile.js skin contents.
rdf findfile.css locale contents.
rdf findfile.dtd a directory has been added for each part of the package, the content, the skin and the locale.
... the contents.
rdf files have also been added because they will be needed to register the chrome files.
ant script to assemble an extension - Archive of obsolete content
e/blogmark.jar" is created, which is then stuffed into "blogmark.xpi" <target name="createxpi" depends="createjar" description="assemble the final build blogmark.xpi"> <zip destfile="blogmark-${version}.xpi"> <zipfileset dir="." includes="chrome/blogmark.jar" /> <zipfileset dir="." includes="install.
rdf" /> </zip> </target> everything inside the chrome directory is zipped into chrome/blogmark.jar <target name="createjar" depends="templates" description="assemble the jar"> <jar destfile="chrome/blogmark.jar"> <fileset dir="chrome/"> <include name="**/*"/> <ex...
...clude name="**/*~"/> <exclude name="**/*.tpl.*"/> <exclude name="blogmark.jar"/> </fileset> </jar> </target> <target name="templates" description="generate files from templates."> <copy file="chrome/content/blogmark/contents.
rdf.tpl.xml" tofile="chrome/content/blogmark/contents.
rdf" overwrite="true"> <filterchain> <replacetokens> <token key="version" value="${version}"/> <token key="description" value="${description}"/> </replacetokens> </...
... tofile="chrome/content/blogmark/about.xul" overwrite="true"> <filterchain> <replacetokens> <token key="version" value="${version}"/> </replacetokens> </filterchain> </copy> <copy file="install.
rdf.tpl.xml" tofile="install.
rdf" overwrite="true"> <filterchain> <replacetokens> <token key="version" value="${version}"/> <token key="description" value="${description}"/> </replacetokens> ...
0.90 - Archive of obsolete content
(and not only a syndication format, as it is today.) rss 0.90 is an
rdf-based format.
... examples rss 0.90 looked something like this: <?xml version="1.0"?> <
rdf:
rdf xmlns:
rdf="http://www.w3.org/1999/02/22-
rdf-syntax-ns#" xmlns="http://my.netscape.com/
rdf/simple/0.9/" > <channel> <title>mozilla dot org</title> <link>http://www.mozilla.org</link> <description>the mozilla organization web site</description> </channel> <image> <title>mozilla</title> <url>h...
...>mozilla party, 2.0!</title> <link>http://www.mozilla.org/party/1999/</link> </item> <item> <title>unix platform parity</title> <link>http://www.mozilla.org/build/unix.html</link> </item> <item> <title>npl 1.0m published</title> <link>http://www.mozilla.org/npl/npl-1.0m.html</link> </item> </
rdf:
rdf> note that here, rss is being used to list sections of the web site.
Version - Archive of obsolete content
and some rss formats are
rdf-based formats.
... name status release date based on author rss 0.90 march 1999
rdf netscape netscape's rss 0.91 (revision 1) ?
... xml netscape netscape's rss 0.91 revision 3 july 10, 1999 xml netscape userland's rss 0.91 june 4, 2000 xml userland rss 1.0 standard december 9, 2000
rdf rss-dev working group rss 0.92 december 25, 2000 xml userland rss 0.93 april 20, 2001 xml userland rss 0.94 august 19, 2002 xml userland rss 2.0 september 2002 xml userland rss 2.0 (post 2002-11-11) november 11, 2002 xml userland rss 2.0 (post 2003-01-21) standard january 21, 2003 xml userland ...
Theme changes in Firefox 4 - Archive of obsolete content
then copy all of icon.png, install.
rdf and preview.png from <firefox-app-bundle>/contents/macos/extensions/{...} into my_theme.
...assic/1.0 chrome/browser/ skin communicator classic/1.0 chrome/communicator/ skin global classic/1.0 chrome/global/ skin mozapps classic/1.0 chrome/mozapps/ this results in the following structure : /my_theme/chrome/browser/* /my_theme/chrome/communicator/* /my_theme/chrome/global/* /my_theme/chrome/mozapps/* /my_theme/chrome.manifest /my_theme/icon.png /my_theme/install.
rdf /my_theme/preview.png note: for more information (and how to package into a jar) consult creating a skin for firefox which still mostly applies.
... most likely you must replace all occurences of classic/1.0 in chrome.manifest and install.
rdf with some other name.
Gecko FAQ - Gecko Redirect 1
xml 1.0: full support, except for processing to manipulate default attributes
rdf: full support, except for abouteach, abouteachprefix, and parsetype javascript 1.5, including ecma-262 edition 3 (ecmascript) compliance, except for date.todatestring and date.totimestring, which are not implemented transfer protocols: http 1.1 (including gzip compression), ftp ssl unicode oji (open java interface) image formats png gif jpeg, pjpeg does "full support" mea...
... related to a variety of specifications html 4.0 elements, form controls, frames, tables, and form submission bug reports marked with the html4 keyword "meta bug" for tracking outstanding issues with html 4.01 compliance css: style system component (see also bug reports marked with the css1, css2, and css3 keywords) dom: see dom0, dom1, dom2 and event handling components xml
rdf core javascript language interpreter (javascript engine) http 1.1 compliance bugs should generally be found on the networking, networking - general, and networking: cache components oji imagelib image library (see also jpeg image handling and png image handling) ssl-related bugs are filed on the crypto component for information about the known bugs of a specific commercial product based on...
...arser (handles html and xml) layout engine with content model style system (handles css, etc.) javascript runtime (spidermonkey) image library networking library (necko) platform-specific graphics rendering and widget sets for win32, x, and mac user preferences library mozilla plug-in api (npapi) to support the navigator plug-in interface open java interface (oji), with sun java 1.2 jvm
rdf back end font library security library (nss) original document information author(s): angus other contributors: ekrock, vidur, hidday, drunclear copyright information: portions of this content are © 1998–2006 by individual mozilla.org contributors; content available under a creative commons license ...
Chrome registration
this is very helpful when trying to write a chrome.manifest file as you can inspect where the files are being mapped from (jar files, local directory, etc.) old-style contents.
rdf manifests before the plaintext manifests were introduced (which happened in firefox 1.5, toolkit 1.8),
rdf manifests named "contents.
rdf" were used to register chrome.
... this format is deprecated; however, seamonkey versions before version 2 do not support the plaintext manifest format yet, so contents.
rdf manifests are required for extensions that wish to maintain backwards compatibility with firefox 1.0 or the suite.
... gecko 1.9.2 note the contents.
rdf manifest format is no longer supported at all starting with gecko 1.9.2; add-ons already installed using this format will continue to work but can no longer be installed.
sslfnc.html
ssl_setpkcs11pinarg sets the argument passed to the password callback function specified by a call to pk11_setpasswo
rdfunc.
...the callback function is specified in a call to pk11_setpasswo
rdfunc that takes place during nss initialization.
...however, all applications must use pk11_setpasswo
rdfunc to set up the password callback function during nss initialization.
Places Developer Guide
creating a livemark var ioservice = cc["@mozilla.org/network/io-service;1"] .getservice(ci.nsiioservice); var siteuri = ioservice.newuri("http://www.mozilla.com", null, null); var feeduri = ioservice.newuri("http://www.mozilla.org/news.
rdf", null, null); var livemarks = cc["@mozilla.org/browser/livemark-service;2"] .getservice(ci.nsilivemarkservice); livemarks.createlivemark(bookmarks.toolbarfolder, // the id of the folder the livemark will be placed in "my livemark title", // the title of the livemark siteuri, // the uri of the site.
... for bookmarks: nsiuri getbookmarkuri(aitemid) - returns the uri of a bookmark item string getkeywo
rdforbookmark(aitemid) - returns a bookmark's keyword, or null for folders: int64 getchildfolder(afolderid, asubfoldertitle) - returns the id of the first subfolder matching the given title.
... setkeywo
rdforbookmark(aitemid, akeyword) - set the keyword for a bookmark.
Index
3 aggregating the in-memory datasource
rdf no summary!
...the result may optionally be identified by an
rdf resource.
... generally, the result and its id will be able to uniquely identify a node in the source data, such as an
rdf or xml node.
nsIEditorSpellCheck
y, size_is(count)] out wstring dictionarylist, out pruint32 count); wstring getnextmisspelledword(); void getpersonaldictionary(); wstring getpersonaldictionaryword(); wstring getsuggestedword(); void ignorewordalloccurrences(in wstring word); void initspellchecker(in nsieditor editor, in boolean enableselectionchecking); void removewo
rdfromdictionary(in wstring word); void replaceword(in wstring misspelledword, in wstring replaceword, in boolean alloccurrences); void savedefaultdictionary(); obsolete since gecko 9.0 void setcurrentdictionary(in astring dictionary); void setfilter(in nsitextservicesfilter filter); void uninitspellchecker(); void updatecurrentdictionary(); ...
... removewo
rdfromdictionary() removes a word from the current personal dictionary.
... void removewo
rdfromdictionary( in wstring word ); parameters word the word to remove from the current personal dictionary.
nsIMsgIncomingServer
if isps want to modify this value, they should do that in their
rdf file by using this attribute.
... please look at mozilla/mailnews/base/ispdata/aol.
rdf for usage example.
... serverbusy boolean serverrequirespasswo
rdforbiff boolean read only.
nsIXULTemplateResult
the result may optionally be identified by an
rdf resource.
... generally, the result and its id will be able to uniquely identify a node in the source data, such as an
rdf or xml node.
... resource nsi
rdfresource resource for the result, which may be null.
Address Book examples
once you have an object that implements nsiabcollection (see above), you can search for cards with particular properties within that collection using getca
rdfromproperty.
... let card = collection.getca
rdfromproperty("jobtitle", "software engineer", false); if you are searching for a card with a particular email address, you can use the ca
rdforemailaddress function that will match against multiple email addresses stored in one card.
... let card = collection.ca
rdforemailaddress("foo@bar.invalid.com"); note: both of these functions may raise an ns_error_not_implemented exception if the collection has not implemented that function.
Mail client architecture overview
the mail reader gecko (xul and html rendering)
rdf (dynamic widgets) js (menus, events) libmime mail datasources mail javascript folder/message management msgdb imap/nntp/pop3 necko (networking) sections in grey refer to modules outside of mail/news the base module the base module provides a generic interface to a set of protocol-independant messaging services.
... datasources - datasources are the glue code that reflect mail data such as folders and messages into
rdf.
...
rdf will use the datasource to create user interfaces based on this data.
Building a Thunderbird extension 3: install manifest
the install.
rdf file is an xml file that provides general information about the extension.
... open the file called install.
rdf that you created at the top of your extension's directory hierarchy and paste the following text into the file: <?xml version="1.0"?> <
rdf xmlns="http://www.w3.org/1999/02/22-
rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-
rdf#"> <description about="urn:mozilla:install-manifest"> <em:id>myfirstext@jen.zed</em:id> <em:name>my first extension</em:name> <em:version>1.0</em:version> <em:creator>jenzed</em:creator> <em:targetapplication> <description> <em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id> <em:minversion>1.5</em:minversion> <em:maxversion>5.0.*</em:maxversion> </description> </em:targetapplication> </description> </
rdf> the following items (shown in bold) should ...
... there are more optional elements that can be specified in install.
rdf.
customDBHeaders Preference
building the extension for this extension, i used a directory tree exactly like this: superfluous/ chrome.manifest install.
rdf makefile chrome/ content/ superfluous.js superfluous_overlay.xul here's the makefile: deps:= chrome/ \ chrome.manifest \ chrome/content/ \ chrome/content/superfluous.js \ chrome/content/superfluous_overlay.xul \ install.
rdf superfluous.xpi: ${deps} zi...
...p $@ ${deps} chrome.manifest: content superfluous chrome/content/ overlay chrome://messenger/content/messenger.xul chrome://superfluous/content/superfluous_overlay.xul install.
rdf: <?xml version='1.0' encoding='utf-8'?> <
rdf xmlns='http://www.w3.org/1999/02/22-
rdf-syntax-ns#' xmlns:em='http://www.mozilla.org/2004/em-
rdf#'> <description about='urn:mozilla:install-manifest'> <em:id>superfluous@yoursite.com</em:id> <em:version>0.1.1</em:version> <em:type>2</em:type> <!-- 2 is type 'extension' --> <em:targetapplication> <description> <!-- this next line identifies tbird as target --> <em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id> <em:minversion>2*</em:minversion> <em:maxversion>3.0.0.*</em:maxversion> ...
... </description> </em:targetapplication> <em:name>superfluous</em:name> <em:description>test superfluous extension</em:description> <em:creator>garrett comeaux</em:creator> </description> </
rdf> build process: [gcomeaux@kyle tbird-ext]$ cd superfluous/ [gcomeaux@kyle superfluous]$ make zip superfluous.xpi chrome/ chrome.manifest chrome/content/ chrome/content/superfluous.js chrome/content/superfluous_overlay.xul install.
rdf adding: chrome/ (stored 0%) adding: chrome.manifest (deflated 44%) adding: chrome/content/ (stored 0%) adding: chrome/content/superfluous.js (deflated 57%) adding: chrome/content/superfluous_overlay.xul (deflated 44%) adding: install.
rdf (deflated 50%) end result ultimately, you want to be able to compose a message like this: ...
<metadata> - SVG: Scalable Vector Graphics
the contents of <metadata> should be elements from other xml namespaces such as
rdf, foaf, etc.
... example <svg width="400" viewbox="0 0 400 300" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <metadata> <
rdf:
rdf xmlns:
rdf="http://www.w3.org/1999/02/22-
rdf-syntax-ns#" xmlns:connect="http://www.w3.org/1999/08/29-svg-connections-in-
rdf#"> <
rdf:description about="#cablea"> <connect:ends
rdf:resource="#socket1"/> <connect:ends
rdf:resource="#computera"/> </
rdf:description> <
rdf:description about="#cableb"> <connect:ends
rdf:resource="#socket2"/> ...
... <connect:ends
rdf:resource="#computerb"/> </
rdf:description> <
rdf:description about="#cablen"> <connect:ends
rdf:resource="#socket5"/> <connect:ends>everything</connect:ends> </
rdf:description> <
rdf:description about="#hub"> <connect:ends
rdf:resource="#socket1"/> <connect:ends
rdf:resource="#socket2"/> <connect:ends
rdf:resource="#socket3"/> <connect:ends
rdf:resource="#socket4"/> <connect:ends
rdf:resource="#socket5"/> </
rdf:description> </
rdf:
rdf> </metadata> <title>network</title> <desc>an example of a computer network based on a hub.</desc> <style> svg { /* default styles to be inherited */ fill: white; stroke: black; } text { fill: black; stroke: none; } ...
SVG documentation index - SVG: Scalable Vector Graphics
256 xlink:arcrole deprecated, svg, svg attribute the xlink:arcrole attribute specifies a contextual role for the element and corresponds to the
rdf primer notion of a property.
...the contents of <metadata> should be elements from other xml namespaces such as
rdf, foaf, etc.
... 383 mimetypes.
rdf corruption svg this page explains a problem that can cause svg to stop working in mozilla due to the way mozilla maps filename extensions to media types.
Program ID - Archive of obsolete content
when you create an xpi with jpm xpi: if the package.json does not include an id field, then the id written into the install.
rdf is the value of the name field prepended with "@".
... if the package.json does include an id field, and it contains "@", then this is written into the install.
rdf as the add-on id.
jpmignore - Archive of obsolete content
for example: .* * !/data/** !/lib/** !/locale/** !/node_modules/** !/package.json !/icon.png !/icon64.png !/copying !/bootstrap.js !/install.
rdf this would include all editor backup files and similar in the whitelisted subdirectories, to avoid that you can append another blacklist after the whitelist.
... this one would work for xemacs: .* * !/data/** !/lib/** !/locale/** !/node_modules/** !/package.json !/icon.png !/icon64.png !/copying !/bootstrap.js !/install.
rdf *~ \#* ...
Setting Up a Development Environment - Archive of obsolete content
these define the extension name, the extension id (as specified in install.
rdf) and the name of the profile directory where the extension will be installed during development and testing.
... adding: install.
rdf (deflated 50%) adding: chrome.manifest (deflated 50%) adding: content/browseroverlay.js (deflated 42%) adding: content/browseroverlay.xul (deflated 69%) adding: skin/browseroverlay.css (stored 0%) adding: locale/browseroverlay.dtd (deflated 52%) adding: locale/browseroverlay.properties (stored 0%) creating xpi file.
Adding preferences to an extension - Archive of obsolete content
however, we do need to add one new line to the install.
rdf file: <em:optionsurl>chrome://stockwatcher2/content/options.xul</em:optionsurl> this line establishes the url of the xul file that describes the options dialog.
... you must set em:optionstype to 2 in your install.
rdf.
Making a Mozilla installation modifiable - Archive of obsolete content
it is located in the chrome directory itself and is called either chrome.
rdf or installed-chrome.txt (or both).
...if you have perl on your system, you can do this with the following command: perl -pi.orig -e 's/(jar:)|(\/[^.\/]+\.jar!)//g' chrome.
rdf installed-chrome.txt for example, to convert the url jar:resource:/chrome/comm.jar!/content/necko/, change it to resource:/chrome/content/necko/.
Repackaging Firefox - Archive of obsolete content
this xpi has the following contents chrome.manifest components/partnerbookmarks.js defaults/preferences/partner.js install.
rdf locale/ar/partner.properties locale/cs/partner.properties locale/da/partner.properties locale/de/partner.properties locale/el/partner.properties locale/en-gb/partner.properties locale/partner.properties locale/es-ar/partner.properties locale/es-es/partner.properties locale/fi/partner.properties locale/fr/partner.properties locale/he/partner.properties locale/hu/partner.properties locale/it/partne...
... install.
rdf meta-information about your extension, such as the creator (your organization), a unique id, and which versions of firefox are supported.
Isp Data - Archive of obsolete content
this page will explain how to create a .
rdf or .xml file that you can place in the $installfolder/default/isp to do a variety of things.
... getting started first take a look at the number of examples available: http://infosec.ufl.edu/tbird/gatorlink.xml mailnews/base/ispdata/aol.
rdf see the thunderbird isp hooks for more details.
Extensions - Archive of obsolete content
to support prism specifically, you'll need to add prism to the list of target applications in the extension's install.
rdf file.
...this usually means extracting and editing the install.
rdf file to add prism as a target application.
XTech 2005 Presentations - Archive of obsolete content
directions of the mozilla
rdf engine: website scripting, standards conformance and perfomance - axel hecht this presentation showed new developments in the mozilla
rdf engine.
... these include plans to expose the
rdf api to public web content, as well as performance and correctness improvements.
containment - Archive of obsolete content
« xul reference home containment type: uri this attribute specifies
rdf properties (an
rdf predicate) that indicate that a resource is a container.
...it may be set to a space-separated list of
rdf properties or resources.
ref - Archive of obsolete content
« xul reference home ref type: uri for template-generated elements, this attribute is used to specify the root
rdf node where content generation begins.
... this will correspond to the value of an about attribute on an
rdf container.
statedatasource - Archive of obsolete content
« xul reference home statedatasource type: uri chrome xul may specify an
rdf datasource to use to store tree state information.
...if you do not specify this attribute, state information will be stored in the local store (
rdf:local-store).
uri - Archive of obsolete content
the value should be set to
rdf:*.
... elements that appear inside the element with the attribute will be repeated for each node in the
rdf datasource.
Introduction to XUL - Archive of obsolete content
mozilla's xul content models also support nifty features like local/remote merging; see the xul and
rdf document for details.
...these interfaces can be found in the directory mozilla/
rdf/content/public/idl.
Static Content - Archive of obsolete content
<menulist datasources="template-guide-photos4.
rdf" ref="http://www.daml.org/2001/09/countries/country-ont#country" oncommand="applyfilter(event.target.value);"> <menupopup> <menuitem label="all"/> </menupopup> <template> <query> <content uri="?start"/> <triple subject="?country" predicate="http://www.w3.org/1999/02/22-
rdf-syntax-ns#type" object="?start"/> <triple sub...
... <radiogroup datasources="template-guide-photos4.
rdf" ref="http://www.daml.org/2001/09/countries/country-ont#country" onselect="applyfilter(event.target.value);"> <radio label="all" selected="true"/> <template> <query> <content uri="?start"/> <triple subject="?country" predicate="http://www.w3.org/1999/02/22-
rdf-syntax-ns#type" object="?start"/> <triple subject="?country"...
Template and Tree Listeners - Archive of obsolete content
nsi
rdfobserver - for
rdf datasources, used to listen to changes in the underlying
rdf datasource.
...(as this example uses the
rdf resources directly, it requires elevated privileges so you will need a chrome url to test it.) you might also guess that the builder's root property, which is used above, refers to the tree.
Creating a Wizard - Archive of obsolete content
you can set an attribute onwiza
rdfinish on the wizard element to accomplish this.
...for example: <wizard id="example-window" title="select a dog wizard" onwiza
rdfinish="return savedoginfo();" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> when the user clicks the finish button, the function savedoginfo() will be called, which would be defined in a script file to save the information that was entered.
Styling a Tree - Archive of obsolete content
this can be used with trees with static content,
rdf built content or with those with a custom view.
... setting properties for the
rdf-built trees for
rdf-built trees, you can use the same syntax.
rule - Archive of obsolete content
when no query element is used in a template, a default query is used and the simple query syntax may be used for
rdf datasources.
... parsetype type: string if this attribute is set to integer, the rule will only match
rdf nodes with a parse type of integer.
textnode - Archive of obsolete content
« xul reference home [ examples | attributes | properties | methods | related ] normally when substituting
rdf resources in template rules, you place the
rdf property name inside an attribute value preceded with
rdf:.
...this value should be an
rdf property (predicate).
treecell - Archive of obsolete content
ref type: uri for template-generated elements, this attribute is used to specify the root
rdf node where content generation begins.
... this will correspond to the value of an about attribute on an
rdf container.
RSS - Archive of obsolete content
(some being based on
rdf, but most only being based on xml.) nonetheless, rss is an extremely popular format that is used for syndicating news, blog posts, ipradio, and iptv, with an amazing amount of momentum.
... mailing list newsgroup rss feed related topics
rdf, xml ...
Sunbird Theme Tutorial - Archive of obsolete content
creating information about your theme in your theme directory, create a plain text file named <tt>install.
rdf</tt>.
... copy and paste the content from here, making sure that you scroll to get all of it: <?xml version="1.0"?> <
rdf xmlns="http://www.w3.org/1999/02/22-
rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-
rdf#"> <description about="urn:mozilla:install-manifest" em:id="just-testing@example.com" em:name="just testing" em:creator="rod whiteley" em:description="a test theme for sunbird" em:homepageurl="http://developer.mozilla.org/" em:version="0.1" em:internalname="testing" em:type="4" > <em:targetapplication><!-- sunbird --> <description em:id="{718e30fb-e89b-41dd-9da7-e25a45638b28}" em:minversion="0.2.9" em:maxversion="0.4" /> </em:targetapplication> </description> </
rdf> in the line that starts <tt>em:id</tt>...
Index - MDN Web Docs Glossary: Definitions of Web-related terms
in acronym order, the main tenets are: 352
rdf codingscripting, glossary, infrastructure, openpractices, webmechanics
rdf (resource description framework) is a language developed by w3c for representing information on the world wide web, such as webpages.
...
rdf provides a standard way of encoding resource information so that it can be exchanged in a fully automated way between applications.
Encrypt Decrypt MAC Keys As Session Objects
*/ rv = nss_initreadwrite(dbdir); if (rv != secsuccess) { pr_fprintf(pr_stderr, "nss_initreadwrite failed\n"); goto cleanup; } pk11_setpasswo
rdfunc(getmodulepassword); slot = pk11_getinternalkeyslot(); if (pk11_needlogin(slot)) { rv = pk11_authenticate(slot, pr_true, &pwdata); if (rv != secsuccess) { pr_fprintf(pr_stderr, "could not authenticate to token %s.\n", pk11_gettokenname(slot)); goto cleanup; } } rv = enc...
...ryptfile(slot, dbdir, infilename, headerfilename, encryptedfilename, noisefilename, &pwdata, ascii); if (rv != secsuccess) { pr_fprintf(pr_stderr, "encryptfile : failed\n"); return secfailure; } break; case decrypt: /* open db read only, authenticate to it */ pk11_setpasswo
rdfunc(getmodulepassword); rv = nss_init(dbdir); if (rv != secsuccess) { pr_fprintf(pr_stderr, "nss_init failed\n"); return secfailure; } slot = pk11_getinternalkeyslot(); if (pk11_needlogin(slot)) { rv = pk11_authenticate(slot, pr_true, &pwdata); if (rv != secsuccess) { pr_fprintf(pr_stderr, "could no...
Encrypt and decrypt MAC using token
*/ rv = nss_initreadwrite(dbdir); if (rv != secsuccess) { pr_fprintf(pr_stderr, "nss_initreadwrite failed\n"); goto cleanup; } pk11_setpasswo
rdfunc(getmodulepassword); slot = pk11_getinternalkeyslot(); if (pk11_needlogin(slot)) { rv = pk11_authenticate(slot, pr_true, &pwdata); if (rv != secsuccess) { pr_fprintf(pr_stderr, "could not authenticate to token %s.\n", pk11_gettokenname(slot)); goto cleanup; } } rv = enc...
...ryptfile(slot, dbdir, infilename, headerfilename, encryptedfilename, noisefilename, &pwdata, ascii); if (rv != secsuccess) { pr_fprintf(pr_stderr, "encryptfile : failed\n"); return secfailure; } break; case decrypt: /* open db read only, authenticate to it */ pk11_setpasswo
rdfunc(getmodulepassword); rv = nss_init(dbdir); if (rv != secsuccess) { pr_fprintf(pr_stderr, "nss_init failed\n"); return secfailure; } slot = pk11_getinternalkeyslot(); if (pk11_needlogin(slot)) { rv = pk11_authenticate(slot, pr_true, &pwdata); if (rv != secsuccess) { pr_fprintf(pr_stderr, "could no...
Encrypt Decrypt_MAC_Using Token
*/ rv = nss_initreadwrite(dbdir); if (rv != secsuccess) { pr_fprintf(pr_stderr, "nss_initreadwrite failed\n"); goto cleanup; } pk11_setpasswo
rdfunc(getmodulepassword); slot = pk11_getinternalkeyslot(); if (pk11_needlogin(slot)) { rv = pk11_authenticate(slot, pr_true, &pwdata); if (rv != secsuccess) { pr_fprintf(pr_stderr, "could not authenticate to token %s.\n", pk11_gettokenname(slot)); goto cleanup; } } rv = enc...
...*/ pk11_setpasswo
rdfunc(getmodulepassword); rv = nss_init(dbdir); if (rv != secsuccess) { pr_fprintf(pr_stderr, "nss_init failed\n"); return secfailure; } slot = pk11_getinternalkeyslot(); if (pk11_needlogin(slot)) { rv = pk11_authenticate(slot, pr_true, &pwdata); if (rv != secsuccess) { pr_fprintf(pr_stderr, "could n...
NSS Sample Code Sample_3_Basic Encryption and MACing
*/ rv = nss_initreadwrite(dbdir); if (rv != secsuccess) { pr_fprintf(pr_stderr, "nss_initreadwrite failed\n"); goto cleanup; } pk11_setpasswo
rdfunc(getmodulepassword); slot = pk11_getinternalkeyslot(); if (pk11_needlogin(slot)) { rv = pk11_authenticate(slot, pr_true, &pwdata); if (rv != secsuccess) { pr_fprintf(pr_stderr, "could not authenticate to token %s.\n", pk11_gettokenname(slot)); goto cleanup; } } rv = enc...
...ryptfile(slot, dbdir, infilename, headerfilename, encryptedfilename, noisefilename, &pwdata, ascii); if (rv != secsuccess) { pr_fprintf(pr_stderr, "encryptfile : failed\n"); return secfailure; } break; case decrypt: /* open db read only, authenticate to it */ pk11_setpasswo
rdfunc(getmodulepassword); rv = nss_init(dbdir); if (rv != secsuccess) { pr_fprintf(pr_stderr, "nss_init failed\n"); return secfailure; } slot = pk11_getinternalkeyslot(); if (pk11_needlogin(slot)) { rv = pk11_authenticate(slot, pr_true, &pwdata); if (rv != secsuccess) { pr_fprintf(pr_stderr, "could no...
EncDecMAC using token object - sample 3
*/ rv = nss_initreadwrite(dbdir); if (rv != secsuccess) { pr_fprintf(pr_stderr, "nss_initreadwrite failed\n"); goto cleanup; } pk11_setpasswo
rdfunc(getmodulepassword); slot = pk11_getinternalkeyslot(); if (pk11_needlogin(slot)) { rv = pk11_authenticate(slot, pr_true, &pwdata); if (rv != secsuccess) { pr_fprintf(pr_stderr, "could not authenticate to token %s.\n", pk11_gettokenname(slot)); goto cleanup; } } rv = encryptfile(slot, dbdir, infilename, headerfilename, encryptedfilename, noisefilename, &pwdata, ascii); if (rv != secsuccess) { pr...
..._fprintf(pr_stderr, "encryptfile : failed\n"); return secfailure; } break; case decrypt: /* open db read only, authenticate to it */ pk11_setpasswo
rdfunc(getmodulepassword); rv = nss_init(dbdir); if (rv != secsuccess) { pr_fprintf(pr_stderr, "nss_init failed\n"); return secfailure; } slot = pk11_getinternalkeyslot(); if (pk11_needlogin(slot)) { rv = pk11_authenticate(slot, pr_true, &pwdata); if (rv != secsuccess) { pr_fprintf(pr_stderr, "could not authenticate to token %s.\n", pk11_gettokenname(slot)); goto cleanup; } } rv = decryptfile(slot, dbdir, outfilename, headerfilename, encryptedfilename, &pwdata, ascii); if (rv != secsuccess) { pr_fprintf(pr_stderr, "decryptfile : failed\n"); return secfailure; } break; } cleanup: rvshutdown = nss_shutdown(); if (rvshutdown != secsuccess) { pr_fprint...
NSS functions
0 and later cert_getcertificaterequestextensions mxr 3.10 and later cert_getcertissuerandsn mxr 3.2 and later cert_getcertnicknames mxr 3.2 and later cert_getcerttrust mxr 3.2 and later cert_getcertuid mxr 3.2 and later cert_getclassicocspdisabledpolicy mxr 3.12 and later cert_getclassicocspenabledha
rdfailurepolicy mxr 3.12 and later cert_getclassicocspenabledsoftfailurepolicy mxr 3.12 and later cert_getcommonname mxr 3.2 and later cert_getcountryname mxr 3.2 and later cert_getdbcontentversion mxr 3.2 and later cert_getdefaultcertdb mxr 3.2 and later cert_getdomaincomponentname mxr 3.2 and later ...
...ferencesymkey mxr 3.2 and later pk11_resettoken mxr 3.4 and later pk11_restorecontext mxr 3.2 and later pk11_savecontext mxr 3.2 and later pk11_savecontextalloc mxr 3.6 and later pk11_setfortezzahack mxr 3.2 and later pk11_setpasswo
rdfunc mxr 3.2 and later pk11_setprivatekeynickname mxr 3.4 and later pk11_setpublickeynickname mxr 3.4 and later pk11_setslotpwvalues mxr 3.2 and later pk11_setsymkeynickname mxr 3.4 and later pk11_setsymkeyuserdata mxr 3.11 and later ...
sslintro.html
pk11_setpasswo
rdfunc.
...numerous functions provided by the nss libraries are useful for such application callback functions, including these: cert_checkcertvalidtimes cert_getdefaultcertdb cert_destroycertificate cert_dupcertificate cert_findcertbyname cert_freenicknames cert_getcertnicknames cert_verifycertname cert_verifycertnow pk11_findcertfromnickname pk11_findkeybyanycert pk11_setpasswo
rdfunc pl_strcpy pl_strdup pl_strfree pl_strlen ssl_peercertificate ssl_revealurl ssl_revealpinarg cleanup this portion of an ssl-enabled application consists primarily of closing the socket and freeing memory.
NSS Tools pk12util
synopsis pk12util -i p12file [-h tokenname] [-v] [common-options] or pk12util -o p12file -n certname [-c keycipher] [-c certcipher] [-m | --key_len keylen] [-n | --cert_key_len certkeylen] [common-options] or pk12util -l p12file [-h tokenname] [-r] [common-options] where [common-options] = [-d dir] [-p dbprefix] [-k slotpasswo
rdfile | -k slotpassword] [-w p12filepasswo
rdfile | -w p12filepassword] syntax to run the pkcs #12 tool, type ther command pk12util option [arguments] where option and arguments are combinations of the options and arguments listed in the following section.
... -h tokenname specify the name of the token to import into or export from -v enable debug logging when importing -k slotpasswo
rdfile specify the text file containing the slot's password -k slotpassword specify a slot's password -w p12filepasswo
rdfile specify the text file containing the pkcs 12 file's password -w p12filepassword specify the pkcs 12 file's password -c key-cipher specify the key encryption algorithm -c certcipher specify the pfx encryption algorithm -m | --key_len keylen specify the desired le...
TPS Password Lists
for example: var password_list = [ { hostname: "http://www.example.com", submiturl: "http://login.example.com", username: "joe", password: "secret123", usernamefield: "uname", passwo
rdfield: "pword", changes: { password: "zippity-do-dah" } }, { hostname: "http://www.example.com", realm: "login", username: "joe", password: "secretlogin" } ]; each object has the following properties: hostname: the hostname for the password.
...passwo
rdfield: the password field for a form password.
Places utilities for JavaScript
bookmarks nsinavbookmarksservice history nsinavhistoryservice globalhistory nsibrowserhistory livemarks nsilivemarkservice annotations nsiannotationservice favicons nsifaviconservice microsummaries nsimicrosummaryservice tagging nsitaggingservice
rdf nsi
rdfservice ptm nsiplacestransactionsservice clipboard nsiclipboard urifixup nsiurifixup special places these are essentially references to the id's of special folders within places.
... localstore warning: local store provided access to the local-store
rdf data source, which stores persisted information about the browser.
Packaging WebLock
the chrome registry lives in a series of
rdf/xml files in the application directory of mozilla and other gecko-based browsers, where new installs, user configurable data, skins, and other information are related to one another and the application itself.
...the archive, its subdirectory structure, and its contents should look like this: weblock.xpi archive viewed in winzip note that the top level of the archive holds the install.js installation file, an
rdf manifest for the package as a whole, and the component files (weblock.xpt and weblock4.dll).
nsIUpdateItem
update
rdf astring the url of the update
rdf file for this item.
... updateurl the url of the update
rdf for the item.
nsIXULSortService
inherits from: nsisupports last changed in gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void insertcontainernode(in nsi
rdfcompositedatasource db, in ns
rdfsortstate sortstateptr, in nsicontent root, in nsicontent trueparent, in nsicontent container, in nsicontent node, in boolean anotify); native code only!
...void insertcontainernode( in nsi
rdfcompositedatasource db, in ns
rdfsortstate sortstateptr, in nsicontent root, in nsicontent trueparent, in nsicontent container, in nsicontent node, in boolean anotify ); parameters db sortstateptr root trueparent container node anotify sort() sort the contents of the widget containing anode using asortkey as the comparison key, and asorthints as how to sort.
XUL Overlays
the chrome registry, which is a special
rdf datasource into which user-specific information is persisted, or stored, contains information about the components or additional packages that have been installed with the browser.
...<overlay id="main-overlay" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:
rdf="http://www.w3.org/1999/02/22-
rdf-syntax-ns#" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <menu id="file_menu"> <menuitem name="example one"/> <menuitem name="example two"/> <menuitem name="example three"/> <menuitem name="example four" position="1"/> </menu> </overlay> the node with the position attribute orders itself to the top of the menu.
Mail event system
in its implementation of onintpropertychanged, it notifies
rdf (via the nsi
rdfobserver system) that the message count has changed.
...
rdf handles the notification by updating the message counts in the folder pane.
Building a Thunderbird extension 2: extension file layout
at a minimum, they contain an install.
rdf, the chrome.manifest and a chrome/ folder.
...when this tutorial is finished, our extension will look like this: myfirstext.xpi: //created in step 8 /install.
rdf //created in step 3 /chrome.manifest //created in step 4 /chrome/ /content/ /content/myhelloworld.xul //created in step 5 /content/overlay.js //created in step 6 /chrome/locale/* //building an extension# localization /chrome/skin/ /defaults/preferences/ //building an extension# defaults files the follo...
HTML documentation index - HTML: Hypertext Markup Language
microdata is an attempt to provide a simpler way of annotating html elements with machine-readable tags than the similar approaches of using
rdfa and classic microformats.
...microformats2 is an update to microformats that provides a simpler way of annotating html structured syntax & vocabularies than previous approaches of using
rdfa and microdata which require learning new attributes.
Miscellaneous - Archive of obsolete content
var osstring = services.appinfo.os; detecting the host application and version // get the name of the application running us services.appinfo.name; // returns "firefox" for firefox services.appinfo.version; // returns "2.0.0.1" for firefox version 2.0.0.1 retrieving the version of an extension as specified in the extension's install.
rdf components.utils.import("resource://gre/modules/addonmanager.jsm"); addonmanager.getaddonbyid("extension-guid@example.org", function(addon) { // this is an asynchronous callback function that might not be called immediately alert("my extension's version is " + addon.version); }); restarting firefox/thunderbird/seamonkey_2.0 for firefox 3 see onwiza
rdfinish around here: http://mxr.mozilla...
Handling Preferences - Archive of obsolete content
in order to have this button enabled in your extension you need to add the following line to install.
rdf: <em:optionsurl>chrome://xulschoolhello/content/preferenceswindow.xul</em:optionsurl> if you want to open this window from a different place in the ui, such as a menu item or a button in a toolbar, you need to take into account that the opening behavior of a preferences window is different depending on the operating system.
Signing an extension - Archive of obsolete content
sign the basic usage of the signing tool is as follows: nss-signtool \ -d (path to the directory that contains your certificate database files) \ -k (your certificate nickname) \ -p (your certificate password) \ -x -z (output path/name of signed file) \ (path to your extension working directory that contains chrome directory, chrome.manifest file, install.
rdf file, etc.) writing your password directly in the script is dangerous.
Tabbed browser - Archive of obsolete content
"current" current tab (if there aren't any browser windows, then in a new window instead) "tab" new tab (if there aren't any browser windows, then in a new window instead) "tabshifted" same as "tab" but in background if default is to select new tabs, and vice versa "window" new window "save" save to disk (with no filename hint!) openuilink( url, e, ignorebutton, ignorealt, allowkeywo
rdfixup, postdata, referrerurl ) the following code will open a url in a new tab, an existing tab, or an existing window based on which mouse button was pressed and which hotkeys (ex: ctrl) are being held.
Using Dependent Libraries In Extension Components - Archive of obsolete content
extension-directory/install.
rdf extension-directory/libraries/dependent1.dll extension-directory/libraries/dependent2.dll extension-directory/libraries/component.dll extension-directory/components/interface1.xpt extension-directory/components/interface2.xpt extension-directory/components/bsmedberg_stub.dll extensions/stub/makefile.in # copyright (c) 2005 benjamin smedberg <benjamin@smedbergs.us> depth = ../..
Localizing an extension - Archive of obsolete content
then we replace any occurrences of the literal strings with the appropriate variables: samplepanel.tooltiptext = changestring + fieldarray[4] + " | " + openstring + fieldarray[5] + " | " + lowstring + fieldarray[6] + " | " + highstring + fieldarray[7] + " | " + volumestring + fieldarray[8]; localizing the description in install.
rdf see localizing extension descriptions.
MCD, Mission Control Desktop, AKA AutoConfig - Archive of obsolete content
3850 01-01-2010 00:00 defaults/profile/bookmarks.html 869 01-01-2010 00:00 defaults/profile/chrome/usercontent-example.css 1165 01-01-2010 00:00 defaults/profile/chrome/userchrome-example.css 366 01-01-2010 00:00 defaults/profile/localstore.
rdf 569 01-01-2010 00:00 defaults/profile/mimetypes.
rdf 76 01-01-2010 00:00 defaults/preferences/firefox-l10n.js 91656 01-01-2010 00:00 defaults/preferences/firefox.js 1593 01-01-2010 00:00 defaults/preferences/firefox-branding.js 473 01-01-2010 00:00 defaults/profile/prefs.js unlike old thunderbird 8, firefox 8 didn't include prefcalls.js in omni.jar , ...
Structure of an installable bundle - Archive of obsolete content
basic structure of a bundle a bundle may include any of the following files: path from the root of the bundle description version information /install.
rdf extension/theme install manifest /application.ini application launch manifest /bootstrap.js the bootstrap script for extensions not requiring a restart (those with <em:bootstrap>true</em:bootstrap> in their install.
rdf).
Clipboard - Archive of obsolete content
jetpack.import.future("clipboard");var mycontent = "<i>this is some italic text</i>";jetpack.clipboard.set( mycontent, "html" );var flavs = jetpack.clipboard.getclipboa
rdflavors();// should equal ["html", "text"]console.log( flavs ); ...
Clipboard Test - Archive of obsolete content
jetpack.import.future("clipboard");var mycontent = "<i>this is some italic text</i>";jetpack.clipboard.set( mycontent, "html" );var flavs = jetpack.clipboard.getclipboa
rdflavors();// should equal ["html", "text"]console.log( flavs ); ...
Clipboard - Archive of obsolete content
jetpack.import.future("clipboard"); var mycontent = "<i>this is some italic text</i>"; jetpack.clipboard.set( mycontent, "html" ); var flavs = jetpack.clipboard.getclipboa
rdflavors(); // should equal ["html", "text"] console.log( flavs ); ...
Clipboard - Archive of obsolete content
jetpack.import.future("clipboard"); var mycontent = "<i>this is some italic text</i>"; jetpack.clipboard.set( mycontent, "html" ); var flavs = jetpack.clipboard.getclipboa
rdflavors(); // should equal ["html", "text"] console.log( flavs ); ...
Migrate apps from Internet Explorer to Mozilla - Archive of obsolete content
level 2.1 and parts of css level 3 document object model (dom): dom level 1, dom level 2 and parts of dom level 3 mathematical markup language: mathml version 2.0 extensible markup language (xml): xml 1.0, namespaces in xml, associating style sheets with xml documents 1.0, fragment identifier for xml xsl transformations: xslt 1.0 xml path language: xpath 1.0 resource description framework:
rdf simple object access protocol: soap 1.1 ecma-262, revision 3 (javascript 1.5): ecma-262 general cross-browser coding tips even though web standards do exist, different browsers behave differently (in fact, the same browser may behave differently depending on the platform).
XML in Mozilla - Archive of obsolete content
ommendation xml extras request api (no longer supported) mozilla add-on sdk domparser and xmlserializer mozilla xml extras sax sax soap (no longer supported) w3c note web services xml-rpc (no longer supported) userland software xml-rpc
rdf w3c recommendations
rdf svg w3c recommendation svg animation (smil) w3c recommendation mathml w3c recommendation mathml p3p (no longer supported) w3c recommendation p3p wsdl (no longer supported) w3c note web services xbl ...
sort - Archive of obsolete content
« xul reference home sort type: uri or xml attribute set this to a
rdf property or xml attribute to have the data in the column sorted based on that property.
Attribute (XUL) - Archive of obsolete content
el ondialogclosure ondialogextra1 ondialogextra2 ondialoghelp onerror onerrorcommand onextra1 onextra2 oninput onload onnewtab onpageadvanced onpagehide onpagerewound onpageshow onpaneload onpopuphidden onpopuphiding onpopupshowing onpopupshown onsearchcomplete onselect ontextcommand ontextentered ontextrevert ontextreverted onunload onwizardback onwizardcancel onwiza
rdfinish onwizardnext open ordinal orient pack pageid pageincrement pagestep parent parsetype persist persistence phase pickertooltiptext placeholder popup position predicate preference preference-editable primary priority properties querytype readonly ref rel removeelement resizeafter resizebefore rows screenx screeny searchbutton searchsessions searchlabel sele...
List of commands - Archive of obsolete content
beginline cmd_selectendline cmd_selectlineprevious cmd_selectlinenext cmd_selectpageprevious cmd_selectpagenext cmd_selectmovetop cmd_selectmovebottom editor commands (legal when the focus is anywhere where you can type text): cmd_paste - paste a selection from the clipboard cmd_pastequote cmd_delete cmd_deletecharbackward cmd_deletecharforward cmd_deletewordbackward cmd_deletewo
rdforward cmd_deletetobeginningofline cmd_deletetoendofline cmd_scrolltop cmd_scrollbottom cmd_movetop cmd_movebottom cmd_selecttop cmd_selectbottom cmd_linenext cmd_lineprevious cmd_selectlinenext cmd_selectlineprevious cmd_charprevious cmd_charnext cmd_selectcharprevious cmd_selectcharnext cmd_beginline cmd_endline cmd_selectbeginline cmd_selectendline cmd_wordprevious cmd_wor...
Multiple Rules - Archive of obsolete content
a multiple rule template looks like the following: <hbox id="photoslist" datasources="template-guide-photos3.
rdf" ref="http://www.xulplanet.com/
rdf/myphotos"> <template> <query> <content uri="?start"/> <member container="?start" child="?photo"/> <triple subject="?photo" predicate="http://purl.org/dc/elements/1.1/title" object="?title"/> </query> <rule> <where subject="?title" rel="equals" value="canal"/> <action> <button u...
Namespaces - Archive of obsolete content
="laura secord" gender="female"/> </people> <listbox datasources="people.xml" ref="*" querytype="xml"> <template xmlns:ns="www.example.com/people"> <query expr="ns:person"/> <action> <listitem uri="?" label="?ns:name"/> </action> </template> </listbox> once added to the template element the namespaces can then be referenced inside temple rule elements too, this works both in
rdf and xml templates.
XML Templates - Archive of obsolete content
for an
rdf query, the uri attribute specifies the member variable; for an xml query the member variable is always '?' so the value of the uri attribute for xml templates should always be the single question mark character as in this example.
Template Guide - Archive of obsolete content
basics of xul templates introduction rule compilation
rdf template syntax result generation
rdf query syntax actions recursive generation simple example bindings additional navigation filtering static content simple query syntax containment properties xml template syntax xml templates xml assignments sql template syntax sqlite templates common template syntax attribute substitution multiple rules using recursive templates building menus with templates special condition tests multiple queries using multiple queries to generate more results building trees with templates building trees building hierarchical trees template modifications template builder interface template and tree listeners
rdf modifications additional topics sort...
Adding Style Sheets - Archive of obsolete content
modified"/> </menupopup> </menulist> <spacer class="springspace"/> <menulist id="searchmode"> <menupopup> <menuitem label="is"/> <menuitem label="is not"/> </menupopup> </menulist> <spacer class="springspace"/> <menulist id="find-text" flex="1" editable="true" datasources="file:///mozilla/recents.
rdf" ref="http://www.xulplanet.com/
rdf/recent/all"/> ...
Localization - Archive of obsolete content
e.date;"/> </menupopup> </menulist> <spacer class="springspace"/> <menulist id="searchmode"> <menupopup> <menuitem label="&mode.is;"/> <menuitem label="&mode.isnot;"/> </menupopup> </menulist> <spacer class="springspace"/> <menulist id="find-text" flex="1" editable="true" datasources="file:///mozilla/recents.
rdf" ref="http://www.xulplanet.com/
rdf/recent/all"> <template> <menupopup> <menuitem label="
rdf:http://www.xulplanet.com/
rdf/recent#label" uri="
rdf:*"/> </menupopup> </template> </menulist> </groupbox> </tabpanel> <tabpanel id="optionspanel" orient="vertical"> <checkbox id="casecheck" label="&casesensitive;"/> <checkbox id="wordsche...
XUL Tutorial - Archive of obsolete content
s adding event handlers more event handlers keyboard shortcuts focus and selection commands updating commands broadcasters and observers document object model document object model modifying a xul interface manipulating lists box objects xpcom interfaces xpcom examples trees trees more tree features tree selection custom tree views tree view details tree box objects
rdf and templates introduction to
rdf templates trees and templates
rdf datasources advanced rules persistent data skins and locales adding style sheets styling a tree modifying the default skin creating a skin skinning xul files by hand localization property files bindings introduction to xbl anonymous content xbl attribute inheritance adding properties adding methods ad...
Using Remote XUL - Archive of obsolete content
e site without harming usability.) embedding the menu bar into the pages; (we can use xbl to embed xul into html pages to get around the limitations of iframes.) integrating the search function into the menu bar so you don't have to go to a separate page to use it; hiding the html-based navigation for users who can see the xul-based navigation; storing the menu structure and items in a remote
rdf datasource to make them easier to update and reuse.
XML - Archive of obsolete content
as the figure below indicates, xul is an amalgam of these different standards: css for styling or "skinning", dom for the object model and scriptable access, javascript for the linking and behavior,
rdf for resources, xml for the structure, and html for the content and some little extras.
2006-10-06 - Archive of obsolete content
hence, they are looking for a mac user to test out the new features by building a mac.
rdf file with all of the various .mac account properties mentioned in the document here.
Atomic RSS - Archive of obsolete content
references atomic rss element list examples none available at this time community none available at this time tools none available at this time other resources tim bray's atom rss article rss, atom,
rdf, xml ...
Content - Archive of obsolete content
references rss content module element list examples none available at this time community none available at this time tools none available at this time other resources rss content module spec rss,
rdf, xml ...
Slash - Archive of obsolete content
references rss slash module element list examples none available at this time community none available at this time tools none available at this time other resources rss slash module slash slashdot rss,
rdf, xml ...
Well-Formed Web - Archive of obsolete content
references rss well-formed web module element list examples none available at this time community none available at this time tools none available at this time other resources well-formed web spec rss,
rdf, xml ...
Themes - Archive of obsolete content
building a themecommon firefox theme issues and solutionscreating a skin for firefoxuuidcontents.
rdfinstall.
rdfmaking sure your theme works with rtl localestheme changes in firefox 2theme changes in firefox 3theme changes in firefox 3.5theme changes in firefox 4 ...
Updating an extension to support multiple Mozilla applications - Archive of obsolete content
this is done by adding new <targetapplication> tags to the install.
rdf file, like this: <!-- describe the thunderbird versions we support --> <em:targetapplication> <description> <em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id> <em:minversion>1.5</em:minversion> <em:maxversion>2.0.0.*</em:maxversion> </description> </em:targetapplication> <!-- describe the sunbird versions we support --> <em:targetappli...
Building Mozilla XForms - Archive of obsolete content
if you are sure that older or newer firefox versions are compatible with your extension, you can unzip the xpi file (it's a regular zip file), edit the install.
rdf and change the minversion and maxversion entries.
Archive of obsolete content
(some being based on
rdf, but most only being based on xml.) nonetheless, rss is an extremely popular format that is used for syndicating news, blog posts, ipradio, and iptv, with an amazing amount of momentum.
XInclude - MDN Web Docs Glossary: Definitions of Web-related terms
probably just need bom test since other encodings must be specified var patternxml = /\.(svg|xml|xul|
rdf|xhtml)$/; if ((contenttype && contenttype.match(/[text|application]\/(.*)\+?xml/)) || (href.indexof('file://') === 0 && href.match(patternxml))) { /* grab the response as text (see below for that routine) and then find encoding within*/ var encname = '([a-za-z][a-za-z0-9._-]*)'; ...
MDN Web Docs Glossary: Definitions of Web-related terms
rty (javascript) protocol prototype prototype-based programming proxy server pseudo-class pseudo-element pseudocode public-key cryptography python q quality values quaternion quic r rail random number generator raster image
rdf real user monitoring (rum) recursion reference reflow regular expression rendering engine repo reporting directive request header resource timing response header responsive web design rest rgb ril robots.txt round trip time (rtt) routers...
Obsolete
creating a skin for firefox uuid contents.
rdf install.
rdf theme changes in firefox 2 theme changes in firefox 3 theme changes in firefox 3.5 theme changes in firefox 4 building a theme common theme issues and their solutions making sure your theme works with rtl locales creating a skin for seamonkey 2 dom inspector inspectorwidget force rtl yet another theme tutorial ...
Makefile - variables
dest=$(moz_objdir)/$project moz_current_project moz_debug moz_enable_xremote moz_feeds moz_help_viewer moz_native_nspr moz_metro moz_pkg_mainfest moz_preflight_all moz_
rdf moz_toolkit_search moz_url_classifier moz_widget_toolkit android, beos, cocoa, gtk2, os2, qt, windows moz_xpctools moz_xul moz_x11 test variable description enable_tests ...
How test harnesses work
the binary (mozrunner) it is the job of the shim extension to shut down the browser logging (mozlog, in theory) (run tests, accrue results) cleanup: shutdown the browser check for crashes (mozcrash) reporting (moztest) marionette tests list of testing extensions pageloader (talos) mochitest: //github.com/realityripple/uxp/blob/master/testing/mochitest/install.
rdf (mochitest) ...
JavaScript Tips
instead, use instanceof, e,g,: if (target instanceof components.interfaces.nsi
rdfresource) return target.value; if (target instanceof components.interfaces.nsi
rdfliteral) return target.value; return null; don't test the return value of queryinterface, it always returns the original variable if it succeeds.
Using JavaScript code modules
using chrome.manifest the easiest way for extensions and xul applications to add custom aliases is by registering an alias in the chrome manifest using a line like this: resource aliasname uri/to/files/ for example, if the xpi for your foo extension includes a top-level modules/directory containing the bar.js module (that is, the modules/directory is a sibling to chrome.manifest and install.
rdf), you could create an alias to that directory via the instruction: resource foo modules/ (don't forget the trailing slash!) you could then import the module into your javascript code via the statement: components.utils.import("resource://foo/bar.js"); programmatically adding aliases custom aliases to paths that can be represented as an nsilocalfile can be programmatically added as well.
Updates
mozilla 1.0 features full support for html 4.0, xml 1.0, resource description framework (
rdf), cascading style sheets level 1 (css1), and the w3c document object model level 1 (dom1) [...] as well as support for display of mathematical equations using mathml." december 7, 2001 status report october 2000 the first international mathml conference april 14, 2000 status report february 12, 2000 mathml-enabled m13 builds for win32 september 21, 1999 mathml has landed.
Certificate functions
0 and later cert_getcertificaterequestextensions mxr 3.10 and later cert_getcertissuerandsn mxr 3.2 and later cert_getcertnicknames mxr 3.2 and later cert_getcerttrust mxr 3.2 and later cert_getcertuid mxr 3.2 and later cert_getclassicocspdisabledpolicy mxr 3.12 and later cert_getclassicocspenabledha
rdfailurepolicy mxr 3.12 and later cert_getclassicocspenabledsoftfailurepolicy mxr 3.12 and later cert_getcommonname mxr 3.2 and later cert_getcountryname mxr 3.2 and later cert_getdbcontentversion mxr 3.2 and later cert_getdefaultcertdb mxr 3.2 and later cert_getdomaincomponentname mxr 3.2 and later ...
Cryptography functions
ferencesymkey mxr 3.2 and later pk11_resettoken mxr 3.4 and later pk11_restorecontext mxr 3.2 and later pk11_savecontext mxr 3.2 and later pk11_savecontextalloc mxr 3.6 and later pk11_setfortezzahack mxr 3.2 and later pk11_setpasswo
rdfunc mxr 3.2 and later pk11_setprivatekeynickname mxr 3.4 and later pk11_setpublickeynickname mxr 3.4 and later pk11_setslotpwvalues mxr 3.2 and later pk11_setsymkeynickname mxr 3.4 and later pk11_setsymkeyuserdata mxr 3.11 and later ...
NSS_3.12_release_notes.html
icereference (see cert.h) cert_encodepolicyconstraintsextension (see cert.h) cert_encodepolicymappingextension (see cert.h) cert_encodesubjectkeyid (see certdb/cert.h) cert_encodeusernotice (see cert.h) cert_findcrlentryreasonexten (see cert.h) cert_findcrlnumberexten (see cert.h) cert_findnameconstraintsexten (see cert.h) cert_getclassicocspdisabledpolicy (see cert.h) cert_getclassicocspenabledha
rdfailurepolicy (see cert.h) cert_getclassicocspenabledsoftfailurepolicy (see cert.h) cert_getpkixverifynistrevocationpolicy (see cert.h) cert_getusepkixforvalidation (see cert.h) cert_getvaliddnspatternsfromcert (see cert.h) cert_newtempcertificate (see cert.h) cert_setocsptimeout (see certhigh/ocsp.h) cert_setusepkixforvalidation (see cert.h) cert_pkixverifycert (see cert.h) hash_gettype (see secha...
Enc Dec MAC Output Public Key as CSR
*/ rv = nss_initreadwrite(dbdir); if (rv != secsuccess) { pr_fprintf(pr_stderr, "nss_initreadwrite failed\n"); goto cleanup; } pk11_setpasswo
rdfunc(getmodulepassword); slot = pk11_getinternalkeyslot(); rv = pk11_authenticate(slot, pr_true, &pwdata); if (rv != secsuccess) { pr_fprintf(pr_stderr, "could not authenticate to token %s.\n", pk11_gettokenname(slot)); goto cleanup; } switch (cmd) { case gen_csr: /* validate command for generate csr */ if (!certreqfile...
Enc Dec MAC Using Key Wrap CertReq PKCS10 CSR
stroyoptstate(optstate); if (cmd == unknown || !dbdir) usage(progname); /* open db for read/write and authenticate to it */ pr_init(pr_user_thread, pr_priority_normal, 0); initialized = pr_true; rv = nss_initreadwrite(dbdir); if (rv != secsuccess) { pr_fprintf(pr_stderr, "nss_initreadwrite failed\n"); goto cleanup; } pk11_setpasswo
rdfunc(getmodulepassword); slot = pk11_getinternalkeyslot(); if (pk11_needlogin(slot)) { rv = pk11_authenticate(slot, pr_true, &pwdata); if (rv != secsuccess) { pr_fprintf(pr_stderr, "could not authenticate to token %s.\n", pk11_gettokenname(slot)); goto cleanup; } } switch (cmd) { case generate_csr:...
NSS Sample Code sample4
ion * channel */ char *passwdcb(pk11slotinfo *info, prbool retry, void *arg); int main(int argc, char **argv) { secstatus rv; certcertificate *cert = null; seckeypublickey *pubkey = null; seckeyprivatekey *pvtkey = null; int modulus_len, i, outlen; char *buf1 = null; char *buf2 = null; /* initialize nss */ pk11_setpasswo
rdfunc(passwdcb); rv = nss_init("."); if (rv != secsuccess) { fprintf(stderr, "nss initialization failed (err %d)\n", pr_geterror()); goto cleanup; } cert = pk11_findcertfromnickname("testca", null); if (cert == null) { fprintf(stderr, "couldn't find cert testca in nss db (err %d)\n", pr_geterror()); goto cleanup; } pubkey = cert_extractpubl...
NSS Sample Code sample6
* in a real app, this function should obtain the password using secure means * such as prompting an operator, or retrieving it over a secure communication * channel */ char *passwdcb(pk11slotinfo *info, prbool retry, void *arg); int main(int argc, char **argv) { secstatus rv; /* initialize nss */ pk11_setpasswo
rdfunc(passwdcb); /* the nss db must be initialized read-write since we'll be creating * keys in it.
sample2
verify = pr_true; break; default: usage(progname); break; } } pl_destroyoptstate(optstate); if (cmd == unknown || !dbdir) usage(progname); /* open db for read/write and authenticate to it */ pr_init(pr_user_thread, pr_priority_normal, 0); initialized = pr_true; rv = nss_initreadwrite(dbdir); if (rv != secsuccess) { pr_fprintf(pr_stderr, "nss_initreadwrite failed\n"); goto cleanup; } pk11_setpasswo
rdfunc(getmodulepassword); slot = pk11_getinternalkeyslot(); if (pk11_needlogin(slot)) { rv = pk11_authenticate(slot, pr_true, &pwdata); if (rv != secsuccess) { pr_fprintf(pr_stderr, "could not authenticate to token %s.\n", pk11_gettokenname(slot)); goto cleanup; } } switch (cmd) { case generate_csr: validategeneratecsrcommand(progname, dbdir, subject, subjectstr, certreqfilename); /* generate a csr ...
NSS reference
secmod_loadusermodule secmod_unloadusermodule secmod_closeuserdb secmod_openuserdb pk11_findcertfromnickname pk11_findkeybyanycert pk11_getslotname pk11_gettokenname pk11_ishw pk11_ispresent pk11_isreadonly pk11_setpasswo
rdfunc ssl functions based on "ssl functions" in the ssl reference and "ssl functions" and "deprecated ssl functions" in nss public functions.
OLD SSL Reference
pk11_findcertfromnickname pk11_findkeybyanycert pk11_getslotname pk11_gettokenname pk11_ishw pk11_ispresent pk11_isreadonly pk11_setpasswo
rdfunc chapter 8 nss and ssl error codes nss error codes are retrieved using the nspr function pr_geterror.
Bytecode Descriptions
example 2: f.apply(this, arguments) is supported; therefore our implementation of function.prototype.apply checks for optimized arguments (see js::fun_apply), and all jsop::funapply implementations must check for cases where f.apply turns out to be any other function (see gua
rdfunapplyargumentsoptimization).
Toolkit API
extension packaging: specific information about multiple-item extension xpis xul application packaging: specific information about how to package xulrunner applications chrome registration printing in xul apps see also the following developer pages contain examples and discussions of particular topics: xul xul overlays developing extensions xulrunner developing themes dom
rdf storage ...
Building the WebLock UI
these include bindings in xml files, metadata in
rdf files, whole collections of css files called skins, and others.
nsIDirIndexListener
they can then be transformed into an output format (such as
rdf, html and so on) inherits from: nsisupports last changed in gecko 1.8 (firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview void onindexavailable(in nsirequest arequest, in nsisupports actxt, in nsidirindex aindex); void oninformationavailable(in nsirequest arequest, in nsisupports actxt, in astring ainfo); methods onindexavailable() called for each directory entry.
Using nsILoginManager
defining an nsilogininfo object is simple: var nslogininfo = new components.constructor( "@mozilla.org/login-manager/logininfo;1", components.interfaces.nsilogininfo, "init" ); var logininfo = new nslogininfo( hostname, formsubmiturl, httprealm, username, password, usernamefield, passwo
rdfield ); examples creating a login for a web page var formlogininfo = new nslogininfo( 'http://www.example.com', 'http://login.example.com', null, 'joe', 'secret123', 'uname', 'pword' ); this login would correspond to a html form such as: <form action="http://login.example.com/foo/authenticate.cgi"> <div>please log in.</div> <label>username:</label> <input type="text" name="uname"> ...
nsIMsgMessageService
amessageuri
rdf resource that describes the message adisplayconsumer msgwindow nsimsgwindow for progress and status feedback aurllistener an nsiurllistener.
nsINavHistoryObserver
toolkit/components/places/nsinavhistoryservice.idlscriptable this interface is similar to the nsi
rdfobserver class, but is used to observe interactions on the global history.
nsIXULTemplateQueryProcessor
currently, the datasource supplied to the methods will always be an nsi
rdfdatasource or a dom node, and will always be the same one in between calls to initializeforbuilding() and done().
Thunderbird API documentation
hidden prefs libmime libmime module libmime content type handlers mail and
rdf using the multiple accounts api spam filtering ...
Building a Thunderbird extension 1: introduction
the tutorial has the following pages: introduction (this page) the extension filesystem (setting up your local system) install manifest (the install.
rdf file that contains meta-information about the extension) chrome manifest (list of packages and overlays) xul (the xml user interface language that is used to modify the thunderbird user interface) adding javascript (explains how to add some simple javascript to your thunderbird extension) installing locally (enabling the extension on your local thunderbird instance) packaging (making a distr...
XPI
an xpi contains installation instructions (install.js or install.
rdf) as well as the actual software to install, which is often itself packaged as a jar file.
ctypes.open
if addon is packed, this will be addon xpi } this can then be joined with your file name to obtain it's path like this: function startup(adata, areason) { var jarpath_folder = 'jar:' + os.path.tofileuri(adata.installpath.path) + '!/'; // if unpacked is false in install.
rdf this will look like: "jar:file:///c:/users/vayeate/appdata/roaming/mozilla/firefox/profiles/aksozfjt.unnamed%20profile%2010/extensions/asynczip@jetpack!/" var filepath_folder = adata.installpath.path; // if unpacked is set to false in install.
rdf this will look like: "c:\users\vayeate\appdata\roaming\mozilla\firefox\profiles\aksozfjt.unnamed profile 10\extensions\asynczip@jetpack" var fi...
DOM Inspector internals - Firefox Developer Tools
source code organization the contents of the top-level directory for the dom inspector repository should look like base/ js/ inspector-cmdline.js makefile.in build/ install.js makefile.in resources/ content/ … locale/ … skin/ … makefile.in install.
rdf jar.mn makefile.in makefiles.sh almost all the interesting stuff is in resources/content/.
compareVersion - Web APIs
extension, theme, and plug-in developers must switch away from install.js based packages to the new packaging scheme with an install.
rdf manifest.
getVersion - Web APIs
extension, theme, and plug-in developers must switch away from install.js based packages to the new packaging scheme with an install.
rdf manifest.
installChrome - Web APIs
url url is a string containing a full or relative url to download name name is displayed in the dialog, but is also used to *select* the theme somust match exactly the name in the internal manifest.
rdf file.