| Index: webkit/activex_shim/npp_impl.cc
|
| ===================================================================
|
| --- webkit/activex_shim/npp_impl.cc (revision 25626)
|
| +++ webkit/activex_shim/npp_impl.cc (working copy)
|
| @@ -1,148 +0,0 @@
|
| -// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "webkit/activex_shim/npp_impl.h"
|
| -
|
| -#include <algorithm>
|
| -
|
| -#include "webkit/activex_shim/activex_plugin.h"
|
| -#include "webkit/activex_shim/activex_util.h"
|
| -
|
| -#pragma warning(disable: 4267 4312)
|
| -
|
| -using std::string;
|
| -using std::wstring;
|
| -
|
| -namespace activex_shim {
|
| -
|
| -NPNetscapeFuncs* g_browser;
|
| -
|
| -// Standard NPAPI functions.
|
| -NPError NPP_New(NPMIMEType pluginType, NPP instance, uint16 mode, int16 argc,
|
| - char* argn[], char* argv[], NPSavedData* saved);
|
| -NPError NPP_Destroy(NPP instance, NPSavedData** save);
|
| -NPError NPP_SetWindow(NPP instance, NPWindow* window);
|
| -NPError NPP_NewStream(NPP instance, NPMIMEType type, NPStream* stream,
|
| - NPBool seekable, uint16* stype);
|
| -NPError NPP_DestroyStream(NPP instance, NPStream* stream, NPReason reason);
|
| -int32 NPP_WriteReady(NPP instance, NPStream* stream);
|
| -int32 NPP_Write(NPP instance, NPStream* stream, int32 offset, int32 len,
|
| - void* buffer);
|
| -void NPP_StreamAsFile(NPP instance, NPStream* stream, const char* fname);
|
| -void NPP_Print(NPP instance, NPPrint* platformPrint);
|
| -int16 NPP_HandleEvent(NPP instance, void* event);
|
| -void NPP_URLNotify(NPP instance, const char* url, NPReason reason,
|
| - void* notifyData);
|
| -NPError NPP_GetValue(NPP instance, NPPVariable variable, void* value);
|
| -NPError NPP_SetValue(NPP instance, NPNVariable variable, void* value);
|
| -
|
| -NPError WINAPI ActiveX_Shim_NP_GetEntryPoints(NPPluginFuncs* funcs) {
|
| - funcs->version = 11;
|
| - funcs->size = sizeof(*funcs);
|
| - funcs->newp = NPP_New;
|
| - funcs->destroy = NPP_Destroy;
|
| - funcs->setwindow = NPP_SetWindow;
|
| - funcs->newstream = NPP_NewStream;
|
| - funcs->destroystream = NPP_DestroyStream;
|
| - funcs->asfile = NPP_StreamAsFile;
|
| - funcs->writeready = NPP_WriteReady;
|
| - funcs->write = NPP_Write;
|
| - funcs->print = NPP_Print;
|
| - funcs->event = NPP_HandleEvent;
|
| - funcs->urlnotify = NPP_URLNotify;
|
| - funcs->getvalue = NPP_GetValue;
|
| - funcs->setvalue = NPP_SetValue;
|
| -
|
| - return NPERR_NO_ERROR;
|
| -}
|
| -
|
| -NPError WINAPI ActiveX_Shim_NP_Initialize(NPNetscapeFuncs* funcs) {
|
| - g_browser = funcs;
|
| -
|
| - // Not all browsers call CoInitialize during startup. Do this to make sure we
|
| - // won't have problem later on creating ActiveX controls.
|
| - // Right now the object creation request comes from the same thread as the
|
| - // one calling NP_Initialize. We should watch it if it comes from a different
|
| - // thread.
|
| - CoInitialize(NULL);
|
| - return 0;
|
| -}
|
| -
|
| -NPError WINAPI ActiveX_Shim_NP_Shutdown(void) {
|
| - CoUninitialize();
|
| - return 0;
|
| -}
|
| -
|
| -NPError NPP_New(NPMIMEType pluginType, NPP instance, uint16 mode, int16 argc,
|
| - char* argn[], char* argv[], NPSavedData* saved) {
|
| - ActiveXPlugin* plugin = new ActiveXPlugin(instance);
|
| - instance->pdata = plugin;
|
| - return plugin->NPP_New(pluginType, argc, argn, argv, saved);
|
| -}
|
| -
|
| -NPError NPP_Destroy(NPP instance, NPSavedData** save) {
|
| - ActiveXPlugin* plugin = static_cast<ActiveXPlugin*>(instance->pdata);
|
| - delete plugin;
|
| - return 0;
|
| -}
|
| -
|
| -NPError NPP_SetWindow(NPP instance, NPWindow* window) {
|
| - ActiveXPlugin* plugin = static_cast<ActiveXPlugin*>(instance->pdata);
|
| - return plugin->NPP_SetWindow(window);
|
| -}
|
| -
|
| -NPError NPP_NewStream(NPP instance, NPMIMEType type, NPStream* stream,
|
| - NPBool seekable, uint16* stype) {
|
| - ActiveXPlugin* plugin = static_cast<ActiveXPlugin*>(instance->pdata);
|
| - return plugin->NPP_NewStream(type, stream, seekable, stype);
|
| -}
|
| -
|
| -NPError NPP_DestroyStream(NPP instance, NPStream* stream, NPReason reason) {
|
| - ActiveXPlugin* plugin = static_cast<ActiveXPlugin*>(instance->pdata);
|
| - return plugin->NPP_DestroyStream(stream, reason);
|
| -}
|
| -
|
| -int32 NPP_WriteReady(NPP instance, NPStream* stream) {
|
| - ActiveXPlugin* plugin = static_cast<ActiveXPlugin*>(instance->pdata);
|
| - return plugin->NPP_WriteReady(stream);
|
| -}
|
| -
|
| -int32 NPP_Write(NPP instance, NPStream* stream, int32 offset, int32 len,
|
| - void* buffer) {
|
| - ActiveXPlugin* plugin = static_cast<ActiveXPlugin*>(instance->pdata);
|
| - return plugin->NPP_Write(stream, offset, len, buffer);
|
| -}
|
| -
|
| -void NPP_StreamAsFile(NPP instance, NPStream* stream, const char* fname) {
|
| - ActiveXPlugin* plugin = static_cast<ActiveXPlugin*>(instance->pdata);
|
| - plugin->NPP_StreamAsFile(stream, fname);
|
| -}
|
| -
|
| -void NPP_Print(NPP instance, NPPrint* platformPrint) {
|
| - ActiveXPlugin* plugin = static_cast<ActiveXPlugin*>(instance->pdata);
|
| - plugin->NPP_Print(platformPrint);
|
| -}
|
| -
|
| -int16 NPP_HandleEvent(NPP instance, void* event) {
|
| - ActiveXPlugin* plugin = static_cast<ActiveXPlugin*>(instance->pdata);
|
| - return plugin->NPP_HandleEvent(event);
|
| -}
|
| -
|
| -void NPP_URLNotify(NPP instance, const char* url, NPReason reason,
|
| - void* notifyData) {
|
| - ActiveXPlugin* plugin = static_cast<ActiveXPlugin*>(instance->pdata);
|
| - plugin->NPP_URLNotify(url, reason, notifyData);
|
| -}
|
| -
|
| -NPError NPP_GetValue(NPP instance, NPPVariable variable, void* value) {
|
| - ActiveXPlugin* plugin = static_cast<ActiveXPlugin*>(instance->pdata);
|
| - return plugin->NPP_GetValue(variable, value);
|
| -}
|
| -
|
| -NPError NPP_SetValue(NPP instance, NPNVariable variable, void* value) {
|
| - ActiveXPlugin* plugin = static_cast<ActiveXPlugin*>(instance->pdata);
|
| - return plugin->NPP_SetValue(variable, value);
|
| -}
|
| -
|
| -} // namespace activex_shim
|
|
|