Roll your own browser
What you need
Last Modified: June 21, 2000
Here is a listing of the require libraries that you will need. Basically, the idea is to build Seamonkey, then copy out these files into a new directory along with your application. Shortly, there will be a build target, so that you can build just what you need for your embeded software.
Win32 | Unix | |
NSPR | ||
nspr4.dll | libnspr4.so | |
plc4.dll | libplc4.so | |
plds4.dll | libplds4.so | |
Javascript | ||
js3250.dll | libmozjs.so | |
NGLayout Web Widget Control | ||
gkweb.dll | libwebshell.so | |
gkgfxwin.dll | libgkgfx.so | |
gkwidget.dll | ||
libgtksuperwin.so | ||
libgtkembedmoz.so | ||
DOM | ||
jsdom.dll | libjsdom.so | |
XPCOM | ||
xpcom.dll | libxpcom.so | |
mozreg.dll | ||
Imaging | ||
img3250.dll | ||
jpeg3250.dll | ||
zlib.dll |
You need a folder called components next to your application. In it, you will need to follow:
Win32 | Unix | |
xpfe/appshell/ | ||
appshell.dll appshell.xpt |
libnsappshell.so appshell.xpt |
|
caps/ | ||
caps.dll caps.xpt |
libcaps.so caps.xpt |
|
rdf/chrome/ | ||
chrome.dll chrome.xpt |
libchrome.so chrome.xpt |
|
docshell/ | ||
docshell.dll docshell_base.xpt |
libdocshell.so docshell.xpt |
|
dom/ | ||
dom.xpt | dom.xpt | |
editor/ | ||
editor.dll editor.xpt ? |
libeditor.so editor.xpt ? |
|
gfx/ | ||
gfx.xpt |
libgfx_gtk.so gfx.xpt |
|
layout/ | ||
gkhtml.dll layout_base.xpt layout_xul.xpt |
libgklayout.so layout_base.xpt layout_xul.xpt |
|
htmlparser/ | ||
gkparser.dll | libhtmlpars.so | |
view/ | ||
gkview.dll | libgkview.so | |
xpfe/browser/ | ||
mozbrwsr.dll mozbrwsr.xpt |
libmozbrwsr.so mozbrwsr.xpt |
|
netwerk/ | ||
necko.dll necko.xpt necko2.dll necko_about.xpt necko_cache.xpt necko_data.xpt necko_dns.xpt necko_ftp.xpt necko_http.xpt necko_jar.xpt necko_res.xpt necko_strconv.xpt |
libnecko.so necko.xpt libnecko2.so necko_about.xpt necko_cache.xpt necko_data.xpt necko_dns.xpt necko_ftp.xpt necko_http.xpt necko_jar.xpt necko_res.xpt necko_strconv.xpt |
|
libimg/ | ||
nsgif.dll nsjpg.dll |
libnsgif.so libnsjpg.so |
|
modules/libpref | ||
xppref32.dll pref.xpt |
libpref.so pref.xpt |
|
profile/ | ||
profile.dll profile.xpt |
libprofile.so profile.xpt |
|
rdf/ | ||
rdf.dll rdf.xpt rdfdomds.dll rdfdomds.xpt |
librdf.so rdf.xpt librdfdomds.so ( built in rdf tests? ) rdfdomds.xpt |
|
xpfe/components/shistory | ||
shistory.dll shistory.xpt |
libshistory.so shistory.xpt |
|
intl/lwbrk | ||
lwbrk.dll | liblwbrk.so | |
intl/strres | ||
??? |
intl.xpt libstrres.so |
|
intl/unicharutil | ||
ucharuti.dll unicharutil.xpt |
libunicharutil.so unicharutil.xpt |
|
intl/uconv/ | ||
uconv.dll ucvcn.dll ucvibm.dll ucvja.dll ucvko.dll ucvlatin.dll ucvtw.dll ucvtw2.dll uconv.xpt |
libuconv.so libucvcn.so libucvibm.so libucvja.so libucvko.so libucvlatin.so libucvtw.so libucvtw2.so uconv.xpt |
|
uriloader/ | ||
urildr.dll uriloader.xpt |
liburiloader.so uriloader.xpt |
|
embedding/browser/ | ||
webbrwsr.dll webBrowser_core.xpt webBrowser_setup.xpt |
libwebbrwsr.so webBrowser_core.xpt webBrowser_setup.xpt |
|
widget/ | ||
widget.xpt |
libwidget_gtk.so widget.xpt libtimer_gtk.so |
|
js/src/xpconnect/ | ||
xpc3250.dll | libxpconnect.so | |
xpcom/base/ | ||
xpcom_base.xpt xpcom_components.xpt xpcom_ds.xpt xpcom_eventloop_windows.xpt xpcom_eventloop_xp.xpt xpcom_io.xpt xpcom_nativeapp.xpt xpcom_thread.xpt xpcom_xpti.xpt xpconnect.xpt xpconnect_tests.xpt |
xpcom_base.xpt xpcom_components.xpt xpcom_ds.xpt xpcom_io.xpt xpcom_threads.xpt xpcom_xpti.xpt xpconnect.xpt xpconnect_tests.xpt |
You will need a nested folder "defaults/pref". In it copy these two files. You can live without these if you have to. They do two important things (1) step the platform and set fonts, and (2) stop annoying (unneeded) asserts.
defaults/pref: initpref.js winpref.js |
The next directory that you will need is "res". Copy these three files.
res: html.css quirk.css ua.css |
The last directory that you need is the chrome directory. The only package that you will need is the "widget-toolkit". Here is the layout of this directory:
installed-chrome.txt all-locales.rdf all-packages.rdf all-skins.rdf packages widget-toolkit skins modern global manifest.rdf locales en-US global manifest.rdf |
The first four files you need to edit. Basically you cut out anything referencing other packages.
The above is basically what you need. If you call on features from your application, you may need to add more components/stuff to your components directory.