Граф коммитов

78 Коммитов

Автор SHA1 Сообщение Дата
edburns%acm.org e97ed9b418 r=vidur, av
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
2000-09-14 22:57:56 +00:00
edburns%acm.org b344cd087c a=brendan, ekrock
r=av, sean@beatnik.com
bug=50547

This change allows the plugin to have a greater degree of control over
the plugin lifecycle.  This change makes it possible for the plugin to
tell mozilla:

1. Whether or not they want to allow the browser to cache their
instance.  Default is yes, do allow the browser to cache their instance.

2. If they answer no to 1, that is, no the plugin does not want the
browser to cache their instance, do you want the shutdown calls to be:

a.

          inst->SetWindow(nsnull);
          inst->Stop();
          inst->Destroy();


b.

          inst->Stop();
          inst->Destroy();
          inst->SetWindow(nsnull);

a. is the default.

Please visit the bug to see the patches:

http://bugzilla.mozilla.org/show_bug.cgi?id=50547

Detail:

This fix was requested by Stanley Ho of the Sun Java Plugin Team.  A
conference call between Eric Krock, Andrei Volkov, Sun, Adobe and other
plugin vendors was used to agree on the above solution.

M modules/plugin/public/nsplugindefs.h
M modules/plugin/nglsrc/nsPluginHostImpl.cpp
M modules/plugin/nglsrc/nsPluginViewer.cpp
M layout/html/base/src/nsObjectFrame.cpp
2000-09-14 08:22:31 +00:00
rayw%netscape.com 6cc70ebd6c Bug 37275, Changing value of all progids, and changing everywhere a progid
is mentioned to mention a contractid, including in identifiers.

r=warren
2000-09-13 23:57:52 +00:00
edburns%acm.org 468228ae4a a=brendan,av
r=av
bug=50811

Should include "nsISupports.idl" not "nsPluginDefs.idl".
2000-09-13 07:07:18 +00:00
edburns%acm.org 667974e1b0 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
waterson%netscape.com e2d532289a Bug 45698. Land PLUGIN_LOVE_2000_07_17_BRANCH: implement XPCOM plugins. r=av 2000-07-22 01:34:13 +00:00
mccabe%netscape.com d6773f56fe Makefile fix, thanks to Dan Veditz. Should fix bustage. 2000-06-14 02:40:00 +00:00
mccabe%netscape.com 05c9c20041 Backing out for now to fix bustage. 2000-06-14 02:33:45 +00:00
mccabe%netscape.com 83effc8991 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
mccabe%netscape.com 86c43ac095 Part of fix for 39911, which is a dependency of nsbeta+ bug 38495.
Interface for plugins to expose to advertise a scriptable peer object and the interface that XPConnect should expose it with.

r=sechevarria@beatnik.com,beard@netscape.com
a=beard@netscape.com

NOTE This is not yet built on any platform.
2000-06-14 01:04:06 +00:00
warren%netscape.com 7bea4ec3a5 Lowercased handleEvent 2000-05-25 08:29:10 +00:00
warren%netscape.com 26693d73dc New beta-quality Plugin API (now in IDL!). 2000-05-20 20:03:36 +00:00
av%netscape.com 0f465e4756 #26893, moved GetDOMElement from nsIPluginTagInfo to nsIPluginTagInfo2.h 2000-04-18 21:44:56 +00:00
pavlov%netscape.com ac10c73936 fix mac bustage 2000-03-14 07:42:31 +00:00
pavlov%netscape.com bee1edf015 add defined(RHAPSODY) around the XP_MAC lines 2000-03-14 06:16:13 +00:00
mkaply%us.ibm.com 14c16b4215 # 25555
r= beard@netscape.com
OS/2 changes for Mozilla - add #ifdef, change #ifdef
2000-02-28 15:00:30 +00:00
av%netscape.com 8ca1491a0e Bug 22598. r=vidur 2000-01-05 01:18:38 +00:00
dmose%mozilla.org 8535dda53e updated xPL license boilerplate to v1.1, a=chofmann@netscape.com,r=endico@mozilla.org 1999-11-06 03:43:54 +00:00
briano%netscape.com 70f4c0b6b8 General cleanup. 1999-09-14 02:51:42 +00:00
cyeh%netscape.com df37c0fb33 Remove IGNORE_MANIFEST=1. It doesn't do anything and it confuses people. 1999-09-01 01:24:51 +00:00
beard%netscape.com 5def0fc24a reverting GetDocumentBase() to be consistent with other accessors. If we decide to change this, let's change ALL of them. 1999-08-03 02:51:39 +00:00
beard%netscape.com ae6f7f9876 sizeof(mode) field was dependent on compiler settings, now nsPluginPrint.mode is always a PRUint16. 1999-08-02 21:44:54 +00:00
hoa.nguyen%intel.com 65b3084270 Added #define NS_INLINE_PLUGIN_PROGID_PREFIX "component://netscape/inline-plugin/" to be used a the prefix for the ProgID of all plugins. 1999-07-20 23:49:51 +00:00
beard%netscape.com a33961343f added GetIID() accessor 1999-07-17 01:57:10 +00:00
warren%netscape.com 5e8dccf3fe More necko changes. Changed nsIPluginTagInfo2::GetDocumentBase to copy string. 1999-06-23 19:55:21 +00:00
beard%netscape.com d090052fa3 added GetJSContext() 1999-05-08 16:33:40 +00:00
beard%netscape.com daeac99444 added IID accessor, changed GetJavaClass() to have a JNIEnv* parameter, no longer inherits from nsIPlugin. 1999-04-16 02:10:05 +00:00
beard%netscape.com 1088f083c6 added IID accessor, added GetJavaEnv() method. 1999-04-16 02:08:50 +00:00
beard%netscape.com 06592b4e10 added IID accessor, changed GetJavaClass() to have a JNIEnv* parameter. 1999-04-16 02:08:15 +00:00
beard%netscape.com 96d0939cb4 added GetJSThread(), to obtain the thread ID to send events to via nsIThreadManager::PostEvent(). 1999-04-12 03:14:19 +00:00
beard%netscape.com facf60f39e removed GetJSWindow, moved to nsIPluginInstancePeer2 1999-03-25 03:32:22 +00:00
beard%netscape.com adbf879e69 added nsIPluginInstancePeer2.h 1999-03-25 03:29:54 +00:00
beard%netscape.com 97e4c42e74 First Checked In. 1999-03-25 02:45:38 +00:00
beard%netscape.com f9ec70136f added GetJSWindow() 1999-03-24 05:46:23 +00:00
beard%netscape.com f079d12fc2 added nsICookieStorage.h 1999-03-20 23:07:52 +00:00
beard%netscape.com 259717e9c8 added CreatePluginInstance, to create a plugin instance with a specified MIME type. 1999-03-14 20:09:12 +00:00
beard%netscape.com cab2d1e4e7 added IID_ACCESSOR 1999-03-13 03:12:16 +00:00
beard%netscape.com 1e01f5a023 fixed IID accessor 1999-03-13 03:11:05 +00:00
beard%netscape.com e291c88c43 added NS_DEFINE_STATIC_IID_ACCESSOR. 1999-03-12 04:46:43 +00:00
amusil%netscape.com 36e9368c39 Redesigned plugin cache code for StreamAsFile operations. Removed NEW_PLUGIN_STREAM_API ifdefs. 1999-03-11 22:48:58 +00:00
warren%netscape.com c50687b845 nsRepository -> nsIComponentManager changes. 1999-03-09 09:44:27 +00:00
beard%netscape.com 82707fd03f File Removed. 1999-03-06 22:23:41 +00:00
beard%netscape.com 58e8340dcd First Checked In. 1999-03-06 22:23:26 +00:00
beard%netscape.com 69f7175762 struct -> class 1999-03-03 06:10:58 +00:00
beard%netscape.com b5974469ba First Checked In. 1999-03-02 04:43:30 +00:00
beard%netscape.com e00ea5901f added IID() accessor. 1999-02-28 22:14:30 +00:00
beard%netscape.com 974a6c2983 Added NS_PLUGIN_CID, and IID() accessor. 1999-02-28 22:12:50 +00:00
warren%netscape.com 97781f4c14 Changes for RDF component registration using nsRepository. Also changed args to NSGetFactory and friends. 1999-02-26 10:17:14 +00:00
beard%netscape.com 6a99cf4881 class nsIPlugin not struct. 1999-02-20 04:26:09 +00:00
beard%netscape.com 1692c4c365 OJI interface changes 1999-02-20 02:24:15 +00:00