diff options
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/app/framework.order | 16 | ||||
-rw-r--r-- | chrome/browser/plugin_carbon_interpose_mac.cc | 7 | ||||
-rw-r--r-- | chrome/plugin/plugin_interpose_util_mac.h | 3 | ||||
-rw-r--r-- | chrome/plugin/plugin_interpose_util_mac.mm | 5 |
4 files changed, 19 insertions, 12 deletions
diff --git a/chrome/app/framework.order b/chrome/app/framework.order index 167d45f..814cecc 100644 --- a/chrome/app/framework.order +++ b/chrome/app/framework.order @@ -23,20 +23,20 @@ _NP_GetValue _NP_Initialize _NP_Shutdown __ZN22mac_plugin_interposing21SwitchToPluginProcessEv -__ZN22mac_plugin_interposing31NotifyBrowserOfPluginHideWindowEj6CGRect -__ZN22mac_plugin_interposing31NotifyBrowserOfPluginShowWindowEj6CGRectb +__ZN22mac_plugin_interposing17GetActiveDelegateEv __ZN22mac_plugin_interposing33NotifyBrowserOfPluginSelectWindowEj6CGRectb +__ZN22mac_plugin_interposing31NotifyBrowserOfPluginShowWindowEj6CGRectb +__ZN22mac_plugin_interposing31NotifyBrowserOfPluginHideWindowEj6CGRect __ZN22mac_plugin_interposing28NotifyPluginOfSetThemeCursorEP21WebPluginDelegateImplm -__ZN23FakePluginWindowTracker14SharedInstanceEv -__ZN23FakePluginWindowTracker27RemoveFakeWindowForDelegateEP21WebPluginDelegateImplP15OpaqueWindowPtr -__ZN23FakePluginWindowTracker29GenerateFakeWindowForDelegateEP21WebPluginDelegateImpl -__ZN23FakePluginWindowTracker24get_active_plugin_windowEv -__ZN23FakePluginWindowTracker24set_active_plugin_windowEP15OpaqueWindowPtr __ZN23FakePluginWindowTrackerC1Ev __ZN23FakePluginWindowTrackerC2Ev +__ZN23FakePluginWindowTracker14SharedInstanceEv +__ZN23FakePluginWindowTracker29GenerateFakeWindowForDelegateEP21WebPluginDelegateImpl +__ZNK23FakePluginWindowTracker24GetDelegateForFakeWindowEP15OpaqueWindowPtr +__ZNK23FakePluginWindowTracker24GetFakeWindowForDelegateEP21WebPluginDelegateImpl +__ZN23FakePluginWindowTracker27RemoveFakeWindowForDelegateEP21WebPluginDelegateImplP15OpaqueWindowPtr __ZN7WebCore22narrowPrecisionToFloatIdEEfT_ __ZN7WebCore24narrowPrecisionToCGFloatIdEEfT_ -__ZNK23FakePluginWindowTracker24GetDelegateForFakeWindowEP15OpaqueWindowPtr __ZnwmPv _catch_exception_raise diff --git a/chrome/browser/plugin_carbon_interpose_mac.cc b/chrome/browser/plugin_carbon_interpose_mac.cc index 45f0ffe..adbba7e 100644 --- a/chrome/browser/plugin_carbon_interpose_mac.cc +++ b/chrome/browser/plugin_carbon_interpose_mac.cc @@ -126,8 +126,9 @@ static void ChromePluginDisposeDialog(DialogRef dialog) { } static WindowPartCode ChromePluginFindWindow(Point point, WindowRef* window) { + WebPluginDelegateImpl* delegate = mac_plugin_interposing::GetActiveDelegate(); FakePluginWindowTracker* tracker = FakePluginWindowTracker::SharedInstance(); - WindowRef plugin_window = tracker->get_active_plugin_window(); + WindowRef plugin_window = tracker->GetFakeWindowForDelegate(delegate); if (plugin_window) { // If plugin_window is non-NULL, then we are in the middle of routing an // event to the plugin, so we know it's destined for this window already, @@ -145,9 +146,7 @@ static WindowPartCode ChromePluginFindWindow(Point point, WindowRef* window) { } static OSStatus ChromePluginSetThemeCursor(ThemeCursor cursor) { - FakePluginWindowTracker* tracker = FakePluginWindowTracker::SharedInstance(); - WebPluginDelegateImpl* delegate = - tracker->GetDelegateForFakeWindow(tracker->get_active_plugin_window()); + WebPluginDelegateImpl* delegate = mac_plugin_interposing::GetActiveDelegate(); if (delegate) { mac_plugin_interposing::NotifyPluginOfSetThemeCursor(delegate, cursor); return noErr; diff --git a/chrome/plugin/plugin_interpose_util_mac.h b/chrome/plugin/plugin_interpose_util_mac.h index 75d1142..deabe6c 100644 --- a/chrome/plugin/plugin_interpose_util_mac.h +++ b/chrome/plugin/plugin_interpose_util_mac.h @@ -20,6 +20,9 @@ void SetUpCocoaInterposing(); // Brings the plugin process to the front so that the user can see its windows. void SwitchToPluginProcess(); +// Returns the delegate currently processing events. +WebPluginDelegateImpl* GetActiveDelegate(); + // Sends a message to the browser process to inform it that the given window // has been brought forward. void NotifyBrowserOfPluginSelectWindow(uint32 window_id, CGRect bounds, diff --git a/chrome/plugin/plugin_interpose_util_mac.mm b/chrome/plugin/plugin_interpose_util_mac.mm index 1cad1bb..7743175 100644 --- a/chrome/plugin/plugin_interpose_util_mac.mm +++ b/chrome/plugin/plugin_interpose_util_mac.mm @@ -31,6 +31,11 @@ void SwitchToPluginProcess() { } __attribute__((visibility("default"))) +WebPluginDelegateImpl* GetActiveDelegate() { + return WebPluginDelegateImpl::GetActiveDelegate(); +} + +__attribute__((visibility("default"))) void NotifyBrowserOfPluginSelectWindow(uint32 window_id, CGRect bounds, bool modal) { PluginThread* plugin_thread = PluginThread::current(); |