summaryrefslogtreecommitdiffstats
path: root/extensions/nsplugin/doc/index.doc
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/nsplugin/doc/index.doc')
-rw-r--r--extensions/nsplugin/doc/index.doc112
1 files changed, 112 insertions, 0 deletions
diff --git a/extensions/nsplugin/doc/index.doc b/extensions/nsplugin/doc/index.doc
new file mode 100644
index 0000000..8390349
--- /dev/null
+++ b/extensions/nsplugin/doc/index.doc
@@ -0,0 +1,112 @@
+/****************************************************************************
+**
+** Index page
+**
+** Copyright (C) 1995-2008 Trolltech ASA. All rights reserved.
+**
+*****************************************************************************/
+
+#if defined(QT_DEBUG)
+#endif
+
+/*! \page netscape-plugin.html
+
+\title Qt Netscape Plugin Extension
+\keyword Netscape
+
+The Qt Netscape Plugin software makes it easy to write browser plugins
+that can be used on both Unix/Linux and MS-Windows, in Netscape,
+Mozilla, and any other web browser supporting Netscape's LiveConnect
+protocol. Modern versions of MSIE do not support this protocol. Use
+the ActiveQt Framework to develop plugins for these browsers.
+
+\section1 Information
+
+The Netscape Plugin Extension consists of the follow classes:
+\list
+\i \l QNPlugin
+\i \l QNPInstance
+\i \l QNPWidget
+\i \l QNPStream
+\endlist
+
+\section1 How-to
+
+\list 1
+ \i Download the
+ \link http://home.netscape.com/comprod/development_partners/plugin_api/index.html
+ Plugin SDK from Netscape \endlink, and copy the following files from there to
+ \c{$QTDIR/extensions/nsplugin/src}
+ \list
+ \i \c common/npwin.cpp
+ \i \c common/npunix.c
+ \i \c include/npapi.h
+ \i \c include/npupp.h
+ \i \c include/jri.h
+ \i \c include/jri_md.h
+ \i \c include/jritypes.h
+ \endlist
+ \i Build the Netscape Plugin extension library, found in the
+ \c{extensions/nsplugin/src} directory of your Qt distribution.
+ This produces a static library to be linked with your plugin code.
+ \i Read the \link qnplugin.html plugin class documentation \endlink, and
+ examine the \link nsplugin-examples.html example plugins \endlink.
+ \i Do most of your development as a stand-alone Qt application - debugging
+ Netscape Plugins is cumbersome. You may want to use \c{signal(2)}
+ in your plugin to enable core-dumps if your browser disables them.
+ \i Note the platform-specific build steps below.
+ \i Read about the raw plugin interface
+ \link http://developer.netscape.com/docs/manuals/communicator/plugin/index.htm
+ in Netscape's handbook. \endlink
+ \i If files viewed by a plugin are provided by an HTTP server
+ (using a \c{http://...} URL) then
+ the server must be configured to send the correct MIME type
+ for the file, e.g. by editing Apache's \c{mime.types} file.
+ If the files are viewed via a \c{file://...}
+ URL, then the browser will use the filename extension to decide
+ the file type (and hence the plugin to load) - the user may need
+ to set the filename extension in the Helpers or Applications
+ section of their browser preferences.
+\endlist
+
+
+\section2 Building under X11
+
+\list
+ \i The Makefiles in the examples are appropriate for UNIX/X11.
+ \i The user must install the resulting Shared Object in the Plugins
+ directory of the browser.
+\endlist
+
+\section2 Building under Windows
+
+\list
+ \i For Netscape plugins to work, Qt needs to be in the system DLL
+ path or be compiled into the plugin as a static library.
+ \i Plugins must be named \c{np}\e{name}\c{.dll},
+ or the browser will ignore them.
+ \i The link step must include:
+ \list
+ \i \c{/def:}\e{name}\c{.def}
+ \i \c{/dll}
+ \i a compiled resource file defining the
+ file/MIME types accepted by the plugin.
+ \endlist
+ \i The user must install the resulting DLL in the Plugins directory
+ of the browser.
+\endlist
+
+\section1 Known Bugs and Limitations
+
+The Qt-based LiveConnect Plugin binding code has a number of bugs and
+limitations, but is sufficiently stable for many production
+applications.
+
+\list
+ \i Keyboard input only works in secondary windows (e.g. dialogs created by the plugin).
+ \i You should not expect modality between the plugin and the browser to work.
+ \i Netscape 4.78 on Unix/X11 tends to terminate with a bus error.
+ \i Opaque resize behaviour is erratic due to browser behavior.
+\endlist
+
+*/