Chromium Code Reviews| 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 59be807c03715e30c21b42df8d7254eb0798ec6e..3b8914ef4b9357888d62d38b9a18c4475a64dd5a 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,29 +4,11 @@ |
| #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/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 |
| gfx::Point AppListLinux::FindAnchorPoint(const gfx::Size& view_size, |
| const gfx::Display& display, |
| @@ -58,57 +40,19 @@ 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); |
| // Find which edge of the screen the shelf is attached to. For now, just |
| // assume Ubuntu Unity (fixed to left edge). |
| // TODO(mgiuca): Support other window manager configurations, and multiple |
|
Matt Giuca
2014/04/29 03:52:51
Sorry, you're going to have a minor merge conflict
tapted
2014/04/29 04:20:30
No probs!
tapted
2014/04/30 03:26:03
Done.
|
| // monitors (where the current display may not have an edge). |
| AppListPositioner::ScreenEdge edge = AppListPositioner::SCREEN_EDGE_LEFT; |
| - 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)); |
| } |