fdo#45071: Remove ENABLE_NPAPI_INTO_BROWSER left-overs

...from previous commit

Change-Id: I945faa6215f971ce817c6450fe0786da0696091f
This commit is contained in:
Stephan Bergmann
2014-09-09 15:19:05 +02:00
parent 496bc3cd6c
commit d968c28287
22 changed files with 2 additions and 1643 deletions

View File

@@ -332,7 +332,6 @@ if test "z$OOO_VENDOR" != "zDebian" ; then
program/configimport.bin \
program/javaldx \
program/msfontextract \
program/nsplugin \
program/oosplash.bin \
program/pagein \
program/pagein-calc \
@@ -495,7 +494,7 @@ else
fi &&
( cd pkg/libreoffice-common/$d
find -maxdepth 1 \
-regex '\./\(.*\.so.*\|.*\.bin\|pagein\|nsplugin\|tdefilepicker\|kdefilepicker\|msfontextract\|.*\.rdb\|javaldx\|uri-encode\)' \
-regex '\./\(.*\.so.*\|.*\.bin\|pagein\|tdefilepicker\|kdefilepicker\|msfontextract\|.*\.rdb\|javaldx\|uri-encode\)' \
-exec mv {} $DESTDIR/pkg/libreoffice-core/$d \;
); \
done

View File

@@ -199,10 +199,4 @@ $(eval $(call gb_Library_add_exception_objects,cui,\
cui/source/uno/services \
))
ifeq ($(OS),WNT)
$(eval $(call gb_Library_add_exception_objects,cui,\
cui/source/dialogs/winpluginlib \
))
endif
# vim: set noet sw=4 ts=4:

View File

@@ -116,7 +116,6 @@ $(eval $(call gb_UIConfig_add_uifiles,cui,\
cui/uiconfig/ui/optappearancepage \
cui/uiconfig/ui/optasianpage \
cui/uiconfig/ui/optbasicidepage \
cui/uiconfig/ui/optbrowserpage \
cui/uiconfig/ui/optctlpage \
cui/uiconfig/ui/optchartcolorspage \
cui/uiconfig/ui/optemailpage \

View File

@@ -1,196 +0,0 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 .
*/
#if defined _MSC_VER
#pragma warning(push, 1)
#endif
#undef WB_LEFT
#undef WB_RIGHT
#include <windows.h>
#if defined _MSC_VER
#pragma warning(pop)
#endif
#include <winreg.h>
#include <shlwapi.h>
#include <stdio.h>
#define SO_PATH_SIZE 4096
extern "C" {
int lc_isInstalled(const char* realFilePath)
{
HKEY hLibreOffice;
char sSoPath[SO_PATH_SIZE];
char sPluginPath[SO_PATH_SIZE];
LONG ret;
ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\MozillaPlugins\\@sun.com/npsopluginmi;version=1.0", 0, KEY_READ, &hLibreOffice);
if(ret != ERROR_SUCCESS){
ret = RegOpenKeyEx(HKEY_CURRENT_USER, "SOFTWARE\\MozillaPlugins\\@sun.com/npsopluginmi;version=1.0", 0, KEY_READ, &hLibreOffice);
if(ret != ERROR_SUCCESS){
return -1;
}
}
if((realFilePath == NULL) || (strlen(realFilePath) == 0) || (strlen(realFilePath) >= SO_PATH_SIZE))
ret = -1;
else{
sprintf(sSoPath,"%s", realFilePath);
ret = 0;
}
// GetCurrentDirectory return the char number of the string
if(ret == 0){
DWORD dType = REG_SZ;
DWORD dSize = SO_PATH_SIZE;
ret = RegQueryValueEx (hLibreOffice, "Path", NULL, &dType , (LPBYTE) sPluginPath, &dSize);
if(ret == ERROR_SUCCESS){
if(strcmp(sPluginPath, sSoPath) == 0)
ret = 0;
else
ret = 1;
}
else
ret = -1;
}
else
ret = -1;
RegCloseKey(hLibreOffice);
return ret;
}
int lc_uninstallPlugin(const char*)
{
HKEY hKeySoftware;
HKEY hMozillaPlugins;
HKEY hStarOffice;
LONG ret;
ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE", 0, KEY_READ|KEY_WRITE, &hKeySoftware);
if(ret != ERROR_SUCCESS){
ret = RegOpenKeyEx(HKEY_CURRENT_USER, "SOFTWARE", 0, KEY_READ|KEY_WRITE, &hKeySoftware);
if(ret != ERROR_SUCCESS){
return -1;
}
}
ret = RegOpenKeyEx(hKeySoftware, "MozillaPlugins", 0, KEY_READ|KEY_WRITE, &hMozillaPlugins);
if(ret != ERROR_SUCCESS){
RegCloseKey(hKeySoftware);
if( ret == ERROR_FILE_NOT_FOUND)
return 0;
else
return -1;
}
ret = RegOpenKeyEx(hMozillaPlugins, "@sun.com/npsopluginmi;version=1.0", 0, KEY_READ|KEY_WRITE, &hStarOffice);
if(ret != ERROR_SUCCESS){
RegCloseKey(hKeySoftware);
RegCloseKey(hMozillaPlugins);
if( ret == ERROR_FILE_NOT_FOUND)
return 0;
else
return -1;
}
RegCloseKey(hStarOffice);
ret = SHDeleteKey(hMozillaPlugins, "@sun.com/npsopluginmi;version=1.0");
if(ret != ERROR_SUCCESS){
ret = -1;
}
RegFlushKey(hMozillaPlugins);
RegCloseKey(hMozillaPlugins);
RegCloseKey(hKeySoftware);
return ret;
}
int lc_installPlugin(const char* realFilePath)
{
HKEY hKeySoftware;
HKEY hMozillaPlugins;
HKEY hStarOffice;
char sSoPath[SO_PATH_SIZE];
DWORD sState;
LONG ret;
ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE", 0, KEY_READ|KEY_WRITE, &hKeySoftware);
if(ret != ERROR_SUCCESS){
ret = RegOpenKeyEx(HKEY_CURRENT_USER, "SOFTWARE", 0, KEY_READ|KEY_WRITE, &hKeySoftware);
if(ret != ERROR_SUCCESS){
return -1;
}
}
ret = RegOpenKeyEx(hKeySoftware, "MozillaPlugins", 0, KEY_READ|KEY_WRITE, &hMozillaPlugins);
if(ret != ERROR_SUCCESS){
RegCreateKeyEx(hKeySoftware,
"MozillaPlugins",
0,
NULL,
REG_OPTION_NON_VOLATILE,
KEY_READ|KEY_WRITE,
NULL,
&hMozillaPlugins,
&sState);
}
ret = RegCreateKeyEx(hMozillaPlugins,
"@sun.com/npsopluginmi;version=1.0",
0,
NULL,
REG_OPTION_NON_VOLATILE,
KEY_READ|KEY_WRITE,
NULL,
&hStarOffice,
&sState);
if(ret != ERROR_SUCCESS){
RegCloseKey(hKeySoftware);
RegCloseKey(hMozillaPlugins);
return -1;
}
RegFlushKey(hStarOffice);
RegFlushKey(hMozillaPlugins);
if((realFilePath == NULL) || (strlen(realFilePath) == 0) || (strlen(realFilePath) >= SO_PATH_SIZE))
ret = -1;
else{
sprintf(sSoPath,"%s", realFilePath);
ret = 0;
}
// GetCurrentDirectory return the char number of the string
if(ret == 0){
ret = RegSetValueEx( hStarOffice, "Path", 0, REG_SZ, (LPBYTE) sSoPath, strlen(sSoPath) + 1);
if(ret == ERROR_SUCCESS)
ret = 0;
else
ret = -1;
}
else
ret = -1;
RegFlushKey(hStarOffice);
RegFlushKey(hMozillaPlugins);
RegCloseKey(hStarOffice);
RegCloseKey(hMozillaPlugins);
RegCloseKey(hKeySoftware);
RegFlushKey(HKEY_LOCAL_MACHINE);
return ret;
}
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -913,202 +913,6 @@ void SvxSecurityTabPage::Reset( const SfxItemSet* )
{
}
MozPluginTabPage::MozPluginTabPage(Window* pParent, const SfxItemSet& rSet)
: SfxTabPage(pParent, "OptBrowserPage", "cui/ui/optbrowserpage.ui", &rSet)
{
get(m_pWBasicCodeCB, "display");
}
MozPluginTabPage::~MozPluginTabPage()
{
}
SfxTabPage* MozPluginTabPage::Create( Window* pParent,
const SfxItemSet* rAttrSet )
{
return new MozPluginTabPage( pParent, *rAttrSet );
}
bool MozPluginTabPage::FillItemSet( SfxItemSet* )
{
bool hasInstall = isInstalled();
bool hasChecked = m_pWBasicCodeCB->IsChecked();
if(hasInstall && (!hasChecked)){
//try to uninstall
uninstallPlugin();
}
else if((!hasInstall) && hasChecked){
//try to install
installPlugin();
}
else{
// do nothing
}
return true;
}
void MozPluginTabPage::Reset( const SfxItemSet* )
{
m_pWBasicCodeCB->Check( isInstalled());
m_pWBasicCodeCB->SaveValue();
}
#ifdef WNT
extern "C" {
int lc_isInstalled(const char* realFilePath);
int lc_installPlugin(const char* realFilePath);
int lc_uninstallPlugin(const char* realFilePath);
}
#endif
#define NPP_PATH_MAX 2048
inline bool getDllURL(OString * path)
{
OSL_ASSERT(path != NULL);
OUString dirPath/*dllPath, */;
if (osl_getExecutableFile(&dirPath.pData) != osl_Process_E_None) {
return false;
}
dirPath = dirPath.copy(0, dirPath.lastIndexOf('/'));
OUString sysDirPath;
osl::FileBase::getSystemPathFromFileURL(dirPath, sysDirPath);
*path = OUStringToOString(sysDirPath, RTL_TEXTENCODING_ASCII_US);
return true;
}
bool MozPluginTabPage::isInstalled()
{
#ifdef UNIX
// get the real file referred by .so lnk file
char lnkReferFilePath[NPP_PATH_MAX] = {0};
char* pHome = getpwuid(getuid())->pw_dir;
OString lnkFilePath(OString(pHome) + OString("/.mozilla/plugins/libnpsoplugin" SAL_DLLEXTENSION));
struct stat sBuf;
if (0 > lstat(lnkFilePath.getStr(), &sBuf))
return false;
if (!S_ISLNK(sBuf.st_mode))
return false;
if (0 >= readlink(lnkFilePath.getStr(), lnkReferFilePath, NPP_PATH_MAX))
return false;
// If the link is relative, then we regard it as non-standard
if (lnkReferFilePath[0] != '/')
return false;
// get the real file path
char realFilePath[NPP_PATH_MAX] = {0};
OString tempString;
if (!getDllURL(&tempString)) {
return false;
}
strncpy(realFilePath, tempString.getStr(), NPP_PATH_MAX - 1);
strcat(realFilePath, "/libnpsoplugin" SAL_DLLEXTENSION);
if (0 != strcmp(lnkReferFilePath, realFilePath))
return false;
return true;
#endif
#ifdef WNT
// get the value from registry
sal_Bool ret = true;
OString tempString;
char realFilePath[NPP_PATH_MAX] = {0};
if (!getDllURL(&tempString)){
return false;
}
strncpy(realFilePath, tempString.getStr(), NPP_PATH_MAX);
if(! lc_isInstalled(realFilePath))
ret =true;
else
ret = false;
return ret;
#endif
}
bool MozPluginTabPage::installPlugin()
{
#ifdef UNIX
// get the real file referred by .so lnk file
char* pHome = getpwuid(getuid())->pw_dir;
if(!pHome)
{
return false;
}
OString lnkFilePath(OString(pHome) + OString("/.mozilla/plugins/libnpsoplugin" SAL_DLLEXTENSION));
(void)remove(lnkFilePath.getStr());
// create the dirs if necessary
struct stat buf;
char tmpDir[NPP_PATH_MAX] = {0};
snprintf(tmpDir, NPP_PATH_MAX, "%s/.mozilla", pHome);
if (0 > stat(lnkFilePath.getStr(), &buf))
{
if(mkdir(tmpDir, 0755))
{
return false;
}
strcat(tmpDir, "/plugins");
if(mkdir(tmpDir, 0755))
{
return false;
}
}
// get the real file path
char realFilePath[NPP_PATH_MAX] = {0};
OString tempString;
if (!getDllURL(&tempString)) {
return false;
}
strncpy(realFilePath, tempString.getStr(), NPP_PATH_MAX - 1);
strcat(realFilePath, "/libnpsoplugin" SAL_DLLEXTENSION);
// create the link
if (0 != symlink(realFilePath, lnkFilePath.getStr()))
return false;
return true;
#endif
#ifdef WNT
OString tempString;
char realFilePath[NPP_PATH_MAX] = {0};
if (!getDllURL(&tempString)) {
return false;
}
strncpy(realFilePath, tempString.getStr(), NPP_PATH_MAX);
if( !lc_installPlugin(realFilePath))
return true;
else
return false;
#endif
}
bool MozPluginTabPage::uninstallPlugin()
{
#ifdef UNIX
// get the real file referred by .so lnk file
char* pHome = getpwuid(getuid())->pw_dir;
OString lnkFilePath(OString(pHome) + OString("/.mozilla/plugins/libnpsoplugin" SAL_DLLEXTENSION));
if(0 > remove(lnkFilePath.getStr()))
return false;
return true;
#endif
#ifdef WNT
OString tempString;
char realFilePath[NPP_PATH_MAX] = {0};
if (!getDllURL(&tempString)) {
return false;
}
strncpy(realFilePath, tempString.getStr(), NPP_PATH_MAX);
if(!lc_uninstallPlugin(realFilePath))
return true;
else
return false;
#endif
}
/* -------------------------------------------------------------------------*/
class MailerProgramCfg_Impl : public utl::ConfigItem
{
friend class SvxEMailTabPage;

View File

@@ -177,27 +177,6 @@ public:
virtual void Reset( const SfxItemSet* rSet ) SAL_OVERRIDE;
};
class MozPluginTabPage : public SfxTabPage
{
CheckBox* m_pWBasicCodeCB;
bool isInstalled(void);
bool installPlugin(void);
bool uninstallPlugin(void);
MozPluginTabPage( Window* pParent, const SfxItemSet& rSet );
virtual ~MozPluginTabPage();
public:
static SfxTabPage* Create( Window* pParent,
const SfxItemSet* rAttrSet );
virtual bool FillItemSet( SfxItemSet* rSet ) SAL_OVERRIDE;
virtual void Reset( const SfxItemSet* rSet ) SAL_OVERRIDE;
};
struct SvxEMailTabPage_Impl;
class SvxEMailTabPage : public SfxTabPage
{

View File

@@ -1,42 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.0 -->
<object class="GtkFrame" id="OptBrowserPage">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="border_width">6</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="top_padding">6</property>
<property name="left_padding">12</property>
<child>
<object class="GtkCheckButton" id="display">
<property name="label" translatable="yes">_Display documents in browser</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="valign">start</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Browser Plug-in</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
</object>
</interface>

View File

@@ -68,4 +68,3 @@
--enable-ccache
--enable-crashdump
--enable-cairo-canvas
--enable-nsplugin

View File

@@ -1,69 +0,0 @@
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
#
$(eval $(call gb_Executable_Executable,nsplugin))
$(eval $(call gb_Executable_use_external,nsplugin,boost_headers))
$(eval $(call gb_Executable_use_sdk_api,nsplugin))
$(eval $(call gb_Executable_add_exception_objects,nsplugin,\
extensions/source/nsplugin/source/so_closelistener \
extensions/source/nsplugin/source/so_instance \
extensions/source/nsplugin/source/so_main \
))
$(eval $(call gb_Executable_use_static_libraries,nsplugin,\
npsoenv \
))
$(eval $(call gb_Executable_add_libs,nsplugin,\
$(if $(filter $(OS),LINUX), \
-ldl \
) \
$(if $(filter $(OS),SOLARIS), \
-lnsl \
-lsocket \
) \
))
$(eval $(call gb_Executable_use_libraries,nsplugin,\
comphelper \
cppu \
cppuhelper \
sal \
))
ifeq ($(OS),WNT)
$(eval $(call gb_Executable_add_exception_objects,nsplugin,\
extensions/source/nsplugin/source/nsp_windows \
))
$(eval $(call gb_Executable_use_static_libraries,nsplugin,\
ooopathutils \
))
$(eval $(call gb_Executable_use_system_win32_libs,nsplugin,\
advapi32 \
comdlg32 \
gdi32 \
kernel32 \
ole32 \
oleaut32 \
shell32 \
user32 \
uuid \
winspool \
ws2_32 \
))
endif # WNT
# vim:set noet sw=4 ts=4:

View File

@@ -1,104 +0,0 @@
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
#
$(eval $(call gb_Library_Library,npsoplugin))
$(eval $(call gb_Library_use_externals,npsoplugin,\
boost_headers \
npapi_headers \
))
$(eval $(call gb_Library_use_static_libraries,npsoplugin,\
npsoenv \
nputils \
))
ifneq ($(OS),WNT)
ifeq ($(filter ANDROID DRAGONFLY FREEBSD NETBSD OPENBSD MACOSX,$(OS)),)
$(eval $(call gb_Library_add_libs,npsoplugin,\
-ldl \
))
endif
$(eval $(call gb_Library_use_external,npsoplugin,gtk))
$(eval $(call gb_Library_add_defs,npsoplugin,\
-DMOZ_X11 \
))
ifeq ($(HAVE_NON_CONST_NPP_GETMIMEDESCRIPTION),TRUE)
$(eval $(call gb_Library_add_defs,npsoplugin,\
-DHAVE_NON_CONST_NPP_GETMIMEDESCRIPTION=1 \
))
endif
ifeq ($(filter-out LINUX FREEBSD NETBSD OPENBSD DRAGONFLY,$(OS)),)
$(eval $(call gb_Library_add_defs,npsoplugin,\
-DNP_LINUX \
))
endif
else ifeq ($(OS),WNT)
$(eval $(call gb_Library_use_static_libraries,npsoplugin,\
ooopathutils \
))
$(eval $(call gb_Library_use_system_win32_libs,npsoplugin,\
advapi32 \
comdlg32 \
gdi32 \
kernel32 \
ole32 \
oleaut32 \
shell32 \
user32 \
uuid \
winspool \
ws2_32 \
))
$(eval $(call gb_Library_add_defs,npsoplugin,\
-DENGLISH \
))
ifeq ($(COM),MSC)
$(eval $(call gb_Library_add_ldflags,npsoplugin,\
/EXPORT:NPP_GetMIMEDescription \
/EXPORT:NPP_Initialize \
/EXPORT:NPP_Shutdown \
/EXPORT:NPP_New \
/EXPORT:NPP_Destroy \
/EXPORT:NPP_SetWindow \
/EXPORT:NPP_NewStream \
/EXPORT:NPP_WriteReady \
/EXPORT:NPP_Write \
/EXPORT:NPP_DestroyStream \
/EXPORT:NPP_StreamAsFile \
/EXPORT:NPP_URLNotify \
/EXPORT:NPP_Print \
/EXPORT:NP_GetEntryPoints \
/EXPORT:NP_Initialize \
/EXPORT:NP_Shutdown \
/EXPORT:NP_GetMIMEDescription \
))
endif
$(eval $(call gb_Library_set_nativeres,npsoplugin,npsoplugin/npsoplugin))
endif
$(eval $(call gb_Library_add_exception_objects,npsoplugin,\
extensions/source/nsplugin/source/npshell \
))
# vim:set shiftwidth=4 softtabstop=4 noexpandtab:

View File

@@ -1,17 +0,0 @@
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_StaticLibrary_StaticLibrary,npsoenv))
$(eval $(call gb_StaticLibrary_add_exception_objects,npsoenv,\
extensions/source/nsplugin/source/so_env \
))
# vim:set noet sw=4 ts=4:

View File

@@ -1,21 +0,0 @@
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
#
$(eval $(call gb_WinResTarget_WinResTarget,npsoplugin/npsoplugin))
$(eval $(call gb_WinResTarget_add_defs,npsoplugin/npsoplugin,\
-DVERVARIANT=$(LIBO_VERSION_PATCH) \
-DRES_APP_VENDOR="$(OOO_VENDOR)" \
))
$(eval $(call gb_WinResTarget_set_rcfile,npsoplugin/npsoplugin,extensions/source/nsplugin/source/nsplugin_oo))
# vim:set noet sw=4 ts=4:

View File

@@ -20,7 +20,6 @@ endif
$(eval $(call gb_Module_add_moduledirs,external,\
accessories \
libxmlsec \
np_sdk \
$(call gb_Helper_optional,ABW,libabw) \
$(call gb_Helper_optional,APACHE_COMMONS,apache-commons) \
$(call gb_Helper_optional,APR,apr) \

View File

@@ -1,7 +0,0 @@
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
include $(module_directory)/../../solenv/gbuild/partial_build.mk
# vim: set noet sw=4 ts=4:

View File

@@ -1,13 +0,0 @@
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_Module_Module,np_sdk))
# vim: set noet sw=4 ts=4:

View File

@@ -1,33 +0,0 @@
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_StaticLibrary_StaticLibrary,nputils))
$(eval $(call gb_StaticLibrary_use_externals,nputils,\
npapi_headers \
))
ifeq ($(OS),MACOSX)
$(eval $(call gb_StaticLibrary_add_defs,nputils,\
-DNO_X11 \
))
endif
ifeq ($(OS),WNT)
$(eval $(call gb_StaticLibrary_add_exception_objects,nputils,\
external/np_sdk/npsdk/npwin \
))
else
$(eval $(call gb_StaticLibrary_add_cobjects,nputils,\
external/np_sdk/npsdk/npunix \
))
endif
# vim: set noet sw=4 ts=4:

View File

@@ -1,2 +1,2 @@
This folder contains Mozilla headers and source-files related to plugin development. The original version of the files were taken from Mozilla1.0 tarball.
This folder contains Mozilla headers related to plugin development. The original version of the files were taken from Mozilla1.0 tarball.

View File

@@ -1,507 +0,0 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla 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/MPL/
*
* 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 the Initial Developer are Copyright (C) 1998
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Stephen Mak <smak@sun.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either of the GNU General Public License Version 2 or later (the "GPL"),
* or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
/*
* npunix.c
*
* Netscape Client Plugin API
* - Wrapper function to interface with the Netscape Navigator
*
* dp Suresh <dp@netscape.com>
*
*----------------------------------------------------------------------
* PLUGIN DEVELOPERS:
* YOU WILL NOT NEED TO EDIT THIS FILE.
*----------------------------------------------------------------------
*/
#include <sal/types.h>
#define XP_UNIX 1
#include <stdio.h>
#include "npapi.h"
#include "npupp.h"
#include "plugin.h"
/*
* Define PLUGIN_TRACE to have the wrapper functions print
* messages to stderr whenever they are called.
*/
#ifdef PLUGIN_TRACE
#include <stdio.h>
#define PLUGINDEBUGSTR(msg) fprintf(stderr, "%s\n", msg)
#else
#define PLUGINDEBUGSTR(msg)
#endif
/***********************************************************************
*
* Globals
*
***********************************************************************/
static NPNetscapeFuncs gNetscapeFuncs; /* Netscape Function table */
/***********************************************************************
*
* Wrapper functions : plugin calling Netscape Navigator
*
* These functions let the plugin developer just call the APIs
* as documented and defined in npapi.h, without needing to know
* about the function table and call macros in npupp.h.
*
***********************************************************************/
void
NPN_Version(int* plugin_major, int* plugin_minor,
int* netscape_major, int* netscape_minor)
{
*plugin_major = NP_VERSION_MAJOR;
*plugin_minor = NP_VERSION_MINOR;
/* Major version is in high byte */
*netscape_major = gNetscapeFuncs.version >> 8;
/* Minor version is in low byte */
*netscape_minor = gNetscapeFuncs.version & 0xFF;
}
NPError
NPN_GetValue(NPP instance, NPNVariable variable, void *r_value)
{
return CallNPN_GetValueProc(gNetscapeFuncs.getvalue,
instance, variable, r_value);
}
NPError
NPN_SetValue(NPP instance, NPPVariable variable, void *value)
{
return CallNPN_SetValueProc(gNetscapeFuncs.setvalue,
instance, variable, value);
}
NPError
NPN_GetURL(NPP instance, const char* url, const char* window)
{
return CallNPN_GetURLProc(gNetscapeFuncs.geturl, instance, url, window);
}
NPError
NPN_GetURLNotify(NPP instance, const char* url, const char* window, void* notifyData)
{
return CallNPN_GetURLNotifyProc(gNetscapeFuncs.geturlnotify, instance, url, window, notifyData);
}
NPError
NPN_PostURL(NPP instance, const char* url, const char* window,
uint32_t len, const char* buf, NPBool file)
{
return CallNPN_PostURLProc(gNetscapeFuncs.posturl, instance,
url, window, len, buf, file);
}
NPError
NPN_PostURLNotify(NPP instance, const char* url, const char* window, uint32_t len,
const char* buf, NPBool file, void* notifyData)
{
return CallNPN_PostURLNotifyProc(gNetscapeFuncs.posturlnotify,
instance, url, window, len, buf, file, notifyData);
}
NPError
NPN_RequestRead(NPStream* stream, NPByteRange* rangeList)
{
return CallNPN_RequestReadProc(gNetscapeFuncs.requestread,
stream, rangeList);
}
NPError
NPN_NewStream(NPP instance, NPMIMEType type, const char *window,
NPStream** stream_ptr)
{
return CallNPN_NewStreamProc(gNetscapeFuncs.newstream, instance,
type, window, stream_ptr);
}
int32_t
NPN_Write(NPP instance, NPStream* stream, int32_t len, void* buffer)
{
return CallNPN_WriteProc(gNetscapeFuncs.write, instance,
stream, len, buffer);
}
NPError
NPN_DestroyStream(NPP instance, NPStream* stream, NPError reason)
{
return CallNPN_DestroyStreamProc(gNetscapeFuncs.destroystream,
instance, stream, reason);
}
void
NPN_Status(NPP instance, const char* message)
{
CallNPN_StatusProc(gNetscapeFuncs.status, instance, message);
}
const char*
NPN_UserAgent(NPP instance)
{
return CallNPN_UserAgentProc(gNetscapeFuncs.uagent, instance);
}
void*
NPN_MemAlloc(uint32_t size)
{
return CallNPN_MemAllocProc(gNetscapeFuncs.memalloc, size);
}
void NPN_MemFree(void* ptr)
{
CallNPN_MemFreeProc(gNetscapeFuncs.memfree, ptr);
}
uint32_t NPN_MemFlush(uint32_t size)
{
return CallNPN_MemFlushProc(gNetscapeFuncs.memflush, size);
}
void NPN_ReloadPlugins(NPBool reloadPages)
{
CallNPN_ReloadPluginsProc(gNetscapeFuncs.reloadplugins, reloadPages);
}
#ifdef OJI
JRIEnv* NPN_GetJavaEnv()
{
return CallNPN_GetJavaEnvProc(gNetscapeFuncs.getJavaEnv);
}
jref NPN_GetJavaPeer(NPP instance)
{
return CallNPN_GetJavaPeerProc(gNetscapeFuncs.getJavaPeer,
instance);
}
#endif
void
NPN_InvalidateRect(NPP instance, NPRect *invalidRect)
{
CallNPN_InvalidateRectProc(gNetscapeFuncs.invalidaterect, instance,
invalidRect);
}
void
NPN_InvalidateRegion(NPP instance, NPRegion invalidRegion)
{
CallNPN_InvalidateRegionProc(gNetscapeFuncs.invalidateregion, instance,
invalidRegion);
}
void
NPN_ForceRedraw(NPP instance)
{
CallNPN_ForceRedrawProc(gNetscapeFuncs.forceredraw, instance);
}
/***********************************************************************
*
* Wrapper functions : Netscape Navigator -> plugin
*
* These functions let the plugin developer just create the APIs
* as documented and defined in npapi.h, without needing to
* install those functions in the function table or worry about
* setting up globals for 68K plugins.
*
***********************************************************************/
NPError
Private_New(NPMIMEType pluginType, NPP instance, uint16_t mode,
int16_t argc, char* argn[], char* argv[], NPSavedData* saved)
{
NPError ret;
PLUGINDEBUGSTR("New");
ret = NPP_New(pluginType, instance, mode, argc, argn, argv, saved);
return ret;
}
NPError
Private_Destroy(NPP instance, NPSavedData** save)
{
PLUGINDEBUGSTR("Destroy");
return NPP_Destroy(instance, save);
}
NPError
Private_SetWindow(NPP instance, NPWindow* window)
{
NPError err;
PLUGINDEBUGSTR("SetWindow");
err = NPP_SetWindow(instance, window);
return err;
}
NPError
Private_NewStream(NPP instance, NPMIMEType type, NPStream* stream,
NPBool seekable, uint16_t* stype)
{
NPError err;
PLUGINDEBUGSTR("NewStream");
err = NPP_NewStream(instance, type, stream, seekable, stype);
return err;
}
int32_t
Private_WriteReady(NPP instance, NPStream* stream)
{
unsigned int result;
PLUGINDEBUGSTR("WriteReady");
result = NPP_WriteReady(instance, stream);
return result;
}
int32_t
Private_Write(NPP instance, NPStream* stream, int32_t offset, int32_t len,
void* buffer)
{
unsigned int result;
PLUGINDEBUGSTR("Write");
result = NPP_Write(instance, stream, offset, len, buffer);
return result;
}
void
Private_StreamAsFile(NPP instance, NPStream* stream, const char* fname)
{
PLUGINDEBUGSTR("StreamAsFile");
NPP_StreamAsFile(instance, stream, fname);
}
NPError
Private_DestroyStream(NPP instance, NPStream* stream, NPError reason)
{
NPError err;
PLUGINDEBUGSTR("DestroyStream");
err = NPP_DestroyStream(instance, stream, reason);
return err;
}
void
Private_URLNotify(NPP instance, const char* url,
NPReason reason, void* notifyData)
{
PLUGINDEBUGSTR("URLNotify");
NPP_URLNotify(instance, url, reason, notifyData);
}
void
Private_Print(NPP instance, NPPrint* platformPrint)
{
PLUGINDEBUGSTR("Print");
NPP_Print(instance, platformPrint);
}
#ifdef OJI
JRIGlobalRef
Private_GetJavaClass(void)
{
jref clazz = NPP_GetJavaClass();
if (clazz) {
JRIEnv* env = NPN_GetJavaEnv();
return JRI_NewGlobalRef(env, clazz);
}
return NULL;
}
#endif
/***********************************************************************
*
* These functions are located automagically by netscape.
*
***********************************************************************/
/*
* NP_GetMIMEDescription
* - Netscape needs to know about this symbol
* - Netscape uses the return value to identify when an object instance
* of this plugin should be created.
*/
SAL_DLLPUBLIC_EXPORT char *
NP_GetMIMEDescription(void)
{
return (char *)NPP_GetMIMEDescription();
}
/*
* NP_GetValue [optional]
* - Netscape needs to know about this symbol.
* - Interfaces with plugin to get values for predefined variables
* that the navigator needs.
*/
SAL_DLLPUBLIC_EXPORT NPError
NP_GetValue(void* future, NPPVariable variable, void *value)
{
return NPP_GetValue(future, variable, value);
}
/*
* NP_Initialize
* - Netscape needs to know about this symbol.
* - It calls this function after looking up its symbol before it
* is about to create the first ever object of this kind.
*
* PARAMETERS
* nsTable - The netscape function table. If developers just use these
* wrappers, they dont need to worry about all these function
* tables.
* RETURN
* pluginFuncs
* - This functions needs to fill the plugin function table
* pluginFuncs and return it. Netscape Navigator plugin
* library will use this function table to call the plugin.
*
*/
SAL_DLLPUBLIC_EXPORT NPError
NP_Initialize(NPNetscapeFuncs* nsTable, NPPluginFuncs* pluginFuncs)
{
NPError err = NPERR_NO_ERROR;
PLUGINDEBUGSTR("NP_Initialize");
/* validate input parameters */
if ((nsTable == NULL) || (pluginFuncs == NULL))
err = NPERR_INVALID_FUNCTABLE_ERROR;
/*
* Check the major version passed in Netscape's function table.
* We won't load if the major version is newer than what we expect.
* Also check that the function tables passed in are big enough for
* all the functions we need (they could be bigger, if Netscape added
* new APIs, but that's OK with us -- we'll just ignore them).
*
*/
if (err == NPERR_NO_ERROR) {
if ((nsTable->version >> 8) > NP_VERSION_MAJOR)
err = NPERR_INCOMPATIBLE_VERSION_ERROR;
if (nsTable->size < sizeof(NPNetscapeFuncs))
err = NPERR_INVALID_FUNCTABLE_ERROR;
if (pluginFuncs->size < sizeof(NPPluginFuncs))
err = NPERR_INVALID_FUNCTABLE_ERROR;
}
if (err == NPERR_NO_ERROR) {
/*
* Copy all the fields of Netscape function table into our
* copy so we can call back into Netscape later. Note that
* we need to copy the fields one by one, rather than assigning
* the whole structure, because the Netscape function table
* could actually be bigger than what we expect.
*/
gNetscapeFuncs.version = nsTable->version;
gNetscapeFuncs.size = nsTable->size;
gNetscapeFuncs.posturl = nsTable->posturl;
gNetscapeFuncs.geturl = nsTable->geturl;
gNetscapeFuncs.geturlnotify = nsTable->geturlnotify;
gNetscapeFuncs.requestread = nsTable->requestread;
gNetscapeFuncs.newstream = nsTable->newstream;
gNetscapeFuncs.write = nsTable->write;
gNetscapeFuncs.destroystream = nsTable->destroystream;
gNetscapeFuncs.status = nsTable->status;
gNetscapeFuncs.uagent = nsTable->uagent;
gNetscapeFuncs.memalloc = nsTable->memalloc;
gNetscapeFuncs.memfree = nsTable->memfree;
gNetscapeFuncs.memflush = nsTable->memflush;
gNetscapeFuncs.reloadplugins = nsTable->reloadplugins;
#ifdef OJI
gNetscapeFuncs.getJavaEnv = nsTable->getJavaEnv;
gNetscapeFuncs.getJavaPeer = nsTable->getJavaPeer;
#endif
gNetscapeFuncs.getvalue = nsTable->getvalue;
/*
* Set up the plugin function table that Netscape will use to
* call us. Netscape needs to know about our version and size
* and have a UniversalProcPointer for every function we
* implement.
*/
pluginFuncs->version = (NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR;
pluginFuncs->size = sizeof(NPPluginFuncs);
pluginFuncs->newp = NewNPP_NewProc(Private_New);
pluginFuncs->destroy = NewNPP_DestroyProc(Private_Destroy);
pluginFuncs->setwindow = NewNPP_SetWindowProc(Private_SetWindow);
pluginFuncs->newstream = NewNPP_NewStreamProc(Private_NewStream);
pluginFuncs->destroystream = NewNPP_DestroyStreamProc(Private_DestroyStream);
pluginFuncs->asfile = NewNPP_StreamAsFileProc(Private_StreamAsFile);
pluginFuncs->writeready = NewNPP_WriteReadyProc(Private_WriteReady);
pluginFuncs->write = NewNPP_WriteProc(Private_Write);
pluginFuncs->print = NewNPP_PrintProc(Private_Print);
pluginFuncs->urlnotify = NewNPP_URLNotifyProc(Private_URLNotify);
pluginFuncs->event = NULL;
#ifdef OJI
pluginFuncs->javaClass = Private_GetJavaClass();
#endif
err = NPP_Initialize();
}
return err;
}
/*
* NP_Shutdown [optional]
* - Netscape needs to know about this symbol.
* - It calls this function after looking up its symbol after
* the last object of this kind has been destroyed.
*
*/
SAL_DLLPUBLIC_EXPORT void
NP_Shutdown(void)
{
PLUGINDEBUGSTR("NP_Shutdown");
NPP_Shutdown();
}

View File

@@ -1,359 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: NPL 1.1/GPL 2.0/LGPL 2.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 Communicator client code.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1998
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the NPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the NPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#include "npapi.h"
#include "npupp.h"
#include "plugin.h"
//\\// DEFINE
#define NP_EXPORT
//\\// GLOBAL DATA
NPNetscapeFuncs* g_pNavigatorFuncs = 0;
extern "C"
{
#ifdef OJI
JRIGlobalRef Private_GetJavaClass(void);
//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\.
////\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//.
// Private_GetJavaClass (global function)
//
// Given a Java class reference (thru NPP_GetJavaClass) inform JRT
// of this class existence
//
JRIGlobalRef
Private_GetJavaClass(void)
{
jref clazz = NPP_GetJavaClass();
if (clazz) {
JRIEnv* env = NPN_GetJavaEnv();
return JRI_NewGlobalRef(env, clazz);
}
return NULL;
}
#endif /* OJI */
//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\.
////\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//.
// PLUGIN DLL entry points
//
// These are the Windows specific DLL entry points. They must be exoprted
//
// we need these to be global since we have to fill one of its field
// with a data (class) which requires knowlwdge of the navigator
// jump-table. This jump table is known at Initialize time (NP_Initialize)
// which is called after NP_GetEntryPoint
static NPPluginFuncs* g_pluginFuncs;
//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\.
////\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//.
// NP_GetEntryPoints
//
// fills in the func table used by Navigator to call entry points in
// plugin DLL. Note that these entry points ensure that DS is loaded
// by using the NP_LOADDS macro, when compiling for Win16
//
NPError WINAPI NP_EXPORT
NP_GetEntryPoints(NPPluginFuncs* pFuncs)
{
// trap a NULL ptr
if(pFuncs == NULL)
return NPERR_INVALID_FUNCTABLE_ERROR;
// if the plugin's function table is smaller than the plugin expects,
// then they are incompatible, and should return an error
pFuncs->version = (NP_VERSION_MAJOR << 8) | NP_VERSION_MINOR;
pFuncs->newp = NPP_New;
pFuncs->destroy = NPP_Destroy;
pFuncs->setwindow = NPP_SetWindow;
pFuncs->newstream = NPP_NewStream;
pFuncs->destroystream = NPP_DestroyStream;
pFuncs->asfile = NPP_StreamAsFile;
pFuncs->writeready = NPP_WriteReady;
pFuncs->write = NPP_Write;
pFuncs->print = NPP_Print;
pFuncs->event = 0; /// reserved
g_pluginFuncs = pFuncs;
return NPERR_NO_ERROR;
}
//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\.
////\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//.
// NP_Initialize
//
// called immediately after the plugin DLL is loaded
//
NPError WINAPI NP_EXPORT
NP_Initialize(NPNetscapeFuncs* pFuncs)
{
// trap a NULL ptr
if(pFuncs == NULL)
return NPERR_INVALID_FUNCTABLE_ERROR;
g_pNavigatorFuncs = pFuncs; // save it for future reference
// if the plugin's major ver level is lower than the Navigator's,
// then they are incompatible, and should return an error
if(HIBYTE(pFuncs->version) > NP_VERSION_MAJOR)
return NPERR_INCOMPATIBLE_VERSION_ERROR;
// We have to defer these assignments until g_pNavigatorFuncs is set
int navMinorVers = g_pNavigatorFuncs->version & 0xFF;
if( navMinorVers >= NPVERS_HAS_NOTIFICATION ) {
g_pluginFuncs->urlnotify = NPP_URLNotify;
}
#ifdef OJI
if( navMinorVers >= NPVERS_HAS_LIVECONNECT ) {
g_pluginFuncs->javaClass = Private_GetJavaClass();
}
#endif
return NPP_Initialize();
}
//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\.
////\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//.
// NP_Shutdown
//
// called immediately before the plugin DLL is unloaded.
// This functio shuold check for some ref count on the dll to see if it is
// unloadable or it needs to stay in memory.
//
void WINAPI NP_EXPORT
NP_Shutdown()
{
NPP_Shutdown();
g_pNavigatorFuncs = NULL;
}
char * NP_GetMIMEDescription()
{
return (char *)NPP_GetMIMEDescription();
}
// END - PLUGIN DLL entry points
////\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//.
//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\.
/* NAVIGATOR Entry points */
/* These entry points expect to be called from within the plugin. The
noteworthy assumption is that DS has already been set to point to the
plugin's DLL data segment. Don't call these functions from outside
the plugin without ensuring DS is set to the DLLs data segment first,
typically using the NP_LOADDS macro
*/
/* returns the major/minor version numbers of the Plugin API for the plugin
and the Navigator
*/
void NPN_Version(int* plugin_major, int* plugin_minor, int* netscape_major, int* netscape_minor)
{
*plugin_major = NP_VERSION_MAJOR;
*plugin_minor = NP_VERSION_MINOR;
*netscape_major = HIBYTE(g_pNavigatorFuncs->version);
*netscape_minor = LOBYTE(g_pNavigatorFuncs->version);
}
NPError NPN_GetValue(NPP instance, NPNVariable variable, void *result)
{
return g_pNavigatorFuncs->getvalue(instance, variable, result);
}
/* causes the specified URL to be fetched and streamed in
*/
NPError NPN_GetURLNotify(NPP instance, const char *url, const char *target, void* notifyData)
{
int navMinorVers = g_pNavigatorFuncs->version & 0xFF;
NPError err;
if( navMinorVers >= NPVERS_HAS_NOTIFICATION ) {
err = g_pNavigatorFuncs->geturlnotify(instance, url, target, notifyData);
}
else {
err = NPERR_INCOMPATIBLE_VERSION_ERROR;
}
return err;
}
NPError NPN_GetURL(NPP instance, const char *url, const char *target)
{
return g_pNavigatorFuncs->geturl(instance, url, target);
}
NPError NPN_PostURLNotify(NPP instance, const char* url, const char* window, uint32_t len, const char* buf, NPBool file, void* notifyData)
{
int navMinorVers = g_pNavigatorFuncs->version & 0xFF;
NPError err;
if( navMinorVers >= NPVERS_HAS_NOTIFICATION ) {
err = g_pNavigatorFuncs->posturlnotify(instance, url, window, len, buf, file, notifyData);
}
else {
err = NPERR_INCOMPATIBLE_VERSION_ERROR;
}
return err;
}
NPError NPN_PostURL(NPP instance, const char* url, const char* window, uint32_t len, const char* buf, NPBool file)
{
return g_pNavigatorFuncs->posturl(instance, url, window, len, buf, file);
}
/* Requests that a number of bytes be provided on a stream. Typically
this would be used if a stream was in "pull" mode. An optional
position can be provided for streams which are seekable.
*/
NPError NPN_RequestRead(NPStream* stream, NPByteRange* rangeList)
{
return g_pNavigatorFuncs->requestread(stream, rangeList);
}
/* Creates a new stream of data from the plug-in to be interpreted
by Netscape in the current window.
*/
NPError NPN_NewStream(NPP instance, NPMIMEType type,
const char* target, NPStream** stream)
{
int navMinorVersion = g_pNavigatorFuncs->version & 0xFF;
NPError err;
if( navMinorVersion >= NPVERS_HAS_STREAMOUTPUT ) {
err = g_pNavigatorFuncs->newstream(instance, type, target, stream);
}
else {
err = NPERR_INCOMPATIBLE_VERSION_ERROR;
}
return err;
}
/* Provides len bytes of data.
*/
int32_t NPN_Write(NPP instance, NPStream *stream,
int32_t len, void *buffer)
{
int navMinorVersion = g_pNavigatorFuncs->version & 0xFF;
int32_t result;
if( navMinorVersion >= NPVERS_HAS_STREAMOUTPUT ) {
result = g_pNavigatorFuncs->write(instance, stream, len, buffer);
}
else {
result = -1;
}
return result;
}
/* Closes a stream object.
reason indicates why the stream was closed.
*/
NPError NPN_DestroyStream(NPP instance, NPStream* stream, NPError reason)
{
int navMinorVersion = g_pNavigatorFuncs->version & 0xFF;
NPError err;
if( navMinorVersion >= NPVERS_HAS_STREAMOUTPUT ) {
err = g_pNavigatorFuncs->destroystream(instance, stream, reason);
}
else {
err = NPERR_INCOMPATIBLE_VERSION_ERROR;
}
return err;
}
/* Provides a text status message in the Netscape client user interface
*/
void NPN_Status(NPP instance, const char *message)
{
g_pNavigatorFuncs->status(instance, message);
}
/* returns the user agent string of Navigator, which contains version info
*/
const char* NPN_UserAgent(NPP instance)
{
return g_pNavigatorFuncs->uagent(instance);
}
/* allocates memory from the Navigator's memory space. Necessary so that
saved instance data may be freed by Navigator when exiting.
*/
void* NPN_MemAlloc(uint32_t size)
{
return g_pNavigatorFuncs->memalloc(size);
}
/* reciprocal of MemAlloc() above
*/
void NPN_MemFree(void* ptr)
{
g_pNavigatorFuncs->memfree(ptr);
}
#ifdef OJI
/* private function to Netscape. do not use!
*/
void NPN_ReloadPlugins(NPBool reloadPages)
{
g_pNavigatorFuncs->reloadplugins(reloadPages);
}
JRIEnv* NPN_GetJavaEnv(void)
{
return g_pNavigatorFuncs->getJavaEnv();
}
jref NPN_GetJavaPeer(NPP instance)
{
return g_pNavigatorFuncs->getJavaPeer(instance);
}
#endif
} //end of extern "C"
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -1,44 +0,0 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef INCLUDED_NP_SDK_MOZSRC_PLUGIN_H
#define INCLUDED_NP_SDK_MOZSRC_PLUGIN_H
#include "npapi.h"
/* OpenOffice.org/LibreOffice modified the implementations of NP_Initialize and
NP_Shutdown in external/np_sdk/npsdk/ to call NPP_Initialize and NPP_Shutdown, resp.,
defined in extensions/source/nsplugin/source/npshell.cxx:
*/
#if defined __cplusplus
extern "C" {
#endif
NPError NPP_Initialize(void);
void NPP_Shutdown(void);
#if defined __cplusplus
}
#endif
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -72,7 +72,6 @@ Module gid_Module_Root_Brand
gid_Brand_File_Lib_Msvcp80,
gid_Brand_File_Lib_Msvcm80,
gid_Brand_File_Msvcm80crt_Manifest,
gid_Brand_File_Lib_Npsoplugin,
gid_Brand_File_Share_Registry_O5oo_Xcd,
gid_Brand_File_Script_Unopkg,
gid_Brand_File_Share_Xdg_Base,

View File

@@ -88,7 +88,6 @@ Module gid_Module_Root_Files_2
gid_File_Script_Gengal,
gid_File_Bin_Uri_Encode,
gid_File_Bin_UIPreviewer,
gid_File_Exe_Nsplugin,
gid_File_Txt_Pagein_Common,
gid_File_Txt_Pagein_Calc,
gid_File_Txt_Pagein_Draw,