blob: 5ed9dd6a31e0854f220aa7c58757c293588bee06 [file] [log] [blame] [view]
andybonsad92aa32015-08-31 02:27:441# Linux Plugins
andybons3322f762015-08-24 21:37:092
andybonsad92aa32015-08-31 02:27:443## Background reading materials
andybons3322f762015-08-24 21:37:094
andybonsad92aa32015-08-31 02:27:445### Plugins in general
andybons3322f762015-08-24 21:37:096
Owen Min991b14a2021-10-07 18:32:157* [Gecko Plugin API reference](https://developer.mozilla.org/en-US/docs/Plugins/Guide)
andybonsad92aa32015-08-31 02:27:448 -- most important to read
9* [Mozilla plugins site](http://www.mozilla.org/projects/plugins/)
10* [XEmbed extension](https://developer.mozilla.org/en/XEmbed_Extension_for_Mozilla_Plugins)
11 -- newer X11-specific plugin API
12* [NPAPI plugin guide](http://gplflash.sourceforge.net/gplflash2_blog/npapi.html)
13 from GPLFlash project
andybons3322f762015-08-24 21:37:0914
andybonsad92aa32015-08-31 02:27:4415### Chromium-specific
andybons3322f762015-08-24 21:37:0916
xiaoyin.l1003c0b2016-12-06 02:51:1717* [Chromium's plugin architecture](https://dev.chromium.org/developers/design-documents/plugin-architecture)
andybonsad92aa32015-08-31 02:27:4418 -- may be out of date but will be worth reading
19
20## Code to reference
21
22* [Mozilla plugin code](http://mxr.mozilla.org/firefox/source/modules/plugin/base/src/)
23 -- useful reference
24* [nspluginwrapper](http://gwenole.beauchesne.info//en/projects/nspluginwrapper)
25 -- does out-of-process plugins itself
26
27## Terminology
28
29* _Internal plugin_: "a plugin that's implemented in the chrome dll, i.e.
30 there's no external dll that services that mime type. For Linux you'll just
31 have to worry about the default plugin, which is what shows a puzzle icon
32 for content that you don't have a plugin for. We use that to allow the user
33 to download and install the missing plugin."
34
35## Flash
36
37* [Adobe Flash player dev center](http://www.adobe.com/devnet/flashplayer/)
38* [penguin.swf](http://blogs.adobe.com/penguin.swf/) -- blog about Flash on
39 Linux
40* [tips and tricks](http://macromedia.mplug.org/) -- user-created page, with
41 some documentation of special flags in `/etc/adobe/mms.cfg`
42* [official Adobe bug tracker](https://bugs.adobe.com/flashplayer/)
43
44## Useful Tools
45
46* `xwininfo -tree` -- lets you inspect the window hierarchy of a window and
47 get the layout of child windows.
48* "[DiamondX](http://multimedia.cx/diamondx/) is a simple NPAPI plugin built
49 to run on Unix platforms and exercise the XEmbed browser extension."
50 * To build a 32-bit binary:
51 `./configure CFLAGS='-m32' LDFLAGS='-L/usr/lib32 -m32'`