summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorjrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-11 23:46:26 +0000
committerjrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-11 23:46:26 +0000
commit6af84197d016e48e9ff2af49ec86961256aa58a0 (patch)
tree6863d7f306ba24d286a0c5560a51e77f537498d5 /chrome
parentd66d005cac55a89e893a35be93c96783bd99e0ea (diff)
downloadchromium_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.mm7
-rw-r--r--chrome/browser/cocoa/page_info_window_controller_unittest.mm52
-rw-r--r--chrome/chrome.gyp1
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',