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: |