summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-11 06:09:57 +0000
committerthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-11 06:09:57 +0000
commit6a781684b760689def3447b084493ca7e1877a82 (patch)
tree489dd4bd04551c72c5ccfaff74310262665fb7dc
parentc8fe571e9a5a2d63884ab0da86df190ce5b2ef6a (diff)
downloadchromium_src-6a781684b760689def3447b084493ca7e1877a82.zip
chromium_src-6a781684b760689def3447b084493ca7e1877a82.tar.gz
chromium_src-6a781684b760689def3447b084493ca7e1877a82.tar.bz2
Revert r31647 again, I have enough perf data
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31652 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/cocoa/bookmark_bar_controller.h4
-rw-r--r--chrome/browser/cocoa/bookmark_bar_controller.mm56
-rw-r--r--chrome/browser/cocoa/bookmark_button_cell.mm6
3 files changed, 8 insertions, 58 deletions
diff --git a/chrome/browser/cocoa/bookmark_bar_controller.h b/chrome/browser/cocoa/bookmark_bar_controller.h
index 0d34ce6..07d961a 100644
--- a/chrome/browser/cocoa/bookmark_bar_controller.h
+++ b/chrome/browser/cocoa/bookmark_bar_controller.h
@@ -103,10 +103,6 @@ const CGFloat kNoBookmarksNTPVerticalOffset = 27.0;
// "Other bookmarks" button on the right side.
scoped_nsobject<NSButton> otherBookmarksButton_;
-
- // Contains folder bookmark items that are created while the folder icon is
- // still loading.
- scoped_nsobject<NSMutableArray> itemsPendingBookmarkIcon_;
}
// Initializes the bookmark bar controller with the given browser
diff --git a/chrome/browser/cocoa/bookmark_bar_controller.mm b/chrome/browser/cocoa/bookmark_bar_controller.mm
index 142d669..8a8bb95 100644
--- a/chrome/browser/cocoa/bookmark_bar_controller.mm
+++ b/chrome/browser/cocoa/bookmark_bar_controller.mm
@@ -5,7 +5,6 @@
#include "app/l10n_util_mac.h"
#include "app/resource_bundle.h"
#include "base/mac_util.h"
-#include "base/scoped_nsautorelease_pool.h"
#include "base/sys_string_conversions.h"
#include "chrome/browser/bookmarks/bookmark_editor.h"
#include "chrome/browser/bookmarks/bookmark_model.h"
@@ -57,38 +56,11 @@
- (void)addButtonsToView;
- (void)resizeButtons;
- (void)centerNoItemsLabel;
-- (NSImage*)getFavIconForNode:(const BookmarkNode*)node item:(NSObject*)item;
+- (NSImage*)getFavIconForNode:(const BookmarkNode*)node;
@end
@implementation BookmarkBarController
-- (void)folderImageLoaded:(NSImage*)folderImage {
- // The image loading thread retained |folderImage| already.
- folderImage_.reset(folderImage);
-
- for (NSObject* item in itemsPendingBookmarkIcon_.get()) {
- DCHECK([item respondsToSelector:@selector(setImage:)]);
- if ([item respondsToSelector:@selector(setImage:)]) {
- // |item| is not really of type |NSCell*|, but some type that responds to
- // |setImage:| is required to shut up a compiler warning.
- [(NSCell*)item setImage:folderImage_];
- }
- }
- itemsPendingBookmarkIcon_.reset(nil);
-}
-
-- (void)loadFolderImage:(NSObject*)ignored {
- base::ScopedNSAutoreleasePool pool;
- NSImage* folder =
- [[NSWorkspace sharedWorkspace] iconForFileType:
- NSFileTypeForHFSTypeCode(kGenericFolderIcon)];
- [folder setSize:NSMakeSize(16, 16)];
-
- [self performSelectorOnMainThread:@selector(folderImageLoaded:)
- withObject:[folder retain]
- waitUntilDone:NO];
-}
-
- (id)initWithBrowser:(Browser*)browser
initialWidth:(float)initialWidth
compressDelegate:(id<ToolbarCompressable>)compressDelegate
@@ -107,15 +79,8 @@
new TabStripModelObserverBridge(browser_->tabstrip_model(), self));
ResourceBundle& rb = ResourceBundle::GetSharedInstance();
+ folderImage_.reset([rb.GetNSImageNamed(IDR_BOOKMARK_BAR_FOLDER) retain]);
defaultImage_.reset([rb.GetNSImageNamed(IDR_DEFAULT_FAVICON) retain]);
-
- // Loading |folderImage_| on the main thread regresses startup time by 5ms,
- // so do it on a background thread.
- [NSThread detachNewThreadSelector:@selector(loadFolderImage:)
- toTarget:self
- withObject:nil];
-
- itemsPendingBookmarkIcon_.reset([[NSMutableArray alloc] init]);
}
return self;
}
@@ -405,7 +370,7 @@
action:nil
keyEquivalent:@""] autorelease];
[menu addItem:item];
- [item setImage:[self getFavIconForNode:child item:item]];
+ [item setImage:[self getFavIconForNode:child]];
if (child->is_folder()) {
NSMenu* submenu = [[[NSMenu alloc] initWithTitle:title] autorelease];
[menu setSubmenu:submenu forItem:item];
@@ -633,7 +598,7 @@
DCHECK(cell);
[cell setRepresentedObject:[NSValue valueWithPointer:node]];
- NSImage* image = [self getFavIconForNode:node item:cell];
+ NSImage* image = [self getFavIconForNode:node];
[cell setBookmarkCellText:title image:image];
[cell setMenu:buttonContextMenu_];
return cell;
@@ -900,7 +865,7 @@
const BookmarkNode* cellnode = static_cast<const BookmarkNode*>(pointer);
if (cellnode == node) {
[cell setBookmarkCellText:[cell title]
- image:[self getFavIconForNode:node item:cell]];
+ image:[self getFavIconForNode:node]];
// Adding an image means we might need more room for the
// bookmark. Test for it by growing the button (if needed)
// and shifting everything else over.
@@ -931,16 +896,9 @@
return otherBookmarksButton_.get();
}
-- (NSImage*)getFavIconForNode:(const BookmarkNode*)node item:(NSObject*)item {
- if (node->is_folder()) {
- if (!folderImage_) {
- DCHECK([item respondsToSelector:@selector(setImage:)]);
- [itemsPendingBookmarkIcon_.get() addObject:item];
- return defaultImage_;
- }
-
+- (NSImage*)getFavIconForNode:(const BookmarkNode*)node {
+ if (node->is_folder())
return folderImage_;
- }
const SkBitmap& favIcon = bookmarkModel_->GetFavIcon(node);
if (!favIcon.isNull())
diff --git a/chrome/browser/cocoa/bookmark_button_cell.mm b/chrome/browser/cocoa/bookmark_button_cell.mm
index 5ff1141..1e2190b 100644
--- a/chrome/browser/cocoa/bookmark_button_cell.mm
+++ b/chrome/browser/cocoa/bookmark_button_cell.mm
@@ -34,10 +34,6 @@
return size;
}
-- (void)setImage:(NSImage*)image {
- [self setBookmarkCellText:[self title] image:image];
-}
-
- (void)setBookmarkCellText:(NSString*)title
image:(NSImage*)image {
title = [title stringByReplacingOccurrencesOfString:@"\n"
@@ -45,7 +41,7 @@
title = [title stringByReplacingOccurrencesOfString:@"\r"
withString:@" "];
if (image) {
- [super setImage:image];
+ [self setImage:image];
if ([title length] < 1) {
[self setImagePosition:NSImageOnly];
} else {