OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_PLUGINS_NPAPI_WEBPLUGIN_DELEGATE_IMPL_H_ | 5 #ifndef WEBKIT_PLUGINS_NPAPI_WEBPLUGIN_DELEGATE_IMPL_H_ |
6 #define WEBKIT_PLUGINS_NPAPI_WEBPLUGIN_DELEGATE_IMPL_H_ | 6 #define WEBKIT_PLUGINS_NPAPI_WEBPLUGIN_DELEGATE_IMPL_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <list> | 9 #include <list> |
10 | 10 |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
160 int cursor_position); | 160 int cursor_position); |
161 | 161 |
162 // Informs the plugin that IME composition has completed./ If |text| is empty, | 162 // Informs the plugin that IME composition has completed./ If |text| is empty, |
163 // IME was cancelled. | 163 // IME was cancelled. |
164 void ImeCompositionCompleted(const string16& text); | 164 void ImeCompositionCompleted(const string16& text); |
165 | 165 |
166 // Returns the IME status retrieved from a plug-in. | 166 // Returns the IME status retrieved from a plug-in. |
167 bool GetIMEStatus(int* input_type, gfx::Rect* caret_rect); | 167 bool GetIMEStatus(int* input_type, gfx::Rect* caret_rect); |
168 #endif | 168 #endif |
169 | 169 |
170 #if defined(OS_MACOSX) | 170 #if defined(OS_MACOSX) && !defined(USE_AURA) |
171 // Informs the plugin that the geometry has changed, as with UpdateGeometry, | 171 // Informs the plugin that the geometry has changed, as with UpdateGeometry, |
172 // but also includes the new buffer context for that new geometry. | 172 // but also includes the new buffer context for that new geometry. |
173 void UpdateGeometryAndContext(const gfx::Rect& window_rect, | 173 void UpdateGeometryAndContext(const gfx::Rect& window_rect, |
174 const gfx::Rect& clip_rect, | 174 const gfx::Rect& clip_rect, |
175 gfx::NativeDrawingContext context); | 175 gfx::NativeDrawingContext context); |
176 // Informs the delegate that the plugin called NPN_Invalidate*. Used as a | 176 // Informs the delegate that the plugin called NPN_Invalidate*. Used as a |
177 // trigger for Core Animation drawing. | 177 // trigger for Core Animation drawing. |
178 void PluginDidInvalidate(); | 178 void PluginDidInvalidate(); |
179 // Returns the delegate currently processing events. | 179 // Returns the delegate currently processing events. |
180 static WebPluginDelegateImpl* GetActiveDelegate(); | 180 static WebPluginDelegateImpl* GetActiveDelegate(); |
(...skipping 27 matching lines...) Expand all Loading... |
208 // Indicates that it's time to send the plugin a null event. | 208 // Indicates that it's time to send the plugin a null event. |
209 void FireIdleEvent(); | 209 void FireIdleEvent(); |
210 #endif | 210 #endif |
211 | 211 |
212 // TODO(caryclark): This is a temporary workaround to allow the Darwin / Skia | 212 // TODO(caryclark): This is a temporary workaround to allow the Darwin / Skia |
213 // port to share code with the Darwin / CG port. Later, this will be removed | 213 // port to share code with the Darwin / CG port. Later, this will be removed |
214 // and all callers will use the Paint defined above. | 214 // and all callers will use the Paint defined above. |
215 void CGPaint(CGContextRef context, const gfx::Rect& rect); | 215 void CGPaint(CGContextRef context, const gfx::Rect& rect); |
216 | 216 |
217 bool AllowBufferFlipping(); | 217 bool AllowBufferFlipping(); |
218 #endif // OS_MACOSX | 218 #endif // OS_MACOSX && !USE_AURA |
219 | 219 |
220 gfx::PluginWindowHandle windowed_handle() const { | 220 gfx::PluginWindowHandle windowed_handle() const { |
221 return windowed_handle_; | 221 return windowed_handle_; |
222 } | 222 } |
223 | 223 |
224 #if defined(OS_MACOSX) | 224 #if defined(OS_MACOSX) |
225 // Allow setting a "fake" window handle to associate this plug-in with | 225 // Allow setting a "fake" window handle to associate this plug-in with |
226 // an IOSurface in the browser. Used for accelerated drawing surfaces. | 226 // an IOSurface in the browser. Used for accelerated drawing surfaces. |
227 void set_windowed_handle(gfx::PluginWindowHandle handle); | 227 void set_windowed_handle(gfx::PluginWindowHandle handle); |
228 #endif | 228 #endif |
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
421 // GetProcAddress intercepter for windowless plugins. | 421 // GetProcAddress intercepter for windowless plugins. |
422 static FARPROC WINAPI GetProcAddressPatch(HMODULE module, LPCSTR name); | 422 static FARPROC WINAPI GetProcAddressPatch(HMODULE module, LPCSTR name); |
423 | 423 |
424 // The mouse hook proc which handles mouse capture in windowed plugins. | 424 // The mouse hook proc which handles mouse capture in windowed plugins. |
425 static LRESULT CALLBACK MouseHookProc(int code, WPARAM wParam, | 425 static LRESULT CALLBACK MouseHookProc(int code, WPARAM wParam, |
426 LPARAM lParam); | 426 LPARAM lParam); |
427 | 427 |
428 // Calls SetCapture/ReleaseCapture based on the message type. | 428 // Calls SetCapture/ReleaseCapture based on the message type. |
429 static void HandleCaptureForMessage(HWND window, UINT message); | 429 static void HandleCaptureForMessage(HWND window, UINT message); |
430 | 430 |
431 #elif defined(OS_MACOSX) | 431 #elif defined(OS_MACOSX) && !defined(USE_AURA) |
432 // Sets window_rect_ to |rect| | 432 // Sets window_rect_ to |rect| |
433 void SetPluginRect(const gfx::Rect& rect); | 433 void SetPluginRect(const gfx::Rect& rect); |
434 // Sets content_area_origin to |origin| | 434 // Sets content_area_origin to |origin| |
435 void SetContentAreaOrigin(const gfx::Point& origin); | 435 void SetContentAreaOrigin(const gfx::Point& origin); |
436 // Updates everything that depends on the plugin's absolute screen location. | 436 // Updates everything that depends on the plugin's absolute screen location. |
437 void PluginScreenLocationChanged(); | 437 void PluginScreenLocationChanged(); |
438 // Updates anything that depends on plugin visibility. | 438 // Updates anything that depends on plugin visibility. |
439 void PluginVisibilityChanged(); | 439 void PluginVisibilityChanged(); |
440 | 440 |
441 // Starts an IME session. | 441 // Starts an IME session. |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
490 bool initial_window_focus_; | 490 bool initial_window_focus_; |
491 bool container_is_visible_; | 491 bool container_is_visible_; |
492 bool have_called_set_window_; | 492 bool have_called_set_window_; |
493 | 493 |
494 gfx::Rect cached_clip_rect_; | 494 gfx::Rect cached_clip_rect_; |
495 | 495 |
496 bool ime_enabled_; | 496 bool ime_enabled_; |
497 int keyup_ignore_count_; | 497 int keyup_ignore_count_; |
498 | 498 |
499 scoped_ptr<ExternalDragTracker> external_drag_tracker_; | 499 scoped_ptr<ExternalDragTracker> external_drag_tracker_; |
500 #endif // OS_MACOSX | 500 #endif // OS_MACOSX && !USE_AURA |
501 | 501 |
502 // Called by the message filter hook when the plugin enters a modal loop. | 502 // Called by the message filter hook when the plugin enters a modal loop. |
503 void OnModalLoopEntered(); | 503 void OnModalLoopEntered(); |
504 | 504 |
505 // Returns true if the message passed in corresponds to a user gesture. | 505 // Returns true if the message passed in corresponds to a user gesture. |
506 static bool IsUserGesture(const WebKit::WebInputEvent& event); | 506 static bool IsUserGesture(const WebKit::WebInputEvent& event); |
507 | 507 |
508 // The url with which the plugin was instantiated. | 508 // The url with which the plugin was instantiated. |
509 std::string plugin_url_; | 509 std::string plugin_url_; |
510 | 510 |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
555 // True if NPP_New did not return an error. | 555 // True if NPP_New did not return an error. |
556 bool creation_succeeded_; | 556 bool creation_succeeded_; |
557 | 557 |
558 DISALLOW_COPY_AND_ASSIGN(WebPluginDelegateImpl); | 558 DISALLOW_COPY_AND_ASSIGN(WebPluginDelegateImpl); |
559 }; | 559 }; |
560 | 560 |
561 } // namespace npapi | 561 } // namespace npapi |
562 } // namespace webkit | 562 } // namespace webkit |
563 | 563 |
564 #endif // WEBKIT_PLUGINS_NPAPI_WEBPLUGIN_DELEGATE_IMPL_H_ | 564 #endif // WEBKIT_PLUGINS_NPAPI_WEBPLUGIN_DELEGATE_IMPL_H_ |
OLD | NEW |