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

Unified Diff: ash/shell.cc

Issue 138003007: [Cleanup] Screen cleanup (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: make sure screen_for_shutdown is reset everytime Created 6 years, 11 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/shell.h ('k') | ash/shell/panel_window.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/shell.cc
diff --git a/ash/shell.cc b/ash/shell.cc
index 6845d4a69e16360fd4a5a204c9b256ced875aa10..5e8169895a3eb4607adfae39b2ef6dd042b511de 100644
--- a/ash/shell.cc
+++ b/ash/shell.cc
@@ -36,7 +36,6 @@
#include "ash/media_delegate.h"
#include "ash/new_window_delegate.h"
#include "ash/root_window_controller.h"
-#include "ash/screen_ash.h"
#include "ash/session_state_delegate.h"
#include "ash/shelf/app_list_shelf_item_delegate.h"
#include "ash/shelf/shelf_delegate.h"
@@ -83,7 +82,6 @@
#include "ash/wm/workspace_controller.h"
#include "base/bind.h"
#include "base/command_line.h"
-#include "base/debug/leak_annotations.h"
#include "base/debug/trace_event.h"
#include "ui/aura/client/aura_constants.h"
#include "ui/aura/client/user_action_client.h"
@@ -569,8 +567,7 @@ void Shell::SetGPUSupport(scoped_ptr<GPUSupport> gpu_support) {
// Shell, private:
Shell::Shell(ShellDelegate* delegate)
- : screen_(new ScreenAsh),
- target_root_window_(NULL),
+ : target_root_window_(NULL),
scoped_target_root_window_(NULL),
delegate_(delegate),
window_positioner_(new WindowPositioner),
@@ -586,11 +583,6 @@ Shell::Shell(ShellDelegate* delegate)
gpu_support_(new DefaultGPUSupportImpl) {
DCHECK(delegate_.get());
display_manager_.reset(new internal::DisplayManager);
-
- ANNOTATE_LEAKING_OBJECT_PTR(screen_); // see crbug.com/156466
- gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_ALTERNATE, screen_);
- if (!gfx::Screen::GetScreenByType(gfx::SCREEN_TYPE_NATIVE))
- gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE, screen_);
display_controller_.reset(new DisplayController);
#if defined(OS_CHROMEOS) && defined(USE_X11)
output_configurator_->Init(!gpu_support_->IsPanelFittingDisabled());
@@ -712,6 +704,7 @@ Shell::~Shell() {
// This also deletes all RootWindows. Note that we invoke Shutdown() on
// DisplayController before resetting |display_controller_|, since destruction
// of its owned RootWindowControllers relies on the value.
+ display_manager_->CreateScreenForShutdown();
display_controller_->Shutdown();
display_controller_.reset();
screen_position_controller_.reset();
@@ -811,7 +804,7 @@ void Shell::Init() {
resolution_notification_controller_.reset(
new internal::ResolutionNotificationController);
- cursor_manager_.SetDisplay(DisplayController::GetPrimaryDisplay());
+ cursor_manager_.SetDisplay(GetScreen()->GetPrimaryDisplay());
nested_dispatcher_controller_.reset(new NestedDispatcherController);
accelerator_controller_.reset(new AcceleratorController);
« no previous file with comments | « ash/shell.h ('k') | ash/shell/panel_window.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698