Diff for /books/www/corrections.html between versions 1.26 and 1.96

version 1.26, 2002/12/04 13:23:05 version 1.96, 2003/03/14 15:45:05
Line 1 Line 1
<p><b>Corrections</b><html><style>
   .broken { color: red; }
   .fixed { color: blue; }
 </style>
 
 <body><p><b>Corrections</b>
   
 <p>This page contains a list of corrections to be made in the next printing of  <p>This page contains a list of corrections to be made in the next printing of
 the book.  If you have suggestions for changes or find errors in the text,  the book.  If you have suggestions for changes or find errors in the text,
Line 6  feel free open a <a href="bugs.html">bug Line 11  feel free open a <a href="bugs.html">bug
 section on the chapter pages, or send a message to the <a  section on the chapter pages, or send a message to the <a
 href="mailto:reviewers@mozdev.org">reviewers@mozdev.org</a> mailing list.  href="mailto:reviewers@mozdev.org">reviewers@mozdev.org</a> mailing list.
   
   <p><b>Note:</b> All errors in the text and examples are shown in <b class="broken">red</b> and all corrections are shown in <b
   class="fixed">blue</b>.
   
<a name="preface"><a name="preface"></a>
 <p><b>Preface</b>  <p><b>Preface</b>
   
 <ul>  <ul>
   
<li>In Preface (p xiv) 'http://www.oreilly.com/mozilla/' has been changed<li>On page ix: '<b class="broken">other browsers such as Galeon and Chimera</b>' has been changed to '<b class="fixed">other browsers 
to 'http://www.oreilly.com/catalog/mozilla/'<br><br>such as Galeon and Camino</b>'<br><br>
 
 <li>On page xiv: '<b class="broken">http://www.oreilly.com/mozilla/</b>' has been changed
 to '<b class="fixed">http://www.oreilly.com/catalog/mozilla/</b>'<br><br>
 
 <li>On page xvii: '<b class="broken">David McNamara, and Mark Hammond</b>' has been changed to '<b class="fixed">David 
 McNamara, Mark Hammond, Gary Frederick, and Andreas Halter</b>'<br><br>
 
 <li>On page xvii: '<b class="broken">David Hyatt and Mike Pinkerton for the Chimera browser</b>' has been changed to '<b
 class="fixed">David Hyatt and Mike Pinkerton for the Camino browser</b>'<br><br>
 
 <li>On page xvii: '<b class="broken">including Kim Steckler, Rachel Oeschger, and Priscilla, Dylan, and Devon Collins</b>' has been
 changed to '<b class="fixed">including Kim Steckler, Rachel Oeschger, Marjana Molan, Lia Molan King, and Priscilla, Dylan, and Devon
 Collins</b>'<br><br>
   
 </ul>  </ul>
   
   
<a name="ch1"><a name="ch1"></a>
 <p><b>Chapter 1</b>  <p><b>Chapter 1</b>
   
 <ul>  <ul>
   
<li>In Chapter 1 (p 7) 'applications web built using XPFE' has been<li>On page 2: In sidebar '<b class="broken">like Chimera (an ultra-fast browser that works only on Mac OS X)</b>' has been changed to 
changed to 'applications built using XPFE'<br><br>'<b class="fixed">like Camino (an ultra-fast browser that works only on Mac OS X)</b>'<br><br>
 
 <li>On page 7: In sidebar '<b class="broken">Another project, call m/b (short for mozilla/browser), addresses shortcomings</b>' has
 been changed to '<b class="fixed">The Phoenix project (http://www.mozilla.org/projects/phoenix/) also addresses
 shortcomings</b>'<br><br>
 
 <li>On page 7: In sidebar '<b class="broken">Some examples include Chimera (http://chimera.mozdev.org)</b>' has been changed to '<b 
 class="fixed">Some examples include Camino (http://www.mozilla.org/projects/camino/)</b>'<br><br>
 
 <li>On page 7: '<b class="broken">applications web built using XPFE</b>' has been
 changed to '<b class="fixed">applications built using XPFE</b>'<br><br>
   
 </ul>  </ul>
   
   
<a name="ch2"><a name="ch2"></a>
 <p><b>Chapter 2</b>  <p><b>Chapter 2</b>
   
 <ul>  <ul>
   
<li>In Chapter 2 (p 12) '&lt;window<li>On page 10: Added a new sentence to the end of the 2nd paragraph of the xFly examples sidebar: '<b class="fixed">An installable version
 of the complete xFly application can be found at http://xfly.mozdev.org.</b>'<br><br>
 
 <li>On page 12: '<b class="broken">&lt;window
 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"  
/&gt;' has been changed to '&lt;window/&gt;</b>' has been changed to '<b class="fixed">&lt;window
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;'<br><br>xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;</b>'<br><br>
 
 <li>On page 14: In first code sample from Windows features section, '<b
 class="broken">xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;</b>' has been changed to '<b
 class="fixed">xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"</b>'<br><br>
   
<li>In Chapter 2 (p 14) Removed an extra '>' from example code<br><br><li>On page 17: '<b class="broken">selecting File > Open File > from</b>' has been
 changed to '<b class="fixed">selecting File > Open File from</b>'<br><br>
   
<li>In Chapter 2 (p 17) 'selecting File > Open File > from' has been<li>On page 20: '<b class="broken">CenterWindoOnScreen( ) function</b>' has been changed
changed to 'selecting File > Open File from'<br><br>to '<b class="fixed">CenterWindowOnScreen( ) function</b>'<br><br>
   
<li>In Chapter 2 (p 20) 'CenterWindoOnScreen( ) function' has been changed<li>On page 25: '<b class="broken">Under that directory, create the three new directories, <i>content</i>, <i>locale</i>, and <i>skin</i>, as
to 'CenterWindowOnScreen( ) function'<br><br>shown in Figure 2-5.</b>' has been changed to '<b class="fixed">Under that directory, create the three new directories, <i>content</i>,
 <i>locale</i>, and <i>skin</i>, as shown in Figure 2-5. The <i>locale</i> directory will have the default 'en-US' language pack
 structure.</b>'<br><br>
 
 <li>On page 31: In Example 2-14 '<b class="broken">locale/</b>' has been changed to '<b class="fixed">locale/en-US/</b>'<br><br>
 
 <li>On page 32: In Example 2-15 '<b class="broken">locale,install,url,resource:/chrome/xfly/locale/</b>' has been changed to '<b
 class="fixed">locale,install,url,resource:/chrome/xfly/locale/en-US/</b>'<br><br>
   
 </ul>  </ul>
   
   
<a name="ch3"><a name="ch3"></a>
 <p><b>Chapter 3</b>  <p><b>Chapter 3</b>
   
 <ul>  <ul>
   
<li>In Chapter 3 (p 40) '&lt;toolbarbutton id="printBtn" label="Open"<li>On page 34: '<b class="broken">We've packed a lot information in this chapter and it be a useful reference</b>' has been changed
oncommand="doPrint( );" /&gt' has been changed to '&lt;toolbarbuttonto '<b class="fixed">We've packed a lot of information in this chapter and it will be a useful reference</b>'<br><br>
id="printBtn" label="Print" oncommand="doPrint( );" &gt'<br><br>
 <li>On page 35: '<b class="broken">secondLevelNodes[I] = docEl.childNodes[i];</b>' has been changed to '<b 
 class="fixed">secondLevelNodes[I] = docEl.childNodes[I];</b>'<br><br>
 
 <li>On page 38: In Example 3-3 the namespace declarations have been changed to (note the addition of quotes and the removal of italics)
 
 <xmp class="fixed">
     xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
     xmlns:nc="http://home.netscape.com/NC-rdf#">
 </xmp>
 
 <li>On page 38: In Example 3-3 '<b class="broken">&lt;image src="page1.png"&gt;</b>' has been changed to '<b class="fixed">&lt;image 
 src="page1.png"/&gt;</b>'<br><br>
 
 <li>On page 40: '<b class="broken">&lt;toolbarbutton id="printBtn" label="Open"
 oncommand="doPrint( );" /&gt</b>' has been changed to '<b class="fixed">&lt;toolbarbutton
 id="printBtn" label="Print" oncommand="doPrint( );" &gt</b>'<br><br>
 
 <li>On page 51: '<b class="broken">&lt;decription&gt;The mozdev.org site [...] your own development project&lt;/decription&gt;</b>' has been 
 changed to '<b class="fixed">&lt;description&gt;The mozdev.org site [...] your own development project&lt;/description&gt;</b>'<br><br>
 
 <li>On pages 58 and 59: Example 3-15 has been changed to (note the addition of spaces to seperate values)
 
 <xmp class="fixed">
 <?xml version="1.0"?>
 <window id="hello-goodbye"
     title="Hello Goodbye"
     xmlns:html="http://www.w3.org/1999/xhtml"
     xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
     style="min-width:100px;min-height:100px;background-color:white;">
   <broadcasterset id="broadcasterset">
     <broadcaster id="cmd_hello" oncommand="alert('Hello There!');"/>
   </broadcasterset>
   <keyset id="keyset">
     <key id="key_h" key="H" observes="cmd_hello" modifiers="accel,shift" />
     <key id="key_g" key="G" command="cmd_goodbye" modifiers="accel,shift" />
   </keyset>
   <commandset id="commandset">
     <command id="cmd_goodbye" oncommand="alert('Goodbye!');" />
   </commandset>
   <spacer flex="1"/>
   <label value="hello/goodbye"/>
   <textbox value="type ctl+shft+h"/>
   <textbox value="type ctl+shft+g"/>
   <spacer flex="1"/>
 </window>
 </xmp>
 
 </ul>
 
 
 <a name="ch4"></a>
 <p><b>Chapter 4</b>
 
 <ul>
 
 <li>On page 88: '<b class="broken">these are selectors are identical</b>' has been changed to '<b class="fixed">these selectors are 
 identical</b>'<br><br>
 
 <li>On page 109: '<b class="broken">The chome URL that the -moz-binding property points to</b>' has been changed to '<b
 class="fixed">The chrome URL that the -moz-binding property points to</b>'<br><br>
   
 </ul>  </ul>
   
<a name="ch5">
 <a name="ch5"></a>
 <p><b>Chapter 5</b>  <p><b>Chapter 5</b>
   
 <ul>  <ul>
  <li>In Chapter 5(p 120
    <xmp><li>On page 113: Javascript 1.5 reference link in footnote has been changed from 
      dump(l+'\n');'<b class="broken">http://developer.netscape.com/docs/manuals/js/core/jsref15/contents.html</b>' to
    </xmp>'<b class="fixed">http://developer.netscape.com/docs/manuals/index.html?content=javascript.html</b>'<br><br>
    has been changed to</li>
    <xmp>
      dump(len+'\n');<li>On page 120: '<b class="broken">&lt;/script.</b>' has been changed to '<b class="fixed">&lt;/script&gt;</b>'<br><br>
    </xmp></li>
  </li>
 <li>On page 120: '<b class="broken">dump(l+'\n');</b>' has been changed to '<b class="fixed">dump(len+'\n');</b>'<br><br>
 </li>
 
 <li>On page 135: Example 5-11 has been changed to
 <xmp class="fixed">
   <head>
     <title>Sound Service Play Example</title>
     <script>  
       function play() { 
         netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); 
         var sample = Components.classes["@mozilla.org/sound;1"].createInstance(); 
         sample = sample.QueryInterface(Components.interfaces.nsISound); 
         const SND_NETWORK_STD_CID = "@mozilla.org/network/standard-url;1";
         const SND_I_URL           = "nsIURL";
         const SND_URL             = new  C.Constructor(SND_NETWORK_STD_CID, SND_I_URL);
         var url                   = new SND_URL();
         url.spec                  = 'http://jslib.mozdev.org/test.wav';
         sample.play(url);
       } 
     </script>  
   </head>  
     
     <form name="form">  
       <input type="button" value="Play Sound" onclick="play();">  
     </form>  
 </xmp>
 
 <li>On page 137: '<b class="broken">var connection = Components.classes ["@mozilla.org/network/ldap-connection;1";</b>' 
   has been changed to 
 '<b class="fixed">var connection = Components.classes ["@mozilla.org/network/ldap-connection;1"];</b>'<br><br>
 </li>
 
 <li>On page 140: '<b class="broken">js> load(`chrome/jslib/jslib.js');</b>' has been changed to '<b class="fixed">js>
 load('chrome/jslib/jslib.js');</b>'<br><br>
 </li>
 
 </ul>
 
 <a name="ch06"></a>
 <p><b>Chapter 6</b>
 
 <ul>
 
 <li>On page 145: Example 6-1 has been changed to <br/>
 
 <xmp class="fixed">
 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.
 </xmp>
 
 </ul>  </ul>
   
<a name="ch08">
 <a name="ch08"></a>
 <p><b>Chapter 8</b>  <p><b>Chapter 8</b>
   
 <ul>  <ul>
<li>In Chapter 8 (p 239) Example 8-15 has been changed to <br/>
 <li>On page 211: In 2nd sentence of paragraph '<b class="broken">QueryInterace</b>' has been 
 changed to '<b class="fixed">QueryInterface</b>'<br><br></li>
 
 <li>On page 222: In Example 8-4 '<b class="broken">mName: "a default value"</b>' has been 
 changed to '<b class="fixed">mName: "a default value",</b>'<br><br></li>
 
 <li>On page 222: In Example 8-4:
 
             <xmp class="broken">
               this.myCID,
               "My JS Component",
               this.myProgID, fileSpec,
               location, true, true,
               type);
             </xmp>            
 
 has been changed to
 
             <xmp class="fixed">            
               compMgr.registerComponentWithType(
               this.myCID,
               "My JS Component",
               this.myProgID, fileSpec,
               location, true, true,
               type);
             </xmp>            
 
 </li>
 
 <li>On page 222: In Example 8-4 one of the duplicate '<b class="broken">dump(" ***** Registering: Simple JS component!
 ****\n");</b>' lines has been removed<br><br></li>
 
 <li>On page 222: In Example 8-4 has been changed to:
   
 <xmp>  <xmp>
   
   function SimpleComponent(){}
   
   SimpleComponent.prototype = {
   
       get yourName()        { return this.mName; },
       set yourName(aName)   { return this.mName = aName; },
   
       write: function () { dump("Hello " + this.mName + "\n"); },
       change: function (aValue) { this.mName = aValue; },
       mName: "a default value",
   
       QueryInterface: function (iid) {
           if (!iid.equals(Components.interfaces.nsISimple)
               && !iid.equals(Components.interfaces.nsISupports))
           {
               throw Components.results.NS_ERROR_NO_INTERFACE;
           }
           return this;
       }
   }
   
   var Module = {
       firstTime: true,
   
       registerSelf: function (compMgr, fileSpec, location, type) {
           if (this.firstTime) {
               dump("*** Deferring registration of simple JS components\n");
               this.firstTime = false;
               throw Components.results.NS_ERROR_FACTORY_REGISTER_AGAIN;
           }
           debug("*** Registering sample JS components\n");
           compMgr =
   compMgr.QueryInterface(Components.interfaces.nsIComponentRegistrar);
           compMgr.registerFactoryLocation(this.myCID,
                                           "Simple JS Component",
                                           this.myProgID,
                                           fileSpec,
                                           location,
                                           type);
       },
   
       getClassObject : function (compMgr, cid, iid) {
           if (!cid.equals(this.myCID))
           throw Components.results.NS_ERROR_NO_INTERFACE
           if (!iid.equals(Components.interfaces.nsIFactory))
           throw Components.results.NS_ERROR_NOT_IMPLEMENTED;
           return this.myFactory;
       },
   
       myCID: Components.ID("{98aa9afd-8b08-415b-91ed-01916a130d16}"),
       myProgID: "@mozilla.org/js_simple_component;1",
   
       myFactory: {
           createInstance: function (outer, iid) {
               dump("CI: " + iid + "\n");
               if (outer != null)
               throw Components.results.NS_ERROR_NO_AGGREGATION;
               return (new SimpleComponent()).QueryInterface(iid);
           }
       },
   
       canUnload: function(compMgr) {
           dump("****** Unloading: Simple JS component! ****** \n");
           return true;
       }
   }; // END Module
   
   function NSGetModule(compMgr, fileSpec) { return Module; }
   
   </xmp>
   <br><br>
   </li>
   
   <li>On page 223: In Example 8-4 one of the duplicate '<b class="broken">if (outer != null)</b>' lines has been removed<br><br>
   
   <li>On page 222: In Example 8-4 has been changed to:</li>
   <li>On page 239: Example 8-15 has been changed to <br/></li>
   
   <xmp class="fixed">
 DEPTH         = ../../..  DEPTH         = ../../..
 topsrcdir     = ../../..  topsrcdir     = ../../..
 srcdir        = .  srcdir        = .
Line 120  EXTRA_DSO_LDOPTS += $(MOZ_COMPONENT_LIBS Line 406  EXTRA_DSO_LDOPTS += $(MOZ_COMPONENT_LIBS
   
 install:: $(TARGETS)  install:: $(TARGETS)
 </xmp>  </xmp>
 </li>  
   
 </ul>  </ul>
   
   <a name="ch9"></a>
   <p><b>Chapter 9</b>
   
<a name="ch10"><ul>
 
 <li>On page 257: In Example 9-7
 
 <xmp class="broken">
         <triple subject="?listitem"
                 predicate=" http://xfly.mozdev.org/fly-rdf#location"
                 object="?location"/>
 </xmp>
 
 has been changed to
 
 <xmp class="fixed">
         <triple subject="?listitem"
                 predicate="fly-location#location"
                 object="?location"/>
 </xmp>
 
 </ul>
 
 <a name="ch10"></a>
 <p><b>Chapter 10</b>  <p><b>Chapter 10</b>
   
 <ul>  <ul>
<li>In Chapter 10 (p 297) 'http://www.jslib.mozdev.org' has been changed
to 'http://jslib.mozdev.org'<br><br></li><li>On page 280: In Table 10-3 '<b class="broken">Mostly used for retrieving, datasources, resources, and literals.</b>' has been
 changed to '<b class="fixed">Mostly used for retrieving datasources, resources, and literals.</b>'<br><br>
 
 <li>On page 297: '<b class="broken">http://www.jslib.mozdev.org</b>' has been changed to '<b
 class="fixed">http://jslib.mozdev.org</b>'<br><br>
 
 </ul>  </ul>
   
   
<a name="ch12"><a name="ch11"></a>
 <p><b>Chapter 11</b>
 
 <ul> 
 <li>On page 314: In Example 11-5 and Example 11-6 '<b class="broken">var linetext =
 document.createTextNode(messageParagraphs[i]);</b>' has been changed to '<b class="fixed">var linetext =
 document.createTextNode(lines[i]);</b>'<br><br>
 </ul>
 
 
 <a name="ch12"></a>
 <p><b>Chapter 12</b>  <p><b>Chapter 12</b>
   
 <ul>  <ul>
   
<li>In Chapter 12 (p 339) A new 'Certificate Authorities and Digital<li>On page 336: In Example 12-6
 
 <xmp class="broken">
  print `  <checkbox label="%s" />' % form['op1'].value
  print `  <checkbox label="%s" />' % form['op2'].value
    print `  <checkbox label="%s" />' % form['op3'].value
 </xmp>
 
 has been changed to (note the difference in indentation and in using a single quote versus a backtick)
 
 <xmp class="fixed">
    print '  <checkbox label="%s" />' % form['op1'].value
    print '  <checkbox label="%s" />' % form['op2'].value
    print '  <checkbox label="%s" />' % form['op3'].value
 </xmp>
 
 <!--
 <li>On page 339: A new 'Certificate Authorities and Digital
 Signatures' section is being written with drafts available on <a  Signatures' section is being written with drafts available on <a
 href="http://certs.mozdev.org">http://certs.mozdev.org</a><br><br>  href="http://certs.mozdev.org">http://certs.mozdev.org</a><br><br>
   </li>
   -->
   
 </ul>  </ul>
   
   
<a name="appa"><a name="appa"></a>
 <p><b>Appendix A</b>  <p><b>Appendix A</b>
   
 <ul>  <ul>
   
<li>In Appendix A (p 365) 'http://www.mozilla.org/source.tml' has been<li>On page 365: '<b class="broken">http://www.mozilla.org/source.tml</b>' has been changed to '<b
changed to 'http://www.mozilla.org/source.html'<br><br>class="fixed">http://www.mozilla.org/source.html</b>'<br><br>
 
 </ul>
 
 
 <a name="index"></a>
 <p><b>Index</b>
 
 <ul>
 
 <li>On page 437: '<b class="broken">Chimera, 2</b>' has been changed to '<b class="fixed">Camino, 2</b>'<br><br>
   
 </ul>  </ul>
   
   
 <br><br>  <br><br>
   
 <!-- ?php require(NOTES); ? -->  <!-- ?php require(NOTES); ? -->

Removed from v.1.26  
changed lines
  Added in v.1.96


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>