Chromium Code Reviews| Index: chrome/browser/ui/cocoa/extensions/extension_install_view_controller.mm |
| diff --git a/chrome/browser/ui/cocoa/extensions/extension_install_view_controller.mm b/chrome/browser/ui/cocoa/extensions/extension_install_view_controller.mm |
| index eeb45a33de0f4cb5fc1077dcb838549c09a6fe78..43e361ab9d3ef5c388cdefe3efd9efe04e8bda1c 100644 |
| --- a/chrome/browser/ui/cocoa/extensions/extension_install_view_controller.mm |
| +++ b/chrome/browser/ui/cocoa/extensions/extension_install_view_controller.mm |
| @@ -55,7 +55,7 @@ typedef NSUInteger CellAttributes; |
| children:(NSArray*)children; |
| - (NSDictionary*)buildDetailToggleItem:(size_t)type |
| permissionsDetailIndex:(size_t)index; |
| -- (NSArray*)buildWarnings:(const ExtensionInstallPrompt::Prompt&)prompt; |
| +- (NSArray*)buildWarnings:(scoped_refptr<ExtensionInstallPrompt::Prompt>)prompt; |
| - (void)updateViewFrame:(NSRect)frame; |
| @end |
| @@ -180,17 +180,17 @@ bool HasAttribute(id item, CellAttributesMask attributeMask) { |
| - (id)initWithNavigator:(content::PageNavigator*)navigator |
| delegate:(ExtensionInstallPrompt::Delegate*)delegate |
| - prompt:(const ExtensionInstallPrompt::Prompt&)prompt { |
| + prompt:(scoped_refptr<ExtensionInstallPrompt::Prompt>)prompt { |
| // We use a different XIB in the case of bundle installs, installs with |
| // webstore data, or no permission warnings. These are laid out nicely for |
| // the data they display. |
| NSString* nibName = nil; |
| - if (prompt.type() == ExtensionInstallPrompt::BUNDLE_INSTALL_PROMPT) { |
| + if (prompt->type() == ExtensionInstallPrompt::BUNDLE_INSTALL_PROMPT) { |
| nibName = @"ExtensionInstallPromptBundle"; |
| - } else if (prompt.has_webstore_data()) { |
| + } else if (prompt->has_webstore_data()) { |
| nibName = @"ExtensionInstallPromptWebstoreData"; |
| - } else if (!prompt.ShouldShowPermissions() && |
| - prompt.GetRetainedFileCount() == 0) { |
| + } else if (!prompt->ShouldShowPermissions() && |
| + prompt->GetRetainedFileCount() == 0) { |
| nibName = @"ExtensionInstallPromptNoWarnings"; |
| } else { |
| nibName = @"ExtensionInstallPrompt"; |
| @@ -200,7 +200,7 @@ bool HasAttribute(id item, CellAttributesMask attributeMask) { |
| bundle:base::mac::FrameworkBundle()])) { |
| navigator_ = navigator; |
| delegate_ = delegate; |
| - prompt_.reset(new ExtensionInstallPrompt::Prompt(prompt)); |
| + prompt_ = prompt; |
| warnings_.reset([[self buildWarnings:prompt] retain]); |
| } |
| return self; |
| @@ -547,7 +547,7 @@ bool HasAttribute(id item, CellAttributesMask attributeMask) { |
| prompt_->SetIsShowingDetails( |
| type, index, !prompt_->GetIsShowingDetails(type, index)); |
| - warnings_.reset([[self buildWarnings:*prompt_] retain]); |
| + warnings_.reset([[self buildWarnings:prompt_] retain]); |
| [outlineView_ reloadData]; |
| for (id item in warnings_.get()) |
| @@ -589,30 +589,32 @@ bool HasAttribute(id item, CellAttributesMask attributeMask) { |
| }; |
| } |
| -- (NSArray*)buildWarnings:(const ExtensionInstallPrompt::Prompt&)prompt { |
| +- (NSArray*)buildWarnings: |
| + (scoped_refptr<ExtensionInstallPrompt::Prompt>)prompt { |
|
Scott Hess - ex-Googler
2014/06/16 19:29:04
Since you don't actually take a ref of |prompt| in
Devlin
2014/06/17 16:05:26
Went with this option. Thanks! :)
|
| NSMutableArray* warnings = [NSMutableArray array]; |
| NSString* heading = nil; |
| ExtensionInstallPrompt::DetailsType type = |
| ExtensionInstallPrompt::PERMISSIONS_DETAILS; |
| - if (prompt.ShouldShowPermissions()) { |
| + if (prompt->ShouldShowPermissions()) { |
| NSMutableArray* children = [NSMutableArray array]; |
| - if (prompt.GetPermissionCount() > 0) { |
| - for (size_t i = 0; i < prompt.GetPermissionCount(); ++i) { |
| - [children addObject: |
| - [self buildItemWithTitle:SysUTF16ToNSString(prompt.GetPermission(i)) |
| - cellAttributes:kUseBullet |
| - children:nil]]; |
| + if (prompt->GetPermissionCount() > 0) { |
| + for (size_t i = 0; i < prompt->GetPermissionCount(); ++i) { |
| + [children |
| + addObject:[self buildItemWithTitle:SysUTF16ToNSString( |
| + prompt->GetPermission(i)) |
| + cellAttributes:kUseBullet |
| + children:nil]]; |
|
Scott Hess - ex-Googler
2014/06/16 19:29:04
You should feel free to use temporaries to tame th
|
| // If there are additional details, add them below this item. |
| - if (!prompt.GetPermissionsDetails(i).empty()) { |
| - if (prompt.GetIsShowingDetails( |
| - ExtensionInstallPrompt::PERMISSIONS_DETAILS, i)) { |
| - [children addObject: |
| - [self buildItemWithTitle:SysUTF16ToNSString( |
| - prompt.GetPermissionsDetails(i)) |
| - cellAttributes:kNoExpandMarker |
| - children:nil]]; |
| + if (!prompt->GetPermissionsDetails(i).empty()) { |
| + if (prompt->GetIsShowingDetails( |
| + ExtensionInstallPrompt::PERMISSIONS_DETAILS, i)) { |
| + [children addObject:[self buildItemWithTitle: |
| + SysUTF16ToNSString( |
| + prompt->GetPermissionsDetails(i)) |
| + cellAttributes:kNoExpandMarker |
| + children:nil]]; |
| } |
| // Add a row for the link. |
| @@ -621,7 +623,7 @@ bool HasAttribute(id item, CellAttributesMask attributeMask) { |
| } |
| } |
| - heading = SysUTF16ToNSString(prompt.GetPermissionsHeading()); |
| + heading = SysUTF16ToNSString(prompt->GetPermissionsHeading()); |
| } else { |
| [children addObject: |
| [self buildItemWithTitle: |
| @@ -637,26 +639,28 @@ bool HasAttribute(id item, CellAttributesMask attributeMask) { |
| children:children]]; |
| } |
| - if (prompt.GetRetainedFileCount() > 0) { |
| + if (prompt->GetRetainedFileCount() > 0) { |
| type = ExtensionInstallPrompt::RETAINED_FILES_DETAILS; |
| NSMutableArray* children = [NSMutableArray array]; |
| - if (prompt.GetIsShowingDetails(type, 0)) { |
| - for (size_t i = 0; i < prompt.GetRetainedFileCount(); ++i) { |
| - [children addObject: |
| - [self buildItemWithTitle:SysUTF16ToNSString( |
| - prompt.GetRetainedFile(i)) |
| - cellAttributes:kUseBullet |
| - children:nil]]; |
| + if (prompt->GetIsShowingDetails(type, 0)) { |
| + for (size_t i = 0; i < prompt->GetRetainedFileCount(); ++i) { |
| + [children |
| + addObject:[self buildItemWithTitle:SysUTF16ToNSString( |
| + prompt->GetRetainedFile(i)) |
| + cellAttributes:kUseBullet |
| + children:nil]]; |
| } |
| } |
| - [warnings addObject: |
| - [self buildItemWithTitle:SysUTF16ToNSString( |
| - prompt.GetRetainedFilesHeading()) |
| - cellAttributes:kBoldText | kAutoExpandCell | kNoExpandMarker |
| - children:children]]; |
| + [warnings |
| + addObject:[self |
| + buildItemWithTitle:SysUTF16ToNSString( |
| + prompt->GetRetainedFilesHeading()) |
| + cellAttributes:kBoldText | kAutoExpandCell | |
| + kNoExpandMarker |
| + children:children]]; |
| // Add a row for the link. |
| [warnings addObject: |