summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ash/root_window_controller.cc17
-rw-r--r--ash/shelf/overflow_bubble.cc4
-rw-r--r--ash/shell_window_ids.h37
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