| 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 |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 83 class AppListController; | 83 class AppListController; |
| 84 class CaptureController; | 84 class CaptureController; |
| 85 class DragDropController; | 85 class DragDropController; |
| 86 class EventClientImpl; | 86 class EventClientImpl; |
| 87 class EventRewriterEventFilter; | 87 class EventRewriterEventFilter; |
| 88 class FocusCycler; | 88 class FocusCycler; |
| 89 class MagnificationController; | 89 class MagnificationController; |
| 90 class MouseCursorEventFilter; | 90 class MouseCursorEventFilter; |
| 91 class OutputConfiguratorAnimation; | 91 class OutputConfiguratorAnimation; |
| 92 class OverlayEventFilter; | 92 class OverlayEventFilter; |
| 93 class PanelLayoutManager; | |
| 94 class ResizeShadowController; | 93 class ResizeShadowController; |
| 95 class RootWindowController; | 94 class RootWindowController; |
| 96 class RootWindowLayoutManager; | 95 class RootWindowLayoutManager; |
| 97 class ScreenPositionController; | 96 class ScreenPositionController; |
| 98 class ShadowController; | 97 class ShadowController; |
| 99 class ShelfLayoutManager; | 98 class ShelfLayoutManager; |
| 100 class SlowAnimationEventFilter; | 99 class SlowAnimationEventFilter; |
| 101 class StackingController; | 100 class StackingController; |
| 102 class StatusAreaWidget; | 101 class StatusAreaWidget; |
| 103 class SystemGestureEventFilter; | 102 class SystemGestureEventFilter; |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 175 | 174 |
| 176 static aura::Window* GetContainer(aura::RootWindow* root_window, | 175 static aura::Window* GetContainer(aura::RootWindow* root_window, |
| 177 int container_id); | 176 int container_id); |
| 178 static const aura::Window* GetContainer(const aura::RootWindow* root_window, | 177 static const aura::Window* GetContainer(const aura::RootWindow* root_window, |
| 179 int container_id); | 178 int container_id); |
| 180 | 179 |
| 181 // Returns the list of containers that match |container_id| in | 180 // Returns the list of containers that match |container_id| in |
| 182 // all root windows. | 181 // all root windows. |
| 183 static std::vector<aura::Window*> GetAllContainers(int container_id); | 182 static std::vector<aura::Window*> GetAllContainers(int container_id); |
| 184 | 183 |
| 184 // True if "launcher per display" feature is enabled. |
| 185 static bool IsLauncherPerDisplayEnabled(); |
| 186 |
| 185 void set_active_root_window(aura::RootWindow* active_root_window) { | 187 void set_active_root_window(aura::RootWindow* active_root_window) { |
| 186 active_root_window_ = active_root_window; | 188 active_root_window_ = active_root_window; |
| 187 } | 189 } |
| 188 | 190 |
| 189 // Adds or removes |filter| from the aura::Env's pre-target event-handler | 191 // Adds or removes |filter| from the aura::Env's pre-target event-handler |
| 190 // list. | 192 // list. |
| 191 void AddEnvEventFilter(aura::EventFilter* filter); | 193 void AddEnvEventFilter(aura::EventFilter* filter); |
| 192 void RemoveEnvEventFilter(aura::EventFilter* filter); | 194 void RemoveEnvEventFilter(aura::EventFilter* filter); |
| 193 | 195 |
| 194 // Shows the context menu for the background and launcher at | 196 // Shows the context menu for the background and launcher at |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 300 } | 302 } |
| 301 | 303 |
| 302 HighContrastController* high_contrast_controller() { | 304 HighContrastController* high_contrast_controller() { |
| 303 return high_contrast_controller_.get(); | 305 return high_contrast_controller_.get(); |
| 304 } | 306 } |
| 305 | 307 |
| 306 internal::MagnificationController* magnification_controller() { | 308 internal::MagnificationController* magnification_controller() { |
| 307 return magnification_controller_.get(); | 309 return magnification_controller_.get(); |
| 308 } | 310 } |
| 309 | 311 |
| 310 Launcher* launcher() { return launcher_.get(); } | 312 // TODO(oshima): Remove methods that are moved to RootWindowController. |
| 313 Launcher* launcher(); |
| 311 | 314 |
| 312 const ScreenAsh* screen() { return screen_; } | 315 const ScreenAsh* screen() { return screen_; } |
| 313 | 316 |
| 314 // Force the shelf to query for it's current visibility state. | 317 // Force the shelf to query for it's current visibility state. |
| 315 void UpdateShelfVisibility(); | 318 void UpdateShelfVisibility(); |
| 316 | 319 |
| 317 // Sets/gets the shelf auto-hide behavior. | 320 // Sets/gets the shelf auto-hide behavior. |
| 318 void SetShelfAutoHideBehavior(ShelfAutoHideBehavior behavior); | 321 void SetShelfAutoHideBehavior(ShelfAutoHideBehavior behavior); |
| 319 ShelfAutoHideBehavior GetShelfAutoHideBehavior() const; | 322 ShelfAutoHideBehavior GetShelfAutoHideBehavior() const; |
| 320 | 323 |
| 321 void SetShelfAlignment(ShelfAlignment alignment); | 324 void SetShelfAlignment(ShelfAlignment alignment); |
| 322 ShelfAlignment GetShelfAlignment(); | 325 ShelfAlignment GetShelfAlignment(); |
| 323 | 326 |
| 324 // Dims or undims the screen. | 327 // Dims or undims the screen. |
| 325 void SetDimming(bool should_dim); | 328 void SetDimming(bool should_dim); |
| 326 | 329 |
| 327 // Creates modal background, which is a partially-opaque fullscreen | 330 // Creates modal background, which is a partially-opaque fullscreen |
| 328 // window, on all displays. | 331 // window, on all displays. |
| 329 void CreateModalBackground(); | 332 void CreateModalBackground(); |
| 330 | 333 |
| 331 // Called when a modal window is removed. It will activate | 334 // Called when a modal window is removed. It will activate |
| 332 // another modal window if any, or remove modal screens | 335 // another modal window if any, or remove modal screens |
| 333 // on all displays. | 336 // on all displays. |
| 334 void OnModalWindowRemoved(aura::Window* removed); | 337 void OnModalWindowRemoved(aura::Window* removed); |
| 335 | 338 |
| 336 // TODO(sky): don't expose this! | 339 // TODO(sky): don't expose this! |
| 337 internal::ShelfLayoutManager* shelf() const { return shelf_; } | 340 internal::ShelfLayoutManager* shelf() const; |
| 338 | 341 |
| 339 internal::StatusAreaWidget* status_area_widget() const { | 342 internal::StatusAreaWidget* status_area_widget() const; |
| 340 return status_area_widget_; | |
| 341 } | |
| 342 | 343 |
| 343 // Convenience accessor for members of StatusAreaWidget. | 344 // Convenience accessor for members of StatusAreaWidget. |
| 344 SystemTrayDelegate* tray_delegate(); | 345 SystemTrayDelegate* tray_delegate(); |
| 345 SystemTray* system_tray(); | 346 SystemTray* system_tray(); |
| 346 | 347 |
| 347 static void set_initially_hide_cursor(bool hide) { | 348 static void set_initially_hide_cursor(bool hide) { |
| 348 initially_hide_cursor_ = hide; | 349 initially_hide_cursor_ = hide; |
| 349 } | 350 } |
| 350 | 351 |
| 351 internal::ResizeShadowController* resize_shadow_controller() { | 352 internal::ResizeShadowController* resize_shadow_controller() { |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 425 #if !defined(OS_MACOSX) | 426 #if !defined(OS_MACOSX) |
| 426 scoped_ptr<NestedDispatcherController> nested_dispatcher_controller_; | 427 scoped_ptr<NestedDispatcherController> nested_dispatcher_controller_; |
| 427 | 428 |
| 428 scoped_ptr<AcceleratorController> accelerator_controller_; | 429 scoped_ptr<AcceleratorController> accelerator_controller_; |
| 429 #endif // !defined(OS_MACOSX) | 430 #endif // !defined(OS_MACOSX) |
| 430 | 431 |
| 431 scoped_ptr<ShellDelegate> delegate_; | 432 scoped_ptr<ShellDelegate> delegate_; |
| 432 scoped_ptr<UserWallpaperDelegate> user_wallpaper_delegate_; | 433 scoped_ptr<UserWallpaperDelegate> user_wallpaper_delegate_; |
| 433 scoped_ptr<CapsLockDelegate> caps_lock_delegate_; | 434 scoped_ptr<CapsLockDelegate> caps_lock_delegate_; |
| 434 | 435 |
| 435 scoped_ptr<Launcher> launcher_; | |
| 436 | |
| 437 scoped_ptr<internal::AppListController> app_list_controller_; | 436 scoped_ptr<internal::AppListController> app_list_controller_; |
| 438 | 437 |
| 439 scoped_ptr<internal::StackingController> stacking_controller_; | 438 scoped_ptr<internal::StackingController> stacking_controller_; |
| 440 scoped_ptr<internal::ActivationController> activation_controller_; | 439 scoped_ptr<internal::ActivationController> activation_controller_; |
| 441 scoped_ptr<internal::CaptureController> capture_controller_; | 440 scoped_ptr<internal::CaptureController> capture_controller_; |
| 442 scoped_ptr<internal::WindowModalityController> window_modality_controller_; | 441 scoped_ptr<internal::WindowModalityController> window_modality_controller_; |
| 443 scoped_ptr<internal::DragDropController> drag_drop_controller_; | 442 scoped_ptr<internal::DragDropController> drag_drop_controller_; |
| 444 scoped_ptr<internal::ResizeShadowController> resize_shadow_controller_; | 443 scoped_ptr<internal::ResizeShadowController> resize_shadow_controller_; |
| 445 scoped_ptr<internal::ShadowController> shadow_controller_; | 444 scoped_ptr<internal::ShadowController> shadow_controller_; |
| 446 scoped_ptr<internal::TooltipController> tooltip_controller_; | 445 scoped_ptr<internal::TooltipController> tooltip_controller_; |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 485 | 484 |
| 486 #if defined(OS_CHROMEOS) | 485 #if defined(OS_CHROMEOS) |
| 487 // Controls video output device state. | 486 // Controls video output device state. |
| 488 scoped_ptr<chromeos::OutputConfigurator> output_configurator_; | 487 scoped_ptr<chromeos::OutputConfigurator> output_configurator_; |
| 489 scoped_ptr<internal::OutputConfiguratorAnimation> | 488 scoped_ptr<internal::OutputConfiguratorAnimation> |
| 490 output_configurator_animation_; | 489 output_configurator_animation_; |
| 491 #endif // defined(OS_CHROMEOS) | 490 #endif // defined(OS_CHROMEOS) |
| 492 | 491 |
| 493 CursorManager cursor_manager_; | 492 CursorManager cursor_manager_; |
| 494 | 493 |
| 495 // The shelf for managing the launcher and the status widget in non-compact | |
| 496 // mode. Shell does not own the shelf. Instead, it is owned by container of | |
| 497 // the status area. | |
| 498 internal::ShelfLayoutManager* shelf_; | |
| 499 | |
| 500 // Manages layout of panels. Owned by PanelContainer. | |
| 501 internal::PanelLayoutManager* panel_layout_manager_; | |
| 502 | |
| 503 ObserverList<ShellObserver> observers_; | 494 ObserverList<ShellObserver> observers_; |
| 504 | 495 |
| 505 // Widget containing system tray. | |
| 506 internal::StatusAreaWidget* status_area_widget_; | |
| 507 | |
| 508 // Used by ash/shell. | 496 // Used by ash/shell. |
| 509 content::BrowserContext* browser_context_; | 497 content::BrowserContext* browser_context_; |
| 510 | 498 |
| 511 DISALLOW_COPY_AND_ASSIGN(Shell); | 499 DISALLOW_COPY_AND_ASSIGN(Shell); |
| 512 }; | 500 }; |
| 513 | 501 |
| 514 } // namespace ash | 502 } // namespace ash |
| 515 | 503 |
| 516 #endif // ASH_SHELL_H_ | 504 #endif // ASH_SHELL_H_ |
| OLD | NEW |