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