Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(133)

Unified Diff: chrome/browser/ui/app_list/app_list_shower_views.cc

Issue 2582743002: Remove obsolete app_list Linux code. (Closed)
Patch Set: tapted comments. Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/app_list/app_list_shower_views.cc
diff --git a/chrome/browser/ui/app_list/app_list_shower_views.cc b/chrome/browser/ui/app_list/app_list_shower_views.cc
deleted file mode 100644
index 8f4ee0a2ba39d5a160cd71f9e7df8ec7dcee7b8e..0000000000000000000000000000000000000000
--- a/chrome/browser/ui/app_list/app_list_shower_views.cc
+++ /dev/null
@@ -1,154 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/ui/app_list/app_list_shower_views.h"
-
-#include "base/bind.h"
-#include "base/location.h"
-#include "base/profiler/scoped_tracker.h"
-#include "base/single_thread_task_runner.h"
-#include "base/threading/thread_task_runner_handle.h"
-#include "chrome/browser/lifetime/keep_alive_types.h"
-#include "chrome/browser/lifetime/scoped_keep_alive.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/ui/app_list/app_list_shower_delegate.h"
-#include "chrome/browser/ui/app_list/app_list_view_delegate.h"
-#include "ui/app_list/views/app_list_view.h"
-#include "ui/display/screen.h"
-#include "ui/gfx/geometry/point.h"
-
-AppListShower::AppListShower(AppListShowerDelegate* delegate)
- : delegate_(delegate),
- profile_(NULL),
- app_list_(NULL),
- window_icon_updated_(false) {
-}
-
-AppListShower::~AppListShower() {
-}
-
-void AppListShower::ShowForCurrentProfile() {
- DCHECK(HasView());
- keep_alive_.reset(new ScopedKeepAlive(KeepAliveOrigin::APP_LIST_SHOWER,
- KeepAliveRestartOption::DISABLED));
-
- // If the app list is already displaying |profile| just activate it (in case
- // we have lost focus).
- if (!IsAppListVisible())
- delegate_->MoveNearCursor(app_list_);
-
- Show();
-}
-
-gfx::NativeWindow AppListShower::GetWindow() {
- if (!IsAppListVisible())
- return NULL;
- return app_list_->GetWidget()->GetNativeWindow();
-}
-
-void AppListShower::CreateViewForProfile(Profile* requested_profile) {
- DCHECK(requested_profile);
- if (HasView() && requested_profile->IsSameProfile(profile_))
- return;
-
- profile_ = requested_profile->GetOriginalProfile();
- if (HasView()) {
- UpdateViewForNewProfile();
- return;
- }
- app_list_ = MakeViewForCurrentProfile();
-
- // TODO(tapted): Remove ScopedTracker below once crbug.com/431326 is fixed.
- tracked_objects::ScopedTracker tracking_profile(
- FROM_HERE_WITH_EXPLICIT_FUNCTION(
- "431326 AppListShowerDelegate::OnViewCreated()"));
-
- delegate_->OnViewCreated();
-}
-
-void AppListShower::DismissAppList() {
- if (HasView()) {
- Hide();
- delegate_->OnViewDismissed();
- // This can be reached by pressing the dismiss accelerator. To prevent
- // events from being processed with a destroyed dispatcher, delay the reset
- // of the keep alive.
- ResetKeepAliveSoon();
- }
-}
-
-void AppListShower::HandleViewBeingDestroyed() {
- app_list_ = NULL;
- profile_ = NULL;
-
- // We may end up here as the result of the OS deleting the AppList's
- // widget (WidgetObserver::OnWidgetDestroyed). If this happens and there
- // are no browsers around then deleting the keep alive will result in
- // deleting the Widget again (by way of CloseAllSecondaryWidgets). When
- // the stack unravels we end up back in the Widget that was deleted and
- // crash. By delaying deletion of the keep alive we ensure the Widget has
- // correctly been destroyed before ending the keep alive so that
- // CloseAllSecondaryWidgets() won't attempt to delete the AppList's Widget
- // again.
- ResetKeepAliveSoon();
-}
-
-bool AppListShower::IsAppListVisible() const {
- return app_list_ && app_list_->GetWidget()->IsVisible();
-}
-
-bool AppListShower::HasView() const {
- return !!app_list_;
-}
-
-app_list::AppListView* AppListShower::MakeViewForCurrentProfile() {
- app_list::AppListView* view;
- {
- // TODO(tapted): Remove ScopedTracker below once crbug.com/431326 is fixed.
- tracked_objects::ScopedTracker tracking_profile1(
- FROM_HERE_WITH_EXPLICIT_FUNCTION("431326 AppListView()"));
-
- // The app list view manages its own lifetime.
- view = new app_list::AppListView(delegate_->GetViewDelegateForCreate());
- }
-
- gfx::Point cursor = display::Screen::GetScreen()->GetCursorScreenPoint();
- view->InitAsBubbleAtFixedLocation(NULL,
- 0,
- cursor,
- views::BubbleBorder::FLOAT,
- false /* border_accepts_events */);
- return view;
-}
-
-void AppListShower::UpdateViewForNewProfile() {
- app_list_->SetProfileByPath(profile_->GetPath());
-}
-
-void AppListShower::Show() {
- app_list_->GetWidget()->Show();
- if (!window_icon_updated_) {
- app_list_->GetWidget()->GetTopLevelWidget()->UpdateWindowIcon();
- window_icon_updated_ = true;
- }
- app_list_->GetWidget()->Activate();
-}
-
-void AppListShower::Hide() {
- app_list_->GetWidget()->Hide();
-}
-
-void AppListShower::ResetKeepAliveSoon() {
- if (base::ThreadTaskRunnerHandle::IsSet()) { // Not set in tests.
- base::ThreadTaskRunnerHandle::Get()->PostTask(
- FROM_HERE,
- base::Bind(&AppListShower::ResetKeepAlive, base::Unretained(this)));
- return;
- }
- ResetKeepAlive();
-}
-
-void AppListShower::ResetKeepAlive() {
- keep_alive_.reset();
-}

Powered by Google App Engine
This is Rietveld 408576698