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
4
votes
2 answers

Simple working example using plugin writen in Qt and make it work with NPAPI

Can anybody show me simple working example using Qt(export DLL plugin file) and make it work with NPAPI. I want simple example to test it in Google Chrome. Any links, codes ... Thank you
Almas Adilbek
  • 4,371
  • 10
  • 58
  • 97
4
votes
2 answers

How to get Certificate List using JavaScript or jQuery?

We are using Applet previously to get Key Store Certificates installed in client's machine. Now as chrome stops NPAPI, Applet is not working now, so finding some solution using Javascript / jQuery. I am trying to get the total Certificate List for…
Nishant Joshi
  • 223
  • 2
  • 10
4
votes
1 answer

Read the Windows Registry from Chrome Extension

I built a browser extension with Firebreath a couple of years ago, but now I realized that it isn't working anymore on Chrome because it doesn't support NPAPI anymore. The extension reads the Windows Registry and returns a value. Does anyone know…
4
votes
0 answers

How to programmatically know if Chrome supports NPAPI

As you can see at Chromium project, Chrome/Chromium will unsupport NPAPI soon. So you can develop PPAPI based solution, ok. I develop a web portal which use a NPAPI-plugin. Each time the portal is loaded (and perhaps chrome is updated) I need to…
4
votes
1 answer

Has anyone got a simple step by step Mozilla plugin tutorial

I'm trying to create a Mozilla browser plugin for the sole purpose of detecting with javascript whether or not an application that I have written is installed. This was inspired by another stackoverflow question and answer on a similar subject. All…
s1mm0t
  • 6,035
  • 4
  • 38
  • 45
4
votes
1 answer

NPP_NewStream: seekable set to 0 (false) for local file

I am trying to implement an NPAPI plugin with streaming capabilities (NP_SEEK+NPN_RequestRead). No matter what I try the boolean NPBool seekable is always set to 0 (false). I am starting firefox (iceweasel on Debian) from the command line on a local…
malat
  • 12,152
  • 13
  • 89
  • 158
4
votes
2 answers

Basic example of a scriptable plugin for Firefox in C++ with VS2005/8

My experience to write a plugin for Firefox is below zero. Is someone out there who could point me to sample code on how to get this accomplished in C++ with VS2005/8? What I need to do with JavaScript in the hosting html page is something like…
4
votes
1 answer

Chrome and firefox are not going to support NPAPI for long. What are my options?

Chrome and Firefox have announced that they will be dropping support for NPAPI plugins soon. See http://techcrunch.com/2013/09/23/say-goodbye-to-npapi/ For Chrome, I have a couple of options like moving to Native Client (NaCl) if I want to execute…
4
votes
1 answer

Firebreath NPAPI Plugin How to Log

How to output log messages with an NPAPI plugin built with FireBreath in C++. The log should be available during development and test and/or in Debug builds. Modified: The FireBreath way to log is with Log4cplus, and I have attempted to implement…
David Manpearl
  • 12,362
  • 8
  • 55
  • 72
4
votes
0 answers

Adding window.bluetooth object to Chrome

I want to demo a web page being used to interact with a physical object in the same proximity as a web-enabled device (Mac/Windows/Linux laptop). In order to do this, I want to create my own window.bluetooth object in Javascript that will provide an…
Zach Rattner
  • 20,745
  • 9
  • 59
  • 82
4
votes
2 answers

Detecting NPAPI support using JavaScript

How can you detect if a browser supports NPAPI from JavaScript? Not all of them do, and whilst I could rely on the user-agent I'd much rather do it a more reliable way if one exists. Unfortunately, I can't simply detect if my plug-in has loaded or…
gdt
  • 1,822
  • 17
  • 19
4
votes
0 answers

simple step by step NPAPI plugin tutorial (for developing on linux)

I'm new to plugins and average in C++. Looking for a step-by-step guide to write my first "hello world" kind of NPAPI plugin on a linux machine (Fedora 14). Something similar to this Has anyone got a simple step by step Mozilla plugin tutorial on…
4
votes
1 answer

External dll packing with NPAPI Plugin extension

I created an NPAPI plugin. It uses two other Dlls. I need to pack those Dll files along with Plugin dll as Extension. How can I do that? So that I can Place that dll to any folder and register it. Is there any way to do this? Sorry if its a…
Akhil
  • 1,073
  • 1
  • 9
  • 28
4
votes
0 answers

Embedding Flash in Linux GTK Application - Sandbox Violation

I'm embedding a Flash SWF file in a Linux application using the NPAPI. Everything works fine but when the Flash calls "fscommand", I'm getting a security sandbox violation. I tried the program with several Linux distributions and several versions of…
user1784334
  • 191
  • 1
  • 4
4
votes
1 answer

bundled NPAPI plugin in sandboxed cocoa app

I'm working on a cocoa app using Xcode 4.5.1. My app uses a webview and bundles a plugin to use with that webview. When I'm compiling my code and running my app, it works fine, and the plugin is loaded and used in the webview. However, if I enable…