Index: webkit/glue/plugins/webplugin_delegate.h |
=================================================================== |
--- webkit/glue/plugins/webplugin_delegate.h (revision 69426) |
+++ webkit/glue/plugins/webplugin_delegate.h (working copy) |
@@ -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); |
- virtual void SelectFindResult(bool forward) {} |
- virtual void StopFind() {} |
- virtual void NumberOfFindResultsChanged(int total, bool final_result) {} |
- virtual void SelectedFindResultChanged(int index) {} |
- virtual NPWidgetExtensions* GetWidgetExtensions(); |
- virtual bool SetCursor(NPCursorType type); |
- virtual NPFontExtensions* GetFontExtensions(); |
- |
- // 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; |
- virtual string16 GetSelectionAsText() const; |
- virtual string16 GetSelectionAsMarkup() const; |
-}; |
- |
-} // namespace webkit_glue |
- |
-#endif // WEBKIT_GLUE_WEBPLUGIN_DELEGATE_H_ |