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
This commit is contained in:
joe.chou%eng.sun.com 2001-03-27 00:37:58 +00:00
parent 63191a81f3
commit d65d8b3774
19 changed files with 346 additions and 268 deletions

View File

@ -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();

Binary file not shown.

View File

@ -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

View File

@ -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

View File

@ -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 \

View File

@ -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 \

View File

@ -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);
};

View File

@ -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

View File

@ -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

View File

@ -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))

View File

@ -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>

View File

@ -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;
%}
};

View File

@ -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

View File

@ -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

View File

@ -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))

View File

@ -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>

View File

@ -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;
%}
};