From d65d8b3774712ad436da530db3286e976fb67b62 Mon Sep 17 00:00:00 2001 From: "joe.chou%eng.sun.com" Date: Tue, 27 Mar 2001 00:37:58 +0000 Subject: [PATCH] bug=64296 r=edburns sr=waterson This checkin idlifies some files in the plugin hierarchy. The following files are in this checkin. build/mac/build_scripts/MozillaBuildList.pm modules/oji/public/MANIFEST modules/oji/public/MANIFEST_IDL modules/oji/macbuild/ojiIDL.mcp modules/plugin/public/MANIFEST modules/plugin/public/MANIFEST_IDL modules/plugin/macbuild/pluginIDL.mcp modules/oji/public/Makefile.in modules/oji/public/makefile.win modules/oji/public/nsIJVMPluginInstance.idl modules/plugin/public/Makefile.in modules/plugin/public/makefile.win modules/plugin/public/nsIPluginManager.idl --- build/mac/build_scripts/MozillaBuildList.pm | 63 +------ modules/oji/macbuild/ojiIDL.mcp | Bin 64242 -> 64434 bytes modules/oji/public/MANIFEST | 39 +---- modules/oji/public/MANIFEST_IDL | 1 + modules/oji/public/Makefile.in | 6 +- modules/oji/public/makefile.win | 2 +- modules/oji/public/nsIJVMPluginInstance.idl | 49 ++++++ modules/plugin/base/macbuild/pluginIDL.mcp | Bin 62872 -> 69916 bytes modules/plugin/base/public/MANIFEST | 53 +----- modules/plugin/base/public/MANIFEST_IDL | 1 + modules/plugin/base/public/Makefile.in | 2 +- modules/plugin/base/public/makefile.win | 10 +- .../plugin/base/public/nsIPluginManager.idl | 161 +++++++++++++++--- modules/plugin/macbuild/pluginIDL.mcp | Bin 62872 -> 69916 bytes modules/plugin/public/MANIFEST | 53 +----- modules/plugin/public/MANIFEST_IDL | 1 + modules/plugin/public/Makefile.in | 2 +- modules/plugin/public/makefile.win | 10 +- modules/plugin/public/nsIPluginManager.idl | 161 +++++++++++++++--- 19 files changed, 346 insertions(+), 268 deletions(-) create mode 100644 modules/oji/public/MANIFEST_IDL create mode 100644 modules/oji/public/nsIJVMPluginInstance.idl create mode 100644 modules/plugin/base/public/MANIFEST_IDL create mode 100644 modules/plugin/public/MANIFEST_IDL diff --git a/build/mac/build_scripts/MozillaBuildList.pm b/build/mac/build_scripts/MozillaBuildList.pm index 6328fdf7b4c1..8a007762be34 100644 --- a/build/mac/build_scripts/MozillaBuildList.pm +++ b/build/mac/build_scripts/MozillaBuildList.pm @@ -134,8 +134,6 @@ sub InstallDefaultsFiles() InstallResources(":mozilla:modules:libpref:src:MANIFEST_PREFS", "$default_pref_dir", 0); InstallResources(":mozilla:modules:libpref:src:init:MANIFEST", "$default_pref_dir", 0); InstallResources(":mozilla:modules:libpref:src:mac:MANIFEST", "$default_pref_dir", 0); - InstallResources(":mozilla:netwerk:base:public:MANIFEST_PREFS", "$default_pref_dir", 0); - if ($main::options{inspector}) { InstallResources(":mozilla:extensions:inspector:resources:content:prefs:MANIFEST", "$default_pref_dir", 0); @@ -571,20 +569,13 @@ sub BuildClientDist() InstallFromManifest(":mozilla:modules:libimg:public:MANIFEST", "$distdirectory:libimg:"); InstallFromManifest(":mozilla:modules:libimg:public_com:MANIFEST", "$distdirectory:libimg:"); - if ($main::options{useimg2}) { - #GFX2 - InstallFromManifest(":mozilla:gfx2:public:MANIFEST", "$distdirectory:gfx2:"); - InstallFromManifest(":mozilla:gfx2:public:MANIFEST_IDL", "$distdirectory:idl:"); - - #LIBIMG2 - InstallFromManifest(":mozilla:modules:libpr0n:public:MANIFEST_IDL", "$distdirectory:libimg2:"); - } - #PLUGIN InstallFromManifest(":mozilla:modules:plugin:nglsrc:MANIFEST", "$distdirectory:plugin:"); InstallFromManifest(":mozilla:modules:plugin:public:MANIFEST", "$distdirectory:plugin:"); + InstallFromManifest(":mozilla:modules:plugin:public:MANIFEST_IDL", "$distdirectory:idl:"); InstallFromManifest(":mozilla:modules:oji:src:MANIFEST", "$distdirectory:oji:"); InstallFromManifest(":mozilla:modules:oji:public:MANIFEST", "$distdirectory:oji:"); + InstallFromManifest(":mozilla:modules:oji:public:MANIFEST_IDL", "$distdirectory:idl:"); #DB InstallFromManifest(":mozilla:db:mdb:public:MANIFEST", "$distdirectory:db:"); @@ -987,18 +978,11 @@ sub BuildIDLProjects() if ($main::options{psm2}) { BuildIDLProject(":mozilla:security:manager:ssl:macbuild:pipnssIDL.mcp", "pipnss"); - BuildIDLProject(":mozilla:security:manager:pki:macbuild:pippkiIDL.mcp", "pippki"); } BuildIDLProject(":mozilla:modules:libpref:macbuild:libprefIDL.mcp", "libpref"); BuildIDLProject(":mozilla:modules:libutil:macbuild:libutilIDL.mcp", "libutil"); BuildIDLProject(":mozilla:modules:libjar:macbuild:libjarIDL.mcp", "libjar"); - - if ($main::options{useimg2}) { - BuildIDLProject(":mozilla:gfx2:macbuild:gfx2IDL.mcp", "gfx2"); - BuildIDLProject(":mozilla:modules:libpr0n:macbuild:libimg2IDL.mcp", "libimg2"); - } - BuildIDLProject(":mozilla:modules:plugin:macbuild:pluginIDL.mcp", "plugin"); BuildIDLProject(":mozilla:modules:oji:macbuild:ojiIDL.mcp", "oji"); BuildIDLProject(":mozilla:js:macbuild:XPConnectIDL.mcp", "xpconnect"); @@ -1237,37 +1221,6 @@ sub BuildImglibProjects() EndBuildModule("imglib"); } # imglib -#//-------------------------------------------------------------------------------------------------- -#// Build libimg2 projects -#//-------------------------------------------------------------------------------------------------- - -sub BuildImglib2Projects() -{ - unless( $main::build{libimg2} ) { return; } - - # $D becomes a suffix to target names for selecting either the debug or non-debug target of a project - my($D) = $main::DEBUG ? "Debug" : ""; - - StartBuildModule("libimg2"); - - if ($main::options{useimg2}) - { - BuildOneProject(":mozilla:gfx2:macbuild:gfx2.mcp", "gfx2$D.shlb", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:modules:libpr0n:macbuild:libimg2.mcp", "libimg2$D.shlb", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:modules:libpr0n:macbuild:pngdecoder2.mcp", "pngdecoder2$D.shlb", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:modules:libpr0n:macbuild:gifdecoder2.mcp", "gifdecoder2$D.shlb", 1, $main::ALIAS_SYM_FILES, 1); - BuildOneProject(":mozilla:modules:libpr0n:macbuild:jpegdecoder2.mcp", "jpegdecoder2$D.shlb", 1, $main::ALIAS_SYM_FILES, 1); - - # MNG - if ($main::options{mng}) - { - #BuildOneProject(":mozilla:modules:libimg:macbuild:mng.mcp", "mng$D.o", 0, 0, 0); - #BuildOneProject(":mozilla:modules:libimg:macbuild:mngdecoder.mcp", "mngdecoder$D.shlb", 1, $main::ALIAS_SYM_FILES, 1); - } - } - - EndBuildModule("libimg2"); -} # imglib2 #//-------------------------------------------------------------------------------------------------- #// Build international projects @@ -1459,7 +1412,7 @@ sub BuildLayoutProjects() my($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime; # localtime returns year minus 1900 $year = $year + 1900; - printf(OUTPUT "#define PRODUCT_VERSION NS_LITERAL_STRING(\"%04d%02d%02d\").get()\n", $year, 1+$mon, $mday); + printf(OUTPUT "#define PRODUCT_VERSION \"%04d%02d%02d\"\n", $year, 1+$mon, $mday); close(OUTPUT); #// @@ -1664,15 +1617,8 @@ sub BuildExtensionsProjects() # LDAP Client if ($main::options{ldap}) { - my($experi) = $main::options{ldap_experimental} ? " experi" : ""; - BuildOneProject(":mozilla:directory:c-sdk:ldap:libraries:macintosh:LDAPClient.mcp", "LDAPClient$D.shlb", 1, $main::ALIAS_SYM_FILES, 0); - BuildOneProjectWithOutput(":mozilla:directory:xpcom:macbuild:mozldap.mcp", "mozldap$D.shlb$experi", "mozldap$D.shlb", 1, $main::ALIAS_SYM_FILES, 1); - - if ($main::options{ldap_experimental}) - { - InstallResources(":mozilla:extensions:directory:xpcom:datasource:MANIFEST_COMPONENTS", "${dist_dir}Components"); - } + BuildOneProject(":mozilla:directory:xpcom:macbuild:mozldap.mcp", "mozldap$D.shlb", 1, $main::ALIAS_SYM_FILES, 1); } # XML Extras @@ -1903,7 +1849,6 @@ sub BuildProjects() BuildRuntimeProjects(); BuildCommonProjects(); BuildImglibProjects(); - BuildImglib2Projects(); BuildNeckoProjects(); BuildSecurityProjects(); BuildBrowserUtilsProjects(); diff --git a/modules/oji/macbuild/ojiIDL.mcp b/modules/oji/macbuild/ojiIDL.mcp index c8fc381e0efbed8e7428740236ea1bd12c709912..db067037cc9e99616b033eb4e4a22db55eea2e1c 100644 GIT binary patch delta 2274 zcmbW2drVVT9LLYSEmEOUY)eZoqpbuTQEb$a%q7!ErUL3}V;HD2L}f4^^r1yJU%*7s z1-Au%#>JRO^ba@ZLV|b0Wm$|tA(>0?xx^SB2$^#a2qLK9qx+tF+JXMDKlV#+&+q&` z=lsq&zw^Cq|Df*FW1Y1$7_4B7=@^r;7<=#|WBpyt);6Ox5H46y^scXB(}!yV1%Yto zsz7NO`S!V0x7#Vx6qCEbr>9P@UM)4%N@JvEB*{?6yMq$FZ!VN3(6{E3vt$I_629=r zcqHDUtHq;^j8?)UyH|q<<5Nu3Q(Rk?0dEclTwqMk8TuW!(jBj#Wh^dU%4G5BDOsI7 zJ!4B2FD~S5%;fn6i{^ny(N;Es%!x#v*0AHUpB>ljWo?p~waI?9r+A)3Cl@KI$q_G2 zF9#3xfFfS7A z$}8my=y@JWcI;NKr%lw+>5CUM>TwxJ2_%g(U6IgruiT*?t4`Ld-NnW@dN1suw~J;=abzr?Fjk74on8y&CXPBjUCOglb!cXS4nst7 zR8wh!4h5M`&%(7K9Ri6| zS3XhU1y06;O-3|hthm5CH?XOKq|fGJY`Yw*8lT+YJFhk_Fv?odaex~VWxEpgFHNP+ z-Aia|Q7JW9lz5b5AQCwo&G3Unzoeu@gO{nf+l92>$WkJzCCloi^$TBG0`M$OsP^Sl zCaN2@jMu4O*4Lz~JGW1ZAH5R{yCgkL7 zWcBER1X;D8a3#>ex-0`0#|Q5wR}f|PuX5yb<@m#uc<*)hd9j6=^XW*x-O-CTi}@=< z{8wSrWn1=AN54n1(DQz~Vp$4k@K;s@Umj#NkmsRI$?3zI+5S*??aM3F5tTeFkyE~- zGZ^(&CUS&A8_UWWJGUQ+=Hr3o9-v;}yssHcuMzlg2ytwiTS^Bx2Rw558uAX<6x*)| zS;eR?euKY=k73OA2UT(W5WZ31#0~Jh90EtE2{`p9oNdc!h`? zP9Rn+;`U`|qvA-X!4 ztJv$|N6Ryx|3sIFG4@9CJi-C_^3n3-S>dk~*!he~fXlLQf>g27?TtXI1+FZl&w+!x z(DjIoMc#q`fxtDF=?qW)J-S(9_CeHw;hwo!r%~@CkKEHm&c`;z%CEKtdJChKITvPG zNnT(J$1$ai!f82F1-$>y5e?l=$51Ga+u`NZ1bj3wqM1D}D`b#Af4 ztDQi8fm@R(>4{A#pM!3+cx`R)x!PfAUYZT;YKI>!-lXmDxxQeoP6`0;yfvb&n!gd} z2ZRMr(GlQaAAC()jJ?qXAFAM1+f5z7?amQx)eR&5kw)3iK6>%QR^0(@#I%*iWw%A( zi)&)qs*VicpMq@_@i6{BW7--!1b>@|UppVu7Gu}>>%-3hyO|o(7GuYFjvZQ<)lEkW zZP8G!5_|zaS{`!;{7=M~kePaiY)WVay3z8O_!esgzLQPPVViR2(TKJ>p91X`_-+z; vfj9I2HceZ2Z@A$3+X=hdLRB2|eMGf&j#ute4jJoirKVw%CeH_jxkKEblREQ*ox~e@aUd6K6Ce3M0>=!#qOg%SNTerfK}wwmIBZ zy;Wqba%=49I>I}B+2V9pg3e#08RFJ%zg@Ja*)$fue7Q%bXhwr_2>k61FXDMM(N=xh zB5v%mTClY0ngy+i*UUMQj@)EP;+#L;;xIdeRiw`x@=fEBEjGI$JC;Ejdm5a)wtdRT zB&_X3VN=A>c8APYHYEsSj1;f$ zO^p?Qo_)sVGTBNA(icy{$qN;YM0p!U_?%1U&K-+6X2VME{v$e*EaBT98Y9m4c;cIi zCvktNRb2l%#VR(fNr-u37j-nIrhV%FZ;Jh~uFKImhKVg%_FtpVth|cdupt*P;FI8|e;1Bi? zjR`4uuOIe#CQ73dxnnR#pIyg^cbta%XIN8}*RC7Tio2jk^e*q~Pi`fJzixwHe!rmEC?Awo+yHFy4`H^`An=oTRM2NEB=O2gAMHFf238 zv?3O9l2vwnxL5R=vKMa0yVB2mx4;&(coE5oJe~D$3X^+4~M>rpF5hfJnP{$a!f^kyn zYk4i;D+h)-wDU9At4)-aPUn4qH@}MxdR2y(I|0=yIJlqN02^soMw-{!3SF`tVr20{ z2~UF_Y2GBvlqA0(#><>@AMh)~+zR~;yDSh=GLy>zdvLbm7SXhB=o=(Rbb38E0{#j- zj&iF3|ChAUMCr^HK6~F8Jl8PHtwKq=O$u(orBU1ph6nK*MsF#5;3nP?ZpGb){UuMlJN3&Lh6=qKHw`drwF&s W%g((oL88O>rx|kU&6BucDEnVlfGni| diff --git a/modules/oji/public/MANIFEST b/modules/oji/public/MANIFEST index c79ddc3a845d..42aa04c44764 100644 --- a/modules/oji/public/MANIFEST +++ b/modules/oji/public/MANIFEST @@ -1,38 +1 @@ -# -# The contents of this file are subject to the Netscape Public -# License Version 1.1 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.mozilla.org/NPL/ -# -# Software distributed under the License is distributed on an "AS -# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is Netscape -# Communications Corporation. Portions created by Netscape are -# Copyright (C) 1998 Netscape Communications Corporation. All -# Rights Reserved. -# -# Contributor(s): -# - -# -# This is a list of local files which get copied to the mozilla:dist directory -# - -nsIJRIPlugin.h -nsIJVMConsole.h -nsIJVMPlugin.h -nsIJVMPluginInstance.h -nsIJVMPluginTagInfo.h -nsISymantecDebugger.h -nsISymantecDebugManager.h -nsjvm.h -nsISecureEnv.h -ProxyJNI.h -nsIThreadManager.h -nsIJVMWindow.h -nsILiveConnectManager.h +# # The contents of this file are subject to the Netscape Public # License Version 1.1 (the "License"); you may not use this file # except in compliance with the License. You may obtain a copy of # the License at http://www.mozilla.org/NPL/ # # Software distributed under the License is distributed on an "AS # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or # implied. See the License for the specific language governing # rights and limitations under the License. # # The Original Code is mozilla.org code. # # The Initial Developer of the Original Code is Netscape # Communications Corporation. Portions created by Netscape are # Copyright (C) 1998 Netscape Communications Corporation. All # Rights Reserved. # # Contributor(s): # # # This is a list of local files which get copied to the mozilla:dist directory # nsIJRIPlugin.h nsIJVMConsole.h nsIJVMPlugin.h #nsIJVMPluginInstance.h nsIJVMPluginTagInfo.h nsISymantecDebugger.h nsISymantecDebugManager.h nsjvm.h nsISecureEnv.h ProxyJNI.h nsIThreadManager.h nsIJVMWindow.h nsILiveConnectManager.h \ No newline at end of file diff --git a/modules/oji/public/MANIFEST_IDL b/modules/oji/public/MANIFEST_IDL new file mode 100644 index 000000000000..35990f3fbef1 --- /dev/null +++ b/modules/oji/public/MANIFEST_IDL @@ -0,0 +1 @@ +# The contents of this file are subject to the Netscape Public # License Version 1.1 (the "License"); you may not use this file # except in compliance with the License. You may obtain a copy of # the License at http://www.mozilla.org/NPL/ # # Software distributed under the License is distributed on an "AS # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or # implied. See the License for the specific language governing # rights and limitations under the License. # # The Original Code is mozilla.org code. # # The Initial Developer of the Original Code is Netscape # Communications Corporation. Portions created by Netscape are # Copyright (C) 1998 Netscape Communications Corporation. All # Rights Reserved. # # Contributor(s): # # This is a list of local files which get copied to the mozilla:dist:??? directory # nsIJVMPluginInstance.idl \ No newline at end of file diff --git a/modules/oji/public/Makefile.in b/modules/oji/public/Makefile.in index b7198e4a0a42..bcd440ddbb8e 100644 --- a/modules/oji/public/Makefile.in +++ b/modules/oji/public/Makefile.in @@ -28,14 +28,16 @@ include $(DEPTH)/config/autoconf.mk MODULE = oji -XPIDLSRCS = nsIJVMManager.idl +XPIDLSRCS = \ + nsIJVMManager.idl \ + nsIJVMPluginInstance.idl \ + $(NULL) EXPORTS = \ nsjvm.h \ nsIJRIPlugin.h \ nsIJVMConsole.h \ nsIJVMPlugin.h \ - nsIJVMPluginInstance.h \ nsIJVMPluginTagInfo.h \ nsIJVMPrefsWindow.h \ nsIJVMWindow.h \ diff --git a/modules/oji/public/makefile.win b/modules/oji/public/makefile.win index 34d085d08e70..6855d5955a62 100644 --- a/modules/oji/public/makefile.win +++ b/modules/oji/public/makefile.win @@ -27,6 +27,7 @@ MODULE = oji XPIDLSRCS = \ .\nsIJVMManager.idl \ + .\nsIJVMPluginInstance.idl \ $(NULL) EXPORTS = \ @@ -34,7 +35,6 @@ EXPORTS = \ nsIJRIPlugin.h \ nsIJVMConsole.h \ nsIJVMPlugin.h \ - nsIJVMPluginInstance.h \ nsIJVMPluginTagInfo.h \ nsIJVMPrefsWindow.h \ nsIJVMWindow.h \ diff --git a/modules/oji/public/nsIJVMPluginInstance.idl b/modules/oji/public/nsIJVMPluginInstance.idl new file mode 100644 index 000000000000..860020e17c96 --- /dev/null +++ b/modules/oji/public/nsIJVMPluginInstance.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * + * The contents of this file are subject to the Netscape Public + * License Version 1.1 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.mozilla.org/NPL/ + * + * Software distributed under the License is distributed on an "AS + * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + * implied. See the License for the specific language governing + * rights and limitations under the License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All + * Rights Reserved. + * + * Contributor(s): + */ + +//////////////////////////////////////////////////////////////////////////////// +// NETSCAPE JAVA VM PLUGIN EXTENSIONS +// +// This interface allows a Java virtual machine to be plugged into +// Communicator to implement the APPLET tag and host applets. +// +// Note that this is the C++ interface that the plugin sees. The browser +// uses a specific implementation of this, nsJVMPlugin, found in jvmmgr.h. +//////////////////////////////////////////////////////////////////////////////// + +#include "nsISupports.idl" +%{C++ +#include "jni.h" +%} + +native jobject(jobject); +native nChar(const char **); + +[scriptable, uuid(a0c057d0-01c1-11d2-815b-006008119d7a)] +interface nsIJVMPluginInstance : nsISupports { + + // This method is called when LiveConnect wants to find the Java object + // associated with this plugin instance, e.g. the Applet or JavaBean object. + [noscript] void GetJavaObject(out jobject result); + + [noscript] void GetText(in nChar result); +}; diff --git a/modules/plugin/base/macbuild/pluginIDL.mcp b/modules/plugin/base/macbuild/pluginIDL.mcp index 8250895cfb3d6f5f6d5cd96a3b6cc32b0d231192..59ec0117431127fd4f7b28c39c7194cf7510809c 100644 GIT binary patch delta 2994 zcmbW3du&ui6o=>DyY0QS+wDTT?Lu331*EOQHWZ|QFRIYOmM)7Fc}TDimjbrirQJ3p z0$Y^=K}E|TqM*DK%0nr+1!Dv)SPfKS2vMR)v=BwZ!`NaXiplyrcW!H=@gGkzGv|IY zbLPyu)VCNLupBIKIK5NzB|4$*L4hQWLbcaW zS)vzhi>X(j-Dm30qTO%muc19)>W9%Dso$K zLa8)@uS?iI0iH3pgbKxiBBLmz%g|926brf!qO`-sGmP1x(o#*11dO4NAyf_J8*I&d zUQ&WplE@mmB$nQs@6@Lz4weT7>!$gu>MNH7i_3y#m4R9hzqEO%-s)|WhV?GRV#p3n zrs<|gu*M{ApXKDOFI)K9B)gvH{6LD82V+2{zSBEKN;Wn@o|w)u79;7deTu|4y2kQ@ zd7}p;8=b-*-sSRZv_->!-F?VnSnhBvAD#&`31&Q^mu12ejg5@%NcVkiq*}7!#-9w#4o0i4|6bJ7d56k z)m8JalgoLdzmxwsw}lrvJk9<%c$}aQJCGQocaLAD=?|}WN_>+mmoE;t@UEtkm{?y; zFwmTzp|5&=L55zQuPFMZX9g;IS`hBGdTp|vy3Z=}?6fr8^*7nk=&r5U%58}kW;j$q z4gsVpecQ#XE0W~k-LBMT|15rcMw4Fr{)#dE`#TiLqQC2llL%6}@>PpQ{m(PC%*lUr zK0GM=$H7`9JPQ4;c7VcjTm71uZkf8>z271a@8V~!FO-wk@sT$?L!4R2LRK9P(fen_ zJEZ|*8Cg7hqiBk?I$TwQ&;C91PGwcsg_q#j`H98~adjcjMplRF{=pAj;+CHmMr>;^ zY)Gg!un2GJZs=3Qw6U0`g#`b2BUpjp5BM32O%{B2J6NIMYevJlM!~m+z@`eGvJGCU zf_GvKHcjwHo`jq3P{dd`;UhqLvLOYlk@|Kqp_2AkWMF37f!193r5~VAH+dV{I59q( zg0tA4q=ruafjpg{b4 zV8}d)rhf;sx{rxlnW`;p%!%T!oM936lrWnkQbE482tF%6hb& z!ru*P(8~m0{1Eo%6nw>YuyVnd(0*D%j~k(JK@N z24=et^YBeiq$(aKC6Y*O`W#)&qI(}A!ORu)!~`%(R7mw8Bf01R)s|lXxPjShD_U`* zTE%+k2ze6Mr>H~@Y1T~WuMkBbx=~q0lB!XPsW(Wn%c}y%Gqv*~^f!ot??+|sY|_in-y{m&hDwBtdhTxM6n~H~Hekl8dhQG8J5Xr- z=Wg@`tGeR~z)loMeIu$C;n3>a(08Fg8nRFsvC7m9v?wJfGY8LL{64S?bmQrC`3 z#H#uMJ$rAXK#t(#BIdJ^vzYFWG7fV6RPU?7JU1ywDdQpCXW^)LHF6TZ186ZY>*?xy zHFDM_gVDa%w5g>7LnN&Zngj delta 2021 zcmY+Ee{57m5XX1lUGHAo>-FI7+M~2yAr*?y+VaD;CXj1L3$%qCaFriHy#C-vv8B&m zZTy4SVkj6iw8ughfoMUH5)g}PF$59;gF!S}&=8Oq4}t_+0vZ$4ka&Lg?WKvE?Aw|7 z%Oiiv(O}l(xO8qG21wzt>#C=rzD-6qCMVaRbkA2 z)2iY~mh_k`Ln(V4n#ImI>)44%id|w#vZLib7R$4VCFyQWbd0-Bqd~6@XHC9~Iny&( z(CuX>GjwJ&TGlf@n9wr^yBEd;O=u2)i0y$-X{}u#P5m62RDo2vZr+Sr(V-Q z$g`y|{6i7oUG8M zJ;hHd*zYxOv6W2&(Sm^sNz z-n{Z`SqqHJL_vI}PTAM13&iD1ZOO^SP)UC4*Wfc9pp>A`e z&D;f#FgxJSW1U86stwL+_aw1(u}c$O6;?Xle(Sek`>oML?^%ZJ_t}F;3$==HV~8S| zZg!z|Cew4%#GToZR5A3?I13AuJz}x$5Sx?JVU{!++$sVaeN-&^z6<%x6*oS1XjBu$ zLo;N#?^1q5qhr-SM_KPLR&i=%qK0}pl0@hEsv--?8{q?Xx>ob$b6ux}S^gLyNu;IS zkYA=MikXx9Z64HVwO4OxZ*KiR^5}d}rx{t^gXp3eEk>jXefPkOG9MH3c}&MEGOzGJ zGW<&az(;NvZR^$(^5t&0R4U){I&Mh*&MHE3x)eWPfGt#f_6YBne8KD3KUeXzFTko4 zuiDFpCC|JI-J^KVuaIjL&wSFC0_H?BB?XB%g!hQJdnIc7O#Hf8j44 zHsd>>J0xG`L;`=T^MlZZmuu>9P+z~m|Z;AiI;b@j5VM>P2TV> z#ozpy2c5J~D;eQk(r=(=6Bbyb&IKu}ecMd>NMbsO1Lf#`On&Ui=nfxm# zs)+XZa>#v>f?wyZbi}X780$1Wd=g-viHS4D1CqPtO`DxY^l9TE?^nD%#0|+kH=);? zdD{DA!SMmg;a<=CB~O0_N{XsOpcnG{k`m&5kq=A0G8@WO6@UFl$o-fYJIniA65oeB jpzyY*kPl0U@Je1J`EeXyQ|al|PJkmOCf;@)c2UoNibcWO diff --git a/modules/plugin/base/public/MANIFEST b/modules/plugin/base/public/MANIFEST index 24f9166e213d..9fa86b324a76 100644 --- a/modules/plugin/base/public/MANIFEST +++ b/modules/plugin/base/public/MANIFEST @@ -1,52 +1 @@ -# -# The contents of this file are subject to the Netscape Public -# License Version 1.1 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.mozilla.org/NPL/ -# -# Software distributed under the License is distributed on an "AS -# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is Netscape -# Communications Corporation. Portions created by Netscape are -# Copyright (C) 1998 Netscape Communications Corporation. All -# Rights Reserved. -# -# Contributor(s): -# - -# -# This is a list of local files which get copied to the mozilla:dist directory -# - -nsIEventHandler.h -nsIFileUtilities.h -nsIJRILiveConnectPlugin.h -nsIJRILiveConnectPlugInstPeer.h -nsILiveConnectPlugin.h -nsILiveConnectPlugInstPeer.h -nsIMalloc.h -nsIPlugin.h -nsIPluginInstance.h -nsIPluginInstancePeer.h -nsIPluginInstancePeer2.h -nsIPluginManager.h -nsIPluginManager2.h -nsIPluginStream.h -nsIPluginStreamPeer.h -nsIPluginStreamPeer2.h -nsIPluginTagInfo.h -nsIPluginTagInfo2.h -nsISeekablePluginStreamPeer.h -nsIWindowlessPlugInstPeer.h -nsplugin.h -nsplugindefs.h -nsICookieStorage.h -nsIPluginStreamListener.h -nsIPluginStreamInfo.h -nsIPluginInputStream.h -nsIPluginInputStream2.h +# # The contents of this file are subject to the Netscape Public # License Version 1.1 (the "License"); you may not use this file # except in compliance with the License. You may obtain a copy of # the License at http://www.mozilla.org/NPL/ # # Software distributed under the License is distributed on an "AS # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or # implied. See the License for the specific language governing # rights and limitations under the License. # # The Original Code is mozilla.org code. # # The Initial Developer of the Original Code is Netscape # Communications Corporation. Portions created by Netscape are # Copyright (C) 1998 Netscape Communications Corporation. All # Rights Reserved. # # Contributor(s): # # # This is a list of local files which get copied to the mozilla:dist directory # nsIEventHandler.h nsIFileUtilities.h nsIJRILiveConnectPlugin.h nsIJRILiveConnectPlugInstPeer.h nsILiveConnectPlugin.h nsILiveConnectPlugInstPeer.h nsIMalloc.h nsIPlugin.h nsIPluginInstance.h nsIPluginInstancePeer.h nsIPluginInstancePeer2.h #nsIPluginManager.h nsIPluginManager2.h nsIPluginStream.h nsIPluginStreamPeer.h nsIPluginStreamPeer2.h nsIPluginTagInfo.h nsIPluginTagInfo2.h nsISeekablePluginStreamPeer.h nsIWindowlessPlugInstPeer.h nsplugin.h nsplugindefs.h nsICookieStorage.h nsIPluginStreamListener.h nsIPluginStreamInfo.h nsIPluginInputStream.h nsIPluginInputStream2.h \ No newline at end of file diff --git a/modules/plugin/base/public/MANIFEST_IDL b/modules/plugin/base/public/MANIFEST_IDL new file mode 100644 index 000000000000..aeceded046a8 --- /dev/null +++ b/modules/plugin/base/public/MANIFEST_IDL @@ -0,0 +1 @@ +# The contents of this file are subject to the Netscape Public # License Version 1.1 (the "License"); you may not use this file # except in compliance with the License. You may obtain a copy of # the License at http://www.mozilla.org/NPL/ # # Software distributed under the License is distributed on an "AS # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or # implied. See the License for the specific language governing # rights and limitations under the License. # # The Original Code is mozilla.org code. # # The Initial Developer of the Original Code is Netscape # Communications Corporation. Portions created by Netscape are # Copyright (C) 1998 Netscape Communications Corporation. All # Rights Reserved. # # Contributor(s): # # This is a list of local files which get copied to the mozilla:dist:??? directory # nsIPluginManager.idl \ No newline at end of file diff --git a/modules/plugin/base/public/Makefile.in b/modules/plugin/base/public/Makefile.in index 86b1b035ac1d..3d0926796176 100644 --- a/modules/plugin/base/public/Makefile.in +++ b/modules/plugin/base/public/Makefile.in @@ -40,7 +40,6 @@ EXPORTS = \ nsIPluginInstance.h \ nsIPluginInstancePeer.h \ nsIPluginInstancePeer2.h \ - nsIPluginManager.h \ nsIPluginManager2.h \ nsIPluginStream.h \ nsIPluginTagInfo.h \ @@ -66,6 +65,7 @@ EXPORTS += \ XPIDLSRCS = \ nsIScriptablePlugin.idl \ nsIHTTPHeaderListener.idl \ + nsIPluginManager.idl \ $(NULL) EXPORTS := $(addprefix $(srcdir)/, $(EXPORTS)) diff --git a/modules/plugin/base/public/makefile.win b/modules/plugin/base/public/makefile.win index e2bb43b0f22b..ab4ae68820cb 100644 --- a/modules/plugin/base/public/makefile.win +++ b/modules/plugin/base/public/makefile.win @@ -27,9 +27,8 @@ EXPORTS = \ nsIMalloc.h \ nsIPlugin.h \ nsIPluginInstance.h \ - nsIPluginInstancePeer.h \ - nsIPluginInstancePeer2.h \ - nsIPluginManager.h \ + nsIPluginInstancePeer.h \ + nsIPluginInstancePeer2.h \ nsIPluginManager2.h \ nsIPluginTagInfo.h \ nsIPluginTagInfo2.h \ @@ -37,7 +36,7 @@ EXPORTS = \ nsIPluginStreamListener.h \ nsIPluginStreamInfo.h \ nsplugin.h \ - nsplugindefs.h \ + nsplugindefs.h \ nsICookieStorage.h # DEPRECATED -- remove before we ship 5.0 @@ -55,7 +54,8 @@ EXPORTS = $(EXPORTS) \ XPIDLSRCS = \ .\nsIScriptablePlugin.idl \ - .\nsIHTTPHeaderListener.idl \ + .\nsIHTTPHeaderListener.idl \ + .\nsIPluginManager.idl \ $(NULL) include <$(DEPTH)/config/rules.mak> diff --git a/modules/plugin/base/public/nsIPluginManager.idl b/modules/plugin/base/public/nsIPluginManager.idl index cf65633d6f5e..31c3e0967c33 100644 --- a/modules/plugin/base/public/nsIPluginManager.idl +++ b/modules/plugin/base/public/nsIPluginManager.idl @@ -35,17 +35,52 @@ */ //////////////////////////////////////////////////////////////////////////////// -#include "nsPluginDefs.idl" +#include "nsISupports.idl" +%{C++ +#include "nsplugindefs.h" +%} -/** +// CLSID for the browser's global plugin manager object. +%{C++ +#define NS_PLUGINMANAGER_CID \ +{ /* ce768990-5a4e-11d2-8164-006008119d7a */ \ + 0xce768990, \ + 0x5a4e, \ + 0x11d2, \ + {0x81, 0x64, 0x00, 0x60, 0x08, 0x11, 0x9d, 0x7a} \ +} +%} + +interface nsIPluginStreamListener; +native nsPluginManagerVariable(nsPluginManagerVariable); +native REFNSIID(REFNSIID); +native nativeVoid(void *); +native nativeChar(const char * *); + +[scriptable, uuid(da58ad80-4eb6-11d2-8164-006008119d7a)] + +/* * The nsIPluginManager interface defines the minimum set of functionality that * the browser will support if it allows plugins. Plugins can call QueryInterface * to determine if a plugin manager implements more specific APIs or other * browser interfaces for the plugin to use (e.g. nsINetworkManager). */ -[scriptable, uuid(a268450e-2df8-11d4-8cf4-0060b0fc14a3)] + interface nsIPluginManager : nsISupports { + + /** + * Returns the value of a variable associated with the plugin manager. + * + * (Corresponds to NPN_GetValue.) + * + * @param variable - the plugin manager variable to get + * @param value - the address of where to store the resulting value + * @result - NS_OK if this operation was successful + */ + [noscript] void GetValue(in nsPluginManagerVariable variable, + in nativeVoid value); + /** * Causes the plugins directory to be searched again for new plugin * libraries. @@ -62,9 +97,9 @@ interface nsIPluginManager : nsISupports * * (Corresponds to NPN_UserAgent.) * - * @result - the resulting user agent string + * @param resultingAgentString - the resulting user agent string */ - readonly attribute string userAgent; + [noscript] void UserAgent(in nativeChar resultingAgentString); /** * Fetches a URL. @@ -87,13 +122,16 @@ interface nsIPluginManager : nsISupports * specify PR_FALSE) * @result - NS_OK if this operation was successful */ - void getURL(in nsISupports pluginInst, - in wstring url, - in wstring target, - in nsIPluginStreamListener streamListener, - in wstring altHost, - in wstring referrer, - in boolean forceJSEnabled); +%{C++ + 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; +%} /** * Posts to a URL with post data and/or post headers. @@ -120,20 +158,91 @@ interface nsIPluginManager : nsISupports * URLs, even if the user currently has JavaScript disabled (usually * specify PR_FALSE) * @param postHeadersLength - the length of postHeaders (if non-NULL) - * @param postHeaders - the headers to POST. NULL specifies that there - * are no post headers + * @param postHeaders - the headers to POST. Must be in the form of + * "HeaderName: HeaderValue\r\n". Each header, including the last, + * must be followed by "\r\n". NULL specifies that there are no + * post headers * @result - NS_OK if this operation was successful */ - void postURL(in nsISupports pluginInst, - in wstring url, - in unsigned long postDataLen, - in string postData, // XXX wstring? - in unsigned long postHeadersLength, - in string postHeaders, // XXX wstring? - in boolean isFile, - in wstring target, - in nsIPluginStreamListener streamListener, - in wstring altHost, - in wstring referrer, - in boolean forceJSEnabled); +%{C++ + NS_IMETHOD + PostURL(nsISupports* pluginInst, + const char* url, + PRUint32 postDataLen, + const char* postData, + PRBool isFile = PR_FALSE, + const char* target = NULL, + nsIPluginStreamListener* streamListener = NULL, + const char* altHost = NULL, + const char* referrer = NULL, + PRBool forceJSEnabled = PR_FALSE, + PRUint32 postHeadersLength = 0, + const char* postHeaders = NULL) = 0; +%} + + /** + * Persistently register a plugin with the plugin + * manager. aMimeTypes, aMimeDescriptions, and aFileExtensions are + * parallel arrays that contain information about the MIME types + * that the plugin supports. + * + * @param aCID - the plugin's CID + * @param aPluginName - the plugin's name + * @param aDescription - a description of the plugin + * @param aMimeTypes - an array of MIME types that the plugin + * is prepared to handle + * @param aMimeDescriptions - an array of descriptions for the + * MIME types that the plugin can handle. + * @param aFileExtensions - an array of file extensions for + * the MIME types that the plugin can handle. + * @param aCount - the number of elements in the aMimeTypes, + * aMimeDescriptions, and aFileExtensions arrays. + * @result - NS_OK if the operation was successful. + */ + [noscript] void RegisterPlugin(in REFNSIID aCID, + in string aPluginName, + in string aDescription, + in nativeChar aMimeTypes, + in nativeChar aMimeDescriptions, + in nativeChar aFileExtensions, + in long aCount); + + /** + * Unregister a plugin from the plugin manager + * + * @param aCID the CID of the plugin to unregister. + * @result - NS_OK if the operation was successful. + */ + [noscript] void UnregisterPlugin(in REFNSIID aCID); + + /** + * Fetches a URL, with Headers + + * @see GetURL. Identical except for additional params headers and + * headersLen + + * @param getHeadersLength - the length of getHeaders (if non-NULL) + + * @param getHeaders - the headers to GET. Must be in the form of + * "HeaderName: HeaderValue\r\n". Each header, including the last, + * must be followed by "\r\n". NULL specifies that there are no + * get headers + + * @result - NS_OK if this operation was successful + + */ +%{C++ + 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; +%} + }; + diff --git a/modules/plugin/macbuild/pluginIDL.mcp b/modules/plugin/macbuild/pluginIDL.mcp index 8250895cfb3d6f5f6d5cd96a3b6cc32b0d231192..59ec0117431127fd4f7b28c39c7194cf7510809c 100644 GIT binary patch delta 2994 zcmbW3du&ui6o=>DyY0QS+wDTT?Lu331*EOQHWZ|QFRIYOmM)7Fc}TDimjbrirQJ3p z0$Y^=K}E|TqM*DK%0nr+1!Dv)SPfKS2vMR)v=BwZ!`NaXiplyrcW!H=@gGkzGv|IY zbLPyu)VCNLupBIKIK5NzB|4$*L4hQWLbcaW zS)vzhi>X(j-Dm30qTO%muc19)>W9%Dso$K zLa8)@uS?iI0iH3pgbKxiBBLmz%g|926brf!qO`-sGmP1x(o#*11dO4NAyf_J8*I&d zUQ&WplE@mmB$nQs@6@Lz4weT7>!$gu>MNH7i_3y#m4R9hzqEO%-s)|WhV?GRV#p3n zrs<|gu*M{ApXKDOFI)K9B)gvH{6LD82V+2{zSBEKN;Wn@o|w)u79;7deTu|4y2kQ@ zd7}p;8=b-*-sSRZv_->!-F?VnSnhBvAD#&`31&Q^mu12ejg5@%NcVkiq*}7!#-9w#4o0i4|6bJ7d56k z)m8JalgoLdzmxwsw}lrvJk9<%c$}aQJCGQocaLAD=?|}WN_>+mmoE;t@UEtkm{?y; zFwmTzp|5&=L55zQuPFMZX9g;IS`hBGdTp|vy3Z=}?6fr8^*7nk=&r5U%58}kW;j$q z4gsVpecQ#XE0W~k-LBMT|15rcMw4Fr{)#dE`#TiLqQC2llL%6}@>PpQ{m(PC%*lUr zK0GM=$H7`9JPQ4;c7VcjTm71uZkf8>z271a@8V~!FO-wk@sT$?L!4R2LRK9P(fen_ zJEZ|*8Cg7hqiBk?I$TwQ&;C91PGwcsg_q#j`H98~adjcjMplRF{=pAj;+CHmMr>;^ zY)Gg!un2GJZs=3Qw6U0`g#`b2BUpjp5BM32O%{B2J6NIMYevJlM!~m+z@`eGvJGCU zf_GvKHcjwHo`jq3P{dd`;UhqLvLOYlk@|Kqp_2AkWMF37f!193r5~VAH+dV{I59q( zg0tA4q=ruafjpg{b4 zV8}d)rhf;sx{rxlnW`;p%!%T!oM936lrWnkQbE482tF%6hb& z!ru*P(8~m0{1Eo%6nw>YuyVnd(0*D%j~k(JK@N z24=et^YBeiq$(aKC6Y*O`W#)&qI(}A!ORu)!~`%(R7mw8Bf01R)s|lXxPjShD_U`* zTE%+k2ze6Mr>H~@Y1T~WuMkBbx=~q0lB!XPsW(Wn%c}y%Gqv*~^f!ot??+|sY|_in-y{m&hDwBtdhTxM6n~H~Hekl8dhQG8J5Xr- z=Wg@`tGeR~z)loMeIu$C;n3>a(08Fg8nRFsvC7m9v?wJfGY8LL{64S?bmQrC`3 z#H#uMJ$rAXK#t(#BIdJ^vzYFWG7fV6RPU?7JU1ywDdQpCXW^)LHF6TZ186ZY>*?xy zHFDM_gVDa%w5g>7LnN&Zngj delta 2021 zcmY+Ee{57m5XX1lUGHAo>-FI7+M~2yAr*?y+VaD;CXj1L3$%qCaFriHy#C-vv8B&m zZTy4SVkj6iw8ughfoMUH5)g}PF$59;gF!S}&=8Oq4}t_+0vZ$4ka&Lg?WKvE?Aw|7 z%Oiiv(O}l(xO8qG21wzt>#C=rzD-6qCMVaRbkA2 z)2iY~mh_k`Ln(V4n#ImI>)44%id|w#vZLib7R$4VCFyQWbd0-Bqd~6@XHC9~Iny&( z(CuX>GjwJ&TGlf@n9wr^yBEd;O=u2)i0y$-X{}u#P5m62RDo2vZr+Sr(V-Q z$g`y|{6i7oUG8M zJ;hHd*zYxOv6W2&(Sm^sNz z-n{Z`SqqHJL_vI}PTAM13&iD1ZOO^SP)UC4*Wfc9pp>A`e z&D;f#FgxJSW1U86stwL+_aw1(u}c$O6;?Xle(Sek`>oML?^%ZJ_t}F;3$==HV~8S| zZg!z|Cew4%#GToZR5A3?I13AuJz}x$5Sx?JVU{!++$sVaeN-&^z6<%x6*oS1XjBu$ zLo;N#?^1q5qhr-SM_KPLR&i=%qK0}pl0@hEsv--?8{q?Xx>ob$b6ux}S^gLyNu;IS zkYA=MikXx9Z64HVwO4OxZ*KiR^5}d}rx{t^gXp3eEk>jXefPkOG9MH3c}&MEGOzGJ zGW<&az(;NvZR^$(^5t&0R4U){I&Mh*&MHE3x)eWPfGt#f_6YBne8KD3KUeXzFTko4 zuiDFpCC|JI-J^KVuaIjL&wSFC0_H?BB?XB%g!hQJdnIc7O#Hf8j44 zHsd>>J0xG`L;`=T^MlZZmuu>9P+z~m|Z;AiI;b@j5VM>P2TV> z#ozpy2c5J~D;eQk(r=(=6Bbyb&IKu}ecMd>NMbsO1Lf#`On&Ui=nfxm# zs)+XZa>#v>f?wyZbi}X780$1Wd=g-viHS4D1CqPtO`DxY^l9TE?^nD%#0|+kH=);? zdD{DA!SMmg;a<=CB~O0_N{XsOpcnG{k`m&5kq=A0G8@WO6@UFl$o-fYJIniA65oeB jpzyY*kPl0U@Je1J`EeXyQ|al|PJkmOCf;@)c2UoNibcWO diff --git a/modules/plugin/public/MANIFEST b/modules/plugin/public/MANIFEST index 24f9166e213d..9fa86b324a76 100644 --- a/modules/plugin/public/MANIFEST +++ b/modules/plugin/public/MANIFEST @@ -1,52 +1 @@ -# -# The contents of this file are subject to the Netscape Public -# License Version 1.1 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.mozilla.org/NPL/ -# -# Software distributed under the License is distributed on an "AS -# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is Netscape -# Communications Corporation. Portions created by Netscape are -# Copyright (C) 1998 Netscape Communications Corporation. All -# Rights Reserved. -# -# Contributor(s): -# - -# -# This is a list of local files which get copied to the mozilla:dist directory -# - -nsIEventHandler.h -nsIFileUtilities.h -nsIJRILiveConnectPlugin.h -nsIJRILiveConnectPlugInstPeer.h -nsILiveConnectPlugin.h -nsILiveConnectPlugInstPeer.h -nsIMalloc.h -nsIPlugin.h -nsIPluginInstance.h -nsIPluginInstancePeer.h -nsIPluginInstancePeer2.h -nsIPluginManager.h -nsIPluginManager2.h -nsIPluginStream.h -nsIPluginStreamPeer.h -nsIPluginStreamPeer2.h -nsIPluginTagInfo.h -nsIPluginTagInfo2.h -nsISeekablePluginStreamPeer.h -nsIWindowlessPlugInstPeer.h -nsplugin.h -nsplugindefs.h -nsICookieStorage.h -nsIPluginStreamListener.h -nsIPluginStreamInfo.h -nsIPluginInputStream.h -nsIPluginInputStream2.h +# # The contents of this file are subject to the Netscape Public # License Version 1.1 (the "License"); you may not use this file # except in compliance with the License. You may obtain a copy of # the License at http://www.mozilla.org/NPL/ # # Software distributed under the License is distributed on an "AS # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or # implied. See the License for the specific language governing # rights and limitations under the License. # # The Original Code is mozilla.org code. # # The Initial Developer of the Original Code is Netscape # Communications Corporation. Portions created by Netscape are # Copyright (C) 1998 Netscape Communications Corporation. All # Rights Reserved. # # Contributor(s): # # # This is a list of local files which get copied to the mozilla:dist directory # nsIEventHandler.h nsIFileUtilities.h nsIJRILiveConnectPlugin.h nsIJRILiveConnectPlugInstPeer.h nsILiveConnectPlugin.h nsILiveConnectPlugInstPeer.h nsIMalloc.h nsIPlugin.h nsIPluginInstance.h nsIPluginInstancePeer.h nsIPluginInstancePeer2.h #nsIPluginManager.h nsIPluginManager2.h nsIPluginStream.h nsIPluginStreamPeer.h nsIPluginStreamPeer2.h nsIPluginTagInfo.h nsIPluginTagInfo2.h nsISeekablePluginStreamPeer.h nsIWindowlessPlugInstPeer.h nsplugin.h nsplugindefs.h nsICookieStorage.h nsIPluginStreamListener.h nsIPluginStreamInfo.h nsIPluginInputStream.h nsIPluginInputStream2.h \ No newline at end of file diff --git a/modules/plugin/public/MANIFEST_IDL b/modules/plugin/public/MANIFEST_IDL new file mode 100644 index 000000000000..aeceded046a8 --- /dev/null +++ b/modules/plugin/public/MANIFEST_IDL @@ -0,0 +1 @@ +# The contents of this file are subject to the Netscape Public # License Version 1.1 (the "License"); you may not use this file # except in compliance with the License. You may obtain a copy of # the License at http://www.mozilla.org/NPL/ # # Software distributed under the License is distributed on an "AS # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or # implied. See the License for the specific language governing # rights and limitations under the License. # # The Original Code is mozilla.org code. # # The Initial Developer of the Original Code is Netscape # Communications Corporation. Portions created by Netscape are # Copyright (C) 1998 Netscape Communications Corporation. All # Rights Reserved. # # Contributor(s): # # This is a list of local files which get copied to the mozilla:dist:??? directory # nsIPluginManager.idl \ No newline at end of file diff --git a/modules/plugin/public/Makefile.in b/modules/plugin/public/Makefile.in index 86b1b035ac1d..3d0926796176 100644 --- a/modules/plugin/public/Makefile.in +++ b/modules/plugin/public/Makefile.in @@ -40,7 +40,6 @@ EXPORTS = \ nsIPluginInstance.h \ nsIPluginInstancePeer.h \ nsIPluginInstancePeer2.h \ - nsIPluginManager.h \ nsIPluginManager2.h \ nsIPluginStream.h \ nsIPluginTagInfo.h \ @@ -66,6 +65,7 @@ EXPORTS += \ XPIDLSRCS = \ nsIScriptablePlugin.idl \ nsIHTTPHeaderListener.idl \ + nsIPluginManager.idl \ $(NULL) EXPORTS := $(addprefix $(srcdir)/, $(EXPORTS)) diff --git a/modules/plugin/public/makefile.win b/modules/plugin/public/makefile.win index e2bb43b0f22b..ab4ae68820cb 100644 --- a/modules/plugin/public/makefile.win +++ b/modules/plugin/public/makefile.win @@ -27,9 +27,8 @@ EXPORTS = \ nsIMalloc.h \ nsIPlugin.h \ nsIPluginInstance.h \ - nsIPluginInstancePeer.h \ - nsIPluginInstancePeer2.h \ - nsIPluginManager.h \ + nsIPluginInstancePeer.h \ + nsIPluginInstancePeer2.h \ nsIPluginManager2.h \ nsIPluginTagInfo.h \ nsIPluginTagInfo2.h \ @@ -37,7 +36,7 @@ EXPORTS = \ nsIPluginStreamListener.h \ nsIPluginStreamInfo.h \ nsplugin.h \ - nsplugindefs.h \ + nsplugindefs.h \ nsICookieStorage.h # DEPRECATED -- remove before we ship 5.0 @@ -55,7 +54,8 @@ EXPORTS = $(EXPORTS) \ XPIDLSRCS = \ .\nsIScriptablePlugin.idl \ - .\nsIHTTPHeaderListener.idl \ + .\nsIHTTPHeaderListener.idl \ + .\nsIPluginManager.idl \ $(NULL) include <$(DEPTH)/config/rules.mak> diff --git a/modules/plugin/public/nsIPluginManager.idl b/modules/plugin/public/nsIPluginManager.idl index cf65633d6f5e..31c3e0967c33 100644 --- a/modules/plugin/public/nsIPluginManager.idl +++ b/modules/plugin/public/nsIPluginManager.idl @@ -35,17 +35,52 @@ */ //////////////////////////////////////////////////////////////////////////////// -#include "nsPluginDefs.idl" +#include "nsISupports.idl" +%{C++ +#include "nsplugindefs.h" +%} -/** +// CLSID for the browser's global plugin manager object. +%{C++ +#define NS_PLUGINMANAGER_CID \ +{ /* ce768990-5a4e-11d2-8164-006008119d7a */ \ + 0xce768990, \ + 0x5a4e, \ + 0x11d2, \ + {0x81, 0x64, 0x00, 0x60, 0x08, 0x11, 0x9d, 0x7a} \ +} +%} + +interface nsIPluginStreamListener; +native nsPluginManagerVariable(nsPluginManagerVariable); +native REFNSIID(REFNSIID); +native nativeVoid(void *); +native nativeChar(const char * *); + +[scriptable, uuid(da58ad80-4eb6-11d2-8164-006008119d7a)] + +/* * The nsIPluginManager interface defines the minimum set of functionality that * the browser will support if it allows plugins. Plugins can call QueryInterface * to determine if a plugin manager implements more specific APIs or other * browser interfaces for the plugin to use (e.g. nsINetworkManager). */ -[scriptable, uuid(a268450e-2df8-11d4-8cf4-0060b0fc14a3)] + interface nsIPluginManager : nsISupports { + + /** + * Returns the value of a variable associated with the plugin manager. + * + * (Corresponds to NPN_GetValue.) + * + * @param variable - the plugin manager variable to get + * @param value - the address of where to store the resulting value + * @result - NS_OK if this operation was successful + */ + [noscript] void GetValue(in nsPluginManagerVariable variable, + in nativeVoid value); + /** * Causes the plugins directory to be searched again for new plugin * libraries. @@ -62,9 +97,9 @@ interface nsIPluginManager : nsISupports * * (Corresponds to NPN_UserAgent.) * - * @result - the resulting user agent string + * @param resultingAgentString - the resulting user agent string */ - readonly attribute string userAgent; + [noscript] void UserAgent(in nativeChar resultingAgentString); /** * Fetches a URL. @@ -87,13 +122,16 @@ interface nsIPluginManager : nsISupports * specify PR_FALSE) * @result - NS_OK if this operation was successful */ - void getURL(in nsISupports pluginInst, - in wstring url, - in wstring target, - in nsIPluginStreamListener streamListener, - in wstring altHost, - in wstring referrer, - in boolean forceJSEnabled); +%{C++ + 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; +%} /** * Posts to a URL with post data and/or post headers. @@ -120,20 +158,91 @@ interface nsIPluginManager : nsISupports * URLs, even if the user currently has JavaScript disabled (usually * specify PR_FALSE) * @param postHeadersLength - the length of postHeaders (if non-NULL) - * @param postHeaders - the headers to POST. NULL specifies that there - * are no post headers + * @param postHeaders - the headers to POST. Must be in the form of + * "HeaderName: HeaderValue\r\n". Each header, including the last, + * must be followed by "\r\n". NULL specifies that there are no + * post headers * @result - NS_OK if this operation was successful */ - void postURL(in nsISupports pluginInst, - in wstring url, - in unsigned long postDataLen, - in string postData, // XXX wstring? - in unsigned long postHeadersLength, - in string postHeaders, // XXX wstring? - in boolean isFile, - in wstring target, - in nsIPluginStreamListener streamListener, - in wstring altHost, - in wstring referrer, - in boolean forceJSEnabled); +%{C++ + NS_IMETHOD + PostURL(nsISupports* pluginInst, + const char* url, + PRUint32 postDataLen, + const char* postData, + PRBool isFile = PR_FALSE, + const char* target = NULL, + nsIPluginStreamListener* streamListener = NULL, + const char* altHost = NULL, + const char* referrer = NULL, + PRBool forceJSEnabled = PR_FALSE, + PRUint32 postHeadersLength = 0, + const char* postHeaders = NULL) = 0; +%} + + /** + * Persistently register a plugin with the plugin + * manager. aMimeTypes, aMimeDescriptions, and aFileExtensions are + * parallel arrays that contain information about the MIME types + * that the plugin supports. + * + * @param aCID - the plugin's CID + * @param aPluginName - the plugin's name + * @param aDescription - a description of the plugin + * @param aMimeTypes - an array of MIME types that the plugin + * is prepared to handle + * @param aMimeDescriptions - an array of descriptions for the + * MIME types that the plugin can handle. + * @param aFileExtensions - an array of file extensions for + * the MIME types that the plugin can handle. + * @param aCount - the number of elements in the aMimeTypes, + * aMimeDescriptions, and aFileExtensions arrays. + * @result - NS_OK if the operation was successful. + */ + [noscript] void RegisterPlugin(in REFNSIID aCID, + in string aPluginName, + in string aDescription, + in nativeChar aMimeTypes, + in nativeChar aMimeDescriptions, + in nativeChar aFileExtensions, + in long aCount); + + /** + * Unregister a plugin from the plugin manager + * + * @param aCID the CID of the plugin to unregister. + * @result - NS_OK if the operation was successful. + */ + [noscript] void UnregisterPlugin(in REFNSIID aCID); + + /** + * Fetches a URL, with Headers + + * @see GetURL. Identical except for additional params headers and + * headersLen + + * @param getHeadersLength - the length of getHeaders (if non-NULL) + + * @param getHeaders - the headers to GET. Must be in the form of + * "HeaderName: HeaderValue\r\n". Each header, including the last, + * must be followed by "\r\n". NULL specifies that there are no + * get headers + + * @result - NS_OK if this operation was successful + + */ +%{C++ + 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; +%} + }; +