[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-bugs-dist
Subject: [Bug 94413] New: No NPP_NewStream() if NPN_GetURL() called during
From: Francois Gouget <fgouget () codeweavers ! com>
Date: 2004-12-04 19:42:10
Message-ID: 20041204204207.94413.fgouget () codeweavers ! com
[Download RAW message or body]
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
http://bugs.kde.org/show_bug.cgi?id=94413
Summary: No NPP_NewStream() if NPN_GetURL() called during
NPP_New()
Product: konqueror
Version: unspecified
Platform: Unlisted Binaries
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: NOR
Component: nsplugins
AssignedTo: staikos kde org
ReportedBy: fgouget codeweavers com
Version: (using KDE KDE 3.3.0)
Installed from: Unspecified Linux
OS: Linux
I am working on the CrossOver plugin functionality and I noticed that Shockwave \
Director does not work in Konqueror (not Shockwave Director, Shockwave for short, is \
completely different from MacroMedia Flash). So I investigated and discovered that \
Shockwave calls NPN_GetURL() during the initial NPP_New() call and this seems to \
cause Konqueror to never call NPP_NewStream(). Here's the call sequence I see in \
Konqueror:
Call NP_Initialize
Ret NP_Initialize
Call NPP_New
Call NPN_UserAgent
Ret NPN_UserAgent
Call NPN_GetURL [URL javascript:window.location+"__swmenu__unique__"|target \
(null)] Ret NPN_GetURL
Ret NPP_New
Call NPP_SetWindow
Ret NPP_SetWindow
Call NPP_SetWindow
Ret NPP_SetWindow
Call NPP_SetWindow
Ret NPP_SetWindow
Call NPP_Destroy
Ret NPP_Destroy
Call NP_Shutdown
Ret NP_Shutdown
Notice how we don't have any NPP_NewStream() call, not even for the URL specified in \
the embed tag. What is interesting is that if I hack the CrossOver code that relays \
the NPN_GetURL() call and turn it into a no-op, then Shockwave starts working.
This bug can be reproduced by going to the following URL:
http://acg.media.mit.edu/people/golan/blebs/index.html
The above log can be reproduced by starting Konqueror as follows:
CX_LOG=$HOME/konqshock.log konqueror \
http://acg.media.mit.edu/people/golan/blebs/index.html
Then a nice way to look at the log is to do:
egrep "(Call|Ret) [ND]" konqshock.log | more
That will give just the call sequence. But more detail is available in the full trace \
if needed.
Some more notes:
* With Konqueror 3.3 we also have windowing problems so that the plugin display is \
not going to be correct. But if there's at least a white rectangle in the top left \
corner, then it means Shockwave started (if in doubt a look at the log will make \
everything clear). I'm still investigating this display problem (it's probably a \
window reparenting issue).
* The same bug is present in Konqueror 3.2.2 as shipped on Debian testing.
* This may be related to bug '94410 - NPN_GetURLNotify() does not work' but the \
symptoms are a bit different. In particular, in bug 94410 we at least get the \
NPP_NewStream() corresponding to the URL in the embed tag.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic