Closed Bug 68506 Opened 25 years ago Closed 24 years ago

npsimple needs a custom factory and module

Categories

(Core Graveyard :: Plug-ins, defect, P3)

defect

Tracking

(Not tracked)

VERIFIED WONTFIX
mozilla1.0.1

People

(Reporter: braden, Assigned: serhunt)

Details

(4 keywords)

I haven't been able to get npsimple working, either in 0.7 or current builds. The plugin appears to register okay, but SimpleTest.html just shows a blank area.
Keywords: mozilla0.9
I think that on windows, SimpleTest.html doesn't work either. Try SimpleScriptableTest.html in the same directory.
SimpleScriptableTest.html is not working either on Linux. When npsimple was working, both of these would produce a box with the GTK background drawn. Now, that doesn't happen. I just see the page background color in there area where the plugin should be.
Keywords: regression
I actually get a segfault when viewing either SimpleTest.html or SimpleScriptableTest.html.
Keywords: crash
Moving to mozilla0.9
Target Milestone: --- → mozilla0.9
Can someone verify this in latest builds?
Keywords: qawanted
Target Milestone: mozilla0.9 → mozilla0.9.1
cc:ing some people
This is probably tied in with Shaver's changes to nsIGenericFactory.h , a recently hot topic :-) peterl, av, do you think we ought to change npsimple so that as an example it doesn't rely on this?
How long ago did Shaver make those changes? I can't check this with a current build right now, but I have gotten a plugin working with the GenericFactory macros using 0.8.0. I believe the problems with npsimple had to do with treating the plugin window as a GdkSuperWin; when I treated it instead as a GdkWindow in my plugin, it worked. That said, the GenericFactory stuff is kind of a quick-and-dirty way of implementing an XPCOM plugin; ideally, the plugin will provide its own factory implementation which implements nsIPlugin. However, I've had some issues getting that working recently, too...
Not sure what to do with this. Re-assign to Shaver as it looks like he knows what's up. Please move milestone if needed.
Assignee: av → shaver
Sorry, Charlie, not my bug. Write a custom factory and module for the plugin. Pretend, as I instructed Jeff Price, that NS_IMPL_GETMODULE and its ilk don't exist. (I think my changes went in around 0.8.1 or so, but really, it's all a blur.)
Assignee: shaver → peterlubczynski
moving to 0.9.3 per PDT triage
Keywords: helpwanted
Target Milestone: mozilla0.9.1 → mozilla0.9.3
We should get our examples correct! Is this still a mozilla0.9.3 blocker? Moving to mozilla0.9.4, please correct me if I'm wrong. Shaver or Waterson: could you please point me in the direction of a sample module which takes the approach that should be applied here. I'm not clear as to what I have to do and I want to get this right. Also, looking for an example in LXR, I still see many modules, even newer ones, using NS_IMPL_GETMODULE: http://lxr.mozilla.org/seamonkey/source/modules/libpr0n/src/ImageFactory.cpp Is this needed only for the static build? I going to get questions on this but I'm not totally clear WHY this was done. Do you know of a bug #, faq, or newsgroup post which I can educate myself with? Thanks!
Status: NEW → ASSIGNED
OS: Linux → All
Priority: -- → P3
Hardware: PC → All
Summary: npsimple not working → npsimple needs a custom factory and module
Target Milestone: mozilla0.9.3 → mozilla0.9.4
Yeah, converting everything to NS_IMPL_NSGETMODULE helped make the static build work. Asking a plugin author to use this macro would be good for consistency's sake, even though we'd probably never statically link a plugin with mozilla. (But who knows -- maybe some embedded configuration could include statically linked plugins...)
Note Shaver's comment above re. NS_IMPL_GETMODULE. You *can* implement a plugin like this (through the odd quirk that plugins aren't technically required to implement nsIPlugin), but many plugins will need the functionality nsIPlugin provides. Implementing nsIPlugin is really the Right Way to do it, and a proper fix to the sample plugin ought to reflect this.
Peter: Basic design here: your nsIModule implementation will serve as a factory for nsIPlugins, which will in turn serve as a factory for nsIPluginInstances. The nsIPlugin implementation is a "class object" for the nsIPluginInstance objects.
--->Andrei Can this be part of your SDK update?
Assignee: peterlubczynski → av
Status: ASSIGNED → NEW
Target Milestone: mozilla0.9.4 → mozilla1.0.1
Now that the XPCOM-based plugin API is deprecated, I suppose there's no point in improving an example's use of that API. -> WONTFIX
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → WONTFIX
v
Status: RESOLVED → VERIFIED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.