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
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
bug=23775
This is the last bit of the checkin that George Drapeau started
for bug 23775. He didn't finish due to conflicts with this file
and, being the good engineer that he is, he waited for the author
to return from vacation.
George said I could check this in under the same approval for
the rest of 23775.
git-svn-id: svn://10.0.0.236/trunk@73594 18797224-902f-48f8-a5cc-f745e15eee43