| Index: chrome/browser/ui/views/app_list/linux/app_list_linux.cc
|
| diff --git a/chrome/browser/ui/views/app_list/linux/app_list_linux.cc b/chrome/browser/ui/views/app_list/linux/app_list_linux.cc
|
| index 71374c91b1721017ca038fc266e392ebafb46918..278d37404566626a2d23d9a900c0929a852eb849 100644
|
| --- a/chrome/browser/ui/views/app_list/linux/app_list_linux.cc
|
| +++ b/chrome/browser/ui/views/app_list/linux/app_list_linux.cc
|
| @@ -4,30 +4,12 @@
|
|
|
| #include "chrome/browser/ui/views/app_list/linux/app_list_linux.h"
|
|
|
| -#include "base/command_line.h"
|
| -#include "base/location.h"
|
| -#include "base/single_thread_task_runner.h"
|
| -#include "base/thread_task_runner_handle.h"
|
| -#include "chrome/browser/profiles/profile.h"
|
| -#include "chrome/browser/ui/app_list/app_list_positioner.h"
|
| #include "ui/app_list/app_list_switches.h"
|
| #include "ui/app_list/views/app_list_view.h"
|
| #include "ui/gfx/screen.h"
|
| #include "ui/views/linux_ui/linux_ui.h"
|
| #include "ui/views/widget/widget.h"
|
|
|
| -AppListLinux::AppListLinux(app_list::AppListView* view,
|
| - const base::Closure& on_should_dismiss)
|
| - : view_(view),
|
| - window_icon_updated_(false),
|
| - on_should_dismiss_(on_should_dismiss) {
|
| - view_->AddObserver(this);
|
| -}
|
| -
|
| -AppListLinux::~AppListLinux() {
|
| - view_->RemoveObserver(this);
|
| -}
|
| -
|
| // static
|
| AppListPositioner::ScreenEdge AppListLinux::ShelfLocationInDisplay(
|
| const gfx::Display& display) {
|
| @@ -98,26 +80,14 @@ gfx::Point AppListLinux::FindAnchorPoint(const gfx::Size& view_size,
|
| return positioner.GetAnchorPointForShelfCursor(edge, cursor);
|
| }
|
|
|
| -void AppListLinux::Show() {
|
| - view_->GetWidget()->Show();
|
| - if (!window_icon_updated_) {
|
| - view_->GetWidget()->GetTopLevelWidget()->UpdateWindowIcon();
|
| - window_icon_updated_ = true;
|
| - }
|
| - view_->GetWidget()->Activate();
|
| -}
|
| -
|
| -void AppListLinux::Hide() {
|
| - view_->GetWidget()->Hide();
|
| -}
|
| -
|
| -void AppListLinux::MoveNearCursor() {
|
| +// static
|
| +void AppListLinux::MoveNearCursor(app_list::AppListView* view) {
|
| gfx::Point cursor = gfx::Screen::GetNativeScreen()->GetCursorScreenPoint();
|
| gfx::Screen* screen =
|
| - gfx::Screen::GetScreenFor(view_->GetWidget()->GetNativeView());
|
| + gfx::Screen::GetScreenFor(view->GetWidget()->GetNativeView());
|
| gfx::Display display = screen->GetDisplayNearestPoint(cursor);
|
|
|
| - view_->SetBubbleArrow(views::BubbleBorder::FLOAT);
|
| + view->SetBubbleArrow(views::BubbleBorder::FLOAT);
|
|
|
| // In the Unity desktop environment, special case SCREEN_EDGE_LEFT. It is
|
| // always on the left side in Unity, but ShelfLocationInDisplay will not
|
| @@ -131,32 +101,6 @@ void AppListLinux::MoveNearCursor() {
|
| edge = AppListPositioner::SCREEN_EDGE_LEFT;
|
| else
|
| edge = ShelfLocationInDisplay(display);
|
| - view_->SetAnchorPoint(
|
| - FindAnchorPoint(view_->GetPreferredSize(), display, cursor, edge));
|
| -}
|
| -
|
| -bool AppListLinux::IsVisible() {
|
| - return view_->GetWidget()->IsVisible();
|
| -}
|
| -
|
| -void AppListLinux::Prerender() {
|
| - view_->Prerender();
|
| -}
|
| -
|
| -gfx::NativeWindow AppListLinux::GetWindow() {
|
| - return view_->GetWidget()->GetNativeWindow();
|
| -}
|
| -
|
| -void AppListLinux::SetProfile(Profile* profile) {
|
| - view_->SetProfileByPath(profile->GetPath());
|
| -}
|
| -
|
| -void AppListLinux::OnActivationChanged(
|
| - views::Widget* /*widget*/, bool active) {
|
| - if (active)
|
| - return;
|
| -
|
| - // Call |on_should_dismiss_| asynchronously. This must be done asynchronously
|
| - // or our caller will crash, as it expects the app list to remain alive.
|
| - base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, on_should_dismiss_);
|
| + view->SetAnchorPoint(
|
| + FindAnchorPoint(view->GetPreferredSize(), display, cursor, edge));
|
| }
|
|
|