r=av
r=edburns@acm.org
sr=waterson
bug= 56019
///////////////////////////////////////////////////////////////////////////////
// Currently, in the MIME type info passed in by plugin, a ';' is used as the
// separator of two MIME types, and also the sparator of a version in one MIME
// type. For example:
// "application/x-java-applet;version1.3::java(TM) plugin;application/x-java-
// applet...".
// The ambiguity of ';' causes the browser fail to parse the MIME types
// correctly.
//
// This method parses the MIME type input, and replaces the MIME type
// separators with '|' to eliminate the ambiguity of ';'. (The Windows version
// also uses '|' as the MIME type separator.)
//
// Input format: "...type[;version]:[extension]:[desecription];..."
// Output format: "...type[;version]:[extension]:[desecription]|..."
//
static void SetMIMETypeSeparator(char *minfo)
{
git-svn-id: svn://10.0.0.236/trunk@81769 18797224-902f-48f8-a5cc-f745e15eee43
a=brendan
r=edburns, scc
This checkin does three things:
1. Makes it so on Unix the user can set the env var NS600_PLUGIN_PATH to point
to a directory that will be used as the location for searching for plugins.
2. Removes nsPluginsDirUNIX.cpp and replaces it with nsPluginsDirUnix.cpp
3. Correctly formats nsPluginsDirUnix per brendan's recommendation.
git-svn-id: svn://10.0.0.236/trunk@80956 18797224-902f-48f8-a5cc-f745e15eee43
a=brendan
r=av
This bug fix makes it so nsPluginHostImp::FindProxyForURL()
honors ProxyAutoConfig settings.
It also cleans things up per Brendan.
git-svn-id: svn://10.0.0.236/trunk@80439 18797224-902f-48f8-a5cc-f745e15eee43
r=av
bug=52963
Tested on win32. Tested to build on win32 and solaris.
This patch fixes bug 52963, bug 52965, and bug 52973.
This patch contributed by Stanley Ho <stanley.ho@eng.sun.com>
52963: nsIPluginStreamListener::OnStartBinding isn't always called:
Added new ivar, mStartBinding:
* Set to PR_TRUE after nsIPluginInstancePeer::OnStartBinding() has
* been called. Checked in ::OnStopRequest so we can call the
* plugin's OnStartBinding if, for some reason, it has not already
* been called.
52965: Length isn't always set:
rv = channel->GetContentLength(&length);
// it's possible for the server to not send a Content-Length. We should
// still work in this case.
if (NS_FAILED(rv)) {
mPluginStreamInfo->SetLength(-1);
}
else {
mPluginStreamInfo->SetLength(length);
}
52973: nsIHTTPHeaderListener called before nsIPluginStreamListener::NewStream
This fix required rolling back Andrei Volkov's change to the signature
of nsPluginStreamListenerPeer::SetUpStreamListener(). In order to call
the plugin with the headers before the NewStream is sent, we need the
nsIChannel.
files in this fix:
M modules/plugin/nglsrc/nsPluginHostImpl.cpp
git-svn-id: svn://10.0.0.236/trunk@79618 18797224-902f-48f8-a5cc-f745e15eee43
a=brendan
bug=49525
This simple fix just adds parameters to an existing method in an XPCOM
safe way, by defining a new method at the end of the interface
definition with the additional parameters.
Original method:
NS_IMETHOD
GetURL(nsISupports* pluginInst,
const char* url,
const char* target = NULL,
nsIPluginStreamListener* streamListener = NULL,
const char* altHost = NULL,
const char* referrer = NULL,
PRBool forceJSEnabled = PR_FALSE) = 0;
New method:
NS_IMETHOD
GetURLWithHeaders(nsISupports* pluginInst,
const char* url,
const char* target = NULL,
nsIPluginStreamListener* streamListener = NULL,
const char* altHost = NULL,
const char* referrer = NULL,
PRBool forceJSEnabled = PR_FALSE,
PRUint32 getHeadersLength = 0,
const char* getHeaders = NULL) = 0;
I have modified nsPluginHostImpl.h to include this new method, and
modified nsPluginHostImpl.cpp so that its GetURL calls GetURLWithHeaders
with null values for the last two params.
M modules/plugin/public/nsIPluginManager.h
M modules/plugin/nglsrc/nsPluginHostImpl.cpp
M modules/plugin/nglsrc/nsPluginHostImpl.h
git-svn-id: svn://10.0.0.236/trunk@79207 18797224-902f-48f8-a5cc-f745e15eee43