mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-27 14:52:16 +00:00
.. | ||
.cvsignore | ||
basebrowser-mac-cfm | ||
basebrowser-mac-cfmDebug | ||
basebrowser-mac-macho | ||
basebrowser-unix | ||
basebrowser-win | ||
basebrowser-win-supp | ||
embed-jar.mn | ||
gen_mn.pl | ||
GenerateManifest.pm | ||
gre.pl | ||
installed-chrome.txt | ||
Makefile.in | ||
mk_sdk_hdr_lst.pl | ||
mre.pl | ||
readme.html | ||
xulprefs.mn | ||
xulsecurity.mn |
<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/~locka/mozilla/mozilla.htm">http://www.iol.ie/~locka/mozilla/mozilla.htm</a>. </p> <h3>Macintosh </h3> <p>There is no Macintosh distribution at present, though an embedding test application PPEmbed is built as part of a standard Mac 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>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.</p> <p>The build process also also looks for a file called client-win (or client-unix, client-mac-macho etc.) and if present copies from there as well. This file allows embedders to specify files to be added or removed from the default embedding distribution. </p> <p>For example if you wanted a distribution containing character converters for various character sets, but not the ActiveX control you might define a client-win like this:</p> <pre>[Embed] components\ucvja.dll components\ucvko.dll components\ucvcn.dll components\ucvtw.dll components\ucvtw2.dll components\ucvibm.dll -mozctl.dll -mozctlx.dll</pre> <p>When the build process is run, the files from embed-win will be copied first and then those in client-win. Minus signs in front of filenames delete the files, so the previous example would delete mozctl.dll and mozctlx.dll.</p> </body> </html>