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 CHROME_BROWSER_UI_EXCLUSIVE_ACCESS_FULLSCREEN_CONTROLLER_H_ | 5 #ifndef CHROME_BROWSER_UI_EXCLUSIVE_ACCESS_FULLSCREEN_CONTROLLER_H_ |
6 #define CHROME_BROWSER_UI_EXCLUSIVE_ACCESS_FULLSCREEN_CONTROLLER_H_ | 6 #define CHROME_BROWSER_UI_EXCLUSIVE_ACCESS_FULLSCREEN_CONTROLLER_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 // in other browser tabs or applications while the fullscreen view is displayed | 42 // in other browser tabs or applications while the fullscreen view is displayed |
43 // on a remote screen. Second, FullscreenController will auto-resize fullscreen | 43 // on a remote screen. Second, FullscreenController will auto-resize fullscreen |
44 // widgets to that of the capture video resolution when they are hidden (e.g., | 44 // widgets to that of the capture video resolution when they are hidden (e.g., |
45 // when a user has switched to another tab). This is both a performance and | 45 // when a user has switched to another tab). This is both a performance and |
46 // quality improvement since scaling and letterboxing steps can be skipped in | 46 // quality improvement since scaling and letterboxing steps can be skipped in |
47 // the capture pipeline. | 47 // the capture pipeline. |
48 | 48 |
49 // This class implements fullscreen behaviour. | 49 // This class implements fullscreen behaviour. |
50 class FullscreenController : public ExclusiveAccessControllerBase { | 50 class FullscreenController : public ExclusiveAccessControllerBase { |
51 public: | 51 public: |
52 FullscreenController(ExclusiveAccessManager* manager, Browser* browser); | 52 explicit FullscreenController(ExclusiveAccessManager* manager); |
53 ~FullscreenController() override; | 53 ~FullscreenController() override; |
54 | 54 |
55 // Browser/User Fullscreen /////////////////////////////////////////////////// | 55 // Browser/User Fullscreen /////////////////////////////////////////////////// |
56 | 56 |
57 // Returns true if the window is currently fullscreen and was initially | 57 // Returns true if the window is currently fullscreen and was initially |
58 // transitioned to fullscreen by a browser (i.e., not tab-initiated) mode | 58 // transitioned to fullscreen by a browser (i.e., not tab-initiated) mode |
59 // transition. | 59 // transition. |
60 bool IsFullscreenForBrowser() const; | 60 bool IsFullscreenForBrowser() const; |
61 | 61 |
62 // Returns true if Flash is providing the "exit from fullscreen" message. | 62 // Returns true if Flash is providing the "exit from fullscreen" message. |
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
210 // Used in testing to confirm proper behavior for specific, privileged | 210 // Used in testing to confirm proper behavior for specific, privileged |
211 // fullscreen cases. | 211 // fullscreen cases. |
212 bool is_privileged_fullscreen_for_testing_; | 212 bool is_privileged_fullscreen_for_testing_; |
213 | 213 |
214 base::WeakPtrFactory<FullscreenController> ptr_factory_; | 214 base::WeakPtrFactory<FullscreenController> ptr_factory_; |
215 | 215 |
216 DISALLOW_COPY_AND_ASSIGN(FullscreenController); | 216 DISALLOW_COPY_AND_ASSIGN(FullscreenController); |
217 }; | 217 }; |
218 | 218 |
219 #endif // CHROME_BROWSER_UI_EXCLUSIVE_ACCESS_FULLSCREEN_CONTROLLER_H_ | 219 #endif // CHROME_BROWSER_UI_EXCLUSIVE_ACCESS_FULLSCREEN_CONTROLLER_H_ |
OLD | NEW |