Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(186)

Unified Diff: chrome/browser/ui/cocoa/extensions/extension_install_view_controller.mm

Issue 313203004: Make ExtensionInstallPrompt::Prompt ref-counted (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Latest master Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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:

Powered by Google App Engine
This is Rietveld 408576698