From 1b8a1b648148a058b2c03d89398a65038992732f Mon Sep 17 00:00:00 2001 From: "stuartmorgan@chromium.org" <stuartmorgan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> Date: Fri, 17 Sep 2010 21:30:57 +0000 Subject: Revert 59845 - Extend improved windowless plugin focus handling to all platforms Uses the same two-state focus tracking that the Mac currently uses on Windows and Linux as well, so focus is updated correctly when the content area itself gains and loses focus. BUG=55607 TEST=Windowless plugins should handle key events when focused on all platforms. Review URL: http://codereview.chromium.org/3418016 TBR=stuartmorgan@chromium.org Review URL: http://codereview.chromium.org/3457007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59852 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/renderer/render_view.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'chrome/renderer/render_view.h') diff --git a/chrome/renderer/render_view.h b/chrome/renderer/render_view.h index 01f9655..0013ee9 100644 --- a/chrome/renderer/render_view.h +++ b/chrome/renderer/render_view.h @@ -318,10 +318,10 @@ class RenderView : public RenderWidget, int32 height, TransportDIB::Handle transport_dib); void AcceleratedSurfaceBuffersSwapped(gfx::PluginWindowHandle window); -#endif void RegisterPluginDelegate(WebPluginDelegateProxy* delegate); void UnregisterPluginDelegate(WebPluginDelegateProxy* delegate); +#endif // IPC::Channel::Listener implementation ------------------------------------- @@ -610,8 +610,9 @@ class RenderView : public RenderWidget, virtual void DidFlushPaint(); virtual void DidHandleKeyEvent(); virtual void DidHandleMouseEvent(const WebKit::WebMouseEvent& event); - virtual void OnSetFocus(bool enable); + #if OS_MACOSX + virtual void OnSetFocus(bool enable); virtual void OnWasHidden(); virtual void OnWasRestored(bool needs_repainting); #endif @@ -1217,10 +1218,12 @@ class RenderView : public RenderWidget, PepperPluginDelegateImpl pepper_delegate_; +#if defined(OS_MACOSX) // All the currently active plugin delegates for this RenderView; kept so that // we can enumerate them to send updates about things like window location // or tab focus and visibily. These are non-owning references. std::set<WebPluginDelegateProxy*> plugin_delegates_; +#endif // A list of all Pepper v1 plugins that we've created that haven't been // destroyed yet. Pepper v2 plugins are tracked by the pepper_delegate_. -- cgit v1.1