diff options
author | jrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-11 23:46:26 +0000 |
---|---|---|
committer | jrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-11 23:46:26 +0000 |
commit | 6af84197d016e48e9ff2af49ec86961256aa58a0 (patch) | |
tree | 6863d7f306ba24d286a0c5560a51e77f537498d5 /chrome | |
parent | d66d005cac55a89e893a35be93c96783bd99e0ea (diff) | |
download | chromium_src-6af84197d016e48e9ff2af49ec86961256aa58a0.zip chromium_src-6af84197d016e48e9ff2af49ec86961256aa58a0.tar.gz chromium_src-6af84197d016e48e9ff2af49ec86961256aa58a0.tar.bz2 |
BUG=http://crbug.com/16646
Submititing on behalf rsesek@gmail.com
Original CL is http://codereview.chromium.org/164255
Review URL: http://codereview.chromium.org/165346
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23115 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/cocoa/page_info_window_controller.mm | 7 | ||||
-rw-r--r-- | chrome/browser/cocoa/page_info_window_controller_unittest.mm | 52 | ||||
-rw-r--r-- | chrome/chrome.gyp | 1 |
3 files changed, 59 insertions, 1 deletions
diff --git a/chrome/browser/cocoa/page_info_window_controller.mm b/chrome/browser/cocoa/page_info_window_controller.mm index a14d8b9..afbdea8 100644 --- a/chrome/browser/cocoa/page_info_window_controller.mm +++ b/chrome/browser/cocoa/page_info_window_controller.mm @@ -72,7 +72,12 @@ const NSSize kPageInfoWindowSize = NSMakeSize(460, 235); const NSSize kPageInfoWindowWithHistorySize = NSMakeSize(460, 310); - frame.size = (show ? kPageInfoWindowWithHistorySize : kPageInfoWindowSize); + NSSize size = (show ? kPageInfoWindowWithHistorySize : kPageInfoWindowSize); + + // Just setting |size| will cause the window to grow upwards. Shift the + // origin up by grow amount, which causes the window to grow downwards. + frame.origin.y -= size.height - frame.size.height; + frame.size = size; [window setFrame:frame display:YES animate:YES]; } diff --git a/chrome/browser/cocoa/page_info_window_controller_unittest.mm b/chrome/browser/cocoa/page_info_window_controller_unittest.mm new file mode 100644 index 0000000..ebef5ff --- /dev/null +++ b/chrome/browser/cocoa/page_info_window_controller_unittest.mm @@ -0,0 +1,52 @@ +// Copyright (c) 2009 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. + +#import <Cocoa/Cocoa.h> + +#include "base/scoped_nsobject.h" +#import "chrome/browser/cocoa/page_info_window_controller.h" +#include "chrome/browser/cocoa/browser_test_helper.h" +#import "chrome/browser/cocoa/cocoa_test_helper.h" +#include "testing/gtest/include/gtest/gtest.h" + +class PageInfoWindowControllerTest : public testing::Test { + public: + CocoaTestHelper cocoa_helper_; // Inits Cocoa, creates window, etc... + BrowserTestHelper helper_; +}; + + +TEST_F(PageInfoWindowControllerTest, TestImages) { + scoped_nsobject<PageInfoWindowController> + controller([[PageInfoWindowController alloc] init]); + [controller window]; // Force nib load. + EXPECT_TRUE([controller goodImg]); + EXPECT_TRUE([controller badImg]); +} + + +TEST_F(PageInfoWindowControllerTest, TestGrow) { + scoped_nsobject<PageInfoWindowController> + controller([[PageInfoWindowController alloc] init]); + [controller window]; // Force nib load. + NSRect frame = [[controller window] frame]; + [controller setShowHistoryBox:YES]; + NSRect newFrame = [[controller window] frame]; + EXPECT_GE(newFrame.size.height, frame.size.height); + EXPECT_LE(newFrame.origin.y, frame.origin.y); +} + + +TEST_F(PageInfoWindowControllerTest, TestShrink) { + scoped_nsobject<PageInfoWindowController> + controller([[PageInfoWindowController alloc] init]); + [controller window]; // Force nib to load. + [controller setShowHistoryBox:YES]; + NSRect frame = [[controller window] frame]; + [controller setShowHistoryBox:NO]; + NSRect newFrame = [[controller window] frame]; + EXPECT_LE(newFrame.size.height, frame.size.height); + EXPECT_GE(newFrame.origin.y, frame.origin.y); +} + diff --git a/chrome/chrome.gyp b/chrome/chrome.gyp index 1f175c4..3f1c739 100644 --- a/chrome/chrome.gyp +++ b/chrome/chrome.gyp @@ -3759,6 +3759,7 @@ 'browser/cocoa/history_menu_bridge_unittest.mm', 'browser/cocoa/history_menu_cocoa_controller_unittest.mm', 'browser/cocoa/nsimage_cache_unittest.mm', + 'browser/cocoa/page_info_window_controller_unittest.mm', 'browser/cocoa/preferences_window_controller_unittest.mm', 'browser/cocoa/rwhvm_editcommand_helper_unittest.mm', 'browser/cocoa/sad_tab_view_unittest.mm', |