Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(618)

Side by Side Diff: webkit/glue/plugins/webplugin_delegate_impl.h

Issue 181014: Eliminate remaining WebCore dependencies from webplugin_impl.cc... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 11 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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>
(...skipping 11 matching lines...) Expand all
22 #if defined(OS_LINUX) 22 #if defined(OS_LINUX)
23 typedef struct _GdkDrawable GdkPixmap; 23 typedef struct _GdkDrawable GdkPixmap;
24 #endif 24 #endif
25 25
26 namespace NPAPI { 26 namespace NPAPI {
27 class PluginInstance; 27 class PluginInstance;
28 } 28 }
29 29
30 // An implementation of WebPluginDelegate that proxies all calls to 30 // An implementation of WebPluginDelegate that proxies all calls to
31 // the plugin process. 31 // the plugin process.
32 class WebPluginDelegateImpl : public WebPluginDelegate { 32 class WebPluginDelegateImpl : public webkit_glue::WebPluginDelegate {
33 public: 33 public:
34 static bool IsPluginDelegateWindow(gfx::NativeWindow window); 34 static bool IsPluginDelegateWindow(gfx::NativeWindow window);
35 static bool GetPluginNameFromWindow(gfx::NativeWindow window, 35 static bool GetPluginNameFromWindow(gfx::NativeWindow window,
36 std::wstring *plugin_name); 36 std::wstring *plugin_name);
37 37
38 // Returns true if the window handle passed in is that of the dummy 38 // Returns true if the window handle passed in is that of the dummy
39 // activation window for windowless plugins. 39 // activation window for windowless plugins.
40 static bool IsDummyActivationWindow(gfx::NativeWindow window); 40 static bool IsDummyActivationWindow(gfx::NativeWindow window);
41 41
42 // WebPluginDelegate implementation 42 // WebPluginDelegate implementation
43 virtual void PluginDestroyed(); 43 virtual void PluginDestroyed();
44 virtual bool Initialize(const GURL& url, 44 virtual bool Initialize(const GURL& url,
45 char** argn, 45 char** argn,
46 char** argv, 46 char** argv,
47 int argc, 47 int argc,
48 WebPlugin* plugin, 48 webkit_glue::WebPlugin* plugin,
49 bool load_manually); 49 bool load_manually);
50 virtual void UpdateGeometry(const gfx::Rect& window_rect, 50 virtual void UpdateGeometry(const gfx::Rect& window_rect,
51 const gfx::Rect& clip_rect); 51 const gfx::Rect& clip_rect);
52 virtual void Paint(gfx::NativeDrawingContext context, const gfx::Rect& rect); 52 virtual void Paint(gfx::NativeDrawingContext context, const gfx::Rect& rect);
53 virtual void Print(gfx::NativeDrawingContext context); 53 virtual void Print(gfx::NativeDrawingContext context);
54 54
55 virtual void SetFocus(); // only called when windowless 55 virtual void SetFocus(); // only called when windowless
56 // only called when windowless 56 // only called when windowless
57 // See NPAPI NPP_HandleEvent for more information. 57 // See NPAPI NPP_HandleEvent for more information.
58 virtual bool HandleInputEvent(const WebKit::WebInputEvent& event, 58 virtual bool HandleInputEvent(const WebKit::WebInputEvent& event,
(...skipping 10 matching lines...) Expand all
69 virtual void DidReceiveManualResponse(const GURL& url, 69 virtual void DidReceiveManualResponse(const GURL& url,
70 const std::string& mime_type, 70 const std::string& mime_type,
71 const std::string& headers, 71 const std::string& headers,
72 uint32 expected_length, 72 uint32 expected_length,
73 uint32 last_modified); 73 uint32 last_modified);
74 virtual void DidReceiveManualData(const char* buffer, int length); 74 virtual void DidReceiveManualData(const char* buffer, int length);
75 virtual void DidFinishManualLoading(); 75 virtual void DidFinishManualLoading();
76 virtual void DidManualLoadFail(); 76 virtual void DidManualLoadFail();
77 virtual FilePath GetPluginPath(); 77 virtual FilePath GetPluginPath();
78 virtual void InstallMissingPlugin(); 78 virtual void InstallMissingPlugin();
79 virtual WebPluginResourceClient* CreateResourceClient(int resource_id, 79 virtual webkit_glue::WebPluginResourceClient* CreateResourceClient(
80 const GURL& url, 80 int resource_id,
81 bool notify_needed, 81 const GURL& url,
82 intptr_t notify_data, 82 bool notify_needed,
83 intptr_t stream); 83 intptr_t notify_data,
84 intptr_t stream);
84 85
85 virtual bool IsWindowless() const { return windowless_ ; } 86 virtual bool IsWindowless() const { return windowless_ ; }
86 virtual const gfx::Rect& GetRect() const { return window_rect_; } 87 virtual gfx::Rect GetRect() const { return window_rect_; }
87 virtual const gfx::Rect& GetClipRect() const { return clip_rect_; } 88 virtual gfx::Rect GetClipRect() const { return clip_rect_; }
88 virtual int GetQuirks() const { return quirks_; } 89 virtual int GetQuirks() const { return quirks_; }
89 90
90 #if defined(OS_MACOSX) 91 #if defined(OS_MACOSX)
91 // Informs the delegate that the context used for painting windowless plugins 92 // Informs the delegate that the context used for painting windowless plugins
92 // has changed. 93 // has changed.
93 virtual void UpdateContext(gfx::NativeDrawingContext context); 94 virtual void UpdateContext(gfx::NativeDrawingContext context);
94 #endif 95 #endif
95 96
96 private: 97 private:
97 friend class DeleteTask<WebPluginDelegateImpl>; 98 friend class DeleteTask<WebPluginDelegateImpl>;
98 99
99 WebPluginDelegateImpl(gfx::PluginWindowHandle containing_view, 100 WebPluginDelegateImpl(gfx::PluginWindowHandle containing_view,
100 NPAPI::PluginInstance *instance); 101 NPAPI::PluginInstance *instance);
101 ~WebPluginDelegateImpl(); 102 ~WebPluginDelegateImpl();
102 103
103 // Called by Initialize(), used for platform-specific initialization 104 // Called by Initialize() for platform-specific initialization.
104 // code. 105 void PlatformInitialize();
105 void PlatformInitialize(WebPlugin* plugin);
106 106
107 // Called by DestroyInstance(), used for platform-specific destruction. 107 // Called by DestroyInstance(), used for platform-specific destruction.
108 void PlatformDestroyInstance(); 108 void PlatformDestroyInstance();
109 109
110 #if !defined(OS_MACOSX) 110 #if !defined(OS_MACOSX)
111 //-------------------------- 111 //--------------------------
112 // used for windowed plugins 112 // used for windowed plugins
113 void WindowedUpdateGeometry(const gfx::Rect& window_rect, 113 void WindowedUpdateGeometry(const gfx::Rect& window_rect,
114 const gfx::Rect& clip_rect); 114 const gfx::Rect& clip_rect);
115 // Create the native window. 115 // Create the native window.
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 // causes no regressions and eliminate from other platforms. 178 // causes no regressions and eliminate from other platforms.
179 // this is an optimization to avoid calling SetWindow to the plugin 179 // this is an optimization to avoid calling SetWindow to the plugin
180 // when it is not necessary. Initially, we need to call SetWindow, 180 // when it is not necessary. Initially, we need to call SetWindow,
181 // and after that we only need to call it when the geometry changes. 181 // and after that we only need to call it when the geometry changes.
182 // use this flag to indicate whether we really need it or not. 182 // use this flag to indicate whether we really need it or not.
183 bool windowless_needs_set_window_; 183 bool windowless_needs_set_window_;
184 184
185 // used by windowed and windowless plugins 185 // used by windowed and windowless plugins
186 bool windowless_; 186 bool windowless_;
187 187
188 WebPlugin* plugin_; 188 webkit_glue::WebPlugin* plugin_;
189 scoped_refptr<NPAPI::PluginInstance> instance_; 189 scoped_refptr<NPAPI::PluginInstance> instance_;
190 190
191 #if defined(OS_WIN) 191 #if defined(OS_WIN)
192 // Original wndproc before we subclassed. 192 // Original wndproc before we subclassed.
193 WNDPROC plugin_wnd_proc_; 193 WNDPROC plugin_wnd_proc_;
194 194
195 // Used to throttle WM_USER+1 messages in Flash. 195 // Used to throttle WM_USER+1 messages in Flash.
196 uint32 last_message_; 196 uint32 last_message_;
197 bool is_calling_wndproc; 197 bool is_calling_wndproc;
198 #endif // OS_WIN 198 #endif // OS_WIN
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
301 void OnNullEvent(); 301 void OnNullEvent();
302 302
303 // last mouse position within the plugin's rect (used for null events) 303 // last mouse position within the plugin's rect (used for null events)
304 int last_mouse_x_; 304 int last_mouse_x_;
305 int last_mouse_y_; 305 int last_mouse_y_;
306 #endif 306 #endif
307 307
308 // Holds the current cursor set by the windowless plugin. 308 // Holds the current cursor set by the windowless plugin.
309 WebCursor current_windowless_cursor_; 309 WebCursor current_windowless_cursor_;
310 310
311 friend class WebPluginDelegate; 311 friend class webkit_glue::WebPluginDelegate;
312 312
313 DISALLOW_EVIL_CONSTRUCTORS(WebPluginDelegateImpl); 313 DISALLOW_EVIL_CONSTRUCTORS(WebPluginDelegateImpl);
314 }; 314 };
315 315
316 #endif // #ifndef WEBKIT_GLUE_PLUGIN_WEBPLUGIN_DELEGATE_IMPL_H_ 316 #endif // #ifndef WEBKIT_GLUE_PLUGIN_WEBPLUGIN_DELEGATE_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698