fdo#45071: Remove ENABLE_NPAPI_INTO_BROWSER left-overs
...from previous commit Change-Id: I945faa6215f971ce817c6450fe0786da0696091f
This commit is contained in:
@@ -332,7 +332,6 @@ if test "z$OOO_VENDOR" != "zDebian" ; then
|
|||||||
program/configimport.bin \
|
program/configimport.bin \
|
||||||
program/javaldx \
|
program/javaldx \
|
||||||
program/msfontextract \
|
program/msfontextract \
|
||||||
program/nsplugin \
|
|
||||||
program/oosplash.bin \
|
program/oosplash.bin \
|
||||||
program/pagein \
|
program/pagein \
|
||||||
program/pagein-calc \
|
program/pagein-calc \
|
||||||
@@ -495,7 +494,7 @@ else
|
|||||||
fi &&
|
fi &&
|
||||||
( cd pkg/libreoffice-common/$d
|
( cd pkg/libreoffice-common/$d
|
||||||
find -maxdepth 1 \
|
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 \;
|
-exec mv {} $DESTDIR/pkg/libreoffice-core/$d \;
|
||||||
); \
|
); \
|
||||||
done
|
done
|
||||||
|
@@ -199,10 +199,4 @@ $(eval $(call gb_Library_add_exception_objects,cui,\
|
|||||||
cui/source/uno/services \
|
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:
|
# vim: set noet sw=4 ts=4:
|
||||||
|
@@ -116,7 +116,6 @@ $(eval $(call gb_UIConfig_add_uifiles,cui,\
|
|||||||
cui/uiconfig/ui/optappearancepage \
|
cui/uiconfig/ui/optappearancepage \
|
||||||
cui/uiconfig/ui/optasianpage \
|
cui/uiconfig/ui/optasianpage \
|
||||||
cui/uiconfig/ui/optbasicidepage \
|
cui/uiconfig/ui/optbasicidepage \
|
||||||
cui/uiconfig/ui/optbrowserpage \
|
|
||||||
cui/uiconfig/ui/optctlpage \
|
cui/uiconfig/ui/optctlpage \
|
||||||
cui/uiconfig/ui/optchartcolorspage \
|
cui/uiconfig/ui/optchartcolorspage \
|
||||||
cui/uiconfig/ui/optemailpage \
|
cui/uiconfig/ui/optemailpage \
|
||||||
|
@@ -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: */
|
|
@@ -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
|
class MailerProgramCfg_Impl : public utl::ConfigItem
|
||||||
{
|
{
|
||||||
friend class SvxEMailTabPage;
|
friend class SvxEMailTabPage;
|
||||||
|
@@ -177,27 +177,6 @@ public:
|
|||||||
virtual void Reset( const SfxItemSet* rSet ) SAL_OVERRIDE;
|
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;
|
struct SvxEMailTabPage_Impl;
|
||||||
class SvxEMailTabPage : public SfxTabPage
|
class SvxEMailTabPage : public SfxTabPage
|
||||||
{
|
{
|
||||||
|
@@ -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>
|
|
@@ -68,4 +68,3 @@
|
|||||||
--enable-ccache
|
--enable-ccache
|
||||||
--enable-crashdump
|
--enable-crashdump
|
||||||
--enable-cairo-canvas
|
--enable-cairo-canvas
|
||||||
--enable-nsplugin
|
|
||||||
|
@@ -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:
|
|
@@ -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:
|
|
@@ -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:
|
|
@@ -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:
|
|
1
external/Module_external.mk
vendored
1
external/Module_external.mk
vendored
@@ -20,7 +20,6 @@ endif
|
|||||||
$(eval $(call gb_Module_add_moduledirs,external,\
|
$(eval $(call gb_Module_add_moduledirs,external,\
|
||||||
accessories \
|
accessories \
|
||||||
libxmlsec \
|
libxmlsec \
|
||||||
np_sdk \
|
|
||||||
$(call gb_Helper_optional,ABW,libabw) \
|
$(call gb_Helper_optional,ABW,libabw) \
|
||||||
$(call gb_Helper_optional,APACHE_COMMONS,apache-commons) \
|
$(call gb_Helper_optional,APACHE_COMMONS,apache-commons) \
|
||||||
$(call gb_Helper_optional,APR,apr) \
|
$(call gb_Helper_optional,APR,apr) \
|
||||||
|
7
external/np_sdk/Makefile
vendored
7
external/np_sdk/Makefile
vendored
@@ -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:
|
|
13
external/np_sdk/Module_np_sdk.mk
vendored
13
external/np_sdk/Module_np_sdk.mk
vendored
@@ -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:
|
|
33
external/np_sdk/StaticLibrary_nputils.mk
vendored
33
external/np_sdk/StaticLibrary_nputils.mk
vendored
@@ -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:
|
|
2
external/np_sdk/npsdk/README
vendored
2
external/np_sdk/npsdk/README
vendored
@@ -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.
|
||||||
|
|
||||||
|
507
external/np_sdk/npsdk/npunix.c
vendored
507
external/np_sdk/npsdk/npunix.c
vendored
@@ -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();
|
|
||||||
}
|
|
359
external/np_sdk/npsdk/npwin.cxx
vendored
359
external/np_sdk/npsdk/npwin.cxx
vendored
@@ -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: */
|
|
44
external/np_sdk/npsdk/plugin.h
vendored
44
external/np_sdk/npsdk/plugin.h
vendored
@@ -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: */
|
|
@@ -72,7 +72,6 @@ Module gid_Module_Root_Brand
|
|||||||
gid_Brand_File_Lib_Msvcp80,
|
gid_Brand_File_Lib_Msvcp80,
|
||||||
gid_Brand_File_Lib_Msvcm80,
|
gid_Brand_File_Lib_Msvcm80,
|
||||||
gid_Brand_File_Msvcm80crt_Manifest,
|
gid_Brand_File_Msvcm80crt_Manifest,
|
||||||
gid_Brand_File_Lib_Npsoplugin,
|
|
||||||
gid_Brand_File_Share_Registry_O5oo_Xcd,
|
gid_Brand_File_Share_Registry_O5oo_Xcd,
|
||||||
gid_Brand_File_Script_Unopkg,
|
gid_Brand_File_Script_Unopkg,
|
||||||
gid_Brand_File_Share_Xdg_Base,
|
gid_Brand_File_Share_Xdg_Base,
|
||||||
|
@@ -88,7 +88,6 @@ Module gid_Module_Root_Files_2
|
|||||||
gid_File_Script_Gengal,
|
gid_File_Script_Gengal,
|
||||||
gid_File_Bin_Uri_Encode,
|
gid_File_Bin_Uri_Encode,
|
||||||
gid_File_Bin_UIPreviewer,
|
gid_File_Bin_UIPreviewer,
|
||||||
gid_File_Exe_Nsplugin,
|
|
||||||
gid_File_Txt_Pagein_Common,
|
gid_File_Txt_Pagein_Common,
|
||||||
gid_File_Txt_Pagein_Calc,
|
gid_File_Txt_Pagein_Calc,
|
||||||
gid_File_Txt_Pagein_Draw,
|
gid_File_Txt_Pagein_Draw,
|
||||||
|
Reference in New Issue
Block a user