732 Commits

Author SHA1 Message Date
dbaron%fas.harvard.edu
78991cf0e0 Fix leak of nsMemoryImpl from ns4xPlugin::CreatePlugin. b=56584 r=av@netscape.com sr=waterson@netscape.com
git-svn-id: svn://10.0.0.236/trunk@83438 18797224-902f-48f8-a5cc-f745e15eee43
2000-12-09 04:06:49 +00:00
av%netscape.com
81af44f239 Fixing 18568, addidng some QT specific stuff to avoid build errors, patch by johng@corel.com, sr=brendan, r=pollmann a=av
git-svn-id: svn://10.0.0.236/trunk@83155 18797224-902f-48f8-a5cc-f745e15eee43
2000-11-30 22:01:45 +00:00
cls%seawood.org
8373cf37d8 Oops. Fixing bustage introduced by previous checkin. I forgot that XPIDL_MODULE is sometimes set by MODULE. r=blizzard Bug 59454
git-svn-id: svn://10.0.0.236/trunk@82809 18797224-902f-48f8-a5cc-f745e15eee43
2000-11-21 00:18:46 +00:00
cls%seawood.org
6088dfbf6b Resurrect REQUIRES so that we have some sort of means to track intermodule dependencies. Bug #59454 r=blizzard@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@82785 18797224-902f-48f8-a5cc-f745e15eee43
2000-11-20 07:16:06 +00:00
edburns%acm.org
7a396be25b bug=40088
r=edburns
sr=shaver
Author = Xiaobin Lu.


git-svn-id: svn://10.0.0.236/trunk@82752 18797224-902f-48f8-a5cc-f745e15eee43
2000-11-17 22:22:47 +00:00
mkaply%us.ibm.com
aa394c6aa0 #58462
r=av, sr/a=none
OS/2 plugins need events too


git-svn-id: svn://10.0.0.236/trunk@82592 18797224-902f-48f8-a5cc-f745e15eee43
2000-11-14 00:40:58 +00:00
mkaply%us.ibm.com
4142342d3e #58491
r=av, sr/a=scc
Change legacy plugin interfaces to C not C++


git-svn-id: svn://10.0.0.236/trunk@82578 18797224-902f-48f8-a5cc-f745e15eee43
2000-11-13 21:40:27 +00:00
bnesse%netscape.com
097e775fd8 Load the library on all platforms if it hasn't already been loaded. Fix for bug #57885 r=av, sr=waterson.
git-svn-id: svn://10.0.0.236/trunk@82568 18797224-902f-48f8-a5cc-f745e15eee43
2000-11-13 18:42:43 +00:00
disttsc%bart.nl
b34ed638cd Moving nsIContentViewer over from webshell to docshell, converting from .h to .idl. Needed for bug 46200, r=moa=adam@netscape.com, a=alecf
git-svn-id: svn://10.0.0.236/trunk@82496 18797224-902f-48f8-a5cc-f745e15eee43
2000-11-09 20:30:35 +00:00
dbaron%fas.harvard.edu
04c231b23e Fix leak of arrays allocated in GetPluginInfo. r=av@netscape.com sr=brendan@mozilla.org b=59159
git-svn-id: svn://10.0.0.236/trunk@82416 18797224-902f-48f8-a5cc-f745e15eee43
2000-11-08 03:10:37 +00:00
av%netscape.com
98f1460974 Fixing bug 58095, retrieving right user agent string instead of harcoded one. Goes to the trunk only as per yesterday PDT meeting. r=valeski, r=serge, sr=waterson, a=av
git-svn-id: svn://10.0.0.236/trunk@82103 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-31 20:25:19 +00:00
mkaply%us.ibm.com
d13aab492d #58462
r=jkobal, a=blizzard
OS/2 specific code to fix some plugin problems


git-svn-id: svn://10.0.0.236/trunk@82023 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-30 21:06:11 +00:00
warren%netscape.com
a8b9664a8c Bug 47207. Backing out logging/PRINTF changes until we can fix stopwatch.h, introduce double parens, etc.
git-svn-id: svn://10.0.0.236/trunk@81967 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-28 22:17:53 +00:00
warren%netscape.com
a0c507376a Adding diffs from obsolete nsPluginsDirUNIX.cpp to nsPluginsDirUnix.cpp
git-svn-id: svn://10.0.0.236/trunk@81908 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-28 00:52:29 +00:00
warren%netscape.com
9d5b061273 re-removing nsPluginsDirUNIX.cpp
git-svn-id: svn://10.0.0.236/trunk@81907 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-28 00:47:32 +00:00
warren%netscape.com
1c8bc82a36 readding nsPluginsDirUNIX.cpp
git-svn-id: svn://10.0.0.236/trunk@81906 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-28 00:47:08 +00:00
warren%netscape.com
b829671032 Fixing printf problem.
git-svn-id: svn://10.0.0.236/trunk@81905 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-28 00:40:49 +00:00
cls%seawood.org
11850acf77 removing old file again
git-svn-id: svn://10.0.0.236/trunk@81903 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-28 00:18:20 +00:00
warren%netscape.com
b725c37ce9 Removed extra 0 arg
git-svn-id: svn://10.0.0.236/trunk@81893 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-27 23:21:30 +00:00
warren%netscape.com
c6b67eceeb Bug 47207. Changing printf to PRINTF to use new logging facility. r=valeski,sr=waterson
git-svn-id: svn://10.0.0.236/trunk@81885 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-27 22:43:51 +00:00
peterlubczynski%netscape.com
e7c9040b5e Prevent call into plugin if plugin is stopped. Fixes crash in plugin while reload/navigate while plugin is streaming. bug 54186, r=av, sr=buster
git-svn-id: svn://10.0.0.236/trunk@81883 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-27 22:05:07 +00:00
edburns%acm.org
e62ec5289e author=joechou@eng.sun.com
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
2000-10-26 00:12:38 +00:00
av%netscape.com
1c74bacf10 Bug 57210, sr=waterson, r=edburns, r=serge. Fixing crash when plugin reports not file exts or mime descriptions not matching to mime types on the start up scan.
git-svn-id: svn://10.0.0.236/trunk@81589 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-23 00:03:19 +00:00
peterlubczynski%netscape.com
22d2853050 Get and send plugin MIME type, fix for bug 54205 r=sfraser a=buster
git-svn-id: svn://10.0.0.236/trunk@81310 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-17 20:57:36 +00:00
bnesse%netscape.com
1bef179901 Use same define for all platforms. Fix for bug #45697 r=av, sr=scc, a=rtm++.
git-svn-id: svn://10.0.0.236/trunk@81299 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-17 18:04:47 +00:00
sdagley%netscape.com
107bbe078e Fix #54778 - Make legacy plugins on Mac work from the "Plug-ins" folder. r=av,sr=sfraser,scc.
git-svn-id: svn://10.0.0.236/trunk@81135 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-13 18:59:05 +00:00
pavlov%netscape.com
ad452e359d fix for bug 45162 new plugins shouldn't use GdkSuperWin's, but instead should use XIDs. sr=blizzard r=valeski
git-svn-id: svn://10.0.0.236/trunk@81092 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-13 01:10:21 +00:00
edburns%acm.org
f684ef784c bug=54291
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
2000-10-11 22:33:20 +00:00
edburns%acm.org
564f839ce8 bug=
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
2000-10-05 07:58:51 +00:00
av%netscape.com
4181c8bc8f Fixing 53451. Added retun failure when plugin retuns zero on NPP_WriteReady call, r=waterson
git-svn-id: svn://10.0.0.236/trunk@80115 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-29 00:46:18 +00:00
av%netscape.com
c6e1678052 Fix for 44692, allowing default plugin guess about mime type by extension, a=mscott
git-svn-id: svn://10.0.0.236/trunk@79858 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-22 06:31:29 +00:00
av%netscape.com
43504d4fc0 Fix for 53399, check for null-pointer to avoid crash, by sean, r=av, a=waterson
git-svn-id: svn://10.0.0.236/trunk@79856 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-22 06:17:28 +00:00
av%netscape.com
c82a187603 This should fix the redness
git-svn-id: svn://10.0.0.236/trunk@79800 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-22 01:48:05 +00:00
av%netscape.com
8c26ff9682 Fixing #36089. Allowing Mac browse through both 'Plugins' and 'Plug-ins' folders, a=waterson
git-svn-id: svn://10.0.0.236/trunk@79797 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-22 00:58:46 +00:00
edburns%acm.org
e9408a09a9 a=beard, waterson
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
2000-09-20 09:27:54 +00:00
waterson%netscape.com
ac48abcd87 Bug 44352. Remove nsIMemoryPressureObserver in favor of nsIObserverService et al., and convert existing nsIMemoryPressureObserver clients. Add memory flusher thread. Add debug UI to force memory flush. r=alecf,sfraser,warren a=warren
git-svn-id: svn://10.0.0.236/trunk@79603 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-20 05:44:19 +00:00
av%netscape.com
399c390ec8 Part of 33105 fix, added option not to show Bad Plugin warning again, r=serge
git-svn-id: svn://10.0.0.236/trunk@79236 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-14 23:58:17 +00:00
edburns%acm.org
f59c24e492 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


git-svn-id: svn://10.0.0.236/trunk@79207 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-14 22:57:56 +00:00
jdunn%netscape.com
8a94c38ead adding newline at end of file (required by hp)
git-svn-id: svn://10.0.0.236/trunk@79114 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-14 10:50:50 +00:00
edburns%acm.org
fc704a0841 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


git-svn-id: svn://10.0.0.236/trunk@79099 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-14 08:22:31 +00:00
av%netscape.com
c415ffe1a1 Fixing Mac bustage
git-svn-id: svn://10.0.0.236/trunk@79093 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-14 07:16:07 +00:00
av%netscape.com
6cd48645de Part of 33105 fix, replaced direct calls to plugins by safe macro, r=serge
git-svn-id: svn://10.0.0.236/trunk@79086 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-14 06:13:56 +00:00
av%netscape.com
85da22b6b9 Part of 33105 fix, added a method to hsIPluginHost to handle bad plugins, r=serge
git-svn-id: svn://10.0.0.236/trunk@79085 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-14 06:03:37 +00:00
av%netscape.com
ebb6af908a Part of 33105 fix, first time in, macro for safe plugin calls implemented, r=serge
git-svn-id: svn://10.0.0.236/trunk@79083 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-14 05:56:28 +00:00
rayw%netscape.com
d9228441a4 Bug 37275, Changing value of all progids, and changing everywhere a progid
is mentioned to mention a contractid, including in identifiers.

r=warren


git-svn-id: svn://10.0.0.236/trunk@79036 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-13 23:57:52 +00:00
edburns%acm.org
a7679fd4d8 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


git-svn-id: svn://10.0.0.236/trunk@78989 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-13 07:09:38 +00:00
scc%mozilla.org
e5e006543d if you want a pointer to the characters, you're going to have to |.get()| it
git-svn-id: svn://10.0.0.236/trunk@78957 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-13 02:48:08 +00:00
edburns%acm.org
7f44ca7382 r=av
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
2000-09-08 23:58:36 +00:00
morse%netscape.com
feb9add6f2 bug 51338, cookie nag box not modal, r=mstoltz
git-svn-id: svn://10.0.0.236/trunk@78354 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-07 07:00:36 +00:00
edburns%acm.org
f4ed6ebe07 This was tested on win32, and is known to build on win32 and solaris.
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
2000-09-05 19:03:56 +00:00