Note: All errors in the text and examples are shown in red and all corrections are shown in blue.
-
+
Preface
-
On page xiv: 'http://www.oreilly.com/mozilla/' has been changed
-to 'http://www.oreilly.com/catalog/mozilla/'
+
On page ix: 'other browsers such as Galeon and Chimera' has been changed to 'other browsers
+such as Galeon and Camino'
+
+
On page xiv: 'http://www.oreilly.com/mozilla/' has been changed
+to 'http://www.oreilly.com/catalog/mozilla/'
+
+
On page xvii: 'David McNamara, and Mark Hammond' has been changed to 'David
+McNamara, Mark Hammond, Gary Frederick, and Andreas Halter'
+
+
On page xvii: 'David Hyatt and Mike Pinkerton for the Chimera browser' has been changed to 'David Hyatt and Mike Pinkerton for the Camino browser'
+
+
On page xvii: 'including Kim Steckler, Rachel Oeschger, and Priscilla, Dylan, and Devon Collins' has been
+changed to 'including Kim Steckler, Rachel Oeschger, Marjana Molan, Lia Molan King, and Priscilla, Dylan, and Devon
+Collins'
On page 7: 'applications web built using XPFE' has been
-changed to 'applications built using XPFE'
+
On page 2: In sidebar 'like Chimera (an ultra-fast browser that works only on Mac OS X)' has been changed to
+'like Camino (an ultra-fast browser that works only on Mac OS X)'
+
+
On page 7: In sidebar 'Another project, call m/b (short for mozilla/browser), addresses shortcomings' has
+been changed to 'The Phoenix project (http://www.mozilla.org/projects/phoenix/) also addresses
+shortcomings'
+
+
On page 7: In sidebar 'Some examples include Chimera (http://chimera.mozdev.org)' has been changed to 'Some examples include Camino (http://www.mozilla.org/projects/camino/)'
+
+
On page 7: 'applications web built using XPFE' has been
+changed to 'applications built using XPFE'
On page 10: Added a new sentence to the end of the 2nd paragraph of the xFly examples sidebar: 'An installable version
+of the complete xFly application can be found at http://xfly.mozdev.org.'
+
+
On page 12: '<window
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-/>' has been changed to '<window
-xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">'
+/>' has been changed to '<window
+xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">'
+
+
On page 14: In first code sample from Windows features section, 'xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">' has been changed to 'xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"'
-
On page 14: Removed an extra '>' from example code
+
On page 17: 'selecting File > Open File > from' has been
+changed to 'selecting File > Open File from'
-
On page 17: 'selecting File > Open File > from' has been
-changed to 'selecting File > Open File from'
+
On page 20: 'CenterWindoOnScreen( ) function' has been changed
+to 'CenterWindowOnScreen( ) function'
-
On page 20: 'CenterWindoOnScreen( ) function' has been changed
-to 'CenterWindowOnScreen( ) function'
+
On page 25: 'Under that directory, create the three new directories, content, locale, and skin, as
+shown in Figure 2-5.' has been changed to 'Under that directory, create the three new directories, content,
+locale, and skin, as shown in Figure 2-5. The locale directory will have the default 'en-US' language pack
+structure.'
+
+
On page 25: There is 1 error in Figure 2-5 ...
+
+1) The locale folder should have an en-US subfolder.
+
+Here is a correct image (Click for bigger version):
+
+
+
+
On page 31: In Example 2-14 'locale/' has been changed to 'locale/en-US/'
+
+
On page 32: In Example 2-15 'locale,install,url,resource:/chrome/xfly/locale/' has been changed to 'locale,install,url,resource:/chrome/xfly/locale/en-US/'
On page 40: '<toolbarbutton id="printBtn" label="Open"
-oncommand="doPrint( );" />' has been changed to '<toolbarbutton
-id="printBtn" label="Print" oncommand="doPrint( );" >'
+
On page 34: 'We've packed a lot information in this chapter and it be a useful reference' has been changed
+to 'We've packed a lot of information in this chapter and it will be a useful reference'
+
+
On page 35: 'secondLevelNodes[I] = docEl.childNodes[i];' has been changed to 'secondLevelNodes[I] = docEl.childNodes[I];'
+
+
On page 38: In Example 3-3 the namespace declarations have been changed to (note the addition of quotes and the removal of italics)
+
+
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ xmlns:nc="http://home.netscape.com/NC-rdf#">
+
+
+
On page 38: In Example 3-3 '<image src="page1.png">' has been changed to '<image
+src="page1.png"/>'
+
+
On page 40: '<toolbarbutton id="printBtn" label="Open"
+oncommand="doPrint( );" />' has been changed to '<toolbarbutton
+id="printBtn" label="Print" oncommand="doPrint( );" >'
+
+
On page 51: '<decription>The mozdev.org site [...] your own development project</decription>' has been
+changed to '<description>The mozdev.org site [...] your own development project</description>'
+
+
On page 54: 'Clicking on the box sets the clicked attribute' has been
+changed to 'Clicking on the box sets the checked attribute'
+
+
On pages 58 and 59: Example 3-15 has been changed to (note the addition of spaces to seperate values)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
On page 63: 'But there are also CSS versions of these properties that
+use the prefix box-pack becomes box-pack when it's defined in CSS, for example.' has been
+changed to 'But there are also CSS versions of these properties that
+use the prefix box-. pack becomes box-pack when it's defined in CSS, for example.'
+
+
+
+
+
+
Chapter 4
+
+
+
+
On page 88: 'these are selectors are identical' has been changed to 'these selectors are
+identical'
+
+
On page 109: 'The chome URL that the -moz-binding property points to' has been changed to 'The chrome URL that the -moz-binding property points to'
(p 113)
-
- Changed footnote link to
- http://developer.netscape.com/docs/manuals/index.html?content=javascript.html
-
-
-
(p 120)
-
- dump(l+'\n');
- has been changed to
- dump(len+'\n');
-
-
-
(p 137)
-
- var connection = Components.classes ["@mozilla.org/network/ldap-connection;1"; // create an object from the nsILDAPConnection interface;
- has been changed to
- var connection = Components.classes ["@mozilla.org/network/ldap-connection;1"]; // create an object from the nsILDAPConnection interface;
-
-
On page 113: Javascript 1.5 reference link in footnote has been changed from
+'http://developer.netscape.com/docs/manuals/js/core/jsref15/contents.html' to
+'http://developer.netscape.com/docs/manuals/index.html?content=javascript.html'
+
+
+
On page 120: '</script.' has been changed to '</script>'
+
+
+
On page 120: 'dump(l+'\n');' has been changed to 'dump(len+'\n');'
+
+
+
On page 123: Example 5-3
+
+for (var i=0; i
+has been changed to
+
+for (var i=0; i
+
+
+
+
On page 135: Example 5-11 has been changed to
+
+
+ Sound Service Play Example
+
+
+
+
+
+
+
On page 137: 'var connection = Components.classes ["@mozilla.org/network/ldap-connection;1";'
+ has been changed to
+'var connection = Components.classes ["@mozilla.org/network/ldap-connection;1"];'
+
+
+
On page 140: 'js> load(`chrome/jslib/jslib.js');' has been changed to 'js>
+load('chrome/jslib/jslib.js');'
+
+
+
+
+
+
Chapter 6
+
+
+
+
On page 145: Example 6-1 has been changed to
+
+
+var myFile = "xFly.jar";
+initInstall( // initialize the installation
+ "Install xFly", // display name of installation
+ "xFly", // package name
+ "0.0.1", // version of install
+ 1); // flags - an optional argument,
+ // reserved for future use
+f = getFolder("Chrome"); // specify a target directory
+setPackageFolder(f);
+addFile(myFile); // add software to the installation
+registerChrome(
+ PACKAGE | DELAYED_CHROME, // chrome switch (i.e., type)
+ getFolder("Chrome","xFly.jar"), // destination of package
+ "content/xFly/"); // location of manifest in package
+if (0 == getLastError( )) // if there have been no errors:
+ performInstall( ); // install "xfly.jar"
+else // otherwise
+ cancelInstall( ); // cancel the installation.
+
+
(p 222) Example 8-4
-
- this.myCID,
- "My JS Component",
- this.myProgID, fileSpec,
- location, true, true,
- type);
-
- Should be
-
- compMgr.registerComponentWithType(
- this.myCID,
- "My JS Component",
- this.myProgID, fileSpec,
- location, true, true,
- type);
-
-
-
(p 222, p 223) Example 8-4
-
- Removed double lines
- dump(" ***** Registering: Simple JS component! ****\n");
- and
- if (outer != null)
-
+
+
On page 237: Example 8-13, line 9
+
+ NS_INIT_REFCNT( ); // has been depricated use NS_INIT_ISUPPORTS()
+ mValue = PL_strdup("default value");
+
+has been changed to
+
+ // NS_INIT_REFCNT( ); // has been depricated use NS_INIT_ISUPPORTS()
+ NS_INIT_ISUPPORTS();
+ mValue = PL_strdup("default value");
+
+
+
+On page 247: 'When it appears inside the , the tag has two
+special attributes.' has been changed to 'The gains two special
+attributes when it contains a .'
+
+
+On page 250 '"Using Data for Style,"' has been changed to '"Using Data for Style",'
+
On page 297: 'http://www.jslib.mozdev.org' has been changed
-to 'http://jslib.mozdev.org'
+
+
One page 268, In Example 10-1 '<rdf:Description about="http://my.jar-of-flies.com">' has been
+changed to '<rdf:Description about="urn:root">'
+
+
On page 279: 'The URI is also accessible as a datasource property:' has been
+changed to 'The URI, such as rdf:someName, is also accessible as a datasource
+property:'
+
+
On page 280: In Table 10-3 'Mostly used for retrieving, datasources, resources, and literals.' has been
+changed to 'Mostly used for retrieving datasources, resources, and literals.'
+
+
On page 288:
+
+
+'containerUtils = Components.classes['@mozilla.org/rdf/container-utils;1'
+getService(Components.interfaces.nsIRDFContainerUtils);'
+
+
+has been changed to:
+
+
+'containerUtils = Components.classes['@mozilla.org/rdf/container-utils;1'].
+getService(Components.interfaces.nsIRDFContainerUtils);'
+
+
+
On page 297: 'http://www.jslib.mozdev.org' has been changed to 'http://jslib.mozdev.org'
+
+
On page 297, Example 10-14: '// if(del)gRDF.removeSeq('types',false);' has been deleted. Not
+needed in this example.
+
+
+
+
+
+
Chapter 11
+
+
+
On page 314: In Example 11-5 and Example 11-6 'var linetext =
+document.createTextNode(messageParagraphs[i]);' has been changed to 'var linetext =
+document.createTextNode(lines[i]);'
On page 365: 'http://www.mozilla.org/source.tml' has been
-changed to 'http://www.mozilla.org/source.html'
+
On page 365: 'http://www.mozilla.org/source.tml' has been changed to 'http://www.mozilla.org/source.html'
+
+
+
On page 367 and 368: CVS Instructions ...
+
+Linux Instructions (p367)
+
+1. Set the CVSROOT variable:
+ $ setenv CVSROOT :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
+2. Log in as anonymous@cvs-mirror.mozilla.org using the password "anonymous":
+
+
+has been changed to (note the adding to '=' after CVSROOT,
+the changing of 'setenv' to 'export',
+and the simplification of instruction 2)
+
+
+1. Set the CVSROOT variable:
+ $ export CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
+2. Log in using the password "anonymous":
+
+
+Windows Instructions (p368)
+
+1. Set the CVSROOT variable:
+ > set CVSROOT :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
+2. Log in as anonymous@cvs-mirror.mozilla.org using the password "anonymous":
+
+
+has been changed to (note the adding to '=' after CVSROOT,
+and the simplification of instruction 2)
+
+
+1. Set the CVSROOT variable:
+ > set CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
+2. Log in using the password "anonymous":
+
+
+
+
+
+
+
+
Index
+
+
+
+
+On page 437: 'Chimera, 2' has been changed to 'Camino, 2'