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

Unified Diff: chrome/browser/ui/cocoa/content_settings/content_setting_bubble_cocoa.mm

Issue 1312053006: Remove CONTENT_SETTINGS_NUM_TYPES (part 2) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@website-settings-registry-4
Patch Set: Created 5 years, 3 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
« no previous file with comments | « no previous file | chrome/browser/ui/cocoa/content_settings/content_setting_bubble_cocoa_unittest.mm » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/cocoa/content_settings/content_setting_bubble_cocoa.mm
diff --git a/chrome/browser/ui/cocoa/content_settings/content_setting_bubble_cocoa.mm b/chrome/browser/ui/cocoa/content_settings/content_setting_bubble_cocoa.mm
index a854f8b8c4ce9c674ee4b8ee8eeea147d1360fa1..eeab29d80534f94f15d06323a59720717e3edcb1 100644
--- a/chrome/browser/ui/cocoa/content_settings/content_setting_bubble_cocoa.mm
+++ b/chrome/browser/ui/cocoa/content_settings/content_setting_bubble_cocoa.mm
@@ -236,6 +236,26 @@ class ContentSettingBubbleWebContentsObserverBridge
anchoredAt:anchor];
}
+struct ContentTypeToNibPath {
+ ContentSettingsType type;
+ NSString* path;
+};
+
+const ContentTypeToNibPath kNibPaths[] = {
+ {CONTENT_SETTINGS_TYPE_COOKIES, @"ContentBlockedCookies"},
+ {CONTENT_SETTINGS_TYPE_IMAGES, @"ContentBlockedSimple"},
+ {CONTENT_SETTINGS_TYPE_JAVASCRIPT, @"ContentBlockedSimple"},
+ {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, @"ContentBlockedSimple"},
+ {CONTENT_SETTINGS_TYPE_PLUGINS, @"ContentBlockedPlugins"},
+ {CONTENT_SETTINGS_TYPE_POPUPS, @"ContentBlockedPopups"},
+ {CONTENT_SETTINGS_TYPE_GEOLOCATION, @"ContentBlockedGeolocation"},
+ {CONTENT_SETTINGS_TYPE_MIXEDSCRIPT, @"ContentBlockedMixedScript"},
+ {CONTENT_SETTINGS_TYPE_PROTOCOL_HANDLERS, @"ContentProtocolHandlers"},
+ {CONTENT_SETTINGS_TYPE_MEDIASTREAM, @"ContentBlockedMedia"},
+ {CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, @"ContentBlockedDownloads"},
+ {CONTENT_SETTINGS_TYPE_MIDI_SYSEX, @"ContentBlockedMIDISysEx"},
+};
+
- (id)initWithModel:(ContentSettingBubbleModel*)contentSettingBubbleModel
webContents:(content::WebContents*)webContents
parentWindow:(NSWindow*)parentWindow
@@ -247,48 +267,19 @@ class ContentSettingBubbleWebContentsObserverBridge
new ContentSettingBubbleWebContentsObserverBridge(webContents, self));
ContentSettingsType settingsType = model->content_type();
+ DCHECK(ContainsKey(ContentSettingBubbleModel::GetSupportedBubbleTypes(),
+ settingsType));
+ DCHECK_EQ(ContentSettingBubbleModel::GetSupportedBubbleTypes().size(),
+ arraysize(kNibPaths));
NSString* nibPath = @"";
- switch (settingsType) {
- case CONTENT_SETTINGS_TYPE_COOKIES:
- nibPath = @"ContentBlockedCookies"; break;
- case CONTENT_SETTINGS_TYPE_IMAGES:
- case CONTENT_SETTINGS_TYPE_JAVASCRIPT:
- case CONTENT_SETTINGS_TYPE_PPAPI_BROKER:
- nibPath = @"ContentBlockedSimple"; break;
- case CONTENT_SETTINGS_TYPE_PLUGINS:
- nibPath = @"ContentBlockedPlugins"; break;
- case CONTENT_SETTINGS_TYPE_POPUPS:
- nibPath = @"ContentBlockedPopups"; break;
- case CONTENT_SETTINGS_TYPE_GEOLOCATION:
- nibPath = @"ContentBlockedGeolocation"; break;
- case CONTENT_SETTINGS_TYPE_MIXEDSCRIPT:
- nibPath = @"ContentBlockedMixedScript"; break;
- case CONTENT_SETTINGS_TYPE_PROTOCOL_HANDLERS:
- nibPath = @"ContentProtocolHandlers"; break;
- case CONTENT_SETTINGS_TYPE_MEDIASTREAM:
- nibPath = @"ContentBlockedMedia"; break;
- case CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS:
- nibPath = @"ContentBlockedDownloads"; break;
- case CONTENT_SETTINGS_TYPE_MIDI_SYSEX:
- nibPath = @"ContentBlockedMIDISysEx"; break;
- // These content types have no bubble:
- case CONTENT_SETTINGS_TYPE_DEFAULT:
- case CONTENT_SETTINGS_TYPE_NOTIFICATIONS:
- case CONTENT_SETTINGS_TYPE_AUTO_SELECT_CERTIFICATE:
- case CONTENT_SETTINGS_TYPE_FULLSCREEN:
- case CONTENT_SETTINGS_TYPE_MOUSELOCK:
- case CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC:
- case CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA:
- case CONTENT_SETTINGS_NUM_TYPES:
- // TODO(miguelg): Remove this nib content settings support
- // is implemented
- case CONTENT_SETTINGS_TYPE_PUSH_MESSAGING:
- case CONTENT_SETTINGS_TYPE_SSL_CERT_DECISIONS:
- case CONTENT_SETTINGS_TYPE_APP_BANNER:
- case CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT:
- case CONTENT_SETTINGS_TYPE_DURABLE_STORAGE:
- NOTREACHED();
+ for (const ContentTypeToNibPath& type_to_path : kNibPaths) {
+ if (settingsType == type_to_path.type) {
+ nibPath = type_to_path.path;
+ break;
+ }
}
+ DCHECK_NE(0u, [nibPath length]);
+
if ((self = [super initWithWindowNibPath:nibPath
parentWindow:parentWindow
anchoredAt:anchoredAt])) {
« no previous file with comments | « no previous file | chrome/browser/ui/cocoa/content_settings/content_setting_bubble_cocoa_unittest.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698