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

Unified Diff: chrome/browser/ui/fullscreen_controller.cc

Issue 10443045: Silent mouse lock after unlock by target (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/fullscreen_controller.cc
diff --git a/chrome/browser/ui/fullscreen_controller.cc b/chrome/browser/ui/fullscreen_controller.cc
index 1280bc3e60b8ca9b3e44dbc314bf6c058ce824ca..e2bf1b68d588dd78a6c195bfcf20af748798a944 100644
--- a/chrome/browser/ui/fullscreen_controller.cc
+++ b/chrome/browser/ui/fullscreen_controller.cc
@@ -63,16 +63,18 @@ bool FullscreenController::IsMouseLockRequested() const {
}
bool FullscreenController::IsMouseLocked() const {
- return mouse_lock_state_ == MOUSELOCK_ACCEPTED;
+ return mouse_lock_state_ == MOUSELOCK_ACCEPTED
+ || mouse_lock_state_ == MOUSELOCK_ACCEPTED_SILENT;
}
void FullscreenController::RequestToLockMouse(WebContents* tab,
- bool user_gesture) {
+ bool user_gesture, bool after_unlocked_by_target) {
DCHECK(!IsMouseLocked());
NotifyMouseLockChange();
// Must have a user gesture, or we must already be in tab fullscreen.
scheib 2012/05/26 01:12:34 Update comment, e.g.: Must have a user gesture to
dmurph 2012/05/30 00:17:51 ok
- if (!user_gesture && !IsFullscreenForTabOrPending(tab)) {
+ if (!after_unlocked_by_target && !user_gesture
+ && !IsFullscreenForTabOrPending(tab)) {
tab->GotResponseToLockMouseRequest(false);
return;
}
@@ -89,7 +91,11 @@ void FullscreenController::RequestToLockMouse(WebContents* tab,
} else {
// Lock mouse.
if (tab->GotResponseToLockMouseRequest(true)) {
- mouse_lock_state_ = MOUSELOCK_ACCEPTED;
+ if (after_unlocked_by_target) {
+ mouse_lock_state_ = MOUSELOCK_ACCEPTED_SILENT;
+ } else {
+ mouse_lock_state_ = MOUSELOCK_ACCEPTED;
+ }
} else {
mouse_lock_tab_ = NULL;
mouse_lock_state_ = MOUSELOCK_NOT_REQUESTED;
@@ -390,6 +396,10 @@ FullscreenExitBubbleType FullscreenController::GetFullscreenExitBubbleType()
kiosk = CommandLine::ForCurrentProcess()->HasSwitch(switches::kKioskMode);
#endif
+ if(mouse_lock_state_ == MOUSELOCK_ACCEPTED_SILENT) {
+ return FEB_TYPE_NONE;
+ }
+
if (fullscreened_tab_) {
if (tab_fullscreen_accepted_) {
if (IsMouseLocked()) {

Powered by Google App Engine
This is Rietveld 408576698