diff options
-rw-r--r-- | chrome/browser/ui/browser.h | 5 | ||||
-rw-r--r-- | chrome/browser/ui/browser_win.cc | 11 | ||||
-rw-r--r-- | chrome/browser/ui/exclusive_access/fullscreen_controller.cc | 42 | ||||
-rw-r--r-- | chrome/browser/ui/exclusive_access/fullscreen_controller.h | 9 | ||||
-rw-r--r-- | chrome/browser/ui/exclusive_access/fullscreen_controller_state_test.cc | 116 | ||||
-rw-r--r-- | chrome/browser/ui/exclusive_access/fullscreen_controller_state_test.h | 9 | ||||
-rw-r--r-- | chrome/browser/ui/exclusive_access/fullscreen_controller_state_tests.h | 30 | ||||
-rw-r--r-- | chrome/browser/ui/exclusive_access/fullscreen_controller_state_unittest.cc | 28 | ||||
-rw-r--r-- | chrome/chrome_browser_ui.gypi | 1 | ||||
-rw-r--r-- | ui/views/win/fullscreen_handler.cc | 48 | ||||
-rw-r--r-- | ui/views/win/fullscreen_handler.h | 7 | ||||
-rw-r--r-- | ui/views/win/hwnd_message_handler.cc | 1 |
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 |