Closed Bug 730553 Opened 12 years ago Closed 7 years ago

Calling NP_Evaluate within NPP_New causes UI errors.

Categories

(Core Graveyard :: Plug-ins, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: taviso, Unassigned)

Details

Attachments

(1 file)

I have an NPAPI plugin that calls NP_Evaluate() from within NPP_New(), and then returns failure (GENERIC_ERROR) from NPP_New(). This works perfectly in other browsers.

However, in Firefox the UI starts acting strangely (for example, tabs and menus no longer respond), making the browser unusable. The plugin works in Firefox if I remove the call to NP_Evaluate(), but I need that.

Is this supposed to work?
Can you be more specific? What is the content of the script you are evaluating? What version of Firefox are you testing with? Are you removing the plugin from the DOM?

Is it possible to provide a minimal testcase/testcase URL?
Component: General → Plug-ins
QA Contact: general → plugins
For example, add this code to NPP_New in BasicPlugin.c from the npapi-sdk:

  void *element;
  NPError result;
  NPString script = {
    .UTF8Characters = "alert(1);",
    .UTF8Length     = 9,
  };
  NPVariant output;


And at the end:

  sBrowserFuncs->getvalue(instance, NPNVPluginElementNPObject, &element);
  sBrowserFuncs->evaluate(instance, element, &script, &output);
  sBrowserFuncs->releasevariantvalue(&output);

  return NPERR_GENERIC_ERROR;

I set up this page that serves the appropriate type for testing:

http://lock.cmpxchg8b.com/testcase.bsc

This plugin works exactly as expected on Chrome, and displays the alert and continues. On firefox, the UI starts acting strangely, I've tested on Linux and OSX, same result.

I'll attach my version of BasicPlugin.c just in case, notice that if you comment out the evaluate(), it works perfectly.
Resolving old bugs which are likely not relevant any more, since NPAPI plugins are deprecated.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INCOMPLETE
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: