diff options
author | avi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-15 21:51:19 +0000 |
---|---|---|
committer | avi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-15 21:51:19 +0000 |
commit | 997a47ac989abd294e94f8384f1eba6ad5698ad2 (patch) | |
tree | 5e1b92105eb5f52626c583953ed7204584e37885 /chrome/browser/plugin_carbon_interpose_mac.cc | |
parent | fa1cf0b87092ed3f3069a8549270f999e05cca20 (diff) | |
download | chromium_src-997a47ac989abd294e94f8384f1eba6ad5698ad2.zip chromium_src-997a47ac989abd294e94f8384f1eba6ad5698ad2.tar.gz chromium_src-997a47ac989abd294e94f8384f1eba6ad5698ad2.tar.bz2 |
(Mac) Intercept (Carbon) cursor setting by plugins and forward it on properly.
BUG=http://crbug.com/20717
TEST=as in bug; this covers old Flash
Review URL: http://codereview.chromium.org/550062
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36416 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/plugin_carbon_interpose_mac.cc')
-rw-r--r-- | chrome/browser/plugin_carbon_interpose_mac.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/chrome/browser/plugin_carbon_interpose_mac.cc b/chrome/browser/plugin_carbon_interpose_mac.cc index 852bf73..45f0ffe 100644 --- a/chrome/browser/plugin_carbon_interpose_mac.cc +++ b/chrome/browser/plugin_carbon_interpose_mac.cc @@ -144,6 +144,17 @@ static WindowPartCode ChromePluginFindWindow(Point point, WindowRef* window) { return FindWindow(point, window); } +static OSStatus ChromePluginSetThemeCursor(ThemeCursor cursor) { + FakePluginWindowTracker* tracker = FakePluginWindowTracker::SharedInstance(); + WebPluginDelegateImpl* delegate = + tracker->GetDelegateForFakeWindow(tracker->get_active_plugin_window()); + if (delegate) { + mac_plugin_interposing::NotifyPluginOfSetThemeCursor(delegate, cursor); + return noErr; + } + return SetThemeCursor(cursor); +} + #pragma mark - struct interpose_substitution { @@ -167,4 +178,5 @@ __attribute__((used)) static const interpose_substitution substitutions[] INTERPOSE_FUNCTION(ReleaseWindow), INTERPOSE_FUNCTION(DisposeDialog), INTERPOSE_FUNCTION(FindWindow), + INTERPOSE_FUNCTION(SetThemeCursor), }; |