diff options
author | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-28 19:00:51 +0000 |
---|---|---|
committer | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-28 19:00:51 +0000 |
commit | b2cc9fb19dc373296efe4db346d8ec9b58af5111 (patch) | |
tree | 29b609a7c152716fe9cff905fb23b2c6bf8c9d96 /chrome/plugin/plugin_interpose_util_mac.h | |
parent | dcf29616d0390738f5c36ad344f7d28f37a916f6 (diff) | |
download | chromium_src-b2cc9fb19dc373296efe4db346d8ec9b58af5111.zip chromium_src-b2cc9fb19dc373296efe4db346d8ec9b58af5111.tar.gz chromium_src-b2cc9fb19dc373296efe4db346d8ec9b58af5111.tar.bz2 |
Use an opaque handle type to pass WebPluginDelegateImpl across dylib boundaries
This works around a wicked new clang linker optimization, but also feels cleaner in general.
BUG=http://llvm.org/bugs/show_bug.cgi?id=8478
TEST=clang/mac builder stays green with newer clang version
Review URL: http://codereview.chromium.org/4191003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64289 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/plugin/plugin_interpose_util_mac.h')
-rw-r--r-- | chrome/plugin/plugin_interpose_util_mac.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/chrome/plugin/plugin_interpose_util_mac.h b/chrome/plugin/plugin_interpose_util_mac.h index 00119a7..879fc65 100644 --- a/chrome/plugin/plugin_interpose_util_mac.h +++ b/chrome/plugin/plugin_interpose_util_mac.h @@ -10,7 +10,9 @@ #import "base/basictypes.h" -class WebPluginDelegateImpl; +// This is really a WebPluginDelegateImpl, but that class is private to the +// framework, and these functions are called from a dylib. +typedef void* OpaquePluginRef; namespace mac_plugin_interposing { @@ -22,7 +24,7 @@ void SetUpCocoaInterposing(); void SwitchToPluginProcess(); // Returns the delegate currently processing events. -WebPluginDelegateImpl* GetActiveDelegate(); +OpaquePluginRef GetActiveDelegate(); // Sends a message to the browser process to inform it that the given window // has been brought forward. @@ -40,15 +42,15 @@ void NotifyBrowserOfPluginShowWindow(uint32 window_id, CGRect bounds, void NotifyBrowserOfPluginHideWindow(uint32 window_id, CGRect bounds); // Sends a message to the plugin that a theme cursor was set. -void NotifyPluginOfSetThemeCursor(WebPluginDelegateImpl* delegate, +void NotifyPluginOfSetThemeCursor(OpaquePluginRef delegate, ThemeCursor cursor); // Sends a message to the plugin that a cursor was set. -void NotifyPluginOfSetCursor(WebPluginDelegateImpl* delegate, +void NotifyPluginOfSetCursor(OpaquePluginRef delegate, const Cursor* cursor); // Returns true if the window containing the given plugin delegate is focused. -bool GetPluginWindowHasFocus(const WebPluginDelegateImpl* delegate); +bool GetPluginWindowHasFocus(const OpaquePluginRef delegate); } // namespace MacPluginInterpose |