Closed Bug 84568 Opened 23 years ago Closed 23 years ago

[Xlib] xlib port does not support netscape plugins

Categories

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

x86
Linux

Tracking

(Not tracked)

VERIFIED FIXED
mozilla0.9.7

People

(Reporter: timecop, Assigned: roland.mainz)

References

Details

Attachments

(1 file, 6 obsolete files)

From Bugzilla Helper:
User-Agent: Mozilla/4.77 [ja] (X11; U; Linux 2.4.4 i586; Nav)
BuildID:    20000608

unimplemented plugin support

Reproducible: Always
Steps to Reproduce:
1. go to some page with Flash for example


Actual Results:  crash

Expected Results:  flash stuff should load

Patch in the next attachment
reassigning to myself, adding to xlib tracker bug
Assignee: av → timecop
Blocks: 79119
can I do this?
Status: NEW → ASSIGNED
Attached patch Slightly improved patch (obsolete) — Splinter Review
I'm not qualified to review this patch, but you probably want module owner
Andrei Volkov's approval.

cc:ing Serge and Dan for possible reviews....
Keywords: patch
Whiteboard: [seeking reviews]
Blocks: 55278
Looks like all the code in the plugins area is nicely ifdefed for 
MOZ_WIDGET_XLIB, I don't immediately see any problems but would really like our 
Linux guru to take a look. Serge?
The only problem with this is you can't compile GTK and Xlib port at the same
time. I personally dont see this as a problem, but there is a (old, probably
rejects) solution to this (includes making a new directory) in bug 55278.
How can I build Xlib port? 
I assume ./configure --enable-toolkit=xlib should work, and than rebuild 
everything or can I do particular gmake in widget/src/xlib, module/plugins ...? 
To make xlib port usable you first need to apply the last patchset from bug 66082.
There are also instructions for compiling Xlib port in the same bug.
Bug 79119 is a general xlib tracking bug which has all the other xlib related
issues.
Thanks, I've built it, tested it, it works fine, so r=serge.
But it's getting difficult to read and maintain ns4xPluginInstance.cpp with all 
those #ifdefs:(  
Andrei what do you think about braking out this .cpp by different widget's set?
Can this discussion be resumed (splitting nsPluginHostImpl into toolkit
dependent portions)?
What is required to accomplish this?
Both Xlib and QT ports don't "really" support plugins right now, and with these
patches legacy plugins work ok under xlib but as you say, it's #ifdef'd and gets
rather ugly.

So if tehre is anything I can help with as far as splitting this off and
integrating toolkit-specific changes, please let me know.
pocemit:
Wanna file a new patch for review, please ? The old one does not "apply"
properly anymore (gpatch warnings)...
I'd like to get this "in" ASAP and discuss the remaining issues later, if
possible...
timeless:
Can I overtake this bug, please ?
hey gisburn... just checking my mail while on vacation,
feel free to fix plugins.. they work...
but according to the people here we should split the plugin stuff by platform..
enjoy.
Assignee: timecop → Roland.Mainz
Status: ASSIGNED → NEW
Accepting bug, setting milestone...
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla0.9.3
Attached patch Patch for 2001-07-16-08-trunk (obsolete) — Splinter Review
Filed new patch.
Xlib-toolkit Zilla now loads the plugins and displays them... buut leaving the
page ends-up in the following X error:
-- snip --
Inside nsPluginHostImpl::FindStoppedPluginForURL...
For application/x-shockwave-flash found plugin
/home/mozilla/builds/2001-07-16-08-trunk/objdir_ws6_xlib/dist/bin/./plugins/libflashplayer.so
Inside ns4xPluginInstance::Start(void)...
Inside ns4xPluginInstance::SetWindow(b80b20)...
About to create new ws_info...
About to create new xtbin of 200 X 1200 from 07c00487...
About to show xtbin(b71368)...
About to call CallNPP_SetWindowProc()...
Falling out of ns4xPluginInstance::SetWindow()...
created stream for
http://www.macromedia.com/uber/nav/rnav/l_rnav_1200px.swf?source=/software/flash/rnav_fl_main.txt
InstantiateEmbededPlugin.. returning
Inside ns4xPluginInstance::SetWindow(b80b20)...
About to call CallNPP_SetWindowProc()...
Falling out of ns4xPluginInstance::SetWindow()...
Inside ns4xPluginInstance::SetWindow(b80b20)...
About to create new ws_info...
About to create new xtbin of 200 X 1200 from 07c00487...
About to show xtbin(b71368)...
About to call CallNPP_SetWindowProc()...
Falling out of ns4xPluginInstance::SetWindow()...
###!!! ASSERTION: oops.. bad flags: 'entry->IsAllowedInMemory()', file
../../../../../../src/2001-07-16-08-trunk/mozilla/netwerk/cache/src/nsCacheService.cpp,
line 939
killing stream for
http://www.macromedia.com/uber/nav/rnav/l_rnav_1200px.swf?source=/software/flash/rnav_fl_main.txt
created stream for http://www.macromedia.com/uber/nav/rnav/rnav_1200px.swf
###!!! ASSERTION: oops.. bad flags: 'entry->IsAllowedInMemory()', file
../../../../../../src/2001-07-16-08-trunk/mozilla/netwerk/cache/src/nsCacheService.cpp,
line 939
###!!! ASSERTION: oops.. bad flags: 'entry->IsAllowedInMemory()', file
../../../../../../src/2001-07-16-08-trunk/mozilla/netwerk/cache/src/nsCacheService.cpp,
line 939
killing stream for http://www.macromedia.com/uber/spotlight/fl.swf
killing stream for
http://www.macromedia.com/software/flash/spotlight_fl_main.swf
###!!! ASSERTION: oops.. bad flags: 'entry->IsAllowedInMemory()', file
../../../../../../src/2001-07-16-08-trunk/mozilla/netwerk/cache/src/nsCacheService.cpp,
line 939
killing stream for http://www.macromedia.com/uber/nav/rnav/rnav_1200px.swf
created stream for http://www.macromedia.com/software/flash/rnav_fl_main.txt
###!!! ASSERTION: oops.. bad flags: 'entry->IsAllowedInMemory()', file
../../../../../../src/2001-07-16-08-trunk/mozilla/netwerk/cache/src/nsCacheService.cpp,
line 939
killing stream for http://www.macromedia.com/software/flash/rnav_fl_main.txt
Disabling Quirk StyleSheet
Enabling Quirk StyleSheet
/software/flash/
/software/flash/contents.html
Inside ns4xPluginInstance::SetWindow(0)...
ns4xPluginInstance::Stop()
X Error of failed request:  BadDrawable (invalid Pixmap or Window parameter)
  Major opcode of failed request:  131 (MIT-SHM)
  Minor opcode of failed request:  3 (X_ShmPutImage)
  Resource id in failed request:  0x7c003e5
  Serial number of failed request:  13021
  Current serial number in output stream:  13021
-- snip --

Any ideas ?
Priority: -- → P3
Whiteboard: [seeking reviews]
Target Milestone: mozilla0.9.3 → mozilla0.9.4
I am taking xlib plugin bugs
Assignee: Roland.Mainz → timecop
Status: ASSIGNED → NEW
Blocks: 92490
okay, yay...
This makes plugins work, more or less.
This is the best we (?) can do unless plugin code is split by toolkit.
really.
can I get this reviewed?
Status: NEW → ASSIGNED
Keywords: review
Blocks: 64568
this is late for 0.9.4.  moving to 0.9.5.  let me know if this is wrong. thanks
-chofmann
Target Milestone: mozilla0.9.4 → mozilla0.9.5
0.9.5 is out the door. bumping TM up by one.
Target Milestone: mozilla0.9.5 → mozilla0.9.6
Stealing from pocemit ...
Assignee: timecop → Roland.Mainz
Status: ASSIGNED → NEW
Accepting ...
Status: NEW → ASSIGNED
Summary: xlib port does not support netscape plugins → [Xlib] xlib port does not support netscape plugins
Target Milestone: mozilla0.9.6 → mozilla0.9.7
Attached patch Patch for 2001-11-30-08-trunk (obsolete) — Splinter Review
Attachment #37596 - Attachment is obsolete: true
Attachment #37605 - Attachment is obsolete: true
Attachment #37994 - Attachment is obsolete: true
Attachment #42799 - Attachment is obsolete: true
Attachment #43902 - Attachment is obsolete: true
Requesting r=/sr= ...
Attachment #60512 - Attachment is obsolete: true
Attachment #60566 - Flags: review+
Comment on attachment 60566 [details] [diff] [review]
New patch for 2001-11-30-08-trunk (minor update)

Couldn't the repeated line:
+EXTRA_DSO_LDOPTS += -lxlibxtbin -lxlibrgb -L/usr/X11R6/lib -lXt
come after the line:
+endif		#MOZ_MONOLITHIC_TOOLKIT

modulo that, sr=beard
Attachment #60566 - Flags: superreview+
Patch checked in ...
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
Serge said he saw some weird stuff going on with the new SDK samples last week
with this patch. Serge, is that still the case?
AFAIK everything is |#ifdef|'ed in a per toolkit basis.

Note that you cannot get working plugin support for the non-GTK+ toolkits if you
build more than one toolkit in one objdir. Please use seperate objdir's (one per
toolkit) instead ...
Yeah, I've seen some random crashes when I've built xlib port on top of gtk one,
but with clean xlib build I haven't seen those crashes anymore.
I'll continue to test SDK samples on both gtk & xlib widget sets,
and, of course, I'll let your know if something goes wrong.
serge@netscape.com:
> Yeah, I've seen some random crashes when I've built xlib port on top of gtk 
> one, but with clean xlib build I haven't seen those crashes anymore.

If you take a look at the patch you will see what is going wrong (or simply read
your own comment #11 here :-)
-- snip --
@@ -2511,6 +2513,8 @@
     *value = GDK_DISPLAY();
 #elif defined(MOZ_WIDGET_QT)
     *value = qt_xdisplay();
+#elif defined(MOZ_WIDGET_XLIB)
+    *value = xxlib_rgb_get_display(xxlib_find_handle(XXLIBRGB_DEFAULT_HANDLE));
 #endif
-- snip --

Unfortunately there is no XPCOM service to obtain |Display *| in a
toolkit-independent way. This may be a better solution than trying to split the
plugin sources up into independent pieces for each toolkit ...

> I'll continue to test SDK samples on both gtk & xlib widget sets,
> and, of course, I'll let your know if something goes wrong.

Thanks!
serge@netscape.com:
Could you please test printing, too ?
I am having problem with the following sequence:
1. browse a page like http://www.mozilla.org/start/
2. print this page
3. go to a page which contains a plugin like http://www.yahoo.de/
Mozilla hangs in step [3] ...
never heard from anyone on this, marking verif.
Status: RESOLVED → VERIFIED
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: