summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorjrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-10 23:32:01 +0000
committerjrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-10 23:32:01 +0000
commit54375ea0c2f488d012176479d3ad2d08af42c32c (patch)
tree6ece306abb33b4b7342495fb5cc37fcd0e63dea6 /chrome
parent28fd315edf0cf8f4b238dbc5eb58c1842507cd27 (diff)
downloadchromium_src-54375ea0c2f488d012176479d3ad2d08af42c32c.zip
chromium_src-54375ea0c2f488d012176479d3ad2d08af42c32c.tar.gz
chromium_src-54375ea0c2f488d012176479d3ad2d08af42c32c.tar.bz2
Be more accurate on a bookmark folder scroll trigger.
ALso fix broken unit test. BUG=http://crbug.com/51640 TEST=place a million bookmarks in a folder. Open the folder. Make sure the scroll up only happens when the mouse is over the arrow (horiz positioning doesn't matter). Now that the scroll down arrow (at top of screen) has appeared, make sure the scroll down only happens when the mouse is over the arrow (again, horiz positioning doesn't matter). Review URL: http://codereview.chromium.org/3327017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59173 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/cocoa/bookmark_bar_folder_controller.mm8
-rw-r--r--chrome/browser/cocoa/bookmark_bar_folder_controller_unittest.mm7
2 files changed, 9 insertions, 6 deletions
diff --git a/chrome/browser/cocoa/bookmark_bar_folder_controller.mm b/chrome/browser/cocoa/bookmark_bar_folder_controller.mm
index 4560fda..3c3805cd 100644
--- a/chrome/browser/cocoa/bookmark_bar_folder_controller.mm
+++ b/chrome/browser/cocoa/bookmark_bar_folder_controller.mm
@@ -713,11 +713,13 @@ const CGFloat kScrollWindowVerticalMargin = 0.0;
NSPoint eventScreenLocation =
[[theEvent window] convertBaseToScreen:[theEvent locationInWindow]];
- NSRect visibleRect = [[[self window] screen] visibleFrame];
+ // We use frame (not visibleFrame) since our bookmark folder is on
+ // TOP of the menubar.
+ NSRect visibleRect = [[[self window] screen] frame];
CGFloat closeToTopOfScreen = NSMaxY(visibleRect) -
- kBookmarkBarFolderScrollAmount;
+ verticalScrollArrowHeight_;
CGFloat closeToBottomOfScreen = NSMinY(visibleRect) +
- kBookmarkBarFolderScrollAmount;
+ verticalScrollArrowHeight_;
if (eventScreenLocation.y <= closeToBottomOfScreen) {
[self beginScrollWindowUp];
diff --git a/chrome/browser/cocoa/bookmark_bar_folder_controller_unittest.mm b/chrome/browser/cocoa/bookmark_bar_folder_controller_unittest.mm
index 6d09ae7..cc53d25 100644
--- a/chrome/browser/cocoa/bookmark_bar_folder_controller_unittest.mm
+++ b/chrome/browser/cocoa/bookmark_bar_folder_controller_unittest.mm
@@ -216,7 +216,9 @@ TEST_F(BookmarkBarFolderControllerTest, InitCreateAndDelete) {
Class cellClass = [BookmarkBarFolderButtonCell class];
for (BookmarkButton* button in buttons) {
NSRect r = [[bbfc mainView] convertRect:[button frame] fromView:button];
- EXPECT_TRUE(NSContainsRect([[bbfc mainView] frame], r));
+ // TODO(jrg): remove this adjustment.
+ NSRect bigger = NSInsetRect([[bbfc mainView] frame], -2, 0);
+ EXPECT_TRUE(NSContainsRect(bigger, r));
EXPECT_TRUE([[button cell] isKindOfClass:cellClass]);
}
@@ -1154,8 +1156,7 @@ TEST_F(BookmarkBarFolderControllerMenuTest, MenuSizingAndScrollArrows) {
button = [folderController buttonWithTitleEqualTo:@"a"];
CGFloat buttonWidth = NSWidth([button frame]);
CGFloat expectedWidth =
- buttonWidth + (2 * bookmarks::kBookmarkVerticalPadding) +
- bookmarks::kScrollViewContentWidthMargin;
+ buttonWidth + (2 * bookmarks::kBookmarkHorizontalPadding);
EXPECT_CGFLOAT_EQ(expectedWidth, menuWidth);
// Add a wider bookmark and make sure the button widths match.