Prevent a11y on-screen keyboard from occluding active text field.

Notifies the workspace layout manager when the on-screen keyboard is shown to reposition the focused window, preventing occlusion of the active text field.

BUG=235811

Review URL: https://codereview.chromium.org/313463002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@274842 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/ash/root_window_controller.cc b/ash/root_window_controller.cc
index 5a798d7..1fe7c37 100644
--- a/ash/root_window_controller.cc
+++ b/ash/root_window_controller.cc
@@ -688,6 +688,7 @@
     keyboard_controller->AddObserver(shelf()->shelf_layout_manager());
     keyboard_controller->AddObserver(panel_layout_manager_);
     keyboard_controller->AddObserver(docked_layout_manager_);
+    keyboard_controller->AddObserver(workspace_controller_->layout_manager());
     Shell::GetInstance()->delegate()->VirtualKeyboardActivated(true);
   }
   aura::Window* parent = GetContainer(
@@ -722,6 +723,8 @@
       keyboard_controller->RemoveObserver(shelf()->shelf_layout_manager());
       keyboard_controller->RemoveObserver(panel_layout_manager_);
       keyboard_controller->RemoveObserver(docked_layout_manager_);
+      keyboard_controller->RemoveObserver(
+          workspace_controller_->layout_manager());
       Shell::GetInstance()->delegate()->VirtualKeyboardActivated(false);
     }
   }