diff options
-rw-r--r-- | ash/root_window_controller.cc | 17 | ||||
-rw-r--r-- | ash/shelf/overflow_bubble.cc | 4 | ||||
-rw-r--r-- | ash/shell_window_ids.h | 37 |
3 files changed, 36 insertions, 22 deletions
diff --git a/ash/root_window_controller.cc b/ash/root_window_controller.cc index 6964f14..946e1e3 100644 --- a/ash/root_window_controller.cc +++ b/ash/root_window_controller.cc @@ -765,18 +765,25 @@ void RootWindowController::CreateContainersInRootWindow( views::corewm::SetChildWindowVisibilityChangesAnimated(docked_container); SetUsesScreenCoordinates(docked_container); + aura::Window* shelf_container = + CreateContainer(kShellWindowId_ShelfContainer, + "ShelfContainer", + non_lock_screen_containers); + SetUsesScreenCoordinates(shelf_container); + DescendantShouldStayInSameRootWindow(shelf_container); + aura::Window* panel_container = CreateContainer( kShellWindowId_PanelContainer, "PanelContainer", non_lock_screen_containers); SetUsesScreenCoordinates(panel_container); - aura::Window* shelf_container = - CreateContainer(kShellWindowId_ShelfContainer, - "ShelfContainer", + aura::Window* shelf_bubble_container = + CreateContainer(kShellWindowId_ShelfBubbleContainer, + "ShelfBubbleContainer", non_lock_screen_containers); - SetUsesScreenCoordinates(shelf_container); - DescendantShouldStayInSameRootWindow(shelf_container); + SetUsesScreenCoordinates(shelf_bubble_container); + DescendantShouldStayInSameRootWindow(shelf_bubble_container); aura::Window* app_list_container = CreateContainer(kShellWindowId_AppListContainer, diff --git a/ash/shelf/overflow_bubble.cc b/ash/shelf/overflow_bubble.cc index 554e89f5..0b62f46 100644 --- a/ash/shelf/overflow_bubble.cc +++ b/ash/shelf/overflow_bubble.cc @@ -12,6 +12,7 @@ #include "ash/shelf/shelf_view.h" #include "ash/shelf/shelf_widget.h" #include "ash/shell.h" +#include "ash/shell_window_ids.h" #include "ash/system/tray/system_tray.h" #include "ui/aura/client/screen_position_client.h" #include "ui/aura/root_window.h" @@ -120,6 +121,9 @@ void OverflowBubbleView::InitOverflowBubble(views::View* anchor, shelf_view_ = shelf_view; AddChildView(shelf_view_); + set_parent_window(Shell::GetContainer( + anchor->GetWidget()->GetNativeWindow()->GetRootWindow(), + internal::kShellWindowId_ShelfBubbleContainer)); views::BubbleDelegateView::CreateBubble(this); } diff --git a/ash/shell_window_ids.h b/ash/shell_window_ids.h index 1c1c396..ab5fd23 100644 --- a/ash/shell_window_ids.h +++ b/ash/shell_window_ids.h @@ -50,54 +50,57 @@ const int kShellWindowId_AlwaysOnTopContainer = 7; // The container for windows docked to either side of the desktop. const int kShellWindowId_DockedContainer = 8; -// The container for panel windows. -const int kShellWindowId_PanelContainer = 9; - // The container for the shelf. -const int kShellWindowId_ShelfContainer = 10; +const int kShellWindowId_ShelfContainer = 9; + +// The container for bubbles which float over the shelf. +const int kShellWindowId_ShelfBubbleContainer = 10; + +// The container for panel windows. +const int kShellWindowId_PanelContainer = 11; // The container for the app list. -const int kShellWindowId_AppListContainer = 11; +const int kShellWindowId_AppListContainer = 12; // The container for user-specific modal windows. -const int kShellWindowId_SystemModalContainer = 12; +const int kShellWindowId_SystemModalContainer = 13; // The container for input method components such like candidate windows. They // are almost panels but have no activations/focus, and they should appear over // the AppList and SystemModal dialogs. -const int kShellWindowId_InputMethodContainer = 13; +const int kShellWindowId_InputMethodContainer = 14; // The container for the lock screen background. -const int kShellWindowId_LockScreenBackgroundContainer = 14; +const int kShellWindowId_LockScreenBackgroundContainer = 15; // The container for the lock screen. -const int kShellWindowId_LockScreenContainer = 15; +const int kShellWindowId_LockScreenContainer = 16; // The container for the lock screen modal windows. -const int kShellWindowId_LockSystemModalContainer = 16; +const int kShellWindowId_LockSystemModalContainer = 17; // The container for the status area. -const int kShellWindowId_StatusContainer = 17; +const int kShellWindowId_StatusContainer = 18; // The container for menus. -const int kShellWindowId_MenuContainer = 18; +const int kShellWindowId_MenuContainer = 19; // The container for drag/drop images and tooltips. -const int kShellWindowId_DragImageAndTooltipContainer = 19; +const int kShellWindowId_DragImageAndTooltipContainer = 20; // The container for bubbles briefly overlaid onscreen to show settings changes // (volume, brightness, etc.). -const int kShellWindowId_SettingBubbleContainer = 20; +const int kShellWindowId_SettingBubbleContainer = 21; // The container for special components overlaid onscreen, such as the // region selector for partial screenshots. -const int kShellWindowId_OverlayContainer = 21; +const int kShellWindowId_OverlayContainer = 22; // ID of the window created by PhantomWindowController or DragWindowController. -const int kShellWindowId_PhantomWindow = 22; +const int kShellWindowId_PhantomWindow = 23; // The topmost container, used for power off animation. -const int kShellWindowId_PowerButtonAnimationContainer = 23; +const int kShellWindowId_PowerButtonAnimationContainer = 24; } // namespace internal |