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
0
votes
1 answer

NPAPI tcp http server c++ in chrome

Hello i was wondering how to get started in developing an NPAPI server with c++ in chrome. is this even possible? my goal is to have 2 clients find one another through the extension.thanks.
DasBoot
  • 707
  • 3
  • 15
  • 37
0
votes
2 answers

Simple example for NPAPI plugin

I'm trying to find a simple example on how to write an NPAPI plugin that will be bundled with my Chrome extension. The thing I need to do with the NPAPI is simply to run an already existing local program that I have the local path for. Could not…
Or Weinberger
  • 7,332
  • 23
  • 71
  • 116
0
votes
2 answers

Sequence call to NPN_PluginThreadAsyncCall

In my plugin, I create a thread (using pthread in my case) to listen to external event. When event occurs, I want to communicate back to JavaScript. As far as I understand, I can only call NPN_* method in the plugin thread. As the result, I will…
Dino Tw
  • 3,167
  • 4
  • 34
  • 48
0
votes
1 answer

How do use a FireBreath plugin in a FireFox Extension (.XPI)?

I have written a multiplat addon which has been tested under both Chrome and Firefox. The testing was done using the default html file Firebreath generates, installing the DLL via regsvr32. I would like to package this addon so that Firefox users…
user791953
  • 629
  • 2
  • 8
  • 20
0
votes
1 answer

Scriptable plugin: Error calling method on NPObject

I am getting a JavaScript error: Error calling method on NPObject when calling a method in my NPAPI plugin in Chrome & Firefox on XP. Running the same code on Windows 7 with the same browsers was successful. I have built a Scriptable plugin using…
hapyfishrmn
  • 177
  • 2
  • 21
0
votes
1 answer

How to open a new window from an NPAPI plugin?

I have an NPAPI plugin for OS X using the CoreAnimation drawing model. How can I open a new window to display errors, plugin information like an "about" window, etc?
Drew C
  • 6,408
  • 3
  • 39
  • 50
0
votes
1 answer

Example of windowed npapi-plugin

Where can I find the example of windowed npapi-plugin or detailed documentation (for Windows)?
gooseim
  • 11
0
votes
1 answer

JavaScript and Scriptable NPAPI plugin string data on Google Chrome

I created a simple scriptable npapi plugin. It works fine to pass string between JavaScript and plugin on FireFox. But it will generate some extra random characters on Google chrome if the string contains hyphen (-) symbol. For example, in my…
Dino Tw
  • 3,167
  • 4
  • 34
  • 48
0
votes
0 answers

Call JavaScript from NPAPI plugin, OS X 10.7?

I'm writing a browser plugin for OS X Lion that needs to be able to call JavaScript functions back on the page. The only way I know how to do that is using WebKit/npruntime functions like NPN_Invoke. Unfortunately, these functions are not available…
Drew C
  • 6,408
  • 3
  • 39
  • 50
0
votes
2 answers

npapi - javascript doesnt load the content of a plugin

I wrote a firefox plugin using C++ and used the to load it to html. In javascript I got the embedded plugin by using document.getElementByID, but when I tried to call a plugin function, the function was undefined. Moreover, plugins…
Dmitry
0
votes
1 answer

Can NPAPI plugins execute on every page?

I wanted to build an extension but realized a plugin would give me more control to do the things I want. Can you build NPAPI plugins that are called on every page the user loads like an extension is, or are they limit to the MIME type to you specify…
Ayub
  • 879
  • 3
  • 8
  • 22
0
votes
1 answer

Do we need to sign the NPAPI plug-ins for Mountain Lion

I have an NPAPI based plug-in. Do I have to sign it to make it work on Mountain Lion? I know the documentation says we need to sign the application if it isn't part of App Store. Does the requirement holds true for plug-ins? I am asking this…
Vishvesh
  • 512
  • 8
  • 21
0
votes
1 answer

CGrafPtr to WindowRef

NPAPI in MacOs gives me CGrafPtr in NPWindow structure, I need a WindowRef. Is there a way to get WindowRef from CGrafPtr ? Thanks!
user1226710
0
votes
1 answer

Downloading the content in frames of a document

I'm writing an extension for Google Chrome that converts a page to a PDF. To do this, I download the DOM of the page and pass it to a software that further converts the webpage to a PDF. Since only the DOM is passed, the software downloads the…
0
votes
1 answer

Loading DLL and child dll calling parent class

I have an ActiveX dll that loads a child dll (NPAPI plugin). My child plugin creates multiple threads and they need to communicate back to the web page. In my ActiveX (parent dll) I have connection points to fire an event for javascript to provide…
hapyfishrmn
  • 177
  • 2
  • 21