| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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_IMPL_H_ | 5 #ifndef WEBKIT_GLUE_WEBPLUGIN_IMPL_H_ |
| 6 #define WEBKIT_GLUE_WEBPLUGIN_IMPL_H_ | 6 #define WEBKIT_GLUE_WEBPLUGIN_IMPL_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 #include <map> | 9 #include <map> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 193 const GURL& policy_url); | 193 const GURL& policy_url); |
| 194 | 194 |
| 195 void ShowModalHTMLDialog(const GURL& url, int width, int height, | 195 void ShowModalHTMLDialog(const GURL& url, int width, int height, |
| 196 const std::string& json_arguments, | 196 const std::string& json_arguments, |
| 197 std::string* json_retval); | 197 std::string* json_retval); |
| 198 void OnMissingPluginStatus(int status); | 198 void OnMissingPluginStatus(int status); |
| 199 void Invalidate(); | 199 void Invalidate(); |
| 200 void InvalidateRect(const gfx::Rect& rect); | 200 void InvalidateRect(const gfx::Rect& rect); |
| 201 | 201 |
| 202 // Widget implementation: | 202 // Widget implementation: |
| 203 virtual WebCore::IntRect windowClipRect() const; | 203 WebCore::IntRect windowClipRect() const; |
| 204 | 204 |
| 205 // Returns window-relative rectangles that should clip this widget. | 205 // Returns window-relative rectangles that should clip this widget. |
| 206 // Only rects that intersect the given bounds are relevant. | 206 // Only rects that intersect the given bounds are relevant. |
| 207 // Use this to implement iframe shim behavior. | 207 // Use this to implement iframe shim behavior. |
| 208 // | 208 // |
| 209 // TODO(tulrich): windowCutoutRects() is not in WebCore::Widgets | 209 // TODO(tulrich): windowCutoutRects() is not in WebCore::Widgets |
| 210 // yet; need to add it. | 210 // yet; need to add it. |
| 211 void windowCutoutRects(const WebCore::IntRect& bounds, | 211 void windowCutoutRects(const WebCore::IntRect& bounds, |
| 212 WTF::Vector<WebCore::IntRect>* rects) const; | 212 WTF::Vector<WebCore::IntRect>* rects) const; |
| 213 | 213 |
| 214 // Override for when our window changes size or position. | 214 // Called by WebPluginContainer::setFrameRect, which overrides |
| 215 // Widget setFrameRect when our window changes size or position. |
| 215 // Used to notify the plugin when the size or position changes. | 216 // Used to notify the plugin when the size or position changes. |
| 216 virtual void setFrameRect(const WebCore::IntRect& rect); | 217 void setFrameRect(const WebCore::IntRect& rect, |
| 218 bool widget_dimensions_changed); |
| 217 | 219 |
| 218 // Overrides paint so we can notify the underlying widget to repaint. | 220 // Called by WebPluginContainer::paint, which overrides Widget::paint so we |
| 219 virtual void paint(WebCore::GraphicsContext*, const WebCore::IntRect& rect); | 221 // can notify the underlying widget to repaint. |
| 220 virtual void print(WebCore::GraphicsContext*); | 222 void paint(WebCore::GraphicsContext*, const WebCore::IntRect& rect); |
| 223 void print(WebCore::GraphicsContext*); |
| 221 | 224 |
| 222 // Override setFocus so we can notify the Plugin. | 225 // Called by WebPluginContainer::setFocus, which overrides Widget::setFocus. |
| 223 virtual void setFocus(); | 226 // Notifies the plugin about focus changes. |
| 227 void setFocus(); |
| 224 | 228 |
| 225 // Override show and hide to be able to control the visible state of the | 229 // Called by WebPluginContainer::show/hide, which overrides Widget show/hide. |
| 226 // plugin window. | 230 // This allows us to control the visible state of the plugin window. |
| 227 virtual void show(); | 231 void show(); |
| 228 virtual void hide(); | 232 void hide(); |
| 229 | 233 |
| 230 // Handle widget events. | 234 // Handle widget events. |
| 231 virtual void handleEvent(WebCore::Event* event); | 235 void handleEvent(WebCore::Event* event); |
| 232 void handleMouseEvent(WebCore::MouseEvent* event); | 236 void handleMouseEvent(WebCore::MouseEvent* event); |
| 233 void handleKeyboardEvent(WebCore::KeyboardEvent* event); | 237 void handleKeyboardEvent(WebCore::KeyboardEvent* event); |
| 234 | 238 |
| 235 // Sets the actual Widget for the plugin. | 239 // Sets the actual Widget for the plugin. |
| 236 void SetContainer(WebPluginContainer* container); | 240 void SetContainer(WebPluginContainer* container); |
| 237 | 241 |
| 238 // Destroys the plugin instance. | 242 // Destroys the plugin instance. |
| 239 // The response_handle_to_ignore parameter if not NULL indicates the | 243 // The response_handle_to_ignore parameter if not NULL indicates the |
| 240 // resource handle to be left valid during plugin shutdown. | 244 // resource handle to be left valid during plugin shutdown. |
| 241 void TearDownPluginInstance( | 245 void TearDownPluginInstance( |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 353 // Holds the list of argument names passed to the plugin. | 357 // Holds the list of argument names passed to the plugin. |
| 354 std::vector<std::string> arg_names_; | 358 std::vector<std::string> arg_names_; |
| 355 | 359 |
| 356 // Holds the list of argument values passed to the plugin. | 360 // Holds the list of argument values passed to the plugin. |
| 357 std::vector<std::string> arg_values_; | 361 std::vector<std::string> arg_values_; |
| 358 | 362 |
| 359 DISALLOW_COPY_AND_ASSIGN(WebPluginImpl); | 363 DISALLOW_COPY_AND_ASSIGN(WebPluginImpl); |
| 360 }; | 364 }; |
| 361 | 365 |
| 362 #endif // #ifndef WEBKIT_GLUE_WEBPLUGIN_IMPL_H_ | 366 #endif // #ifndef WEBKIT_GLUE_WEBPLUGIN_IMPL_H_ |
| OLD | NEW |