DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Untracked file

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title>Embedding distribution information</title>
</head>
  <body>
       
<h2>Introduction</h2>
       
<p>This is the Embedding distribution of <a
 href="http://www.mozilla.org/">Mozilla</a>. It     serves as a reference 
and smoketest distribution to demonstrate a typical     subset of Mozilla 
needed to embed it into another application. The     distribution contains 
sample applications for testing and development purposes.</p>
       
<p>Please note the phrase<i> typical subset</i>! If you want to use a different
     subset then see the <a href="#cust">customizing the embedding distribution</a>
     section below.</p>
       
<h2>Where can I find more information about embedding? </h2>
       
<p>Mozilla.org - <a href="http://www.mozilla.org/">http://www.mozilla.org/</a>.</p>
       
<p>The Embedding project page - <a
 href="http://www.mozilla.org/projects/embedding/">http://www.mozilla.org/projects/embedding/</a>.
     This page should serve as your main point of information for learning 
how to     embed Mozilla in your own applications.</p>
       
<p>The Embedding Frequently Asked Questions (FAQ) page - <a
 href="http://www.mozilla.org/projects/embedding/faq.html">http://www.mozilla.org/projects/embedding/faq.html</a>. </p>
       
<p>The Embedding newsgroup - <a
 href="news:netscape.public.mozilla.embedding">news:netscape.public.mozilla.embedding</a>.</p>
       
<p>The Embedding QA page - <a
 href="http://www.mozilla.org/quality/embed/">http://www.mozilla.org/quality/embed/</a>.</p>
       
<p>Instructions for building Mozilla (including Embedding) - <a
 href="http://www.mozilla.org/build/">http://www.mozilla.org/build/</a>.</p>
       
<p>Instructions for fetching Mozilla source code (including Embedding) - <a
 href="http://www.mozilla.org/source.html">http://www.mozilla.org/source.html</a>.</p>
       
<h2>Contents </h2>
       
<p>The distribution contains, libraries, resources and chrome. All of this
     is a subset of Mozilla, repackaged for embedding. The layout follows 
the     usual Mozilla directory, i.e. </p>
       
<ul>
        <li>./ - Test applications, launch scripts and core libraries (xpcom, 
nspr         etc.)</li>
        <li>./components/ - XPCOM components (network, graphics, layout,
content,          etc.).</li>
        <li>./chrome/ - chrome files. In embedding most of the chrome has 
been         re-packaged into a single embed.jar file to make it more manageable.</li>
        <li>./res/ - miscellaneous rendering and parser files.</li>
        <li>./defaults/ - default preference settings</li>
       
</ul>
       
<h3>Unix</h3>
       
<h4>TestGtkEmbed</h4>
       
<p>A simple browser application built using the GTK+ Browser Widget.</p>
       
<h4>GTK+ Browser Widget</h4>
       
<p>A GTK+ widget for embedding Mozilla into GTK+/GNOME applications such as
<a href="http://galeon.sourceforge.net/">Galeon</a>.     More information 
about the widget may be found here <a
 href="http://www.mozilla.org/unix/gtk-embedding.html">http://www.mozilla.org/unix/gtk-embedding.html</a>. 
</p>
       
<h3>Windows</h3>
       
<h4>MFCEmbed</h4>
       
<p>A complete browser application written in MFC and the Gecko embedding APIs.
    This application demonstrates and exercises the functionality necessary 
to     put together a fully featured browser using Gecko.</p>
       
<h4>Mozilla ActiveX Control</h4>
       
<p>An ActiveX browser control built with the embedding APIs. You may use the
    control to embed a browser inside applications     written in VB, Delphi
etc. More information about the control including     installation instructions
may be found at <a href="http://www.iol.ie/%7Elocka/mozilla/mozilla.htm">http://www.iol.ie/~locka/mozilla/mozilla.htm</a>.
     </p>
       
<h3>Macintosh </h3>
       
<p>PPEmbed is built as part of the standard Mac embedding build. Work on <a
 href="http://www.mozilla.org/ports/fizzilla/Mach.html">Fizilla     Mach</a> 
may also yield a Mac embedding distribution in the future. </p>
       
<h2>Installation and Usage </h2>
       
<h3>Unix</h3>
       
<ol>
        <li>Untar the embedding distribution into an empty directory of your
         choice.</li>
        <li>From the command-line, cd into the directory and type       
 './run-mozilla.sh ./TestGtkEmbed'</li>
       
</ol>
       
<h3>Windows </h3>
       
<ol>
        <li>Unzip the embedding distribution into an empty directory of your
         choice.</li>
        <li>Double-click on mfcembed.exe</li>
       
</ol>
       
<h2><a name="cust">Customizing the embedding distribution</a></h2>
       
<p>The embedding distribution is produced by first building the full Mozilla
     source and cherry picking files and chrome into a separate embedding 
directory.     Basically the steps are:</p>
       
<ol>
        <li>Build Mozilla as usual</li>
        <li>cd mozilla/embedding/config</li>
        <li>make</li>
</ol>

<p><strong>Note:</strong> When using an objdir, cd into
&lt;objdir&gt;/embedding/config instead, and run make there.</p>

<p>The embedding distribution will appear in mozilla/dist/Embed.</p>
       
<p>The build process works by reading a file called basebrowser-win (or  
  basebrowser-unix, basebrowser-mac-macho etc.) and copying the listed files 
from     mozilla/dist/bin into mozilla/dist/Embed. It then reads a file called 
embed-jar.mn     and repackages the specified chrome files and directories 
into a single     embed.jar.<br>
 </p>
 
<p>This process can be customized in one of two ways:<br>
 </p>
 
<ol>
   <li>Edit basebrowser-foo (where foo = win, unix etc.) and remove/add the 
items you require</li>
   <li>Create a new file called client-foo and add the items you require. 
This file is detected by the build process and will be run <i>after</i> the
contents of basebrowser-foo have been copied.</li>
 
</ol>
 The latter is the best probably approach to take since the embedder can
maintain these files without modifying ones in Mozilla<i></i>. The client-foo
file      allows embedders to specify files to be added or removed from the
default      embedding distribution. A minus sign in front of a filename
deletes that      file.       
<p>For example if you wanted a distribution containing extra character converters, 
but not the ActiveX control and not XMLExtras you might define a     client-win 
like this:</p>
       
<pre>[Embed]<br>components\ucvja.dll<br>components\ucvko.dll<br>components\ucvcn.dll<br>components\ucvtw.dll<br>components\ucvtw2.dll<br>components\ucvibm.dll<br>-mozctl.dll<br>-mozctlx.dll<br>-components\xmlextras.dll<br>-components\xmlextras.xpt<br></pre>
       
<p></p>
 <br>
 <br>
</body>
</html>