Commit 1c9750f6 authored by Anastasia Helfinstein's avatar Anastasia Helfinstein Committed by Commit Bot

Show Accessibility panel over the virtual keyboard

Switch Access (go/cros-switch) uses the Accessibility panel to show its
menu and back button. The back button is currently being shown under
the virtual keyboard, which causes confusion on how to navigate outward
in scope.

A similar change was previously submitted (https://osscs.corp.google.com/chromium/chromium/src/+/0a727234100f0d23e3308767087327f458cc92a3)
but later reverted because of unintended side effects of showing the
ChromeVox panel above fullscreen windows. This change does not have
that affect, as it leaves the logic to hide the window in fullscreen
mode intact.

Bug: 946616
Change-Id: I9f85a5f4f699ea5af55f75a69c1c3f5bb4358c93
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1727511Reviewed-by: default avatarJames Cook <jamescook@chromium.org>
Commit-Queue: Anastasia Helfinstein <anastasi@google.com>
Cr-Commit-Position: refs/heads/master@{#682911}
parent 8a8ae9fe
...@@ -126,6 +126,9 @@ void AccessibilityPanelLayoutManager::UpdateWindowBounds() { ...@@ -126,6 +126,9 @@ void AccessibilityPanelLayoutManager::UpdateWindowBounds() {
if (!always_visible_ && root_controller->GetWindowForFullscreenMode() && if (!always_visible_ && root_controller->GetWindowForFullscreenMode() &&
!wm::IsActiveWindow(panel_window_)) { !wm::IsActiveWindow(panel_window_)) {
bounds.set_height(0); bounds.set_height(0);
panel_window_->SetBounds(bounds);
UpdateWorkAreaForPanelHeight();
return;
} }
// Make sure the accessibility panel is always below the Docked Magnifier // Make sure the accessibility panel is always below the Docked Magnifier
......
...@@ -1049,16 +1049,6 @@ void RootWindowController::CreateContainers() { ...@@ -1049,16 +1049,6 @@ void RootWindowController::CreateContainers() {
settings_bubble_container->SetProperty(::wm::kUsesScreenCoordinatesKey, true); settings_bubble_container->SetProperty(::wm::kUsesScreenCoordinatesKey, true);
settings_bubble_container->SetProperty(kLockedToRootKey, true); settings_bubble_container->SetProperty(kLockedToRootKey, true);
aura::Window* accessibility_panel_container = CreateContainer(
kShellWindowId_AccessibilityPanelContainer, "AccessibilityPanelContainer",
lock_screen_related_containers);
::wm::SetChildWindowVisibilityChangesAnimated(accessibility_panel_container);
accessibility_panel_container->SetProperty(::wm::kUsesScreenCoordinatesKey,
true);
accessibility_panel_container->SetProperty(kLockedToRootKey, true);
accessibility_panel_container->SetLayoutManager(
new AccessibilityPanelLayoutManager());
aura::Window* virtual_keyboard_parent_container = CreateContainer( aura::Window* virtual_keyboard_parent_container = CreateContainer(
kShellWindowId_ImeWindowParentContainer, "ImeWindowParentContainer", kShellWindowId_ImeWindowParentContainer, "ImeWindowParentContainer",
lock_screen_related_containers); lock_screen_related_containers);
...@@ -1076,6 +1066,16 @@ void RootWindowController::CreateContainers() { ...@@ -1076,6 +1066,16 @@ void RootWindowController::CreateContainers() {
new keyboard::KeyboardLayoutManager( new keyboard::KeyboardLayoutManager(
keyboard::KeyboardUIController::Get())); keyboard::KeyboardUIController::Get()));
aura::Window* accessibility_panel_container = CreateContainer(
kShellWindowId_AccessibilityPanelContainer, "AccessibilityPanelContainer",
lock_screen_related_containers);
::wm::SetChildWindowVisibilityChangesAnimated(accessibility_panel_container);
accessibility_panel_container->SetProperty(::wm::kUsesScreenCoordinatesKey,
true);
accessibility_panel_container->SetProperty(kLockedToRootKey, true);
accessibility_panel_container->SetLayoutManager(
new AccessibilityPanelLayoutManager());
aura::Window* menu_container = aura::Window* menu_container =
CreateContainer(kShellWindowId_MenuContainer, "MenuContainer", CreateContainer(kShellWindowId_MenuContainer, "MenuContainer",
lock_screen_related_containers); lock_screen_related_containers);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment