| Index: ash/system/web_notification/web_notification_tray.cc
|
| diff --git a/ash/system/web_notification/web_notification_tray.cc b/ash/system/web_notification/web_notification_tray.cc
|
| index 9f300f4eef8c1706da7edb325602ef50d2762a59..208187b9972a67c591f93046e8c98e7aa87d3065 100644
|
| --- a/ash/system/web_notification/web_notification_tray.cc
|
| +++ b/ash/system/web_notification/web_notification_tray.cc
|
| @@ -10,6 +10,7 @@
|
| #include "ash/common/shelf/shelf_constants.h"
|
| #include "ash/common/shelf/wm_shelf.h"
|
| #include "ash/common/shelf/wm_shelf_util.h"
|
| +#include "ash/common/shell_window_ids.h"
|
| #include "ash/common/system/tray/tray_constants.h"
|
| #include "ash/common/system/tray/tray_utils.h"
|
| #include "ash/common/wm_lookup.h"
|
| @@ -94,8 +95,11 @@ class WebNotificationBubbleWrapper {
|
| views::View::ConvertPointToWidget(anchor, &bounds);
|
| init_params.arrow_offset = bounds.x();
|
| }
|
| - views::TrayBubbleView* bubble_view = views::TrayBubbleView::Create(
|
| - tray->GetBubbleWindowContainer(), anchor, tray, &init_params);
|
| + DCHECK(anchor);
|
| + // TrayBubbleView uses |anchor| and |tray| to determine the parent
|
| + // container. See WebNotificationTray::OnBeforeBubbleWidgetInit().
|
| + views::TrayBubbleView* bubble_view =
|
| + views::TrayBubbleView::Create(anchor, tray, &init_params);
|
| bubble_wrapper_.reset(new TrayBubbleWrapper(tray, bubble_view));
|
| bubble_view->SetArrowPaintType(views::BubbleBorder::PAINT_NONE);
|
| bubble->InitializeContents(bubble_view);
|
| @@ -407,6 +411,18 @@ gfx::Rect WebNotificationTray::GetAnchorRect(
|
| return GetBubbleAnchorRect(anchor_widget, anchor_type, anchor_alignment);
|
| }
|
|
|
| +void WebNotificationTray::OnBeforeBubbleWidgetInit(
|
| + views::Widget* anchor_widget,
|
| + views::Widget* bubble_widget,
|
| + views::Widget::InitParams* params) const {
|
| + // Place the bubble in the same root window as |anchor_widget|.
|
| + WmLookup::Get()
|
| + ->GetWindowForWidget(anchor_widget)
|
| + ->GetRootWindowController()
|
| + ->ConfigureWidgetInitParamsForContainer(
|
| + bubble_widget, kShellWindowId_SettingBubbleContainer, params);
|
| +}
|
| +
|
| void WebNotificationTray::HideBubble(const views::TrayBubbleView* bubble_view) {
|
| HideBubbleWithView(bubble_view);
|
| }
|
|
|