Similarly to the Mozilla/Firefox bug opened a number of years ago at:
A plugin has no way to not handle a particular plugin mode (from ->newp).
In the new instance function, it should be possible to return a
NPERR_MODE_UNSUPPORTED if the mode doesn't match a supported one (for example,
a video plugin that doesn't want to handle NP_FULL).
1. Make sure your plugin can handle a particular mime-type
2. Host a file of that mime-type on a web server
3. Load the hosted file in a WebKit browser (Safari, Chromium, etc.)
4. The plugin should be instantiated using NP_FULL
5. Now make your plugin return an error when NP_FULL is passed as the mode.
6. Load the URL from 3. again
- Browser offers to download the file, or open it using one of the applications on the system that can handle that mimetype
- Broken plugin logo in the middle of the browser
Totem's web browser plugin doesn't exist any more.