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

Side by Side Diff: ash/shell.cc

Issue 10817028: Add Fade-out/Fade-in animation during output-configuration change. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 8 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ash/shell.h ('k') | chrome/browser/ui/webui/options2/chromeos/display_options_handler.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ash/shell.h" 5 #include "ash/shell.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 9
10 #include "ash/accelerators/focus_manager_factory.h" 10 #include "ash/accelerators/focus_manager_factory.h"
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 #include "ui/views/widget/native_widget_aura.h" 92 #include "ui/views/widget/native_widget_aura.h"
93 #include "ui/views/widget/widget.h" 93 #include "ui/views/widget/widget.h"
94 94
95 #if !defined(OS_MACOSX) 95 #if !defined(OS_MACOSX)
96 #include "ash/accelerators/accelerator_controller.h" 96 #include "ash/accelerators/accelerator_controller.h"
97 #include "ash/accelerators/accelerator_filter.h" 97 #include "ash/accelerators/accelerator_filter.h"
98 #include "ash/accelerators/nested_dispatcher_controller.h" 98 #include "ash/accelerators/nested_dispatcher_controller.h"
99 #endif 99 #endif
100 100
101 #if defined(OS_CHROMEOS) 101 #if defined(OS_CHROMEOS)
102 #include "ash/display/output_configurator_animation.h"
102 #include "chromeos/display/output_configurator.h" 103 #include "chromeos/display/output_configurator.h"
103 #include "ui/aura/dispatcher_linux.h" 104 #include "ui/aura/dispatcher_linux.h"
104 #endif // defined(OS_CHROMEOS) 105 #endif // defined(OS_CHROMEOS)
105 106
106 namespace ash { 107 namespace ash {
107 108
108 namespace { 109 namespace {
109 110
110 using aura::Window; 111 using aura::Window;
111 using views::Widget; 112 using views::Widget;
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 // Shell, public: 176 // Shell, public:
176 177
177 Shell::Shell(ShellDelegate* delegate) 178 Shell::Shell(ShellDelegate* delegate)
178 : screen_(new ScreenAsh), 179 : screen_(new ScreenAsh),
179 active_root_window_(NULL), 180 active_root_window_(NULL),
180 env_filter_(NULL), 181 env_filter_(NULL),
181 delegate_(delegate), 182 delegate_(delegate),
182 #if defined(OS_CHROMEOS) 183 #if defined(OS_CHROMEOS)
183 output_configurator_(new chromeos::OutputConfigurator( 184 output_configurator_(new chromeos::OutputConfigurator(
184 internal::DisplayController::IsExtendedDesktopEnabled())), 185 internal::DisplayController::IsExtendedDesktopEnabled())),
186 output_configurator_animation_(
187 new internal::OutputConfiguratorAnimation()),
185 #endif // defined(OS_CHROMEOS) 188 #endif // defined(OS_CHROMEOS)
186 shelf_(NULL), 189 shelf_(NULL),
187 panel_layout_manager_(NULL), 190 panel_layout_manager_(NULL),
188 status_area_widget_(NULL), 191 status_area_widget_(NULL),
189 browser_context_(NULL) { 192 browser_context_(NULL) {
190 gfx::Screen::SetInstance(screen_); 193 gfx::Screen::SetInstance(screen_);
191 ui_controls::InstallUIControlsAura(internal::CreateUIControls()); 194 ui_controls::InstallUIControlsAura(internal::CreateUIControls());
192 #if defined(OS_CHROMEOS) 195 #if defined(OS_CHROMEOS)
193 // OutputConfigurator needs to get events regarding added/removed outputs. 196 output_configurator_->AddObserver(output_configurator_animation_.get());
194 static_cast<aura::DispatcherLinux*>( 197 static_cast<aura::DispatcherLinux*>(
195 aura::Env::GetInstance()->GetDispatcher())->AddDispatcherForRootWindow( 198 aura::Env::GetInstance()->GetDispatcher())->AddDispatcherForRootWindow(
196 output_configurator()); 199 output_configurator());
197 #endif // defined(OS_CHROMEOS) 200 #endif // defined(OS_CHROMEOS)
198 } 201 }
199 202
200 Shell::~Shell() { 203 Shell::~Shell() {
201 views::FocusManagerFactory::Install(NULL); 204 views::FocusManagerFactory::Install(NULL);
202 205
203 // Remove the focus from any window. This will prevent overhead and side 206 // Remove the focus from any window. This will prevent overhead and side
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 launcher_.reset(); 268 launcher_.reset();
266 269
267 // Delete the activation controller after other controllers and launcher 270 // Delete the activation controller after other controllers and launcher
268 // because they might have registered ActivationChangeObserver. 271 // because they might have registered ActivationChangeObserver.
269 activation_controller_.reset(); 272 activation_controller_.reset();
270 273
271 DCHECK(instance_ == this); 274 DCHECK(instance_ == this);
272 instance_ = NULL; 275 instance_ = NULL;
273 276
274 #if defined(OS_CHROMEOS) 277 #if defined(OS_CHROMEOS)
278 output_configurator_->RemoveObserver(output_configurator_animation_.get());
275 // Remove OutputConfigurator from Dispatcher. 279 // Remove OutputConfigurator from Dispatcher.
276 static_cast<aura::DispatcherLinux*>( 280 static_cast<aura::DispatcherLinux*>(
277 aura::Env::GetInstance()->GetDispatcher())->RemoveDispatcherForRootWindow( 281 aura::Env::GetInstance()->GetDispatcher())->RemoveDispatcherForRootWindow(
278 output_configurator()); 282 output_configurator());
279 #endif // defined(OS_CHROMEOS) 283 #endif // defined(OS_CHROMEOS)
280 } 284 }
281 285
282 // static 286 // static
283 Shell* Shell::CreateInstance(ShellDelegate* delegate) { 287 Shell* Shell::CreateInstance(ShellDelegate* delegate) {
284 CHECK(!instance_); 288 CHECK(!instance_);
(...skipping 498 matching lines...) Expand 10 before | Expand all | Expand 10 after
783 } 787 }
784 788
785 void Shell::ShowCursor(bool visible) { 789 void Shell::ShowCursor(bool visible) {
786 RootWindowList root_windows = GetAllRootWindows(); 790 RootWindowList root_windows = GetAllRootWindows();
787 for (RootWindowList::iterator iter = root_windows.begin(); 791 for (RootWindowList::iterator iter = root_windows.begin();
788 iter != root_windows.end(); ++iter) 792 iter != root_windows.end(); ++iter)
789 (*iter)->ShowCursor(visible); 793 (*iter)->ShowCursor(visible);
790 } 794 }
791 795
792 } // namespace ash 796 } // namespace ash
OLDNEW
« no previous file with comments | « ash/shell.h ('k') | chrome/browser/ui/webui/options2/chromeos/display_options_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698