| OLD | NEW |
| 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 #ifndef ASH_SHELL_H_ | 5 #ifndef ASH_SHELL_H_ |
| 6 #define ASH_SHELL_H_ | 6 #define ASH_SHELL_H_ |
| 7 | 7 |
| 8 #include <utility> | 8 #include <utility> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| 11 #include "ash/ash_export.h" | 11 #include "ash/ash_export.h" |
| 12 #include "ash/system/user/login_status.h" | 12 #include "ash/system/user/login_status.h" |
| 13 #include "ash/wm/cursor_delegate.h" |
| 14 #include "ash/wm/cursor_manager.h" |
| 13 #include "ash/wm/shelf_types.h" | 15 #include "ash/wm/shelf_types.h" |
| 14 #include "base/basictypes.h" | 16 #include "base/basictypes.h" |
| 15 #include "base/compiler_specific.h" | 17 #include "base/compiler_specific.h" |
| 16 #include "base/gtest_prod_util.h" | 18 #include "base/gtest_prod_util.h" |
| 17 #include "base/memory/scoped_ptr.h" | 19 #include "base/memory/scoped_ptr.h" |
| 18 #include "base/observer_list.h" | 20 #include "base/observer_list.h" |
| 19 #include "ui/aura/cursor_delegate.h" | |
| 20 #include "ui/gfx/insets.h" | 21 #include "ui/gfx/insets.h" |
| 21 #include "ui/gfx/size.h" | 22 #include "ui/gfx/size.h" |
| 22 | 23 |
| 23 class CommandLine; | 24 class CommandLine; |
| 24 | 25 |
| 25 namespace aura { | 26 namespace aura { |
| 26 class EventFilter; | 27 class EventFilter; |
| 27 class FocusManager; | 28 class FocusManager; |
| 28 class RootWindow; | 29 class RootWindow; |
| 29 class Window; | 30 class Window; |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 101 class VisibilityController; | 102 class VisibilityController; |
| 102 class WindowModalityController; | 103 class WindowModalityController; |
| 103 class WorkspaceController; | 104 class WorkspaceController; |
| 104 } | 105 } |
| 105 | 106 |
| 106 // Shell is a singleton object that presents the Shell API and implements the | 107 // Shell is a singleton object that presents the Shell API and implements the |
| 107 // RootWindow's delegate interface. | 108 // RootWindow's delegate interface. |
| 108 // | 109 // |
| 109 // Upon creation, the Shell sets itself as the RootWindow's delegate, which | 110 // Upon creation, the Shell sets itself as the RootWindow's delegate, which |
| 110 // takes ownership of the Shell. | 111 // takes ownership of the Shell. |
| 111 class ASH_EXPORT Shell : aura::CursorDelegate { | 112 class ASH_EXPORT Shell : ash::CursorDelegate { |
| 112 public: | 113 public: |
| 113 typedef std::vector<aura::RootWindow*> RootWindowList; | 114 typedef std::vector<aura::RootWindow*> RootWindowList; |
| 114 typedef std::vector<internal::RootWindowController*> RootWindowControllerList; | 115 typedef std::vector<internal::RootWindowController*> RootWindowControllerList; |
| 115 | 116 |
| 116 enum Direction { | 117 enum Direction { |
| 117 FORWARD, | 118 FORWARD, |
| 118 BACKWARD | 119 BACKWARD |
| 119 }; | 120 }; |
| 120 | 121 |
| 121 // Accesses private data from a Shell for testing. | 122 // Accesses private data from a Shell for testing. |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 274 } | 275 } |
| 275 WindowCycleController* window_cycle_controller() { | 276 WindowCycleController* window_cycle_controller() { |
| 276 return window_cycle_controller_.get(); | 277 return window_cycle_controller_.get(); |
| 277 } | 278 } |
| 278 internal::FocusCycler* focus_cycler() { | 279 internal::FocusCycler* focus_cycler() { |
| 279 return focus_cycler_.get(); | 280 return focus_cycler_.get(); |
| 280 } | 281 } |
| 281 internal::DisplayController* display_controller() { | 282 internal::DisplayController* display_controller() { |
| 282 return display_controller_.get(); | 283 return display_controller_.get(); |
| 283 } | 284 } |
| 285 CursorManager* cursor_manager() { return &cursor_manager_; } |
| 284 | 286 |
| 285 ShellDelegate* delegate() { return delegate_.get(); } | 287 ShellDelegate* delegate() { return delegate_.get(); } |
| 286 | 288 |
| 287 UserWallpaperDelegate* user_wallpaper_delegate() { | 289 UserWallpaperDelegate* user_wallpaper_delegate() { |
| 288 return user_wallpaper_delegate_.get(); | 290 return user_wallpaper_delegate_.get(); |
| 289 } | 291 } |
| 290 | 292 |
| 291 HighContrastController* high_contrast_controller() { | 293 HighContrastController* high_contrast_controller() { |
| 292 return high_contrast_controller_.get(); | 294 return high_contrast_controller_.get(); |
| 293 } | 295 } |
| (...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 459 | 461 |
| 460 // An event filter that looks for modifier keypresses and triggers a slowdown | 462 // An event filter that looks for modifier keypresses and triggers a slowdown |
| 461 // of layer animations for visual debugging. | 463 // of layer animations for visual debugging. |
| 462 scoped_ptr<internal::SlowAnimationEventFilter> slow_animation_filter_; | 464 scoped_ptr<internal::SlowAnimationEventFilter> slow_animation_filter_; |
| 463 | 465 |
| 464 #if defined(OS_CHROMEOS) | 466 #if defined(OS_CHROMEOS) |
| 465 // Controls video output device state. | 467 // Controls video output device state. |
| 466 scoped_ptr<chromeos::OutputConfigurator> output_configurator_; | 468 scoped_ptr<chromeos::OutputConfigurator> output_configurator_; |
| 467 #endif // defined(OS_CHROMEOS) | 469 #endif // defined(OS_CHROMEOS) |
| 468 | 470 |
| 471 CursorManager cursor_manager_; |
| 472 |
| 469 // The shelf for managing the launcher and the status widget in non-compact | 473 // The shelf for managing the launcher and the status widget in non-compact |
| 470 // mode. Shell does not own the shelf. Instead, it is owned by container of | 474 // mode. Shell does not own the shelf. Instead, it is owned by container of |
| 471 // the status area. | 475 // the status area. |
| 472 internal::ShelfLayoutManager* shelf_; | 476 internal::ShelfLayoutManager* shelf_; |
| 473 | 477 |
| 474 // Manages layout of panels. Owned by PanelContainer. | 478 // Manages layout of panels. Owned by PanelContainer. |
| 475 internal::PanelLayoutManager* panel_layout_manager_; | 479 internal::PanelLayoutManager* panel_layout_manager_; |
| 476 | 480 |
| 477 ObserverList<ShellObserver> observers_; | 481 ObserverList<ShellObserver> observers_; |
| 478 | 482 |
| 479 // Widget containing system tray. | 483 // Widget containing system tray. |
| 480 internal::StatusAreaWidget* status_area_widget_; | 484 internal::StatusAreaWidget* status_area_widget_; |
| 481 | 485 |
| 482 // Used by ash/shell. | 486 // Used by ash/shell. |
| 483 content::BrowserContext* browser_context_; | 487 content::BrowserContext* browser_context_; |
| 484 | 488 |
| 485 DISALLOW_COPY_AND_ASSIGN(Shell); | 489 DISALLOW_COPY_AND_ASSIGN(Shell); |
| 486 }; | 490 }; |
| 487 | 491 |
| 488 } // namespace ash | 492 } // namespace ash |
| 489 | 493 |
| 490 #endif // ASH_SHELL_H_ | 494 #endif // ASH_SHELL_H_ |
| OLD | NEW |