| 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_PLUGIN_WEBPLUGIN_DELEGATE_IMPL_H_ | 5 #ifndef WEBKIT_GLUE_PLUGIN_WEBPLUGIN_DELEGATE_IMPL_H_ |
| 6 #define WEBKIT_GLUE_PLUGIN_WEBPLUGIN_DELEGATE_IMPL_H_ | 6 #define WEBKIT_GLUE_PLUGIN_WEBPLUGIN_DELEGATE_IMPL_H_ |
| 7 | 7 |
| 8 #include "build/build_config.h" | 8 #include "build/build_config.h" |
| 9 | 9 |
| 10 #include <string> | 10 #include <string> |
| 11 #include <list> | 11 #include <list> |
| 12 | 12 |
| 13 #include "base/file_path.h" | 13 #include "base/file_path.h" |
| 14 #include "base/gfx/native_widget_types.h" | 14 #include "base/gfx/native_widget_types.h" |
| 15 #include "base/gfx/rect.h" | 15 #include "base/gfx/rect.h" |
| 16 #include "base/ref_counted.h" | 16 #include "base/ref_counted.h" |
| 17 #include "base/task.h" | 17 #include "base/task.h" |
| 18 #include "third_party/npapi/bindings/npapi.h" | 18 #include "third_party/npapi/bindings/npapi.h" |
| 19 #include "webkit/glue/webplugin_delegate.h" | 19 #include "webkit/glue/webplugin_delegate.h" |
| 20 #include "webkit/glue/webcursor.h" | 20 #include "webkit/glue/webcursor.h" |
| 21 | 21 |
| 22 #if defined(OS_LINUX) |
| 23 typedef struct _GdkDrawable GdkPixmap; |
| 24 #endif |
| 25 |
| 22 namespace NPAPI { | 26 namespace NPAPI { |
| 23 class PluginInstance; | 27 class PluginInstance; |
| 24 }; | 28 }; |
| 25 | 29 |
| 26 // An implementation of WebPluginDelegate that proxies all calls to | 30 // An implementation of WebPluginDelegate that proxies all calls to |
| 27 // the plugin process. | 31 // the plugin process. |
| 28 class WebPluginDelegateImpl : public WebPluginDelegate { | 32 class WebPluginDelegateImpl : public WebPluginDelegate { |
| 29 public: | 33 public: |
| 30 static bool IsPluginDelegateWindow(gfx::NativeWindow window); | 34 static bool IsPluginDelegateWindow(gfx::NativeWindow window); |
| 31 static bool GetPluginNameFromWindow(gfx::NativeWindow window, | 35 static bool GetPluginNameFromWindow(gfx::NativeWindow window, |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 170 | 174 |
| 171 #if defined(OS_WIN) | 175 #if defined(OS_WIN) |
| 172 // Original wndproc before we subclassed. | 176 // Original wndproc before we subclassed. |
| 173 WNDPROC plugin_wnd_proc_; | 177 WNDPROC plugin_wnd_proc_; |
| 174 | 178 |
| 175 // Used to throttle WM_USER+1 messages in Flash. | 179 // Used to throttle WM_USER+1 messages in Flash. |
| 176 uint32 last_message_; | 180 uint32 last_message_; |
| 177 bool is_calling_wndproc; | 181 bool is_calling_wndproc; |
| 178 #endif // OS_WIN | 182 #endif // OS_WIN |
| 179 | 183 |
| 184 #if defined(OS_LINUX) |
| 185 // The pixmap we're drawing into, for a windowless plugin. |
| 186 GdkPixmap* pixmap_; |
| 187 |
| 188 // Ensure pixmap_ exists and is at least width by height pixels. |
| 189 void EnsurePixmapAtLeastSize(int width, int height); |
| 190 #endif |
| 191 |
| 180 gfx::NativeView parent_; | 192 gfx::NativeView parent_; |
| 181 NPWindow window_; | 193 NPWindow window_; |
| 182 #if defined(OS_MACOSX) | 194 #if defined(OS_MACOSX) |
| 183 NP_CGContext cg_context_; | 195 NP_CGContext cg_context_; |
| 184 #endif | 196 #endif |
| 185 gfx::Rect window_rect_; | 197 gfx::Rect window_rect_; |
| 186 gfx::Rect clip_rect_; | 198 gfx::Rect clip_rect_; |
| 187 std::vector<gfx::Rect> cutout_rects_; | 199 std::vector<gfx::Rect> cutout_rects_; |
| 188 int quirks_; | 200 int quirks_; |
| 189 | 201 |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 259 | 271 |
| 260 // Holds the current cursor set by the windowless plugin. | 272 // Holds the current cursor set by the windowless plugin. |
| 261 WebCursor current_windowless_cursor_; | 273 WebCursor current_windowless_cursor_; |
| 262 | 274 |
| 263 friend class WebPluginDelegate; | 275 friend class WebPluginDelegate; |
| 264 | 276 |
| 265 DISALLOW_EVIL_CONSTRUCTORS(WebPluginDelegateImpl); | 277 DISALLOW_EVIL_CONSTRUCTORS(WebPluginDelegateImpl); |
| 266 }; | 278 }; |
| 267 | 279 |
| 268 #endif // #ifndef WEBKIT_GLUE_PLUGIN_WEBPLUGIN_DELEGATE_IMPL_H_ | 280 #endif // #ifndef WEBKIT_GLUE_PLUGIN_WEBPLUGIN_DELEGATE_IMPL_H_ |
| OLD | NEW |