a=waterson
bug=51919
This fix makes it so nsIPluginManager::PostURL() works correctly in the
case of a null target and non-null streamListener.
The fix was to add parameters to NewPluginURLStream() for headers and
post data:
NS_IMETHOD
- NewPluginURLStream(const nsString& aURL, nsIPluginInstance *aInstance, nsIPluginStreamListener *aListener);
+ NewPluginURLStream(const nsString& aURL, nsIPluginInstance *aInstance,
+ nsIPluginStreamListener *aListener,
+ void *aPostData = nsnull, PRUint32 aPostDataLen = 0,
+ const char *aHeadersData = nsnull,
+ PRUint32 aHeadersDataLen = 0);
And to add a new method to correctly send the headers to the channel:
+ NS_IMETHOD
+ AddHeadersToChannel(const char *aHeadersData, PRUint32 aHeadersDataLen,
+ nsIChannel *aGenericChannel);
Files in this fix:
M modules/plugin/nglsrc/nsPluginHostImpl.cpp
M modules/plugin/nglsrc/nsPluginHostImpl.h
git-svn-id: svn://10.0.0.236/trunk@78554 18797224-902f-48f8-a5cc-f745e15eee43
Right now, nsIPluginManager::PostURL() has parameters for
postHeadersLength and postHeaders. However, nothing is being done with
these parameters. This bug fix utilizes these params for their intended
purpose: to allow the plugin the ability to add HTTP headers to a POST
data stream.
Important assumptions made by this fix:
* postHeadersLength is the correct length for postHeaders.
* postHeaders is a buffer of headers in the form
"HeaderName: HeaderValue\r\n"
each header, including the last, MUST be followed by "\r\n".
To affect this fix I had to modify the following files:
M docshell/base/nsDocShell.cpp
M docshell/base/nsDocShell.h
M docshell/base/nsWebShell.cpp
M modules/plugin/nglsrc/nsPluginViewer.cpp
M docshell/base/nsWebShell.h
M layout/html/base/src/nsObjectFrame.cpp
M modules/plugin/nglsrc/nsIPluginInstanceOwner.h
M modules/plugin/nglsrc/nsPluginHostImpl.cpp
M modules/plugin/nglsrc/nsPluginInstancePeer.cpp
M webshell/public/nsILinkHandler.h
Basically, it involved clearing a path so the headers arguments can make
it down to nsIPluginInstanceOwner::GetURL()'s implementation in
nsObjectFrame.cpp, where an nsIInputStream is made of the headers.
git-svn-id: svn://10.0.0.236/trunk@78153 18797224-902f-48f8-a5cc-f745e15eee43
a=waterson,av
r=av,waterson
Here is what I believe to be the correct fix.
This post correspondes to the fix,
second iteration attachments.
M modules/plugin/nglsrc/nsIPluginInstanceOwner.h
M modules/plugin/nglsrc/nsPluginHostImpl.cpp
M modules/plugin/nglsrc/nsPluginInstancePeer.cpp
M modules/plugin/nglsrc/nsPluginViewer.cpp
M layout/html/base/src/nsObjectFrame.cpp
This checkin modifies nsIPluginInstanceOwner::GetURL
to have a length parameter for the post data.
git-svn-id: svn://10.0.0.236/trunk@77101 18797224-902f-48f8-a5cc-f745e15eee43
Add a comment mentioning the possible need to implement nsISecurityCheckedComponent.
git-svn-id: svn://10.0.0.236/trunk@76918 18797224-902f-48f8-a5cc-f745e15eee43
Make the sample plugin implement nsIScriptablePlugin, and update sample .html file with an (unused!) JavaScript evaluator for poking at the plugin.
r=jst
a=ekrock
git-svn-id: svn://10.0.0.236/trunk@76917 18797224-902f-48f8-a5cc-f745e15eee43
ra=av
This fix makes it so the plugins directory is correctly located
in the embedding case.
git-svn-id: svn://10.0.0.236/trunk@74567 18797224-902f-48f8-a5cc-f745e15eee43
a=av
r=av
Add a "don't show this dialog again" feature to the
"No Default Plugin Dialog". In addition, don't display the dialog
more than once per mime-type per session.
git-svn-id: svn://10.0.0.236/trunk@74561 18797224-902f-48f8-a5cc-f745e15eee43
a=av
r=stanley.ho
This fix causes nsPluginHostImpl::FindProxyForURL to honor
the "no proxies for" list.
git-svn-id: svn://10.0.0.236/trunk@74542 18797224-902f-48f8-a5cc-f745e15eee43
r=av
bug=38848
This bug enables nsIPluginHostImpl::GetValue(nsPluginManagerVariable_XDisplay)
to function correctly.
Thanks to Chris Waterson.
This has been built on win32 and solaris.
git-svn-id: svn://10.0.0.236/trunk@74511 18797224-902f-48f8-a5cc-f745e15eee43
buildable on other non-GTK unix builds, like Photon. This change to
the Makefile makes sure this test is only built if GTK is enabled.
r=cls
git-svn-id: svn://10.0.0.236/trunk@74314 18797224-902f-48f8-a5cc-f745e15eee43