diff options
author | amanda@chromium.org <amanda@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-01 19:41:56 +0000 |
---|---|---|
committer | amanda@chromium.org <amanda@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-01 19:41:56 +0000 |
commit | 1d5ac66b45c8e625fb4ec382d4e38e5357fdb257 (patch) | |
tree | b98aaaafe5243bcd63d0db902d6c8bf1e415dec9 /chrome/browser/plugin_process_host.h | |
parent | 4c98db35cdd001ce1585bc703375c92ec3ebea9b (diff) | |
download | chromium_src-1d5ac66b45c8e625fb4ec382d4e38e5357fdb257.zip chromium_src-1d5ac66b45c8e625fb4ec382d4e38e5357fdb257.tar.gz chromium_src-1d5ac66b45c8e625fb4ec382d4e38e5357fdb257.tar.bz2 |
Fix several issues around fullscreen Mac plugins:
* Keystrokes are now properly sent to plugins in fullscreen mode
* When a plugin creates a fullscreen window, we hide the menu bar and restore it when the window is closed
BUG=19534,21020
TEST=Open a page with plugins that can go full screen (example: flash video players). Enter full screen mode and verify that esc, arrow keys, spacebar, etc. work as expected. Verify that the menu bar is hidden when the plugin goes fullscreen and is restored when it exits fullscreen mode.
Review URL: http://codereview.chromium.org/257008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27755 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/plugin_process_host.h')
-rw-r--r-- | chrome/browser/plugin_process_host.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/chrome/browser/plugin_process_host.h b/chrome/browser/plugin_process_host.h index 36f8d1e..6c5e17f 100644 --- a/chrome/browser/plugin_process_host.h +++ b/chrome/browser/plugin_process_host.h @@ -112,6 +112,13 @@ class PluginProcessHost : public ChildProcessHost, void OnMapNativeViewId(gfx::NativeViewId id, gfx::PluginWindowHandle* output); #endif +#if defined(OS_MACOSX) + void OnPluginSelectWindow(uint32 window_id, gfx::Rect window_rect); + void OnPluginShowWindow(uint32 window_id, gfx::Rect window_rect); + void OnPluginHideWindow(uint32 window_id, gfx::Rect window_rect); + void OnPluginDisposeWindow(uint32 window_id, gfx::Rect window_rect); +#endif + virtual bool CanShutdown() { return sent_requests_.empty(); } struct ChannelRequest { @@ -143,6 +150,10 @@ class PluginProcessHost : public ChildProcessHost, // Tracks plugin parent windows created on the UI thread. std::set<HWND> plugin_parent_windows_set_; #endif +#if defined(OS_MACOSX) + // Tracks plugin windows currently visible + std::set<uint32> plugin_visible_windows_set_; +#endif DISALLOW_COPY_AND_ASSIGN(PluginProcessHost); }; |