| Index: ash/common/system/tray/tray_background_view.cc
|
| diff --git a/ash/system/tray/tray_background_view.cc b/ash/common/system/tray/tray_background_view.cc
|
| similarity index 92%
|
| rename from ash/system/tray/tray_background_view.cc
|
| rename to ash/common/system/tray/tray_background_view.cc
|
| index 94180852c8b3e895789f02185909682438bf40aa..06b2a76d9d5c07f0b72ac68f5133151c27bce613 100644
|
| --- a/ash/system/tray/tray_background_view.cc
|
| +++ b/ash/common/system/tray/tray_background_view.cc
|
| @@ -2,7 +2,7 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#include "ash/system/tray/tray_background_view.h"
|
| +#include "ash/common/system/tray/tray_background_view.h"
|
|
|
| #include "ash/common/material_design/material_design_controller.h"
|
| #include "ash/common/shelf/shelf_constants.h"
|
| @@ -10,18 +10,13 @@
|
| #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/screen_util.h"
|
| -#include "ash/shell.h"
|
| -#include "ash/system/status_area_widget.h"
|
| -#include "ash/system/status_area_widget_delegate.h"
|
| +#include "ash/common/system/tray/tray_event_filter.h"
|
| +#include "ash/common/wm_lookup.h"
|
| +#include "ash/common/wm_shell.h"
|
| +#include "ash/common/wm_window.h"
|
| #include "ash/system/tray/system_tray.h"
|
| -#include "ash/system/tray/tray_event_filter.h"
|
| -#include "ash/wm/window_animations.h"
|
| -#include "base/command_line.h"
|
| #include "grit/ash_resources.h"
|
| #include "ui/accessibility/ax_view_state.h"
|
| -#include "ui/aura/window.h"
|
| -#include "ui/aura/window_event_dispatcher.h"
|
| #include "ui/base/nine_image_painter_factory.h"
|
| #include "ui/base/ui_base_switches_util.h"
|
| #include "ui/compositor/layer.h"
|
| @@ -102,9 +97,7 @@ class TrayBackground : public views::Background {
|
| ~TrayBackground() override {}
|
|
|
| private:
|
| - WmShelf* GetShelf() const {
|
| - return tray_background_view_->GetShelf();
|
| - }
|
| + WmShelf* GetShelf() const { return tray_background_view_->shelf(); }
|
|
|
| void PaintMaterial(gfx::Canvas* canvas, views::View* view) const {
|
| SkColor background_color = SK_ColorTRANSPARENT;
|
| @@ -233,14 +226,14 @@ void TrayBackgroundView::TrayContainer::UpdateLayout() {
|
| ////////////////////////////////////////////////////////////////////////////////
|
| // TrayBackgroundView
|
|
|
| -TrayBackgroundView::TrayBackgroundView(StatusAreaWidget* status_area_widget)
|
| - : status_area_widget_(status_area_widget),
|
| +TrayBackgroundView::TrayBackgroundView(WmShelf* wm_shelf)
|
| + : wm_shelf_(wm_shelf),
|
| tray_container_(NULL),
|
| shelf_alignment_(SHELF_ALIGNMENT_BOTTOM),
|
| background_(NULL),
|
| draw_background_as_active_(false),
|
| widget_observer_(new TrayWidgetObserver(this)) {
|
| - DCHECK(status_area_widget->wm_shelf());
|
| + DCHECK(wm_shelf_);
|
| set_notify_enter_exit_on_child(true);
|
|
|
| tray_container_ = new TrayContainer(shelf_alignment_);
|
| @@ -266,12 +259,12 @@ void TrayBackgroundView::Initialize() {
|
| // static
|
| void TrayBackgroundView::InitializeBubbleAnimations(
|
| views::Widget* bubble_widget) {
|
| - aura::Window* window = bubble_widget->GetNativeWindow();
|
| - ::wm::SetWindowVisibilityAnimationType(
|
| - window, ::wm::WINDOW_VISIBILITY_ANIMATION_TYPE_FADE);
|
| - ::wm::SetWindowVisibilityAnimationTransition(window, ::wm::ANIMATE_HIDE);
|
| - ::wm::SetWindowVisibilityAnimationDuration(
|
| - window, base::TimeDelta::FromMilliseconds(kAnimationDurationForPopupMs));
|
| + WmWindow* window = WmLookup::Get()->GetWindowForWidget(bubble_widget);
|
| + window->SetVisibilityAnimationType(
|
| + ::wm::WINDOW_VISIBILITY_ANIMATION_TYPE_FADE);
|
| + window->SetVisibilityAnimationTransition(::wm::ANIMATE_HIDE);
|
| + window->SetVisibilityAnimationDuration(
|
| + base::TimeDelta::FromMilliseconds(kAnimationDurationForPopupMs));
|
| }
|
|
|
| void TrayBackgroundView::SetVisible(bool visible) {
|
| @@ -383,10 +376,6 @@ void TrayBackgroundView::SetContentsBackground() {
|
| tray_container_->set_background(background_);
|
| }
|
|
|
| -WmShelf* TrayBackgroundView::GetShelf() {
|
| - return status_area_widget_->wm_shelf();
|
| -}
|
| -
|
| void TrayBackgroundView::SetShelfAlignment(ShelfAlignment alignment) {
|
| shelf_alignment_ = alignment;
|
| tray_container_->SetAlignment(alignment);
|
| @@ -463,10 +452,12 @@ gfx::Rect TrayBackgroundView::GetBubbleAnchorRect(
|
| DCHECK(false) << "Unhandled anchor type.";
|
| }
|
| } else {
|
| - aura::Window* target_root = anchor_widget ?
|
| - anchor_widget->GetNativeView()->GetRootWindow() :
|
| - Shell::GetPrimaryRootWindow();
|
| - rect = target_root->bounds();
|
| + WmWindow* target_root = anchor_widget
|
| + ? WmLookup::Get()
|
| + ->GetWindowForWidget(anchor_widget)
|
| + ->GetRootWindow()
|
| + : WmShell::Get()->GetPrimaryRootWindow();
|
| + rect = target_root->GetBounds();
|
| if (anchor_type == TrayBubbleView::ANCHOR_TYPE_TRAY) {
|
| if (anchor_alignment == TrayBubbleView::ANCHOR_ALIGNMENT_BOTTOM) {
|
| rect = gfx::Rect(
|
| @@ -475,19 +466,19 @@ gfx::Rect TrayBackgroundView::GetBubbleAnchorRect(
|
| rect.width() - kPaddingFromRightEdgeOfScreenBottomAlignment,
|
| rect.height() - kPaddingFromBottomOfScreenBottomAlignment,
|
| 0, 0);
|
| - rect = ScreenUtil::ConvertRectToScreen(target_root, rect);
|
| + rect = target_root->ConvertRectToScreen(rect);
|
| } else if (anchor_alignment == TrayBubbleView::ANCHOR_ALIGNMENT_LEFT) {
|
| rect = gfx::Rect(
|
| kPaddingFromRightEdgeOfScreenBottomAlignment,
|
| rect.height() - kPaddingFromBottomOfScreenBottomAlignment,
|
| 1, 1);
|
| - rect = ScreenUtil::ConvertRectToScreen(target_root, rect);
|
| + rect = target_root->ConvertRectToScreen(rect);
|
| } else if (anchor_alignment == TrayBubbleView::ANCHOR_ALIGNMENT_RIGHT) {
|
| rect = gfx::Rect(
|
| rect.width() - kPaddingFromRightEdgeOfScreenBottomAlignment,
|
| rect.height() - kPaddingFromBottomOfScreenBottomAlignment,
|
| 1, 1);
|
| - rect = ScreenUtil::ConvertRectToScreen(target_root, rect);
|
| + rect = target_root->ConvertRectToScreen(rect);
|
| } else {
|
| // TODO(bruthig) May need to handle other ANCHOR_ALIGNMENT_ values.
|
| // ie. ANCHOR_ALIGNMENT_TOP
|
|
|