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

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

Issue 8174005: Get Chrome to build & link with USE_AURA on Windows again. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 2 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
« no previous file with comments | « views/views.gyp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 class PluginInstance; 48 class PluginInstance;
49 49
50 #if defined(OS_MACOSX) 50 #if defined(OS_MACOSX)
51 class WebPluginAcceleratedSurface; 51 class WebPluginAcceleratedSurface;
52 class ExternalDragTracker; 52 class ExternalDragTracker;
53 #ifndef NP_NO_QUICKDRAW 53 #ifndef NP_NO_QUICKDRAW
54 class QuickDrawDrawingManager; 54 class QuickDrawDrawingManager;
55 #endif // NP_NO_QUICKDRAW 55 #endif // NP_NO_QUICKDRAW
56 #endif // OS_MACOSX 56 #endif // OS_MACOSX
57 57
58 #if defined(OS_WIN) 58 #if defined(OS_WIN) && !defined(USE_AURA)
59 class WebPluginIMEWin; 59 class WebPluginIMEWin;
60 #endif // OS_WIN 60 #endif // OS_WIN
61 61
62 // An implementation of WebPluginDelegate that runs in the plugin process, 62 // An implementation of WebPluginDelegate that runs in the plugin process,
63 // proxied from the renderer by WebPluginDelegateProxy. 63 // proxied from the renderer by WebPluginDelegateProxy.
64 class WebPluginDelegateImpl : public WebPluginDelegate { 64 class WebPluginDelegateImpl : public WebPluginDelegate {
65 public: 65 public:
66 enum PluginQuirks { 66 enum PluginQuirks {
67 PLUGIN_QUIRK_SETWINDOW_TWICE = 1, // Win32 67 PLUGIN_QUIRK_SETWINDOW_TWICE = 1, // Win32
68 PLUGIN_QUIRK_THROTTLE_WM_USER_PLUS_ONE = 2, // Win32 68 PLUGIN_QUIRK_THROTTLE_WM_USER_PLUS_ONE = 2, // Win32
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 140
141 // Returns the path for the library implementing this plugin. 141 // Returns the path for the library implementing this plugin.
142 FilePath GetPluginPath(); 142 FilePath GetPluginPath();
143 143
144 // Returns a combination of PluginQuirks. 144 // Returns a combination of PluginQuirks.
145 int GetQuirks() const { return quirks_; } 145 int GetQuirks() const { return quirks_; }
146 146
147 // Informs the plugin that the view it is in has gained or lost focus. 147 // Informs the plugin that the view it is in has gained or lost focus.
148 void SetContentAreaHasFocus(bool has_focus); 148 void SetContentAreaHasFocus(bool has_focus);
149 149
150 #if defined(OS_WIN) 150 #if defined(OS_WIN) && !defined(USE_AURA)
151 // Informs the plug-in that an IME has changed its status. 151 // Informs the plug-in that an IME has changed its status.
152 void ImeCompositionUpdated(const string16& text, 152 void ImeCompositionUpdated(const string16& text,
153 const std::vector<int>& clauses, 153 const std::vector<int>& clauses,
154 const std::vector<int>& target, 154 const std::vector<int>& target,
155 int cursor_position); 155 int cursor_position);
156 156
157 // Informs the plugin that IME composition has completed./ If |text| is empty, 157 // Informs the plugin that IME composition has completed./ If |text| is empty,
158 // IME was cancelled. 158 // IME was cancelled.
159 void ImeCompositionCompleted(const string16& text); 159 void ImeCompositionCompleted(const string16& text);
160 160
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 gfx::Rect windowed_last_pos_; 324 gfx::Rect windowed_last_pos_;
325 325
326 bool windowed_did_set_window_; 326 bool windowed_did_set_window_;
327 327
328 // used by windowed and windowless plugins 328 // used by windowed and windowless plugins
329 bool windowless_; 329 bool windowless_;
330 330
331 WebPlugin* plugin_; 331 WebPlugin* plugin_;
332 scoped_refptr<PluginInstance> instance_; 332 scoped_refptr<PluginInstance> instance_;
333 333
334 #if defined(OS_WIN) 334 #if defined(OS_WIN) && !defined(USE_AURA)
335 // Original wndproc before we subclassed. 335 // Original wndproc before we subclassed.
336 WNDPROC plugin_wnd_proc_; 336 WNDPROC plugin_wnd_proc_;
337 337
338 // Used to throttle WM_USER+1 messages in Flash. 338 // Used to throttle WM_USER+1 messages in Flash.
339 uint32 last_message_; 339 uint32 last_message_;
340 bool is_calling_wndproc; 340 bool is_calling_wndproc;
341 341
342 // An IME emulator used by a windowless plug-in to retrieve IME data through 342 // An IME emulator used by a windowless plug-in to retrieve IME data through
343 // IMM32 functions. 343 // IMM32 functions.
344 scoped_ptr<WebPluginIMEWin> plugin_ime_; 344 scoped_ptr<WebPluginIMEWin> plugin_ime_;
(...skipping 19 matching lines...) Expand all
364 // Ensure pixmap_ exists and is at least width by height pixels. 364 // Ensure pixmap_ exists and is at least width by height pixels.
365 void EnsurePixmapAtLeastSize(int width, int height); 365 void EnsurePixmapAtLeastSize(int width, int height);
366 #endif 366 #endif
367 367
368 gfx::PluginWindowHandle parent_; 368 gfx::PluginWindowHandle parent_;
369 NPWindow window_; 369 NPWindow window_;
370 gfx::Rect window_rect_; 370 gfx::Rect window_rect_;
371 gfx::Rect clip_rect_; 371 gfx::Rect clip_rect_;
372 int quirks_; 372 int quirks_;
373 373
374 #if defined(OS_WIN) 374 #if defined(OS_WIN) && !defined(USE_AURA)
375 // Windowless plugins don't have keyboard focus causing issues with the 375 // Windowless plugins don't have keyboard focus causing issues with the
376 // plugin not receiving keyboard events if the plugin enters a modal 376 // plugin not receiving keyboard events if the plugin enters a modal
377 // loop like TrackPopupMenuEx or MessageBox, etc. 377 // loop like TrackPopupMenuEx or MessageBox, etc.
378 // This is a basic issue with windows activation and focus arising due to 378 // This is a basic issue with windows activation and focus arising due to
379 // the fact that these windows are created by different threads. Activation 379 // the fact that these windows are created by different threads. Activation
380 // and focus are thread specific states, and if the browser has focus, 380 // and focus are thread specific states, and if the browser has focus,
381 // the plugin may not have focus. 381 // the plugin may not have focus.
382 // To fix a majority of these activation issues we create a dummy visible 382 // To fix a majority of these activation issues we create a dummy visible
383 // child window to which we set focus whenever the windowless plugin 383 // child window to which we set focus whenever the windowless plugin
384 // receives a WM_LBUTTONDOWN/WM_RBUTTONDOWN message via NPP_HandleEvent. 384 // receives a WM_LBUTTONDOWN/WM_RBUTTONDOWN message via NPP_HandleEvent.
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
550 // True if NPP_New did not return an error. 550 // True if NPP_New did not return an error.
551 bool creation_succeeded_; 551 bool creation_succeeded_;
552 552
553 DISALLOW_COPY_AND_ASSIGN(WebPluginDelegateImpl); 553 DISALLOW_COPY_AND_ASSIGN(WebPluginDelegateImpl);
554 }; 554 };
555 555
556 } // namespace npapi 556 } // namespace npapi
557 } // namespace webkit 557 } // namespace webkit
558 558
559 #endif // WEBKIT_PLUGINS_NPAPI_WEBPLUGIN_DELEGATE_IMPL_H_ 559 #endif // WEBKIT_PLUGINS_NPAPI_WEBPLUGIN_DELEGATE_IMPL_H_
OLDNEW
« no previous file with comments | « views/views.gyp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698