Commit Graph

13 Commits

Author SHA1 Message Date
edburns%acm.org
a96a90e3d9 a=brendan,av
r=av
bug=50811

This bug fix was suggested by Stanley Ho <stanley.ho@eng.sun.com>.

Stanley proposed we overload the meaning of the nsIPluginStreamListener
argument to nsIPluginManager::{GetURL,PostURL}() so that it also may
implement an interface for reading headers.  Thus, the browser could QI
the plugin's nsIPluginStreamListener instance to this headers reading
interface and send the plugin the headers from the response.

I have implemented Stanley's above proposal.  I have defined a new
interface, nsIHTTPHeaderListener.idl with one method:

  /**

   * Called for each HTTP Response header.

   * NOTE: You must copy the values of the params.

   */

  void newResponseHeader(in string headerName, in string headerValue);

To affect this fix, I have added a new private method

nsPluginStreamListenerPeer::
ReadHeadersFromChannelAndPostToListener(nsIHTTPChannel *httpChannel,
                                        nsIHTTPHeaderListener *listener)

Then, modified nsPluginStreamListenerPeer::OnDataAvailable() to call
this method BEFORE reading the content data.  However, this fix makes
two important assumptions I would like to check out:

   * Assumption

   * By the time nsPluginStreamListenerPeer::OnDataAvailable() gets
   * called, all the headers have been read.

       * Assumption:

       * The return value from nsIHTTPHeader->{GetFieldName,GetValue}()
       * must be freed.

The following files are included in this fix:

A modules/plugin/public/nsIHTTPHeaderListener.idl
A modules/plugin/public/makefile.win
A modules/plugin/public/Makefile.in
M modules/plugin/nglsrc/nsPluginHostImpl.cpp
2000-09-13 06:40:57 +00:00
mccabe%netscape.com
8451066326 Makefile fix, thanks to Dan Veditz. Should fix bustage. 2000-06-14 02:40:00 +00:00
mccabe%netscape.com
2ffd75fe72 Backing out for now to fix bustage. 2000-06-14 02:33:45 +00:00
mccabe%netscape.com
64e925ab99 Fix to 39911, which nsbeta+ 38495 depends on.
Build nsIScriptablePlugin.idl on Unix and Windows.

a=beard
2000-06-14 01:21:39 +00:00
dmose%mozilla.org
142ac52eaf updated xPL license boilerplate to v1.1, a=chofmann@netscape.com,r=endico@mozilla.org 1999-11-06 03:43:54 +00:00
cyeh%netscape.com
1729151e74 Remove IGNORE_MANIFEST=1. It doesn't do anything and it confuses people. 1999-09-01 01:24:51 +00:00
beard%netscape.com
0ab5e7a9f5 added nsIPluginInstancePeer2.h 1999-03-25 03:29:54 +00:00
beard%netscape.com
be86e562ad added nsICookieStorage.h 1999-03-20 23:07:52 +00:00
sudu%netscape.com
b40b89f306 added nsIPluginStreamInfo.h to export 1999-01-25 08:14:40 +00:00
warren%netscape.com
51c2d71bae Added networking changes under ifdef NEW_PLUGIN_STREAM_API 1998-10-01 02:59:16 +00:00
warren%netscape.com
6e7ac8e7be Moved nsIMalloc and impl from xpcom. 1998-09-18 07:22:15 +00:00
warren%netscape.com
c9bd5d8074 Landing changes in the OJI_19980727_BRANCH since the OJI_19980727_TIP_MERGE tag. 1998-07-31 20:19:50 +00:00
warren
adc4dc2462 Breaking out new plugin APIs into separate classes. Moving lib/plugin into a module. 1998-07-09 08:42:58 +00:00