| 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();
|
| }
|
| }
|
|
|