| OLD | NEW |
| 1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef WEBKIT_GLUE_WEBPLUGIN_H_ | 5 #ifndef WEBKIT_GLUE_WEBPLUGIN_H_ |
| 6 #define WEBKIT_GLUE_WEBPLUGIN_H_ | 6 #define WEBKIT_GLUE_WEBPLUGIN_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| 11 #include "app/gfx/native_widget_types.h" | 11 #include "app/gfx/native_widget_types.h" |
| 12 #include "base/basictypes.h" | 12 #include "base/basictypes.h" |
| 13 #include "base/gfx/rect.h" | 13 #include "base/gfx/rect.h" |
| 14 | 14 |
| 15 // TODO(port): this typedef is obviously incorrect on non-Windows | 15 // TODO(port): this typedef is obviously incorrect on non-Windows |
| 16 // platforms, but now a lot of code now accidentally depends on them | 16 // platforms, but now a lot of code now accidentally depends on them |
| 17 // existing. #ifdef out these declarations and fix all the users. | 17 // existing. #ifdef out these declarations and fix all the users. |
| 18 typedef void* HANDLE; | 18 typedef void* HANDLE; |
| 19 | 19 |
| 20 class GURL; | 20 class GURL; |
| 21 struct NPObject; | 21 struct NPObject; |
| 22 | 22 |
| 23 namespace WebKit { | 23 namespace WebKit { |
| 24 class WebFrame; | 24 class WebFrame; |
| 25 } | 25 } |
| 26 | 26 |
| 27 namespace webkit_glue { | 27 namespace webkit_glue { |
| 28 | 28 |
| 29 class WebPluginDelegate; |
| 29 class WebPluginParentView; | 30 class WebPluginParentView; |
| 30 class WebPluginResourceClient; | 31 class WebPluginResourceClient; |
| 31 | 32 |
| 32 // Describes the new location for a plugin window. | 33 // Describes the new location for a plugin window. |
| 33 struct WebPluginGeometry { | 34 struct WebPluginGeometry { |
| 34 // On Windows, this is the plugin window in the plugin process. | 35 // On Windows, this is the plugin window in the plugin process. |
| 35 // On X11, this is the XID of the plugin-side GtkPlug containing the | 36 // On X11, this is the XID of the plugin-side GtkPlug containing the |
| 36 // GtkSocket hosting the actual plugin window. | 37 // GtkSocket hosting the actual plugin window. |
| 37 gfx::PluginWindowHandle window; | 38 gfx::PluginWindowHandle window; |
| 38 gfx::Rect window_rect; | 39 gfx::Rect window_rect; |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 118 // Returns true iff in off the record (Incognito) mode. | 119 // Returns true iff in off the record (Incognito) mode. |
| 119 virtual bool IsOffTheRecord() = 0; | 120 virtual bool IsOffTheRecord() = 0; |
| 120 | 121 |
| 121 // Called when the WebPluginResourceClient instance is deleted. | 122 // Called when the WebPluginResourceClient instance is deleted. |
| 122 virtual void ResourceClientDeleted( | 123 virtual void ResourceClientDeleted( |
| 123 WebPluginResourceClient* resource_client) {} | 124 WebPluginResourceClient* resource_client) {} |
| 124 | 125 |
| 125 // Defers the loading of the resource identified by resource_id. This is | 126 // Defers the loading of the resource identified by resource_id. This is |
| 126 // controlled by the defer parameter. | 127 // controlled by the defer parameter. |
| 127 virtual void SetDeferResourceLoading(int resource_id, bool defer) = 0; | 128 virtual void SetDeferResourceLoading(int resource_id, bool defer) = 0; |
| 129 |
| 130 // Gets the WebPluginDelegate that implements the interface. |
| 131 // This API is only for use with Pepper, and hence only with |
| 132 // in renderer process plugins. |
| 133 virtual WebPluginDelegate* delegate() { return NULL; } |
| 128 }; | 134 }; |
| 129 | 135 |
| 130 // Simpler version of ResourceHandleClient that lends itself to proxying. | 136 // Simpler version of ResourceHandleClient that lends itself to proxying. |
| 131 class WebPluginResourceClient { | 137 class WebPluginResourceClient { |
| 132 public: | 138 public: |
| 133 virtual ~WebPluginResourceClient() {} | 139 virtual ~WebPluginResourceClient() {} |
| 134 virtual void WillSendRequest(const GURL& url) = 0; | 140 virtual void WillSendRequest(const GURL& url) = 0; |
| 135 // The request_is_seekable parameter indicates whether byte range requests | 141 // The request_is_seekable parameter indicates whether byte range requests |
| 136 // can be issued for the underlying stream. | 142 // can be issued for the underlying stream. |
| 137 virtual void DidReceiveResponse(const std::string& mime_type, | 143 virtual void DidReceiveResponse(const std::string& mime_type, |
| 138 const std::string& headers, | 144 const std::string& headers, |
| 139 uint32 expected_length, | 145 uint32 expected_length, |
| 140 uint32 last_modified, | 146 uint32 last_modified, |
| 141 bool request_is_seekable) = 0; | 147 bool request_is_seekable) = 0; |
| 142 virtual void DidReceiveData(const char* buffer, int length, | 148 virtual void DidReceiveData(const char* buffer, int length, |
| 143 int data_offset) = 0; | 149 int data_offset) = 0; |
| 144 virtual void DidFinishLoading() = 0; | 150 virtual void DidFinishLoading() = 0; |
| 145 virtual void DidFail() = 0; | 151 virtual void DidFail() = 0; |
| 146 virtual bool IsMultiByteResponseExpected() = 0; | 152 virtual bool IsMultiByteResponseExpected() = 0; |
| 147 }; | 153 }; |
| 148 | 154 |
| 149 } // namespace webkit_glue | 155 } // namespace webkit_glue |
| 150 | 156 |
| 151 #endif // #ifndef WEBKIT_GLUE_WEBPLUGIN_H_ | 157 #endif // #ifndef WEBKIT_GLUE_WEBPLUGIN_H_ |
| OLD | NEW |