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

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

Issue 1488653002: Fix scroll restoration when exiting fullscreen mode. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Accidentally made will_cause_resize always false in previous cleanup. Fixed Created 4 years, 11 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/exclusive_access/fullscreen_controller.cc
diff --git a/chrome/browser/ui/exclusive_access/fullscreen_controller.cc b/chrome/browser/ui/exclusive_access/fullscreen_controller.cc
index 8f058d2b22bd7930769e1fe47ce62cb2dfab368b..fc6dc783bdcb3e52547a5b5ff3c28813bc92294f 100644
--- a/chrome/browser/ui/exclusive_access/fullscreen_controller.cc
+++ b/chrome/browser/ui/exclusive_access/fullscreen_controller.cc
@@ -273,11 +273,11 @@ void FullscreenController::OnTabDetachedFromView(WebContents* old_contents) {
}
void FullscreenController::OnTabClosing(WebContents* web_contents) {
- if (IsFullscreenForCapturedTab(web_contents)) {
- web_contents->ExitFullscreen();
- } else {
+ if (IsFullscreenForCapturedTab(web_contents))
+ web_contents->ExitFullscreen(
+ /* will_cause_resize */ IsFullscreenCausedByTab());
+ else
ExclusiveAccessControllerBase::OnTabClosing(web_contents);
- }
}
void FullscreenController::WindowFullscreenStateChanged() {
@@ -301,14 +301,16 @@ bool FullscreenController::HandleUserPressedEscape() {
WebContents* const active_web_contents =
exclusive_access_manager()->context()->GetActiveWebContents();
if (IsFullscreenForCapturedTab(active_web_contents)) {
- active_web_contents->ExitFullscreen();
- return true;
- } else if (IsWindowFullscreenForTabOrPending()) {
- ExitExclusiveAccessIfNecessary();
+ active_web_contents->ExitFullscreen(
+ /* will_cause_resize */ IsFullscreenCausedByTab());
return true;
}
- return false;
+ if (!IsWindowFullscreenForTabOrPending())
+ return false;
+
+ ExitExclusiveAccessIfNecessary();
+ return true;
}
void FullscreenController::ExitExclusiveAccessToPreviousState() {
@@ -410,9 +412,10 @@ void FullscreenController::NotifyTabExclusiveAccessLost() {
WebContents* web_contents = exclusive_access_tab();
SetTabWithExclusiveAccess(nullptr);
fullscreened_origin_ = GURL();
+ bool will_cause_resize = IsFullscreenCausedByTab();
state_prior_to_tab_fullscreen_ = STATE_INVALID;
tab_fullscreen_accepted_ = false;
- web_contents->ExitFullscreen();
+ web_contents->ExitFullscreen(will_cause_resize);
exclusive_access_manager()->UpdateExclusiveAccessExitBubbleContent();
}
}

Powered by Google App Engine
This is Rietveld 408576698