| Index: chrome/browser/ui/cocoa/extensions/extension_installed_bubble_controller.mm
|
| diff --git a/chrome/browser/ui/cocoa/extensions/extension_installed_bubble_controller.mm b/chrome/browser/ui/cocoa/extensions/extension_installed_bubble_controller.mm
|
| index d42ba95a4e611bbf2479c252834b6e32f1ba0f1f..1d56a8cf2826efc5334b0001fef320a9187cd707 100644
|
| --- a/chrome/browser/ui/cocoa/extensions/extension_installed_bubble_controller.mm
|
| +++ b/chrome/browser/ui/cocoa/extensions/extension_installed_bubble_controller.mm
|
| @@ -19,6 +19,7 @@
|
| #include "chrome/browser/ui/cocoa/browser_window_cocoa.h"
|
| #include "chrome/browser/ui/cocoa/browser_window_controller.h"
|
| #include "chrome/browser/ui/cocoa/extensions/browser_actions_controller.h"
|
| +#include "chrome/browser/ui/cocoa/extensions/bundle_util.h"
|
| #include "chrome/browser/ui/cocoa/hover_close_button.h"
|
| #include "chrome/browser/ui/cocoa/info_bubble_view.h"
|
| #include "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h"
|
| @@ -337,12 +338,12 @@ bool ExtensionInstalledBubbleBridge::MaybeShowNow() {
|
| if (type_ == extension_installed_bubble::kBundle) {
|
| NSInteger installedListHeight =
|
| [self addExtensionList:installedHeadingMsg_
|
| - itemsMsg:installedItemsMsg_
|
| + itemsView:installedItemsView_
|
| state:BundleInstaller::Item::STATE_INSTALLED];
|
|
|
| NSInteger failedListHeight =
|
| [self addExtensionList:failedHeadingMsg_
|
| - itemsMsg:failedItemsMsg_
|
| + itemsView:failedItemsView_
|
| state:BundleInstaller::Item::STATE_FAILED];
|
|
|
| newWindowHeight += installedListHeight + failedListHeight;
|
| @@ -462,41 +463,36 @@ bool ExtensionInstalledBubbleBridge::MaybeShowNow() {
|
| }
|
|
|
| - (NSInteger)addExtensionList:(NSTextField*)headingMsg
|
| - itemsMsg:(NSTextField*)itemsMsg
|
| + itemsView:(NSView*)itemsView
|
| state:(BundleInstaller::Item::State)state {
|
| base::string16 heading = bundle_->GetHeadingTextFor(state);
|
| bool hidden = heading.empty();
|
| [headingMsg setHidden:hidden];
|
| - [itemsMsg setHidden:hidden];
|
| + [itemsView setHidden:hidden];
|
| if (hidden)
|
| return 0;
|
|
|
| [headingMsg setStringValue:base::SysUTF16ToNSString(heading)];
|
| [GTMUILocalizerAndLayoutTweaker sizeToFitFixedWidthTextField:headingMsg];
|
|
|
| - NSMutableString* joinedItems = [NSMutableString string];
|
| - BundleInstaller::ItemList items = bundle_->GetItemsWithState(state);
|
| - for (size_t i = 0; i < items.size(); ++i) {
|
| - if (i > 0)
|
| - [joinedItems appendString:@"\n"];
|
| - [joinedItems appendString:base::SysUTF16ToNSString(
|
| - items[i].GetNameForDisplay())];
|
| - }
|
| + CGFloat height =
|
| + PopulateBundleItemsList(bundle_->GetItemsWithState(state), itemsView);
|
|
|
| - [itemsMsg setStringValue:joinedItems];
|
| - [GTMUILocalizerAndLayoutTweaker sizeToFitFixedWidthTextField:itemsMsg];
|
| + NSRect frame = [itemsView frame];
|
| + frame.size.height = height;
|
| + [itemsView setFrame:frame];
|
|
|
| return NSHeight([headingMsg frame]) +
|
| extension_installed_bubble::kInnerVerticalMargin +
|
| - NSHeight([itemsMsg frame]);
|
| + NSHeight([itemsView frame]);
|
| }
|
|
|
| // Adjust y-position of messages to sit properly in new window height.
|
| - (void)setMessageFrames:(int)newWindowHeight {
|
| if (type_ == extension_installed_bubble::kBundle) {
|
| // Layout the messages from the bottom up.
|
| - NSTextField* msgs[] = { failedItemsMsg_, failedHeadingMsg_,
|
| - installedItemsMsg_, installedHeadingMsg_ };
|
| + NSView* msgs[] = { failedItemsView_, failedHeadingMsg_,
|
| + installedItemsView_, installedHeadingMsg_ };
|
| NSInteger offsetFromBottom = 0;
|
| BOOL isFirstVisible = YES;
|
| for (size_t i = 0; i < arraysize(msgs); ++i) {
|
|
|