diff options
Diffstat (limited to 'webkit/glue/plugins/webplugin_delegate.h')
-rw-r--r-- | webkit/glue/plugins/webplugin_delegate.h | 166 |
1 files changed, 0 insertions, 166 deletions
diff --git a/webkit/glue/plugins/webplugin_delegate.h b/webkit/glue/plugins/webplugin_delegate.h deleted file mode 100644 index 901cdea..0000000 --- a/webkit/glue/plugins/webplugin_delegate.h +++ /dev/null @@ -1,166 +0,0 @@ -// Copyright (c) 2010 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_GLUE_WEBPLUGIN_DELEGATE_H_ -#define WEBKIT_GLUE_WEBPLUGIN_DELEGATE_H_ - -#include <string> -#include <vector> - -#include "base/string16.h" -#include "build/build_config.h" -#include "gfx/native_widget_types.h" -#include "third_party/npapi/bindings/npapi.h" -#include "third_party/npapi/bindings/npapi_extensions.h" -#include "third_party/WebKit/WebKit/chromium/public/WebCanvas.h" -#include "webkit/glue/plugins/webplugin_2d_device_delegate.h" -#include "webkit/glue/plugins/webplugin_3d_device_delegate.h" -#include "webkit/glue/plugins/webplugin_audio_device_delegate.h" -#include "webkit/glue/plugins/webplugin_file_delegate.h" -#include "webkit/glue/plugins/webplugin_print_delegate.h" - -class FilePath; -class GURL; -struct NPObject; - -namespace WebKit { -class WebInputEvent; -struct WebCursorInfo; -} - -namespace gfx { -class Rect; -} - -namespace webkit_glue { - -class WebPlugin; -class WebPluginResourceClient; - -// This is the interface that a plugin implementation needs to provide. -class WebPluginDelegate : public WebPlugin2DDeviceDelegate, - public WebPlugin3DDeviceDelegate, - public WebPluginAudioDeviceDelegate, - public WebPluginPrintDelegate, - public WebPluginFileDelegate { - public: - virtual ~WebPluginDelegate() {} - - // Initializes the plugin implementation with the given (UTF8) arguments. - // Note that the lifetime of WebPlugin must be longer than this delegate. - // If this function returns false the plugin isn't started and shouldn't be - // called again. If this method succeeds, then the WebPlugin is valid until - // PluginDestroyed is called. - // The load_manually parameter if true indicates that the plugin data would - // be passed from webkit. if false indicates that the plugin should download - // the data. This also controls whether the plugin is instantiated as a full - // page plugin (NP_FULL) or embedded (NP_EMBED). - virtual bool Initialize(const GURL& url, - const std::vector<std::string>& arg_names, - const std::vector<std::string>& arg_values, - WebPlugin* plugin, - bool load_manually) = 0; - - // Called when the WebPlugin is being destroyed. This is a signal to the - // delegate that it should tear-down the plugin implementation and not call - // methods on the WebPlugin again. - virtual void PluginDestroyed() = 0; - - // Update the geometry of the plugin. This is a request to move the - // plugin, relative to its containing window, to the coords given by - // window_rect. Its contents should be clipped to the coords given - // by clip_rect, which are relative to the origin of the plugin - // window. The clip_rect is in plugin-relative coordinates. - virtual void UpdateGeometry(const gfx::Rect& window_rect, - const gfx::Rect& clip_rect) = 0; - - // Tells the plugin to paint the damaged rect. |canvas| is only used for - // windowless plugins. - virtual void Paint(WebKit::WebCanvas* canvas, const gfx::Rect& rect) = 0; - - // Tells the plugin to print itself. - virtual void Print(gfx::NativeDrawingContext hdc) = 0; - - // Informs the plugin that it has gained or lost focus. This is only called in - // windowless mode. - virtual void SetFocus(bool focused) = 0; - - // For windowless plugins, gives them a user event like mouse/keyboard. - // Returns whether the event was handled. This is only called in windowsless - // mode. See NPAPI NPP_HandleEvent for more information. - virtual bool HandleInputEvent(const WebKit::WebInputEvent& event, - WebKit::WebCursorInfo* cursor) = 0; - - // Gets the NPObject associated with the plugin for scripting. - virtual NPObject* GetPluginScriptableObject() = 0; - - // Receives notification about a resource load that the plugin initiated - // for a frame. - virtual void DidFinishLoadWithReason(const GURL& url, NPReason reason, - int notify_id) = 0; - - // Returns the process id of the process that is running the plugin. - virtual int GetProcessId() = 0; - - // The result, UTF-8 encoded, of the script execution is returned via this - // function. - virtual void SendJavaScriptStream(const GURL& url, - const std::string& result, - bool success, - int notify_id) = 0; - - // Receives notification about data being available. - virtual void DidReceiveManualResponse(const GURL& url, - const std::string& mime_type, - const std::string& headers, - uint32 expected_length, - uint32 last_modified) = 0; - - // Receives the data. - virtual void DidReceiveManualData(const char* buffer, int length) = 0; - - // Indicates end of data load. - virtual void DidFinishManualLoading() = 0; - - // Indicates a failure in data receipt. - virtual void DidManualLoadFail() = 0; - - // Only supported when the plugin is the default plugin. - virtual void InstallMissingPlugin() = 0; - - // Creates a WebPluginResourceClient instance and returns the same. - virtual WebPluginResourceClient* CreateResourceClient( - unsigned long resource_id, - const GURL& url, - int notify_id) = 0; - - // Creates a WebPluginResourceClient instance for an existing stream that is - // has become seekable. - virtual WebPluginResourceClient* CreateSeekableResourceClient( - unsigned long resource_id, int range_request_id) = 0; - - // See WebPluginContainerImpl's description of the interface. - virtual bool StartFind(const string16& search_text, - bool case_sensitive, - int identifier) { return false; } - virtual void SelectFindResult(bool forward) {} - virtual void StopFind() {} - virtual void NumberOfFindResultsChanged(int total, bool final_result) {} - virtual void SelectedFindResultChanged(int index) {} - virtual NPWidgetExtensions* GetWidgetExtensions() { return NULL; } - virtual bool SetCursor(NPCursorType type) { return false; } - virtual NPFontExtensions* GetFontExtensions() { return NULL; } - - // Used for zooming of full page plugins. 0 means reset, while -1 means zoom - // out and +1 means zoom in. - virtual void SetZoomFactor(float scale, bool text_only) {} - // Gets the selected text, if any. - virtual bool HasSelection() const { return false; } - virtual string16 GetSelectionAsText() const { return string16(); } - virtual string16 GetSelectionAsMarkup() const { return string16(); } -}; - -} // namespace webkit_glue - -#endif // WEBKIT_GLUE_WEBPLUGIN_DELEGATE_H_ |