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

Unified Diff: ash/root_window_controller.cc

Issue 2293183002: ash: Remove ash::Shelf in favor of ash::WmShelf (Closed)
Patch Set: rebase again Created 4 years, 4 months 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
« no previous file with comments | « ash/root_window_controller.h ('k') | ash/shelf/shelf_layout_manager_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/root_window_controller.cc
diff --git a/ash/root_window_controller.cc b/ash/root_window_controller.cc
index bdd41c351b2986d42c1b4b0d53e8c2bc48c1b717..2828c4eb7e24e6429f4f823fffb54335243f48bb 100644
--- a/ash/root_window_controller.cc
+++ b/ash/root_window_controller.cc
@@ -16,7 +16,6 @@
#include "ash/common/focus_cycler.h"
#include "ash/common/login_status.h"
#include "ash/common/session/session_state_delegate.h"
-#include "ash/common/shelf/shelf.h"
#include "ash/common/shelf/shelf_delegate.h"
#include "ash/common/shelf/shelf_layout_manager.h"
#include "ash/common/shelf/shelf_types.h"
@@ -464,24 +463,17 @@ const aura::Window* RootWindowController::GetContainer(int container_id) const {
}
void RootWindowController::ShowShelf() {
- if (!shelf_)
+ if (!wm_shelf_aura_->IsShelfInitialized())
return;
+ // TODO(jamescook): Move this into WmShelf.
shelf_widget_->SetShelfVisibility(true);
shelf_widget_->status_area_widget()->Show();
}
void RootWindowController::CreateShelf() {
- if (shelf_)
+ if (wm_shelf_aura_->IsShelfInitialized())
return;
- ShelfView* shelf_view = shelf_widget_->CreateShelfView();
-
- shelf_.reset(
- new Shelf(wm_shelf_aura_.get(), shelf_view, shelf_widget_.get()));
- shelf_widget_->set_shelf(shelf_.get());
- // Must be initialized before the delegate is notified because the delegate
- // may try to access the WmShelf.
- wm_shelf_aura_->SetShelf(shelf_.get());
- WmShell::Get()->shelf_delegate()->OnShelfCreated(wm_shelf_aura_.get());
+ wm_shelf_aura_->InitializeShelf();
if (panel_layout_manager_)
panel_layout_manager_->SetShelf(wm_shelf_aura_.get());
@@ -493,16 +485,14 @@ void RootWindowController::CreateShelf() {
}
// Notify shell observers that the shelf has been created.
+ // TODO(jamescook): Move this into WmShelf::InitializeShelf(). This will
+ // require changing AttachedPanelWidgetTargeter's access to WmShelf.
WmShell::Get()->NotifyShelfCreatedForRootWindow(
WmWindowAura::Get(GetRootWindow()));
shelf_widget_->PostCreateShelf();
}
-Shelf* RootWindowController::GetShelf() const {
- return shelf_.get();
-}
-
void RootWindowController::UpdateAfterLoginStatusChange(LoginStatus status) {
if (status != LoginStatus::NOT_LOGGED_IN)
mouse_event_target_.reset();
@@ -613,10 +603,9 @@ void RootWindowController::CloseChildWindows() {
shelf_widget_.reset();
// CloseChildWindows may be called twice during the shutdown of ash unittests.
- // Avoid notifying WmShelf that the Shelf instance has been destroyed twice.
- if (wm_shelf_aura_->shelf())
- wm_shelf_aura_->ClearShelf();
- shelf_.reset();
+ // Avoid notifying WmShelf that the shelf has been destroyed twice.
+ if (wm_shelf_aura_->IsShelfInitialized())
+ wm_shelf_aura_->ShutdownShelf();
}
void RootWindowController::MoveWindowsTo(aura::Window* dst) {
« no previous file with comments | « ash/root_window_controller.h ('k') | ash/shelf/shelf_layout_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698