summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/ui/browser.h5
-rw-r--r--chrome/browser/ui/browser_win.cc11
-rw-r--r--chrome/browser/ui/exclusive_access/fullscreen_controller.cc42
-rw-r--r--chrome/browser/ui/exclusive_access/fullscreen_controller.h9
-rw-r--r--chrome/browser/ui/exclusive_access/fullscreen_controller_state_test.cc116
-rw-r--r--chrome/browser/ui/exclusive_access/fullscreen_controller_state_test.h9
-rw-r--r--chrome/browser/ui/exclusive_access/fullscreen_controller_state_tests.h30
-rw-r--r--chrome/browser/ui/exclusive_access/fullscreen_controller_state_unittest.cc28
-rw-r--r--chrome/chrome_browser_ui.gypi1
-rw-r--r--ui/views/win/fullscreen_handler.cc48
-rw-r--r--ui/views/win/fullscreen_handler.h7
-rw-r--r--ui/views/win/hwnd_message_handler.cc1
12 files changed, 39 insertions, 268 deletions
diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
index 1f11741..f9a8392 100644
--- a/chrome/browser/ui/browser.h
+++ b/chrome/browser/ui/browser.h
@@ -373,11 +373,6 @@ class Browser : public TabStripModelObserver,
// FullscreenController::ToggleFullscreenModeWithExtension.
void ToggleFullscreenModeWithExtension(const GURL& extension_url);
-#if defined(OS_WIN)
- // See the description of FullscreenController::ToggleMetroSnapMode.
- void SetMetroSnapMode(bool enable);
-#endif
-
// Returns true if the Browser supports the specified feature. The value of
// this varies during the lifetime of the browser. For example, if the window
// is fullscreen this may return a different value. If you only care about
diff --git a/chrome/browser/ui/browser_win.cc b/chrome/browser/ui/browser_win.cc
deleted file mode 100644
index ad4bdab..0000000
--- a/chrome/browser/ui/browser_win.cc
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/ui/browser.h"
-
-#include "chrome/browser/ui/exclusive_access/fullscreen_controller.h"
-
-void Browser::SetMetroSnapMode(bool enable) {
- exclusive_access_manager_->fullscreen_controller()->SetMetroSnapMode(enable);
-}
diff --git a/chrome/browser/ui/exclusive_access/fullscreen_controller.cc b/chrome/browser/ui/exclusive_access/fullscreen_controller.cc
index 1f223d7..427f6ee 100644
--- a/chrome/browser/ui/exclusive_access/fullscreen_controller.cc
+++ b/chrome/browser/ui/exclusive_access/fullscreen_controller.cc
@@ -131,15 +131,6 @@ void FullscreenController::EnterFullscreenModeForTab(WebContents* web_contents,
return;
}
-#if defined(OS_WIN)
- // For now, avoid breaking when initiating full screen tab mode while in
- // a metro snap.
- // TODO(robertshield): Find a way to reconcile tab-initiated fullscreen
- // modes with metro snap.
- if (IsInMetroSnapMode())
- return;
-#endif
-
SetTabWithExclusiveAccess(web_contents);
fullscreened_origin_ = origin;
@@ -186,15 +177,6 @@ void FullscreenController::ExitFullscreenModeForTab(WebContents* web_contents) {
return;
}
-#if defined(OS_WIN)
- // For now, avoid breaking when initiating full screen tab mode while in
- // a metro snap.
- // TODO(robertshield): Find a way to reconcile tab-initiated fullscreen
- // modes with metro snap.
- if (IsInMetroSnapMode())
- return;
-#endif
-
ExclusiveAccessContext* exclusive_access_context =
exclusive_access_manager()->context();
@@ -230,24 +212,6 @@ void FullscreenController::ExitFullscreenModeForTab(WebContents* web_contents) {
PostFullscreenChangeNotification(true);
}
-#if defined(OS_WIN)
-bool FullscreenController::IsInMetroSnapMode() {
- return exclusive_access_manager()->context()->IsInMetroSnapMode();
-}
-
-void FullscreenController::SetMetroSnapMode(bool enable) {
- reentrant_window_state_change_call_check_ = false;
-
- toggled_into_fullscreen_ = false;
- exclusive_access_manager()->context()->SetMetroSnapMode(enable);
-
- // FullscreenController unit tests for metro snap assume that on Windows calls
- // to WindowFullscreenStateChanged are reentrant. If that assumption is
- // invalidated, the tests must be updated to maintain coverage.
- CHECK(reentrant_window_state_change_call_check_);
-}
-#endif // defined(OS_WIN)
-
void FullscreenController::OnTabDetachedFromView(WebContents* old_contents) {
if (!IsFullscreenForCapturedTab(old_contents))
return;
@@ -435,12 +399,6 @@ void FullscreenController::RecordBubbleReshowsHistogram(
void FullscreenController::ToggleFullscreenModeInternal(
FullscreenInternalOption option) {
-#if defined(OS_WIN)
- // When in Metro snap mode, toggling in and out of fullscreen is prevented.
- if (IsInMetroSnapMode())
- return;
-#endif
-
ExclusiveAccessContext* const exclusive_access_context =
exclusive_access_manager()->context();
bool enter_fullscreen = !exclusive_access_context->IsFullscreen();
diff --git a/chrome/browser/ui/exclusive_access/fullscreen_controller.h b/chrome/browser/ui/exclusive_access/fullscreen_controller.h
index e61d891..768789d 100644
--- a/chrome/browser/ui/exclusive_access/fullscreen_controller.h
+++ b/chrome/browser/ui/exclusive_access/fullscreen_controller.h
@@ -117,15 +117,6 @@ class FullscreenController : public ExclusiveAccessControllerBase {
// Platform Fullscreen ///////////////////////////////////////////////////////
-#if defined(OS_WIN)
- // Returns whether we are currently in a Metro snap view.
- bool IsInMetroSnapMode();
-
- // API that puts the window into a mode suitable for rendering when Chrome
- // is rendered in a 20% screen-width Metro snap view on Windows 8.
- void SetMetroSnapMode(bool enable);
-#endif // OS_WIN
-
// Overrde from ExclusiveAccessControllerBase.
void OnTabDetachedFromView(content::WebContents* web_contents) override;
void OnTabClosing(content::WebContents* web_contents) override;
diff --git a/chrome/browser/ui/exclusive_access/fullscreen_controller_state_test.cc b/chrome/browser/ui/exclusive_access/fullscreen_controller_state_test.cc
index a8514c6..56b6248 100644
--- a/chrome/browser/ui/exclusive_access/fullscreen_controller_state_test.cc
+++ b/chrome/browser/ui/exclusive_access/fullscreen_controller_state_test.cc
@@ -44,8 +44,6 @@ FullscreenControllerStateTest::FullscreenControllerStateTest()
STATE_TO_BROWSER_FULLSCREEN_WITH_CHROME,// Event TOGGLE_FULLSCREEN_CHROME
STATE_TO_TAB_FULLSCREEN, // Event TAB_FULLSCREEN_TRUE
STATE_NORMAL, // Event TAB_FULLSCREEN_FALSE
- STATE_METRO_SNAP, // Event METRO_SNAP_TRUE
- STATE_NORMAL, // Event METRO_SNAP_FALSE
STATE_NORMAL, // Event BUBBLE_EXIT_LINK
STATE_NORMAL, // Event BUBBLE_ALLOW
STATE_NORMAL, // Event BUBBLE_DENY
@@ -56,8 +54,6 @@ FullscreenControllerStateTest::FullscreenControllerStateTest()
STATE_TO_NORMAL, // Event TOGGLE_FULLSCREEN_CHROME
STATE_TAB_BROWSER_FULLSCREEN, // Event TAB_FULLSCREEN_TRUE
STATE_BROWSER_FULLSCREEN_NO_CHROME, // Event TAB_FULLSCREEN_FALSE
- STATE_METRO_SNAP, // Event METRO_SNAP_TRUE
- STATE_BROWSER_FULLSCREEN_NO_CHROME, // Event METRO_SNAP_FALSE
STATE_TO_NORMAL, // Event BUBBLE_EXIT_LINK
STATE_BROWSER_FULLSCREEN_NO_CHROME, // Event BUBBLE_ALLOW
STATE_BROWSER_FULLSCREEN_NO_CHROME, // Event BUBBLE_DENY
@@ -68,32 +64,16 @@ FullscreenControllerStateTest::FullscreenControllerStateTest()
STATE_TO_NORMAL, // Event TOGGLE_FULLSCREEN_CHROME
STATE_TAB_BROWSER_FULLSCREEN_CHROME, // Event TAB_FULLSCREEN_TRUE
STATE_BROWSER_FULLSCREEN_WITH_CHROME, // Event TAB_FULLSCREEN_FALSE
- STATE_BROWSER_FULLSCREEN_WITH_CHROME, // Event METRO_SNAP_TRUE
- STATE_BROWSER_FULLSCREEN_WITH_CHROME, // Event METRO_SNAP_FALSE
STATE_TO_NORMAL, // Event BUBBLE_EXIT_LINK
STATE_BROWSER_FULLSCREEN_WITH_CHROME, // Event BUBBLE_ALLOW
STATE_BROWSER_FULLSCREEN_WITH_CHROME, // Event BUBBLE_DENY
STATE_BROWSER_FULLSCREEN_WITH_CHROME, // Event WINDOW_CHANGE
},
- { // STATE_METRO_SNAP:
- STATE_METRO_SNAP, // Event TOGGLE_FULLSCREEN
- STATE_METRO_SNAP, // Event TOGGLE_FULLSCREEN_CHROME
- STATE_METRO_SNAP, // Event TAB_FULLSCREEN_TRUE
- STATE_METRO_SNAP, // Event TAB_FULLSCREEN_FALSE
- STATE_METRO_SNAP, // Event METRO_SNAP_TRUE
- STATE_NORMAL, // Event METRO_SNAP_FALSE
- STATE_METRO_SNAP, // Event BUBBLE_EXIT_LINK
- STATE_METRO_SNAP, // Event BUBBLE_ALLOW
- STATE_METRO_SNAP, // Event BUBBLE_DENY
- STATE_METRO_SNAP, // Event WINDOW_CHANGE
- },
{ // STATE_TAB_FULLSCREEN:
STATE_TO_NORMAL, // Event TOGGLE_FULLSCREEN
STATE_TO_NORMAL, // Event TOGGLE_FULLSCREEN_CHROME
STATE_TAB_FULLSCREEN, // Event TAB_FULLSCREEN_TRUE
STATE_TO_NORMAL, // Event TAB_FULLSCREEN_FALSE
- STATE_METRO_SNAP, // Event METRO_SNAP_TRUE
- STATE_TAB_FULLSCREEN, // Event METRO_SNAP_FALSE
STATE_TO_NORMAL, // Event BUBBLE_EXIT_LINK
STATE_TAB_FULLSCREEN, // Event BUBBLE_ALLOW
STATE_TO_NORMAL, // Event BUBBLE_DENY
@@ -104,8 +84,6 @@ FullscreenControllerStateTest::FullscreenControllerStateTest()
STATE_TO_NORMAL, // Event TOGGLE_FULLSCREEN_CHROME
STATE_TAB_BROWSER_FULLSCREEN, // Event TAB_FULLSCREEN_TRUE
STATE_BROWSER_FULLSCREEN_NO_CHROME, // Event TAB_FULLSCREEN_FALSE
- STATE_METRO_SNAP, // Event METRO_SNAP_TRUE
- STATE_TAB_BROWSER_FULLSCREEN, // Event METRO_SNAP_FALSE
STATE_BROWSER_FULLSCREEN_NO_CHROME, // Event BUBBLE_EXIT_LINK
STATE_TAB_BROWSER_FULLSCREEN, // Event BUBBLE_ALLOW
STATE_BROWSER_FULLSCREEN_NO_CHROME, // Event BUBBLE_DENY
@@ -116,8 +94,6 @@ FullscreenControllerStateTest::FullscreenControllerStateTest()
STATE_TO_NORMAL, // Event TOGGLE_FULLSCREEN_CHROME
STATE_TAB_BROWSER_FULLSCREEN_CHROME, // Event TAB_FULLSCREEN_TRUE
STATE_BROWSER_FULLSCREEN_WITH_CHROME, // Event TAB_FULLSCREEN_FALSE
- STATE_METRO_SNAP, // Event METRO_SNAP_TRUE
- STATE_TAB_BROWSER_FULLSCREEN_CHROME, // Event METRO_SNAP_FALSE
STATE_BROWSER_FULLSCREEN_WITH_CHROME, // Event BUBBLE_EXIT_LINK
STATE_TAB_BROWSER_FULLSCREEN_CHROME, // Event BUBBLE_ALLOW
STATE_BROWSER_FULLSCREEN_WITH_CHROME, // Event BUBBLE_DENY
@@ -129,8 +105,6 @@ FullscreenControllerStateTest::FullscreenControllerStateTest()
// TODO(scheib) Should be a route back to TAB. http://crbug.com/154196
STATE_TO_NORMAL, // Event TAB_FULLSCREEN_TRUE
STATE_TO_NORMAL, // Event TAB_FULLSCREEN_FALSE
- STATE_METRO_SNAP, // Event METRO_SNAP_TRUE
- STATE_TO_NORMAL, // Event METRO_SNAP_FALSE
STATE_TO_NORMAL, // Event BUBBLE_EXIT_LINK
STATE_TO_NORMAL, // Event BUBBLE_ALLOW
STATE_TO_NORMAL, // Event BUBBLE_DENY
@@ -142,8 +116,6 @@ FullscreenControllerStateTest::FullscreenControllerStateTest()
// TODO(scheib) Should be a route to TAB_BROWSER http://crbug.com/154196
STATE_TO_BROWSER_FULLSCREEN_NO_CHROME, // Event TAB_FULLSCREEN_TRUE
STATE_TO_BROWSER_FULLSCREEN_NO_CHROME, // Event TAB_FULLSCREEN_FALSE
- STATE_METRO_SNAP, // Event METRO_SNAP_TRUE
- STATE_TO_BROWSER_FULLSCREEN_NO_CHROME, // Event METRO_SNAP_FALSE
#if defined(OS_MACOSX)
// Mac window reports fullscreen immediately and an exit triggers exit.
STATE_TO_NORMAL, // Event BUBBLE_EXIT_LINK
@@ -160,8 +132,6 @@ FullscreenControllerStateTest::FullscreenControllerStateTest()
// TODO(scheib) Should be a route to TAB_BROWSER http://crbug.com/154196
STATE_TAB_BROWSER_FULLSCREEN, // Event TAB_FULLSCREEN_TRUE
STATE_TO_BROWSER_FULLSCREEN_WITH_CHROME,// Event TAB_FULLSCREEN_FALSE
- STATE_TO_BROWSER_FULLSCREEN_WITH_CHROME,// Event METRO_SNAP_TRUE
- STATE_TO_BROWSER_FULLSCREEN_WITH_CHROME,// Event METRO_SNAP_FALSE
STATE_TO_NORMAL, // Event BUBBLE_EXIT_LINK
STATE_TO_BROWSER_FULLSCREEN_WITH_CHROME,// Event BUBBLE_ALLOW
STATE_TO_BROWSER_FULLSCREEN_WITH_CHROME,// Event BUBBLE_DENY
@@ -179,8 +149,6 @@ FullscreenControllerStateTest::FullscreenControllerStateTest()
// TODO(scheib) Should be a route back to NORMAL. http://crbug.com/154196
STATE_TO_BROWSER_FULLSCREEN_NO_CHROME, // Event TAB_FULLSCREEN_FALSE
#endif
- STATE_METRO_SNAP, // Event METRO_SNAP_TRUE
- STATE_TO_TAB_FULLSCREEN, // Event METRO_SNAP_FALSE
#if defined(OS_MACOSX)
// Mac window reports fullscreen immediately and an exit triggers exit.
STATE_TO_NORMAL, // Event BUBBLE_EXIT_LINK
@@ -234,7 +202,6 @@ const char* FullscreenControllerStateTest::GetStateString(State state) {
ENUM_TO_STRING(STATE_NORMAL);
ENUM_TO_STRING(STATE_BROWSER_FULLSCREEN_NO_CHROME);
ENUM_TO_STRING(STATE_BROWSER_FULLSCREEN_WITH_CHROME);
- ENUM_TO_STRING(STATE_METRO_SNAP);
ENUM_TO_STRING(STATE_TAB_FULLSCREEN);
ENUM_TO_STRING(STATE_TAB_BROWSER_FULLSCREEN);
ENUM_TO_STRING(STATE_TAB_BROWSER_FULLSCREEN_CHROME);
@@ -256,8 +223,6 @@ const char* FullscreenControllerStateTest::GetEventString(Event event) {
ENUM_TO_STRING(TOGGLE_FULLSCREEN_CHROME);
ENUM_TO_STRING(TAB_FULLSCREEN_TRUE);
ENUM_TO_STRING(TAB_FULLSCREEN_FALSE);
- ENUM_TO_STRING(METRO_SNAP_TRUE);
- ENUM_TO_STRING(METRO_SNAP_FALSE);
ENUM_TO_STRING(BUBBLE_EXIT_LINK);
ENUM_TO_STRING(BUBBLE_ALLOW);
ENUM_TO_STRING(BUBBLE_DENY);
@@ -284,7 +249,6 @@ bool FullscreenControllerStateTest::IsPersistentState(State state) {
case STATE_NORMAL:
case STATE_BROWSER_FULLSCREEN_NO_CHROME:
case STATE_BROWSER_FULLSCREEN_WITH_CHROME:
- case STATE_METRO_SNAP:
case STATE_TAB_FULLSCREEN:
case STATE_TAB_BROWSER_FULLSCREEN:
case STATE_TAB_BROWSER_FULLSCREEN_CHROME:
@@ -400,22 +364,6 @@ bool FullscreenControllerStateTest::InvokeEvent(Event event) {
break;
}
- case METRO_SNAP_TRUE:
-#if defined(OS_WIN)
- GetFullscreenController()->SetMetroSnapMode(true);
-#else
- NOTREACHED() << GetAndClearDebugLog();
-#endif
- break;
-
- case METRO_SNAP_FALSE:
-#if defined(OS_WIN)
- GetFullscreenController()->SetMetroSnapMode(false);
-#else
- NOTREACHED() << GetAndClearDebugLog();
-#endif
- break;
-
case BUBBLE_EXIT_LINK:
GetFullscreenController()->ExitExclusiveAccessToPreviousState();
break;
@@ -458,50 +406,37 @@ void FullscreenControllerStateTest::VerifyWindowState() {
case STATE_NORMAL:
VerifyWindowStateExpectations(FULLSCREEN_WITH_CHROME_FALSE,
FULLSCREEN_FOR_BROWSER_FALSE,
- FULLSCREEN_FOR_TAB_FALSE,
- IN_METRO_SNAP_FALSE);
+ FULLSCREEN_FOR_TAB_FALSE);
break;
case STATE_BROWSER_FULLSCREEN_NO_CHROME:
VerifyWindowStateExpectations(FULLSCREEN_WITH_CHROME_FALSE,
FULLSCREEN_FOR_BROWSER_TRUE,
- FULLSCREEN_FOR_TAB_FALSE,
- IN_METRO_SNAP_FALSE);
+ FULLSCREEN_FOR_TAB_FALSE);
break;
case STATE_BROWSER_FULLSCREEN_WITH_CHROME:
VerifyWindowStateExpectations(FULLSCREEN_WITH_CHROME_TRUE,
FULLSCREEN_FOR_BROWSER_TRUE,
- FULLSCREEN_FOR_TAB_FALSE,
- IN_METRO_SNAP_FALSE);
- break;
- case STATE_METRO_SNAP:
- VerifyWindowStateExpectations(FULLSCREEN_WITH_CHROME_NO_EXPECTATION,
- FULLSCREEN_FOR_BROWSER_NO_EXPECTATION,
- FULLSCREEN_FOR_TAB_NO_EXPECTATION,
- IN_METRO_SNAP_TRUE);
+ FULLSCREEN_FOR_TAB_FALSE);
break;
case STATE_TAB_FULLSCREEN:
VerifyWindowStateExpectations(FULLSCREEN_WITH_CHROME_FALSE,
FULLSCREEN_FOR_BROWSER_FALSE,
- FULLSCREEN_FOR_TAB_TRUE,
- IN_METRO_SNAP_FALSE);
+ FULLSCREEN_FOR_TAB_TRUE);
break;
case STATE_TAB_BROWSER_FULLSCREEN:
VerifyWindowStateExpectations(FULLSCREEN_WITH_CHROME_FALSE,
FULLSCREEN_FOR_BROWSER_TRUE,
- FULLSCREEN_FOR_TAB_TRUE,
- IN_METRO_SNAP_FALSE);
+ FULLSCREEN_FOR_TAB_TRUE);
break;
case STATE_TAB_BROWSER_FULLSCREEN_CHROME:
VerifyWindowStateExpectations(FULLSCREEN_WITH_CHROME_FALSE,
FULLSCREEN_FOR_BROWSER_TRUE,
- FULLSCREEN_FOR_TAB_TRUE,
- IN_METRO_SNAP_FALSE);
+ FULLSCREEN_FOR_TAB_TRUE);
break;
case STATE_TO_NORMAL:
VerifyWindowStateExpectations(FULLSCREEN_WITH_CHROME_FALSE,
FULLSCREEN_FOR_BROWSER_NO_EXPECTATION,
- FULLSCREEN_FOR_TAB_NO_EXPECTATION,
- IN_METRO_SNAP_FALSE);
+ FULLSCREEN_FOR_TAB_NO_EXPECTATION);
break;
case STATE_TO_BROWSER_FULLSCREEN_NO_CHROME:
@@ -511,8 +446,7 @@ void FullscreenControllerStateTest::VerifyWindowState() {
#else
FULLSCREEN_FOR_BROWSER_FALSE,
#endif
- FULLSCREEN_FOR_TAB_NO_EXPECTATION,
- IN_METRO_SNAP_FALSE);
+ FULLSCREEN_FOR_TAB_NO_EXPECTATION);
break;
case STATE_TO_BROWSER_FULLSCREEN_WITH_CHROME:
@@ -522,8 +456,7 @@ void FullscreenControllerStateTest::VerifyWindowState() {
#else
FULLSCREEN_FOR_BROWSER_FALSE,
#endif
- FULLSCREEN_FOR_TAB_NO_EXPECTATION,
- IN_METRO_SNAP_FALSE);
+ FULLSCREEN_FOR_TAB_NO_EXPECTATION);
break;
case STATE_TO_TAB_FULLSCREEN:
@@ -539,8 +472,7 @@ void FullscreenControllerStateTest::VerifyWindowState() {
#endif
VerifyWindowStateExpectations(FULLSCREEN_WITH_CHROME_NO_EXPECTATION,
FULLSCREEN_FOR_BROWSER_FALSE,
- FULLSCREEN_FOR_TAB_TRUE,
- IN_METRO_SNAP_FALSE);
+ FULLSCREEN_FOR_TAB_TRUE);
break;
default:
@@ -652,14 +584,6 @@ bool FullscreenControllerStateTest::ShouldSkipStateAndEventPair(State state,
if (state == STATE_TO_NORMAL && event == TAB_FULLSCREEN_TRUE)
return true;
- // Skip metro snap state and events when not on windows.
-#if !defined(OS_WIN)
- if (state == STATE_METRO_SNAP ||
- event == METRO_SNAP_TRUE ||
- event == METRO_SNAP_FALSE)
- return true;
-#endif
-
// Skip Mac Lion Fullscreen state and events when not on OSX 10.7+.
if (!SupportsMacSystemFullscreen()) {
if (state == STATE_BROWSER_FULLSCREEN_WITH_CHROME ||
@@ -674,16 +598,6 @@ bool FullscreenControllerStateTest::ShouldSkipStateAndEventPair(State state,
}
bool FullscreenControllerStateTest::ShouldSkipTest(State state, Event event) {
- // Quietly skip metro snap tests when not on windows.
-#if !defined(OS_WIN)
- if (state == STATE_METRO_SNAP ||
- event == METRO_SNAP_TRUE ||
- event == METRO_SNAP_FALSE) {
- debugging_log_ << "\nSkipping metro snap test on non-Windows.\n";
- return true;
- }
-#endif
-
// Quietly skip Mac Lion Fullscreen tests when not on OSX 10.7+.
if (!SupportsMacSystemFullscreen()) {
if (state == STATE_BROWSER_FULLSCREEN_WITH_CHROME ||
@@ -740,8 +654,7 @@ void FullscreenControllerStateTest::TestStateAndEvent(State state,
void FullscreenControllerStateTest::VerifyWindowStateExpectations(
FullscreenWithToolbarExpectation fullscreen_with_toolbar,
FullscreenForBrowserExpectation fullscreen_for_browser,
- FullscreenForTabExpectation fullscreen_for_tab,
- InMetroSnapExpectation in_metro_snap) {
+ FullscreenForTabExpectation fullscreen_for_tab) {
ExclusiveAccessContext* context =
GetBrowser()->window()->GetExclusiveAccessContext();
if (fullscreen_with_toolbar != FULLSCREEN_WITH_CHROME_NO_EXPECTATION &&
@@ -757,13 +670,6 @@ void FullscreenControllerStateTest::VerifyWindowStateExpectations(
EXPECT_EQ(GetFullscreenController()->IsWindowFullscreenForTabOrPending(),
!!fullscreen_for_tab) << GetAndClearDebugLog();
}
-
-#if defined(OS_WIN)
- if (in_metro_snap != IN_METRO_SNAP_NO_EXPECTATION) {
- EXPECT_EQ(GetFullscreenController()->IsInMetroSnapMode(),
- !!in_metro_snap) << GetAndClearDebugLog();
- }
-#endif // OS_WIN
}
FullscreenController* FullscreenControllerStateTest::GetFullscreenController() {
diff --git a/chrome/browser/ui/exclusive_access/fullscreen_controller_state_test.h b/chrome/browser/ui/exclusive_access/fullscreen_controller_state_test.h
index 14f855c..3aad269 100644
--- a/chrome/browser/ui/exclusive_access/fullscreen_controller_state_test.h
+++ b/chrome/browser/ui/exclusive_access/fullscreen_controller_state_test.h
@@ -36,8 +36,6 @@ class FullscreenControllerStateTest {
TOGGLE_FULLSCREEN_CHROME, // ToggleBrowserFullscreenWithToolbar()
TAB_FULLSCREEN_TRUE, // ToggleFullscreenModeForTab(, true)
TAB_FULLSCREEN_FALSE, // ToggleFullscreenModeForTab(, false)
- METRO_SNAP_TRUE, // SetMetroSnapMode(true)
- METRO_SNAP_FALSE, // SetMetroSnapMode(false)
BUBBLE_EXIT_LINK, // ExitTabOrBrowserFullscreenToPreviousState()
BUBBLE_ALLOW, // OnAcceptFullscreenPermission()
BUBBLE_DENY, // OnDenyFullscreenPermission()
@@ -55,9 +53,6 @@ class FullscreenControllerStateTest {
STATE_BROWSER_FULLSCREEN_NO_CHROME,
// Mac User-initiated 'Lion Fullscreen' with browser chrome. OSX 10.7+ only.
STATE_BROWSER_FULLSCREEN_WITH_CHROME,
- // Windows 8 Metro Snap mode, which puts the window at 20% screen-width.
- // No TO_ state for Metro, as the windows implementation is only reentrant.
- STATE_METRO_SNAP,
// HTML5 tab-initiated fullscreen.
STATE_TAB_FULLSCREEN,
// Both tab and browser fullscreen.
@@ -145,7 +140,6 @@ class FullscreenControllerStateTest {
EXPECTATION_ENUM(FullscreenWithToolbarExpectation, FULLSCREEN_WITH_CHROME);
EXPECTATION_ENUM(FullscreenForBrowserExpectation, FULLSCREEN_FOR_BROWSER);
EXPECTATION_ENUM(FullscreenForTabExpectation, FULLSCREEN_FOR_TAB);
- EXPECTATION_ENUM(InMetroSnapExpectation, IN_METRO_SNAP);
// Generated information about the transitions between states.
struct StateTransitionInfo {
@@ -180,8 +174,7 @@ class FullscreenControllerStateTest {
virtual void VerifyWindowStateExpectations(
FullscreenWithToolbarExpectation fullscreen_with_toolbar,
FullscreenForBrowserExpectation fullscreen_for_browser,
- FullscreenForTabExpectation fullscreen_for_tab,
- InMetroSnapExpectation in_metro_snap);
+ FullscreenForTabExpectation fullscreen_for_tab);
virtual Browser* GetBrowser() = 0;
FullscreenController* GetFullscreenController();
diff --git a/chrome/browser/ui/exclusive_access/fullscreen_controller_state_tests.h b/chrome/browser/ui/exclusive_access/fullscreen_controller_state_tests.h
index 244b9c6..230dbc3 100644
--- a/chrome/browser/ui/exclusive_access/fullscreen_controller_state_tests.h
+++ b/chrome/browser/ui/exclusive_access/fullscreen_controller_state_tests.h
@@ -13,31 +13,19 @@
// fullscreen_controller_state_interactive_browsertest.cc and
// fullscreen_controller_state_unittest.cc.
-#define TEST_ALL_EVENTS_NON_METRO(state) \
- TEST_EVENT(state, TOGGLE_FULLSCREEN) \
- TEST_EVENT(state, TOGGLE_FULLSCREEN_CHROME) \
- TEST_EVENT(state, TAB_FULLSCREEN_TRUE) \
- TEST_EVENT(state, TAB_FULLSCREEN_FALSE) \
- TEST_EVENT(state, BUBBLE_EXIT_LINK) \
- TEST_EVENT(state, BUBBLE_ALLOW) \
- TEST_EVENT(state, BUBBLE_DENY) \
- TEST_EVENT(state, WINDOW_CHANGE)
-
-#if defined(OS_WIN)
-#define TEST_ALL_EVENTS(state) \
- TEST_ALL_EVENTS_NON_METRO(state) \
- TEST_EVENT(state, METRO_SNAP_TRUE) \
- TEST_EVENT(state, METRO_SNAP_FALSE)
-#else
-#define TEST_ALL_EVENTS(state) TEST_ALL_EVENTS_NON_METRO(state)
-#endif
+#define TEST_ALL_EVENTS(state) \
+ TEST_EVENT(state, TOGGLE_FULLSCREEN) \
+ TEST_EVENT(state, TOGGLE_FULLSCREEN_CHROME) \
+ TEST_EVENT(state, TAB_FULLSCREEN_TRUE) \
+ TEST_EVENT(state, TAB_FULLSCREEN_FALSE) \
+ TEST_EVENT(state, BUBBLE_EXIT_LINK) \
+ TEST_EVENT(state, BUBBLE_ALLOW) \
+ TEST_EVENT(state, BUBBLE_DENY) \
+ TEST_EVENT(state, WINDOW_CHANGE)
TEST_ALL_EVENTS(STATE_NORMAL);
TEST_ALL_EVENTS(STATE_BROWSER_FULLSCREEN_NO_CHROME);
TEST_ALL_EVENTS(STATE_BROWSER_FULLSCREEN_WITH_CHROME);
-#if defined(OS_WIN)
-TEST_ALL_EVENTS(STATE_METRO_SNAP);
-#endif
TEST_ALL_EVENTS(STATE_TAB_FULLSCREEN);
TEST_ALL_EVENTS(STATE_TAB_BROWSER_FULLSCREEN);
TEST_ALL_EVENTS(STATE_TAB_BROWSER_FULLSCREEN_CHROME);
diff --git a/chrome/browser/ui/exclusive_access/fullscreen_controller_state_unittest.cc b/chrome/browser/ui/exclusive_access/fullscreen_controller_state_unittest.cc
index 21bd59b..77ae80d 100644
--- a/chrome/browser/ui/exclusive_access/fullscreen_controller_state_unittest.cc
+++ b/chrome/browser/ui/exclusive_access/fullscreen_controller_state_unittest.cc
@@ -38,8 +38,6 @@ class FullscreenControllerTestWindow : public TestBrowserWindow,
enum WindowState {
NORMAL,
FULLSCREEN,
- // No TO_ state for METRO_SNAP, the windows implementation is synchronous.
- METRO_SNAP,
TO_NORMAL,
TO_FULLSCREEN,
};
@@ -53,10 +51,6 @@ class FullscreenControllerTestWindow : public TestBrowserWindow,
bool SupportsFullscreenWithToolbar() const override;
void UpdateFullscreenWithToolbar(bool with_toolbar) override;
bool IsFullscreenWithToolbar() const override;
-#if defined(OS_WIN)
- void SetMetroSnapMode(bool enable) override;
- bool IsInMetroSnapMode() const override;
-#endif
static const char* GetWindowStateString(WindowState state);
WindowState state() const { return state_; }
void set_browser(Browser* browser) { browser_ = browser; }
@@ -145,27 +139,12 @@ bool FullscreenControllerTestWindow::IsFullscreenWithToolbar() const {
return IsFullscreen() && mac_with_toolbar_mode_;
}
-#if defined(OS_WIN)
-void FullscreenControllerTestWindow::SetMetroSnapMode(bool enable) {
- if (enable != IsInMetroSnapMode())
- state_ = enable ? METRO_SNAP : NORMAL;
-
- if (FullscreenControllerStateTest::IsWindowFullscreenStateChangedReentrant())
- ChangeWindowFullscreenState();
-}
-
-bool FullscreenControllerTestWindow::IsInMetroSnapMode() const {
- return state_ == METRO_SNAP;
-}
-#endif
-
// static
const char* FullscreenControllerTestWindow::GetWindowStateString(
WindowState state) {
switch (state) {
ENUM_TO_STRING(NORMAL);
ENUM_TO_STRING(FULLSCREEN);
- ENUM_TO_STRING(METRO_SNAP);
ENUM_TO_STRING(TO_FULLSCREEN);
ENUM_TO_STRING(TO_NORMAL);
default:
@@ -315,13 +294,6 @@ void FullscreenControllerStateUnitTest::VerifyWindowState() {
window_->state()) << GetAndClearDebugLog();
break;
-#if defined(OS_WIN)
- case STATE_METRO_SNAP:
- EXPECT_EQ(FullscreenControllerTestWindow::METRO_SNAP,
- window_->state()) << GetAndClearDebugLog();
- break;
-#endif
-
case STATE_TO_NORMAL:
EXPECT_EQ(FullscreenControllerTestWindow::TO_NORMAL,
window_->state()) << GetAndClearDebugLog();
diff --git a/chrome/chrome_browser_ui.gypi b/chrome/chrome_browser_ui.gypi
index ac8a862..795ffd9 100644
--- a/chrome/chrome_browser_ui.gypi
+++ b/chrome/chrome_browser_ui.gypi
@@ -79,7 +79,6 @@
'browser/ui/browser_navigator_params.h',
'browser/ui/browser_ui_prefs.cc',
'browser/ui/browser_ui_prefs.h',
- 'browser/ui/browser_win.cc',
'browser/ui/browser_window.h',
'browser/ui/chrome_select_file_policy.cc',
'browser/ui/chrome_select_file_policy.h',
diff --git a/ui/views/win/fullscreen_handler.cc b/ui/views/win/fullscreen_handler.cc
index 2f7d077..a40cfc5 100644
--- a/ui/views/win/fullscreen_handler.cc
+++ b/ui/views/win/fullscreen_handler.cc
@@ -14,11 +14,7 @@ namespace views {
////////////////////////////////////////////////////////////////////////////////
// FullscreenHandler, public:
-FullscreenHandler::FullscreenHandler()
- : hwnd_(NULL),
- fullscreen_(false),
- metro_snap_(false) {
-}
+FullscreenHandler::FullscreenHandler() : hwnd_(NULL), fullscreen_(false) {}
FullscreenHandler::~FullscreenHandler() {
}
@@ -27,15 +23,7 @@ void FullscreenHandler::SetFullscreen(bool fullscreen) {
if (fullscreen_ == fullscreen)
return;
- SetFullscreenImpl(fullscreen, false);
-}
-
-void FullscreenHandler::SetMetroSnap(bool metro_snap) {
- if (metro_snap_ == metro_snap)
- return;
-
- SetFullscreenImpl(metro_snap, true);
- metro_snap_ = metro_snap;
+ SetFullscreenImpl(fullscreen);
}
gfx::Rect FullscreenHandler::GetRestoreBounds() const {
@@ -45,7 +33,7 @@ gfx::Rect FullscreenHandler::GetRestoreBounds() const {
////////////////////////////////////////////////////////////////////////////////
// FullscreenHandler, private:
-void FullscreenHandler::SetFullscreenImpl(bool fullscreen, bool for_metro) {
+void FullscreenHandler::SetFullscreenImpl(bool fullscreen) {
ScopedFullscreenVisibility visibility(hwnd_);
// Save current window state if not already fullscreen.
@@ -73,16 +61,14 @@ void FullscreenHandler::SetFullscreenImpl(bool fullscreen, bool for_metro) {
// On expand, if we're given a window_rect, grow to it, otherwise do
// not resize.
- if (!for_metro) {
- MONITORINFO monitor_info;
- monitor_info.cbSize = sizeof(monitor_info);
- GetMonitorInfo(MonitorFromWindow(hwnd_, MONITOR_DEFAULTTONEAREST),
- &monitor_info);
- gfx::Rect window_rect(monitor_info.rcMonitor);
- SetWindowPos(hwnd_, NULL, window_rect.x(), window_rect.y(),
- window_rect.width(), window_rect.height(),
- SWP_NOZORDER | SWP_NOACTIVATE | SWP_FRAMECHANGED);
- }
+ MONITORINFO monitor_info;
+ monitor_info.cbSize = sizeof(monitor_info);
+ GetMonitorInfo(MonitorFromWindow(hwnd_, MONITOR_DEFAULTTONEAREST),
+ &monitor_info);
+ gfx::Rect window_rect(monitor_info.rcMonitor);
+ SetWindowPos(hwnd_, NULL, window_rect.x(), window_rect.y(),
+ window_rect.width(), window_rect.height(),
+ SWP_NOZORDER | SWP_NOACTIVATE | SWP_FRAMECHANGED);
} else {
// Reset original window style and size. The multiple window size/moves
// here are ugly, but if SetWindowPos() doesn't redraw, the taskbar won't be
@@ -90,13 +76,11 @@ void FullscreenHandler::SetFullscreenImpl(bool fullscreen, bool for_metro) {
SetWindowLong(hwnd_, GWL_STYLE, saved_window_info_.style);
SetWindowLong(hwnd_, GWL_EXSTYLE, saved_window_info_.ex_style);
- if (!for_metro) {
- // On restore, resize to the previous saved rect size.
- gfx::Rect new_rect(saved_window_info_.window_rect);
- SetWindowPos(hwnd_, NULL, new_rect.x(), new_rect.y(),
- new_rect.width(), new_rect.height(),
- SWP_NOZORDER | SWP_NOACTIVATE | SWP_FRAMECHANGED);
- }
+ // On restore, resize to the previous saved rect size.
+ gfx::Rect new_rect(saved_window_info_.window_rect);
+ SetWindowPos(hwnd_, NULL, new_rect.x(), new_rect.y(), new_rect.width(),
+ new_rect.height(),
+ SWP_NOZORDER | SWP_NOACTIVATE | SWP_FRAMECHANGED);
if (saved_window_info_.maximized)
::SendMessage(hwnd_, WM_SYSCOMMAND, SC_MAXIMIZE, 0);
}
diff --git a/ui/views/win/fullscreen_handler.h b/ui/views/win/fullscreen_handler.h
index 176cbed..b23b142 100644
--- a/ui/views/win/fullscreen_handler.h
+++ b/ui/views/win/fullscreen_handler.h
@@ -25,12 +25,10 @@ class FullscreenHandler {
void set_hwnd(HWND hwnd) { hwnd_ = hwnd; }
void SetFullscreen(bool fullscreen);
- void SetMetroSnap(bool metro_snap);
gfx::Rect GetRestoreBounds() const;
bool fullscreen() const { return fullscreen_; }
- bool metro_snap() const { return metro_snap_; }
private:
// Information saved before going into fullscreen mode, used to restore the
@@ -42,11 +40,10 @@ class FullscreenHandler {
RECT window_rect;
};
- void SetFullscreenImpl(bool fullscreen, bool for_metro);
+ void SetFullscreenImpl(bool fullscreen);
HWND hwnd_;
bool fullscreen_;
- bool metro_snap_;
// Saved window information from before entering fullscreen mode.
// TODO(beng): move to private once GetRestoredBounds() moves onto Widget.
@@ -57,4 +54,4 @@ class FullscreenHandler {
} // namespace views
-#endif // UI_VIEWS_WIN_FULLSCREEN_HANDLER_H_ \ No newline at end of file
+#endif // UI_VIEWS_WIN_FULLSCREEN_HANDLER_H_
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
index 71eeafc..88387d4 100644
--- a/ui/views/win/hwnd_message_handler.cc
+++ b/ui/views/win/hwnd_message_handler.cc
@@ -2221,7 +2221,6 @@ void HWNDMessageHandler::OnWindowPosChanging(WINDOWPOS* window_pos) {
}
if (monitor && (monitor == last_monitor_) &&
((fullscreen_handler_->fullscreen() &&
- !fullscreen_handler_->metro_snap() &&
!background_fullscreen_hack_) ||
work_area_changed)) {
// A rect for the monitor we're on changed. Normally Windows notifies