343 Commits

Author SHA1 Message Date
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
dbaron%fas.harvard.edu
54d7d67487 Fixing scc's typo to fix harpoon orange, etc. r=scc
git-svn-id: svn://10.0.0.236/trunk@78094 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-04 01:19:36 +00:00
scc%mozilla.org
987c59caba we think the fix is in to support the original form, so back to the original form we go
git-svn-id: svn://10.0.0.236/trunk@78092 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-04 00:50:50 +00:00
scc%mozilla.org
8d79857f8d and here we are, back to square one.
git-svn-id: svn://10.0.0.236/trunk@78070 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-03 08:25:02 +00:00
scc%mozilla.org
6916463750 I'll try anything, now
git-svn-id: svn://10.0.0.236/trunk@78057 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-03 03:25:42 +00:00
scc%mozilla.org
98679d961e OK, nothing has worked yet. It's time to roll out the big guns: |NS_READABLE_CAST|
git-svn-id: svn://10.0.0.236/trunk@78055 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-03 02:50:18 +00:00
scc%mozilla.org
7a8da7c16b hack to fix pravda and speedracer bustage
git-svn-id: svn://10.0.0.236/trunk@78050 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-03 01:38:38 +00:00
scc%mozilla.org
a68b29cf43 hack to fix pravda bustage
git-svn-id: svn://10.0.0.236/trunk@78046 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-03 00:25:42 +00:00
locka%iol.ie
09805179ae API changes for embedding. b=46847, r=dougt, a=valeski
git-svn-id: svn://10.0.0.236/trunk@77213 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-25 18:39:46 +00:00
edburns%acm.org
55b6e21cf5 bug=36212
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
2000-08-24 19:49:08 +00:00
saari%netscape.com
6a6cd5a218 fix for 46938, make sure full content area plugins can still get key events once you've clicked on them
git-svn-id: svn://10.0.0.236/trunk@77061 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-24 05:04:06 +00:00
jst%netscape.com
7e0575bfee DOM string changes. All nsString& in DOM interfaces (and interfaces needed by DOM implementations) have been changed to nsAReadableString& and nsAWritableString&. String implementation additions (sanctioned by scc) to support DOM needs. Bug 49091. r=vidur,jst,scc
git-svn-id: svn://10.0.0.236/trunk@76967 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-23 17:27:06 +00:00
warren%netscape.com
f29b00bbe4 Bug 46777. Redesigned stream interfaces to allows stream observers to be decoupled from pipe implementation. Needed for embedding to fix 'spin' problem. r=rpotts,valeski,ruslan
git-svn-id: svn://10.0.0.236/trunk@76875 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-22 07:03:33 +00:00
av%netscape.com
67133458bf 49515, fixing incorrect handling nsPluginInfo struct which prevented
Mac plugins from working, patch by beard, r=av


git-svn-id: svn://10.0.0.236/trunk@76796 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-21 21:31:28 +00:00
scc%mozilla.org
3dc16d7d10 fixing code that relied on implicit string construction
git-svn-id: svn://10.0.0.236/trunk@76724 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-19 21:44:26 +00:00
cltbld%netscape.com
eca3370810 Need to declare nsIFile to make WS 5.0 happy -cls
git-svn-id: svn://10.0.0.236/trunk@76686 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-19 05:44:34 +00:00
av%netscape.com
adf2c05ade Addressing #48856, added argument null-check before passing it to nsCStringKey::nsCStringKey()
patch by warren, r=av


git-svn-id: svn://10.0.0.236/trunk@76654 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-18 21:53:03 +00:00
av%netscape.com
f4cecefbae Part of 46490 fix, r=adamlock
git-svn-id: svn://10.0.0.236/trunk@76564 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 19:26:15 +00:00
warren%netscape.com
e5706a7236 Bug 46711. Removed nsAutoString travisty from nsStringKey. Introduced nsCStringKey. Made them both share the underlying string when possible. r=waterson
git-svn-id: svn://10.0.0.236/trunk@75975 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 06:19:37 +00:00
av%netscape.com
cb9f96e62b Fixing 39534, patch by sean, r=av
git-svn-id: svn://10.0.0.236/trunk@75730 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 22:10:07 +00:00
av%netscape.com
08395413fb Fixing 47360, patch by sean@beatnik.com, r=av
git-svn-id: svn://10.0.0.236/trunk@75729 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 21:51:19 +00:00
mkaply%us.ibm.com
08b40967ac r=mkaply, a=brendan
Tinderbox break - Should have been info.fExtensionArray


git-svn-id: svn://10.0.0.236/trunk@75465 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 02:20:17 +00:00
av%netscape.com
289e4953d8 Fixing Unix redness
git-svn-id: svn://10.0.0.236/trunk@75442 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 23:36:30 +00:00
av%netscape.com
4a24980381 Fixing 45895, r=waterson
git-svn-id: svn://10.0.0.236/trunk@75437 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 23:01:35 +00:00
cls%seawood.org
04d7dbe793 The ports tinderboxes were inconveniently down so this bustage was hidden for the past week. Bug #45698
git-svn-id: svn://10.0.0.236/trunk@75012 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-28 05:43:24 +00:00
warren%netscape.com
997161d193 Factored string bundles out of necko. Fixes bug 42107 - need to fix string bundle init workaround. Also bug 40506 - nsIWebProgressListener needs status text. Status messages now work in mozilla and viewer with internationalized and parameterized text! Added temporary error architecture until bug 13423 can be fixed. Extended nsIStringBundleService to provide method to format status message. r=valeski,jband,tao. verified=mstoltz
git-svn-id: svn://10.0.0.236/trunk@74729 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-25 05:45:56 +00:00
waterson%netscape.com
5dc75db588 Bug 45698. Fix Win32 build bustage. Checked in from wrong machine.
git-svn-id: svn://10.0.0.236/trunk@74627 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-22 01:58:55 +00:00
waterson%netscape.com
9ea597c1b1 Bug 45698. Land PLUGIN_LOVE_2000_07_17_BRANCH: implement XPCOM plugins. r=av
git-svn-id: svn://10.0.0.236/trunk@74624 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-22 01:34:13 +00:00
edburns%acm.org
b3341a1012 bug=23157
r=av
a=waterson

Don't use hard coded 2000.  Instead use sizeof(path).


git-svn-id: svn://10.0.0.236/trunk@74618 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-22 00:48:26 +00:00
edburns%acm.org
beab87ba88 bug=23157
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
2000-07-21 00:27:36 +00:00
edburns%acm.org
9b331dead2 bug=43280
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
2000-07-20 22:53:32 +00:00
edburns%acm.org
8c18443bc0 bug=16677
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
2000-07-20 19:09:50 +00:00
waterson%netscape.com
ab0efcd0f0 Bug 37622. The rest of the patch that I somehow missed the first time around. r=blizzard,pavlov
git-svn-id: svn://10.0.0.236/trunk@74514 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 01:40:54 +00:00
edburns%acm.org
65086659fd a=av
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
2000-07-20 01:16:52 +00:00
waterson%netscape.com
8f34ddafd2 Bug 37622. Hackery to get <embed hidden='true'> to work. Check hidden attribute; if set, size to (0, 0) and don't create a widget. r=pavlov,blizzard.
git-svn-id: svn://10.0.0.236/trunk@74497 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 23:46:43 +00:00
waterson%netscape.com
8684478ba7 Remove debugging cruft I left in.
git-svn-id: svn://10.0.0.236/trunk@74494 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 23:24:35 +00:00
waterson%netscape.com
6c20af3ad5 Bug 37522. Implement ns4xPlugin::GetMIMEDescription() and ns4xPlugin::GetValue(); alter nsPluginsDirUNIX to use these routines (instead of directly calling the NP_* routine) while grovelling through 4.x plugins. r=av
git-svn-id: svn://10.0.0.236/trunk@74481 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 21:43:46 +00:00
jst%netscape.com
d32b36fc15 Fixing nsbeta2+ bug 44022. Loading javascript: URL's from a plugin wasn't always working. r=vidur@netscape.com
git-svn-id: svn://10.0.0.236/trunk@74144 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 02:44:14 +00:00
pavlov%netscape.com
61c5a61fcc 4.x unix plugin changes for bug 37477 r=pollmann, av
git-svn-id: svn://10.0.0.236/trunk@74034 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 21:44:39 +00:00
bnesse%netscape.com
6e87c2f462 Moved code which was initalizing the memory allocation service from the constructor into the CreatePlugin function because it wasn't being called early enough for some plugins. Need to proceed on Bug 19931. r=av.
git-svn-id: svn://10.0.0.236/trunk@74018 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 20:08:05 +00:00