| Index: webkit/activex_shim/activex_plugin.h
|
| ===================================================================
|
| --- webkit/activex_shim/activex_plugin.h (revision 25626)
|
| +++ webkit/activex_shim/activex_plugin.h (working copy)
|
| @@ -1,103 +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.
|
| -
|
| -#ifndef WEBKIT_ACTIVEX_SHIM_ACTIVEX_PLUGIN_H__
|
| -#define WEBKIT_ACTIVEX_SHIM_ACTIVEX_PLUGIN_H__
|
| -
|
| -#include <string>
|
| -#include <vector>
|
| -#include "base/scoped_ptr.h"
|
| -#include "webkit/glue/plugins/nphostapi.h"
|
| -#include "webkit/activex_shim/activex_shared.h"
|
| -#include "webkit/activex_shim/dispatch_object.h"
|
| -#include "webkit/activex_shim/npn_scripting.h"
|
| -#include "webkit/activex_shim/web_activex_container.h"
|
| -#include "webkit/activex_shim/web_activex_site.h"
|
| -
|
| -namespace activex_shim {
|
| -
|
| -// ActiveXPlugin, a host for ActiveX control. There is one ActiveXPlugin object
|
| -// for each ActiveX control. It handles NPAPI calls from the browser side
|
| -// and is responsible for most activities of the plugin.
|
| -class ActiveXPlugin : public DispatchObject {
|
| - public:
|
| - explicit ActiveXPlugin(NPP instance);
|
| - ~ActiveXPlugin();
|
| -
|
| - // NPP API Processing.
|
| - NPError NPP_New(NPMIMEType plugin_type, int16 argc, char* argn[],
|
| - char* argv[], NPSavedData* saved);
|
| - NPError NPP_SetWindow(NPWindow* window);
|
| - NPError NPP_NewStream(NPMIMEType type, NPStream* stream,
|
| - NPBool seekable, uint16* stype);
|
| - NPError NPP_DestroyStream(NPStream* stream, NPReason reason);
|
| - int32 NPP_WriteReady(NPStream* stream);
|
| - int32 NPP_Write(NPStream* stream, int32 offset, int32 len, void* buffer);
|
| - void NPP_StreamAsFile(NPStream* stream, const char* fname);
|
| - void NPP_Print(NPPrint* platformPrint);
|
| - int16 NPP_HandleEvent(void* event);
|
| - void NPP_URLNotify(const char* url, NPReason reason, void* notifyData);
|
| - NPError NPP_GetValue(NPPVariable variable, void* value);
|
| - NPError NPP_SetValue(NPNVariable variable, void* value);
|
| -
|
| - void Draw(HDC dc, RECT* lprc, RECT* lpclip);
|
| -
|
| - // Get scriptable window object from the browser.
|
| - NPNScriptableObject GetWindow();
|
| - // Retrieves the URL of current webpage from the browser.
|
| - std::wstring GetCurrentURL();
|
| - // Resolves the relative URL (could be already an absolute URL too) to return
|
| - // full URL based on current document's URL and base.
|
| - std::wstring ResolveURL(const std::wstring& url);
|
| - bool windowless() { return windowless_; }
|
| - NPP npp() { return npp_; }
|
| - ActiveXTypes activex_type() { return activex_type_; }
|
| -
|
| - private:
|
| - // Process parameters passed in from browser.
|
| - void ProcessParams(int16 argc, char* argn[], char* argv[]);
|
| - // For handling wmp mime type, we need to initialize params differently
|
| - // (change src to corresponding param for wmp control), and set clsid to wmp.
|
| - void ConvertForEmbeddedWmp();
|
| -
|
| - // Overrided functions of base class: DispatchObject.
|
| - virtual IDispatch* GetDispatch();
|
| - virtual NPP GetNPP() { return npp_; }
|
| - virtual bool NPObjectOwnsMe() { return false; }
|
| -
|
| - // Event handlers for windowless plugin.
|
| - int16 HandlePaintEvent(HDC dc, NPRect* invalid_area);
|
| - int16 HandleInputEvent(uint32 msg, uint32 wparam, uint32 lparam);
|
| -
|
| - // Related NPP instance.
|
| - NPP npp_;
|
| - // Position of the control relative to the browser.
|
| - RECT rect_;
|
| - // Initialization parameters from param tags and object tag.
|
| - std::vector<ControlParam> params_;
|
| - // Clsid of the activex object.
|
| - std::wstring clsid_;
|
| - std::wstring codebase_;
|
| - // At this point every plugin has one container. It simplifies things.
|
| - scoped_ptr<WebActiveXContainer> container_;
|
| - // True if the control supports windowless and we are creating a windowless
|
| - // plugin.
|
| - bool windowless_;
|
| - // Have we ever tried to activate the control.
|
| - bool tried_activation_;
|
| - // Whether we have successfully created the control and activated it.
|
| - bool control_activated_;
|
| - // Initially this is not initialized. We assign it on the first call to
|
| - // GetWindow, then we will keep this copy.
|
| - NPNScriptableObject window_;
|
| - ActiveXTypes activex_type_;
|
| - // Cache of the current url. It is used very frequently.
|
| - std::wstring url_;
|
| -
|
| - DISALLOW_EVIL_CONSTRUCTORS(ActiveXPlugin);
|
| -};
|
| -
|
| -} // namespace activex_shim
|
| -
|
| -#endif // #ifndef WEBKIT_ACTIVEX_SHIM_ACTIVEX_PLUGIN_H__
|
|
|