Whitelist virtual keyboard container to process events at login screen


When user session is blocked (login screen, lock etc.), virtual keyboard container
window should still be able to process events to function properly.

BUG=263599
TEST=
1. Enable virtual keyboard
2. go to login screen
verify if you can use virtual keyboard to type you password and login

Review URL: https://chromiumcodereview.appspot.com/22465007

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@217159 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/ash/shell/shell_delegate_impl.cc b/ash/shell/shell_delegate_impl.cc
index 20d0a7f..471f5ac 100644
--- a/ash/shell/shell_delegate_impl.cc
+++ b/ash/shell/shell_delegate_impl.cc
@@ -8,6 +8,7 @@
 
 #include "ash/caps_lock_delegate_stub.h"
 #include "ash/host/root_window_host_factory.h"
+#include "ash/keyboard_controller_proxy_stub.h"
 #include "ash/session_state_delegate.h"
 #include "ash/session_state_delegate_stub.h"
 #include "ash/shell/context_menu.h"
@@ -18,39 +19,9 @@
 #include "ash/wm/window_util.h"
 #include "base/message_loop/message_loop.h"
 #include "ui/aura/window.h"
-#include "ui/keyboard/keyboard_controller_proxy.h"
 #include "ui/views/corewm/input_method_event_filter.h"
 
 namespace ash {
-
-namespace {
-
-class DummyKeyboardControllerProxy : public keyboard::KeyboardControllerProxy {
- public:
-  DummyKeyboardControllerProxy() {}
-  virtual ~DummyKeyboardControllerProxy() {}
-
- private:
-  // Overridden from keyboard::KeyboardControllerProxy:
-  virtual content::BrowserContext* GetBrowserContext() OVERRIDE {
-    return Shell::GetInstance()->browser_context();
-  }
-
-  virtual ui::InputMethod* GetInputMethod() OVERRIDE {
-    return Shell::GetInstance()->input_method_filter()->input_method();
-  }
-
-  virtual void RequestAudioInput(content::WebContents* web_contents,
-      const content::MediaStreamRequest& request,
-      const content::MediaResponseCallback& callback) OVERRIDE {
-    return;
-  }
-
-  DISALLOW_COPY_AND_ASSIGN(DummyKeyboardControllerProxy);
-};
-
-}  // namespace
-
 namespace shell {
 
 ShellDelegateImpl::ShellDelegateImpl()
@@ -128,7 +99,7 @@
 
 keyboard::KeyboardControllerProxy*
     ShellDelegateImpl::CreateKeyboardControllerProxy() {
-  return new DummyKeyboardControllerProxy();
+  return new KeyboardControllerProxyStub();
 }
 
 void ShellDelegateImpl::ShowTaskManager() {