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/metrics/user_metrics_recorder.h" | 12 #include "ash/metrics/user_metrics_recorder.h" |
13 #include "ash/shelf/shelf_types.h" | 13 #include "ash/shelf/shelf_types.h" |
14 #include "ash/system/user/login_status.h" | 14 #include "ash/system/user/login_status.h" |
15 #include "ash/wm/system_modal_container_event_filter_delegate.h" | 15 #include "ash/wm/system_modal_container_event_filter_delegate.h" |
16 #include "base/basictypes.h" | 16 #include "base/basictypes.h" |
17 #include "base/compiler_specific.h" | 17 #include "base/compiler_specific.h" |
18 #include "base/gtest_prod_util.h" | 18 #include "base/gtest_prod_util.h" |
19 #include "base/memory/scoped_ptr.h" | 19 #include "base/memory/scoped_ptr.h" |
20 #include "base/memory/weak_ptr.h" | 20 #include "base/memory/weak_ptr.h" |
21 #include "base/observer_list.h" | 21 #include "base/observer_list.h" |
| 22 #include "chrome/browser/media/media_capture_devices_dispatcher.h" |
22 #include "ui/aura/client/activation_change_observer.h" | 23 #include "ui/aura/client/activation_change_observer.h" |
23 #include "ui/aura/window.h" | 24 #include "ui/aura/window.h" |
24 #include "ui/base/ui_base_types.h" | 25 #include "ui/base/ui_base_types.h" |
25 #include "ui/events/event_target.h" | 26 #include "ui/events/event_target.h" |
26 #include "ui/gfx/insets.h" | 27 #include "ui/gfx/insets.h" |
27 #include "ui/gfx/screen.h" | 28 #include "ui/gfx/screen.h" |
28 #include "ui/gfx/size.h" | 29 #include "ui/gfx/size.h" |
29 #include "ui/views/corewm/cursor_manager.h" | 30 #include "ui/views/corewm/cursor_manager.h" |
30 | 31 |
31 class CommandLine; | 32 class CommandLine; |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 } | 156 } |
156 | 157 |
157 // Shell is a singleton object that presents the Shell API and implements the | 158 // Shell is a singleton object that presents the Shell API and implements the |
158 // RootWindow's delegate interface. | 159 // RootWindow's delegate interface. |
159 // | 160 // |
160 // Upon creation, the Shell sets itself as the RootWindow's delegate, which | 161 // Upon creation, the Shell sets itself as the RootWindow's delegate, which |
161 // takes ownership of the Shell. | 162 // takes ownership of the Shell. |
162 class ASH_EXPORT Shell | 163 class ASH_EXPORT Shell |
163 : public internal::SystemModalContainerEventFilterDelegate, | 164 : public internal::SystemModalContainerEventFilterDelegate, |
164 public ui::EventTarget, | 165 public ui::EventTarget, |
165 public aura::client::ActivationChangeObserver { | 166 public aura::client::ActivationChangeObserver, |
| 167 public MediaCaptureDevicesDispatcher::Observer { |
166 public: | 168 public: |
167 typedef std::vector<internal::RootWindowController*> RootWindowControllerList; | 169 typedef std::vector<internal::RootWindowController*> RootWindowControllerList; |
168 | 170 |
169 enum Direction { | 171 enum Direction { |
170 FORWARD, | 172 FORWARD, |
171 BACKWARD | 173 BACKWARD |
172 }; | 174 }; |
173 | 175 |
174 // A shell must be explicitly created so that it can call |Init()| with the | 176 // A shell must be explicitly created so that it can call |Init()| with the |
175 // delegate set. |delegate| can be NULL (if not required for initialization). | 177 // delegate set. |delegate| can be NULL (if not required for initialization). |
(...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
564 virtual bool CanAcceptEvent(const ui::Event& event) OVERRIDE; | 566 virtual bool CanAcceptEvent(const ui::Event& event) OVERRIDE; |
565 virtual EventTarget* GetParentTarget() OVERRIDE; | 567 virtual EventTarget* GetParentTarget() OVERRIDE; |
566 virtual scoped_ptr<ui::EventTargetIterator> GetChildIterator() const OVERRIDE; | 568 virtual scoped_ptr<ui::EventTargetIterator> GetChildIterator() const OVERRIDE; |
567 virtual ui::EventTargeter* GetEventTargeter() OVERRIDE; | 569 virtual ui::EventTargeter* GetEventTargeter() OVERRIDE; |
568 virtual void OnEvent(ui::Event* event) OVERRIDE; | 570 virtual void OnEvent(ui::Event* event) OVERRIDE; |
569 | 571 |
570 // Overridden from aura::client::ActivationChangeObserver: | 572 // Overridden from aura::client::ActivationChangeObserver: |
571 virtual void OnWindowActivated(aura::Window* gained_active, | 573 virtual void OnWindowActivated(aura::Window* gained_active, |
572 aura::Window* lost_active) OVERRIDE; | 574 aura::Window* lost_active) OVERRIDE; |
573 | 575 |
| 576 // Overridden from MediaCaptureDevicesDispatcher::Observer: |
| 577 virtual void OnRequestUpdate(int render_process_id, |
| 578 int render_view_id, |
| 579 const content::MediaStreamDevice& device, |
| 580 const content::MediaRequestState state) OVERRIDE; |
| 581 |
574 static Shell* instance_; | 582 static Shell* instance_; |
575 | 583 |
576 // If set before the Shell is initialized, the mouse cursor will be hidden | 584 // If set before the Shell is initialized, the mouse cursor will be hidden |
577 // when the screen is initially created. | 585 // when the screen is initially created. |
578 static bool initially_hide_cursor_; | 586 static bool initially_hide_cursor_; |
579 | 587 |
580 ScreenAsh* screen_; | 588 ScreenAsh* screen_; |
581 | 589 |
582 // When no explicit target display/RootWindow is given, new windows are | 590 // When no explicit target display/RootWindow is given, new windows are |
583 // created on |scoped_target_root_window_| , unless NULL in | 591 // created on |scoped_target_root_window_| , unless NULL in |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
702 bool simulate_modal_window_open_for_testing_; | 710 bool simulate_modal_window_open_for_testing_; |
703 | 711 |
704 bool is_touch_hud_projection_enabled_; | 712 bool is_touch_hud_projection_enabled_; |
705 | 713 |
706 DISALLOW_COPY_AND_ASSIGN(Shell); | 714 DISALLOW_COPY_AND_ASSIGN(Shell); |
707 }; | 715 }; |
708 | 716 |
709 } // namespace ash | 717 } // namespace ash |
710 | 718 |
711 #endif // ASH_SHELL_H_ | 719 #endif // ASH_SHELL_H_ |
OLD | NEW |