Questions tagged [npapi]

The Netscape Plugin Application Programming Interface (NPAPI) is a cross-platform plugin architecture used by many browsers, with the notable exception of Internet Explorer.

The Netscape Plugin Application Programming Interface (NPAPI) is a cross-platform plugin architecture used by many browsers, with the notable exception of Internet Explorer.

Deprecation

The NPAPI is being gradually deprecated by Google (Chrome) and Mozilla (Firefox):

  • Starting January 1st 2014, Chrome disabled NPAPI plugins by default (with the exception of a few popular plugins). However, Users are prompted and can choose to activate the plugin.
  • Chrome is expected to remove all support for NPAPI come January 2015.

  • Starting with Firefox version 30 (June 10th, 2014), NPAPI is disabled by default (Again, with the temporary exception of a few plugins). Users can still enable specific plugins using Firefox's settings menu.

Alternatives

There are a number of ways to replace the now-almost-defunct NPAPI plugins:

  • In Google's Chrome, the 2 main options are NaCl (Native Client) and Chrome extension with Native Messaging - each offering a different kind of solution.

  • In Mozilla's Firefox, the common alternative is using the js-ctypes feature which allows direct loading of .dlls. The Firefox team has indicated that they will be eventually supporting Native Messaging like Chrome does.

A rudimentary overview of the options (with comparison of their strengths and weaknesses) is available here:

http://www.firebreath.org/display/documentation/Browser+Plugins+in+a+post-NPAPI+world

The FireBreath team has also released FireBreath 2 with very sparse documentation (users are asked to help document it) which attempts to make FireBreath plugins work via Native Messaging in addition to NPAPI and ActiveX support.

Resources

732 questions
2
votes
3 answers

How to safely open a dialog in a NPAPI browser plugin on OSX?

My problem: JavaScript calls into the plugin, which forks a thread that opens a NSOpenPanel (or NSSavePanel) dialog. Often this works, but sometimes it crashes on "runModal", on both Firefox and Chrome. The crash seems to happen randomly and more…
Peter Tseng
  • 13,613
  • 4
  • 67
  • 57
2
votes
0 answers

Calling java applets via NPAPI / NPRuntime in Chromium

I found this bug: http://code.google.com/p/chromium/issues/detail?id=580#c69 stating that Chromium doesn't support LiveConnect. One of the developers responded with We don't ever intend to support LiveConnect in Chrome. The newest version of…
Matt Wonlaw
  • 12,146
  • 5
  • 42
  • 44
2
votes
3 answers

NPAPI Plugin for Chrome doesn't get past NP_Initialize

I've been trying to write an extension for Chrome that uses an NPAPI plugin. I'm using mingw to compile it. I struggled originally to get Chrome to load the plugin, but now I have a different problem. I've managed to get Chrome to call…
jjv360
  • 4,120
  • 3
  • 23
  • 37
2
votes
4 answers

Sample NPAPI plugin in C for Linux

I need to make a binary plugin in C that works with both Firefox and Chromium, on Linux. Where can I find a simple example of an NPAPI plugin for Linux, written in C?
Anders Feder
  • 595
  • 2
  • 5
  • 18
2
votes
2 answers

How to get the NPP Instance inside a NPAPI C plugin

I have written a NPAPI plugin in C which needs to call the NPN_Invoke function (in order to call a JavaScript function). But NPN_Invoke() takes the NPP instance as a parameter. Only the NP_New() and NP_Destroy() functions get passed NPP instance.…
DEzra
  • 2,978
  • 5
  • 31
  • 50
2
votes
1 answer

Cross Platform NPAPI Interfacing/Integrating

I would like to use Google Earth in one of my cross platform C++ applications, and the only way I can see that would allow me to integrate it nicely into my GUI and interface to it using it's Javascript API would be using it as an NPAPI plugin. Are…
user293895
  • 1,465
  • 3
  • 22
  • 39
2
votes
1 answer

Pass url from java script to NPAPI plugin

I need to pass currently browsing url string which I have in my javascript to npapi plugin. How can I do this?
Akbar
  • 1,509
  • 1
  • 16
  • 32
2
votes
1 answer

How can I load an NPAPI plugin in my own application?

The docs I've found on NPAPI plugins explain how to write plugins to be loaded by browsers, but how hard is it to write an application that loads existing NPAPI plugins? (My ultimate goal here is to find a way to use SWF content inside an…
Jason Boyd
  • 1,192
  • 1
  • 9
  • 19
2
votes
1 answer

How to render HTML from an NPAPI plugin in Safari

I've been writing a Mac NPAPI-based browser plugin to convert a file of custom mimetype (say, "application/x-foo") into an HTML representation, which can then be viewed directly in a browser. These files are usually directly served, so I'm more…
jyl
  • 51
  • 4
2
votes
1 answer

Firefox NPAPI plugin on Windows

I'm trying to implement a NPAPI plugin for Firefox on Windows, using MingW to compile. Everything work fine during the compiling, but the plugin doesn't work well when it is loaded by Firefox. The browser detects some parameters of plugin like name…
user670324
  • 235
  • 1
  • 3
  • 10
2
votes
1 answer

Packaging an NPAPI Plugin for Chrome using FireBreath

I'm trying to package a plugin created with FireBreath as a Chrome extension. I've read on Chrome Extensions and NPAPI that the way to do that is to include the files in the manifest like so: "plugins": [ { "path": "plugin-windows.dll" }, {…
Daniel X Moore
  • 14,637
  • 17
  • 80
  • 92
2
votes
1 answer

Can I build FireBreath NPAPI Plugin for DirectFB?

Is it possible to build NPAPI plugin using FireBreath for webkit browser running on directFB, embedded linux? I am asking because I found that while building a my test plugin on ubuntu, It is using below x11 related files, [ 6%] Building CXX…
SunnyShah
  • 28,934
  • 30
  • 90
  • 137
2
votes
1 answer

How to give NPAPI plugin version on linux?

Here http://gplflash.sourceforge.net/gplflash2_blog/npapi.html Given code is switch(var) { case NPPVpluginNameString: *val = "Example Plug-In"; break; case NPPVpluginDescriptionString: *val =…
Vivek Goel
  • 22,942
  • 29
  • 114
  • 186
2
votes
1 answer

Obtain cache files chrome extension

Is there a way to obtain/read cache files using a chrome extension without NPAPI but javascript? I have tried searching with NPAPI but I am unable to find a good tutorial on it or how can it be done using NPAPI.
user782400
  • 1,617
  • 7
  • 30
  • 51
2
votes
1 answer

What skill sets are required to develop a plugin for safari, firefox, chrome and IE using NPAPI or Firebreath

What skill sets are required to develop a plugin for safari, firefox, chrome and IE using NPAPI or Firebreath? Noob here so please go easy on me...
indy
  • 21
  • 2