summaryrefslogtreecommitdiffstats
path: root/chrome/plugin/plugin_interpose_util_mac.h
diff options
context:
space:
mode:
authorthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-28 19:00:51 +0000
committerthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-28 19:00:51 +0000
commitb2cc9fb19dc373296efe4db346d8ec9b58af5111 (patch)
tree29b609a7c152716fe9cff905fb23b2c6bf8c9d96 /chrome/plugin/plugin_interpose_util_mac.h
parentdcf29616d0390738f5c36ad344f7d28f37a916f6 (diff)
downloadchromium_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.h12
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