Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(202)

Side by Side Diff: chrome/browser/ui/fullscreen_controller.h

Issue 10261011: Windowed mode mouse lock addded to fullscreen controller. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698