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 4a78f99bd84ceca3d20050f0502913c29fee7801..7038dcbd92169c03333b05f8c5f524adf96a6c76 100644 |
--- a/chrome/browser/ui/exclusive_access/fullscreen_controller.cc |
+++ b/chrome/browser/ui/exclusive_access/fullscreen_controller.cc |
@@ -51,7 +51,7 @@ const char kBubbleReshowsHistogramName[] = |
FullscreenController::FullscreenController(ExclusiveAccessManager* manager) |
: ExclusiveAccessControllerBase(manager), |
state_prior_to_tab_fullscreen_(STATE_INVALID), |
- tab_fullscreen_accepted_(false), |
+ tab_fullscreen_(false), |
toggled_into_fullscreen_(false), |
reentrant_window_state_change_call_check_(false), |
is_privileged_fullscreen_for_testing_(false), |
@@ -95,8 +95,8 @@ bool FullscreenController::IsControllerInitiatedFullscreen() const { |
return toggled_into_fullscreen_; |
} |
-bool FullscreenController::IsUserAcceptedFullscreen() const { |
- return tab_fullscreen_accepted_; |
+bool FullscreenController::IsTabFullscreen() const { |
+ return tab_fullscreen_; |
} |
bool FullscreenController::IsFullscreenForTabOrPending( |
@@ -155,9 +155,7 @@ void FullscreenController::EnterFullscreenModeForTab(WebContents* web_contents, |
// We need to update the fullscreen exit bubble, e.g., going from browser |
// fullscreen to tab fullscreen will need to show different content. |
- if (!tab_fullscreen_accepted_) { |
- tab_fullscreen_accepted_ = GetFullscreenSetting() == CONTENT_SETTING_ALLOW; |
- } |
+ tab_fullscreen_ = true; |
exclusive_access_manager()->UpdateExclusiveAccessExitBubbleContent(); |
// This is only a change between Browser and Tab fullscreen. We generate |
@@ -292,58 +290,6 @@ void FullscreenController::ExitExclusiveAccessToPreviousState() { |
ExitFullscreenModeInternal(); |
} |
-bool FullscreenController::OnAcceptExclusiveAccessPermission() { |
- ExclusiveAccessBubbleType bubble_type = |
- exclusive_access_manager()->GetExclusiveAccessExitBubbleType(); |
- bool fullscreen = false; |
- exclusive_access_bubble::PermissionRequestedByType(bubble_type, &fullscreen, |
- nullptr); |
- DCHECK(!(fullscreen && tab_fullscreen_accepted_)); |
- |
- if (fullscreen && !tab_fullscreen_accepted_) { |
- DCHECK(exclusive_access_tab()); |
- // Origins can enter fullscreen even when embedded in other origins. |
- // Permission is tracked based on the combinations of requester and |
- // embedder. Thus, even if a requesting origin has been previously approved |
- // for embedder A, it will not be approved when embedded in a different |
- // origin B. |
- // |
- // However, an exception is made when a requester and an embedder are the |
- // same origin. In other words, if the requester is the top-level frame. If |
- // that combination is ALLOWED, then future requests from that origin will |
- // succeed no matter what the embedder is. For example, if youtube.com |
- // is visited and user selects ALLOW. Later user visits example.com which |
- // embeds youtube.com in an iframe, which is then ALLOWED to go fullscreen. |
- GURL requester = GetRequestingOrigin(); |
- GURL embedder = GetEmbeddingOrigin(); |
- |
- // Do not store preference on file:// URLs, they don't have a clean |
- // origin policy. |
- // TODO(estark): Revisit this when crbug.com/455882 is fixed. |
- if (!requester.SchemeIsFile() && !embedder.SchemeIsFile()) { |
- HostContentSettingsMap* settings_map = |
- HostContentSettingsMapFactory::GetForProfile( |
- exclusive_access_manager()->context()->GetProfile()); |
- settings_map->SetContentSettingDefaultScope( |
- requester, embedder, CONTENT_SETTINGS_TYPE_FULLSCREEN, std::string(), |
- CONTENT_SETTING_ALLOW); |
- } |
- tab_fullscreen_accepted_ = true; |
- return true; |
- } |
- |
- return false; |
-} |
- |
-bool FullscreenController::OnDenyExclusiveAccessPermission() { |
- if (IsWindowFullscreenForTabOrPending()) { |
- ExitExclusiveAccessIfNecessary(); |
- return true; |
- } |
- |
- return false; |
-} |
- |
GURL FullscreenController::GetURLForExclusiveAccessBubble() const { |
if (exclusive_access_tab()) |
return GetRequestingOrigin(); |
@@ -378,7 +324,7 @@ void FullscreenController::NotifyTabExclusiveAccessLost() { |
fullscreened_origin_ = GURL(); |
bool will_cause_resize = IsFullscreenCausedByTab(); |
state_prior_to_tab_fullscreen_ = STATE_INVALID; |
- tab_fullscreen_accepted_ = false; |
+ tab_fullscreen_ = false; |
web_contents->ExitFullscreen(will_cause_resize); |
exclusive_access_manager()->UpdateExclusiveAccessExitBubbleContent(); |
} |
@@ -438,7 +384,7 @@ void FullscreenController::EnterFullscreenModeInternal( |
GURL url; |
if (option == TAB) { |
url = GetRequestingOrigin(); |
- tab_fullscreen_accepted_ = GetFullscreenSetting() == CONTENT_SETTING_ALLOW; |
+ tab_fullscreen_ = true; |
} else { |
if (!extension_caused_fullscreen_.is_empty()) |
url = extension_caused_fullscreen_; |
@@ -476,13 +422,6 @@ void FullscreenController::ExitFullscreenModeInternal() { |
exclusive_access_manager()->UpdateExclusiveAccessExitBubbleContent(); |
} |
-ContentSetting FullscreenController::GetFullscreenSetting() const { |
- // The new policy is to always allow (even if the flag is disabled). |
- // TODO(mgiuca): Remove this function and clean up callers |
- // (https://crbug.com/610900). |
- return CONTENT_SETTING_ALLOW; |
-} |
- |
bool FullscreenController::IsPrivilegedFullscreenForTab() const { |
const bool embedded_widget_present = |
exclusive_access_tab() && |