| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #import "chrome/browser/ui/cocoa/browser_window_controller.h" | 5 #import "chrome/browser/ui/cocoa/browser_window_controller.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 | 8 |
| 9 #include "base/mac/mac_util.h" | 9 #include "base/mac/mac_util.h" |
| 10 #import "base/mac/scoped_nsobject.h" | 10 #import "base/mac/scoped_nsobject.h" |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 120 | 120 |
| 121 // Make sure a normal BrowserWindowController is, uh, normal. | 121 // Make sure a normal BrowserWindowController is, uh, normal. |
| 122 EXPECT_TRUE([controller_ isTabbedWindow]); | 122 EXPECT_TRUE([controller_ isTabbedWindow]); |
| 123 EXPECT_TRUE([controller_ hasTabStrip]); | 123 EXPECT_TRUE([controller_ hasTabStrip]); |
| 124 EXPECT_FALSE([controller_ hasTitleBar]); | 124 EXPECT_FALSE([controller_ hasTitleBar]); |
| 125 EXPECT_TRUE([controller_ isBookmarkBarVisible]); | 125 EXPECT_TRUE([controller_ isBookmarkBarVisible]); |
| 126 | 126 |
| 127 // And make sure a controller for a pop-up window is not normal. | 127 // And make sure a controller for a pop-up window is not normal. |
| 128 // popup_browser will be owned by its window. | 128 // popup_browser will be owned by its window. |
| 129 Browser* popup_browser( | 129 Browser* popup_browser( |
| 130 new Browser(Browser::CreateParams(Browser::TYPE_POPUP, profile()))); | 130 new Browser(Browser::CreateParams(Browser::TYPE_POPUP, profile(), true))); |
| 131 NSWindow* cocoaWindow = popup_browser->window()->GetNativeWindow(); | 131 NSWindow* cocoaWindow = popup_browser->window()->GetNativeWindow(); |
| 132 BrowserWindowController* controller = | 132 BrowserWindowController* controller = |
| 133 static_cast<BrowserWindowController*>([cocoaWindow windowController]); | 133 static_cast<BrowserWindowController*>([cocoaWindow windowController]); |
| 134 ASSERT_TRUE([controller isKindOfClass:[BrowserWindowController class]]); | 134 ASSERT_TRUE([controller isKindOfClass:[BrowserWindowController class]]); |
| 135 EXPECT_FALSE([controller isTabbedWindow]); | 135 EXPECT_FALSE([controller isTabbedWindow]); |
| 136 EXPECT_FALSE([controller hasTabStrip]); | 136 EXPECT_FALSE([controller hasTabStrip]); |
| 137 EXPECT_TRUE([controller hasTitleBar]); | 137 EXPECT_TRUE([controller hasTitleBar]); |
| 138 EXPECT_FALSE([controller isBookmarkBarVisible]); | 138 EXPECT_FALSE([controller isBookmarkBarVisible]); |
| 139 [controller close]; | 139 [controller close]; |
| 140 } | 140 } |
| 141 | 141 |
| 142 TEST_F(BrowserWindowControllerTest, TestSetBounds) { | 142 TEST_F(BrowserWindowControllerTest, TestSetBounds) { |
| 143 // Create a normal browser with bounds smaller than the minimum. | 143 // Create a normal browser with bounds smaller than the minimum. |
| 144 Browser::CreateParams params(Browser::TYPE_TABBED, profile()); | 144 Browser::CreateParams params(Browser::TYPE_TABBED, profile(), true); |
| 145 params.initial_bounds = gfx::Rect(0, 0, 50, 50); | 145 params.initial_bounds = gfx::Rect(0, 0, 50, 50); |
| 146 Browser* browser = new Browser(params); | 146 Browser* browser = new Browser(params); |
| 147 NSWindow* cocoaWindow = browser->window()->GetNativeWindow(); | 147 NSWindow* cocoaWindow = browser->window()->GetNativeWindow(); |
| 148 BrowserWindowController* controller = | 148 BrowserWindowController* controller = |
| 149 static_cast<BrowserWindowController*>([cocoaWindow windowController]); | 149 static_cast<BrowserWindowController*>([cocoaWindow windowController]); |
| 150 | 150 |
| 151 ASSERT_TRUE([controller isTabbedWindow]); | 151 ASSERT_TRUE([controller isTabbedWindow]); |
| 152 BrowserWindow* browser_window = [controller browserWindow]; | 152 BrowserWindow* browser_window = [controller browserWindow]; |
| 153 EXPECT_EQ(browser_window, browser->window()); | 153 EXPECT_EQ(browser_window, browser->window()); |
| 154 gfx::Rect bounds = browser_window->GetBounds(); | 154 gfx::Rect bounds = browser_window->GetBounds(); |
| 155 EXPECT_EQ(400, bounds.width()); | 155 EXPECT_EQ(400, bounds.width()); |
| 156 EXPECT_EQ(272, bounds.height()); | 156 EXPECT_EQ(272, bounds.height()); |
| 157 | 157 |
| 158 // Try to set the bounds smaller than the minimum. | 158 // Try to set the bounds smaller than the minimum. |
| 159 browser_window->SetBounds(gfx::Rect(0, 0, 50, 50)); | 159 browser_window->SetBounds(gfx::Rect(0, 0, 50, 50)); |
| 160 bounds = browser_window->GetBounds(); | 160 bounds = browser_window->GetBounds(); |
| 161 EXPECT_EQ(400, bounds.width()); | 161 EXPECT_EQ(400, bounds.width()); |
| 162 EXPECT_EQ(272, bounds.height()); | 162 EXPECT_EQ(272, bounds.height()); |
| 163 | 163 |
| 164 [controller close]; | 164 [controller close]; |
| 165 } | 165 } |
| 166 | 166 |
| 167 TEST_F(BrowserWindowControllerTest, TestSetBoundsPopup) { | 167 TEST_F(BrowserWindowControllerTest, TestSetBoundsPopup) { |
| 168 // Create a popup with bounds smaller than the minimum. | 168 // Create a popup with bounds smaller than the minimum. |
| 169 Browser::CreateParams params(Browser::TYPE_POPUP, profile()); | 169 Browser::CreateParams params(Browser::TYPE_POPUP, profile(), true); |
| 170 params.initial_bounds = gfx::Rect(0, 0, 50, 50); | 170 params.initial_bounds = gfx::Rect(0, 0, 50, 50); |
| 171 Browser* browser = new Browser(params); | 171 Browser* browser = new Browser(params); |
| 172 NSWindow* cocoaWindow = browser->window()->GetNativeWindow(); | 172 NSWindow* cocoaWindow = browser->window()->GetNativeWindow(); |
| 173 BrowserWindowController* controller = | 173 BrowserWindowController* controller = |
| 174 static_cast<BrowserWindowController*>([cocoaWindow windowController]); | 174 static_cast<BrowserWindowController*>([cocoaWindow windowController]); |
| 175 | 175 |
| 176 ASSERT_FALSE([controller isTabbedWindow]); | 176 ASSERT_FALSE([controller isTabbedWindow]); |
| 177 BrowserWindow* browser_window = [controller browserWindow]; | 177 BrowserWindow* browser_window = [controller browserWindow]; |
| 178 EXPECT_EQ(browser_window, browser->window()); | 178 EXPECT_EQ(browser_window, browser->window()); |
| 179 gfx::Rect bounds = browser_window->GetBounds(); | 179 gfx::Rect bounds = browser_window->GetBounds(); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 199 // Explicitly show the bar. Can't use chrome::ToggleBookmarkBarWhenVisible() | 199 // Explicitly show the bar. Can't use chrome::ToggleBookmarkBarWhenVisible() |
| 200 // because of the notification issues. | 200 // because of the notification issues. |
| 201 profile()->GetPrefs()->SetBoolean(bookmarks::prefs::kShowBookmarkBar, true); | 201 profile()->GetPrefs()->SetBoolean(bookmarks::prefs::kShowBookmarkBar, true); |
| 202 | 202 |
| 203 [controller_ browserWindow]->BookmarkBarStateChanged( | 203 [controller_ browserWindow]->BookmarkBarStateChanged( |
| 204 BookmarkBar::DONT_ANIMATE_STATE_CHANGE); | 204 BookmarkBar::DONT_ANIMATE_STATE_CHANGE); |
| 205 EXPECT_TRUE([controller_ isBookmarkBarVisible]); | 205 EXPECT_TRUE([controller_ isBookmarkBarVisible]); |
| 206 } | 206 } |
| 207 | 207 |
| 208 TEST_F(BrowserWindowControllerTest, BookmarkBarToggleRespectMinWindowHeight) { | 208 TEST_F(BrowserWindowControllerTest, BookmarkBarToggleRespectMinWindowHeight) { |
| 209 Browser::CreateParams params(Browser::TYPE_TABBED, profile()); | 209 Browser::CreateParams params(Browser::TYPE_TABBED, profile(), true); |
| 210 params.initial_bounds = gfx::Rect(0, 0, 50, 280); | 210 params.initial_bounds = gfx::Rect(0, 0, 50, 280); |
| 211 Browser* browser = new Browser(params); | 211 Browser* browser = new Browser(params); |
| 212 NSWindow* cocoaWindow = browser->window()->GetNativeWindow(); | 212 NSWindow* cocoaWindow = browser->window()->GetNativeWindow(); |
| 213 BrowserWindowController* controller = | 213 BrowserWindowController* controller = |
| 214 static_cast<BrowserWindowController*>([cocoaWindow windowController]); | 214 static_cast<BrowserWindowController*>([cocoaWindow windowController]); |
| 215 BrowserWindow* browser_window = [controller browserWindow]; | 215 BrowserWindow* browser_window = [controller browserWindow]; |
| 216 gfx::Rect bounds = browser_window->GetBounds(); | 216 gfx::Rect bounds = browser_window->GetBounds(); |
| 217 EXPECT_EQ(280, bounds.height()); | 217 EXPECT_EQ(280, bounds.height()); |
| 218 | 218 |
| 219 // Try to set the bounds smaller than the minimum. | 219 // Try to set the bounds smaller than the minimum. |
| 220 // Explicitly show the bar. Can't use chrome::ToggleBookmarkBarWhenVisible() | 220 // Explicitly show the bar. Can't use chrome::ToggleBookmarkBarWhenVisible() |
| 221 // because of the notification issues. | 221 // because of the notification issues. |
| 222 [controller adjustWindowHeightBy:-20]; | 222 [controller adjustWindowHeightBy:-20]; |
| 223 bounds = browser_window->GetBounds(); | 223 bounds = browser_window->GetBounds(); |
| 224 EXPECT_EQ(272, bounds.height()); | 224 EXPECT_EQ(272, bounds.height()); |
| 225 | 225 |
| 226 [controller close]; | 226 [controller close]; |
| 227 } | 227 } |
| 228 | 228 |
| 229 #if 0 | 229 #if 0 |
| 230 // TODO(jrg): This crashes trying to create the BookmarkBarController, adding | 230 // TODO(jrg): This crashes trying to create the BookmarkBarController, adding |
| 231 // an observer to the BookmarkModel. | 231 // an observer to the BookmarkModel. |
| 232 TEST_F(BrowserWindowControllerTest, TestIncognitoWidthSpace) { | 232 TEST_F(BrowserWindowControllerTest, TestIncognitoWidthSpace) { |
| 233 std::unique_ptr<TestingProfile> incognito_profile(new TestingProfile()); | 233 std::unique_ptr<TestingProfile> incognito_profile(new TestingProfile()); |
| 234 incognito_profile->set_off_the_record(true); | 234 incognito_profile->set_off_the_record(true); |
| 235 std::unique_ptr<Browser> browser( | 235 std::unique_ptr<Browser> browser( |
| 236 new Browser(Browser::CreateParams(incognito_profile.get()))); | 236 new Browser(Browser::CreateParams(incognito_profile.get(), true))); |
| 237 controller_.reset([[BrowserWindowController alloc] | 237 controller_.reset([[BrowserWindowController alloc] |
| 238 initWithBrowser:browser.get() | 238 initWithBrowser:browser.get() |
| 239 takeOwnership:NO]); | 239 takeOwnership:NO]); |
| 240 | 240 |
| 241 NSRect tabFrame = [[controller_ tabStripView] frame]; | 241 NSRect tabFrame = [[controller_ tabStripView] frame]; |
| 242 [controller_ installIncognitoBadge]; | 242 [controller_ installIncognitoBadge]; |
| 243 NSRect newTabFrame = [[controller_ tabStripView] frame]; | 243 NSRect newTabFrame = [[controller_ tabStripView] frame]; |
| 244 EXPECT_GT(tabFrame.size.width, newTabFrame.size.width); | 244 EXPECT_GT(tabFrame.size.width, newTabFrame.size.width); |
| 245 | 245 |
| 246 controller_.release(); | 246 controller_.release(); |
| (...skipping 569 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 816 [[NSWindow alloc] initWithContentRect:NSMakeRect(0,0,400,400) | 816 [[NSWindow alloc] initWithContentRect:NSMakeRect(0,0,400,400) |
| 817 styleMask:NSBorderlessWindowMask | 817 styleMask:NSBorderlessWindowMask |
| 818 backing:NSBackingStoreBuffered | 818 backing:NSBackingStoreBuffered |
| 819 defer:NO]); | 819 defer:NO]); |
| 820 [[testFullscreenWindow_ contentView] setWantsLayer:YES]; | 820 [[testFullscreenWindow_ contentView] setWantsLayer:YES]; |
| 821 return testFullscreenWindow_.get(); | 821 return testFullscreenWindow_.get(); |
| 822 } | 822 } |
| 823 @end | 823 @end |
| 824 | 824 |
| 825 /* TODO(???): test other methods of BrowserWindowController */ | 825 /* TODO(???): test other methods of BrowserWindowController */ |
| OLD | NEW |