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_FULLSCREEN_CONTROLLER_H_ | 5 #ifndef CHROME_BROWSER_UI_FULLSCREEN_CONTROLLER_H_ |
6 #define CHROME_BROWSER_UI_FULLSCREEN_CONTROLLER_H_ | 6 #define CHROME_BROWSER_UI_FULLSCREEN_CONTROLLER_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
85 MOUSELOCK_NOT_REQUESTED, | 85 MOUSELOCK_NOT_REQUESTED, |
86 // The page requests to lock the mouse and the user hasn't responded to the | 86 // The page requests to lock the mouse and the user hasn't responded to the |
87 // request. | 87 // request. |
88 MOUSELOCK_REQUESTED, | 88 MOUSELOCK_REQUESTED, |
89 // Mouse lock has been allowed by the user. | 89 // Mouse lock has been allowed by the user. |
90 MOUSELOCK_ACCEPTED | 90 MOUSELOCK_ACCEPTED |
91 }; | 91 }; |
92 | 92 |
93 virtual ~FullscreenController(); | 93 virtual ~FullscreenController(); |
94 | 94 |
95 // Notifies the tab that it has been forced out of fullscreen mode if | 95 // Notifies the tab that it has been forced out of fullscreen and mouse lock |
96 // necessary. | 96 // mode if necessary. |
97 void NotifyTabOfFullscreenExitIfNecessary(); | 97 void NotifyTabOfExitIfNecessary(); |
98 | |
98 // Make the current tab exit fullscreen mode if it is in it. | 99 // Make the current tab exit fullscreen mode if it is in it. |
99 void ExitTabbedFullscreenModeIfNecessary(); | 100 void ExitTabbedFullscreenModeIfNecessary(); |
100 void UpdateFullscreenExitBubbleContent(); | 101 void UpdateFullscreenExitBubbleContent(); |
101 void NotifyFullscreenChange(); | 102 void NotifyFullscreenChange(); |
103 void NotifyMouseLockChange(); | |
102 ContentSetting GetFullscreenSetting(const GURL& url) const; | 104 ContentSetting GetFullscreenSetting(const GURL& url) const; |
103 ContentSetting GetMouseLockSetting(const GURL& url) const; | 105 ContentSetting GetMouseLockSetting(const GURL& url) const; |
104 | 106 |
105 #if defined(OS_MACOSX) | 107 #if defined(OS_MACOSX) |
106 void TogglePresentationModeInternal(bool for_tab); | 108 void TogglePresentationModeInternal(bool for_tab); |
107 #endif | 109 #endif |
108 // TODO(koz): Change |for_tab| to an enum. | 110 // TODO(koz): Change |for_tab| to an enum. |
109 void ToggleFullscreenModeInternal(bool for_tab); | 111 void ToggleFullscreenModeInternal(bool for_tab); |
110 | 112 |
111 BrowserWindow* window_; | 113 BrowserWindow* window_; |
112 Profile* profile_; | 114 Profile* profile_; |
113 Browser* browser_; | 115 Browser* browser_; |
114 | 116 |
115 // If there is currently a tab in fullscreen mode (entered via | 117 // If there is currently a tab in fullscreen mode (entered via |
116 // webkitRequestFullScreen), this is its wrapper. | 118 // webkitRequestFullScreen), this is its wrapper. |
117 TabContentsWrapper* fullscreened_tab_; | 119 TabContentsWrapper* fullscreened_tab_; |
118 | 120 |
119 // The URL of the extension which trigerred "browser fullscreen" mode. | 121 // The URL of the extension which trigerred "browser fullscreen" mode. |
120 GURL extension_caused_fullscreen_; | 122 GURL extension_caused_fullscreen_; |
121 | 123 |
122 // True if the current tab entered fullscreen mode via webkitRequestFullScreen | 124 // True if the current tab entered fullscreen mode via webkitRequestFullScreen |
123 bool tab_caused_fullscreen_; | 125 bool tab_caused_fullscreen_; |
124 // True if tab fullscreen has been allowed, either by settings or by user | 126 // True if tab fullscreen has been allowed, either by settings or by user |
125 // clicking the allow button on the fullscreen infobar. | 127 // clicking the allow button on the fullscreen infobar. |
126 bool tab_fullscreen_accepted_; | 128 bool tab_fullscreen_accepted_; |
127 | 129 |
130 bool in_or_entering_fullscreen_; | |
yzshen1
2012/04/30 19:32:40
[something to consider/discuss]
As the state gets
scheib
2012/05/01 03:27:07
ValidateState() is an interesting idea. It would a
| |
131 | |
132 // Wrapper for current tab with mouse lock. | |
133 TabContentsWrapper* mouse_lock_tab_; | |
yzshen1
2012/04/30 19:32:40
Maybe add comment that |mouse_lock_tab_| is not NU
scheib
2012/05/01 03:27:07
Done.
| |
134 | |
128 MouseLockState mouse_lock_state_; | 135 MouseLockState mouse_lock_state_; |
129 | 136 |
130 DISALLOW_COPY_AND_ASSIGN(FullscreenController); | 137 DISALLOW_COPY_AND_ASSIGN(FullscreenController); |
131 }; | 138 }; |
132 | 139 |
133 #endif // CHROME_BROWSER_UI_FULLSCREEN_CONTROLLER_H_ | 140 #endif // CHROME_BROWSER_UI_FULLSCREEN_CONTROLLER_H_ |
OLD | NEW |