Index: components/infobars/core/infobar_delegate.h |
diff --git a/components/infobars/core/infobar_delegate.h b/components/infobars/core/infobar_delegate.h |
index 7508de872cb569ebab1153ac967846559b5e3cfe..3ba72ef79b0684de0e728297c0e9c5410f4de8aa 100644 |
--- a/components/infobars/core/infobar_delegate.h |
+++ b/components/infobars/core/infobar_delegate.h |
@@ -60,6 +60,65 @@ class InfoBarDelegate { |
UNKNOWN_INFOBAR, |
}; |
+ // Unique identifier for every InfoBarDelegate subclass. |
+ // KEEP IN SYNC WITH THE InfoBarIdentifier ENUM IN histograms.xml. |
+ // NEW VALUES MUST BE APPENDED AND AVOID CHANGING ANY PRE-EXISTING VALUES. |
+ enum InfoBarIdentifier { |
+ INVALID = -1, |
+ TEST_INFOBAR = 0, |
+ APP_BANNER_INFOBAR_DELEGATE_ANDROID = 1, |
+ APP_BANNER_INFOBAR_DELEGATE_DESKTOP = 2, |
+ ANDROID_DOWNLOAD_MANAGER_OVERWRITE_INFOBAR_DELEGATE = 3, |
+ CHROME_DOWNLOAD_MANAGER_OVERWRITE_INFOBAR_DELEGATE = 4, |
+ DOWNLOAD_REQUEST_INFOBAR_DELEGATE_ANDROID = 5, |
+ FULLSCREEN_INFOBAR_DELEGATE = 6, |
+ HUNG_PLUGIN_INFOBAR_DELEGATE = 7, |
+ HUNG_RENDERER_INFOBAR_DELEGATE = 8, |
+ MEDIA_STREAM_INFOBAR_DELEGATE_ANDROID = 9, |
+ MEDIA_THROTTLE_INFOBAR_DELEGATE = 10, |
+ REQUEST_QUOTA_INFOBAR_DELEGATE = 11, |
+ DEV_TOOLS_CONFIRM_INFOBAR_DELEGATE = 12, |
+ EXTENSION_DEV_TOOLS_INFOBAR_DELEGATE = 13, |
+ INCOGNITO_CONNECTABILITY_INFOBAR_DELEGATE = 14, |
+ THEME_INSTALLED_INFOBAR_DELEGATE = 15, |
+ GEOLOCATION_INFOBAR_DELEGATE_ANDROID = 16, |
+ THREE_D_API_INFOBAR_DELEGATE = 17, |
+ INSECURE_CONTENT_INFOBAR_DELEGATE = 18, |
+ MIDI_PERMISSION_INFOBAR_DELEGATE_ANDROID = 19, |
+ PROTECTED_MEDIA_IDENTIFIER_INFOBAR_DELEGATE_ANDROID = 20, |
+ NACL_INFOBAR_DELEGATE = 21, |
+ DATA_REDUCTION_PROXY_INFOBAR_DELEGATE_ANDROID = 22, |
+ NOTIFICATION_PERMISSION_INFOBAR_DELEGATE = 23, |
+ AUTO_SIGNIN_FIRST_RUN_INFOBAR_DELEGATE = 24, |
+ GENERATED_PASSWORD_SAVED_INFOBAR_DELEGATE_ANDROID = 25, |
+ SAVE_PASSWORD_INFOBAR_DELEGATE = 26, |
+ PEPPER_BROKER_INFOBAR_DELEGATE = 27, |
+ PERMISSION_UPDATE_INFOBAR_DELEGATE = 28, |
+ DURABLE_STORAGE_PERMISSION_INFOBAR_DELEGATE_ANDROID = 29, |
+ NPAPI_REMOVAL_INFOBAR_DELEGATE = 30, |
+ OUTDATED_PLUGIN_INFOBAR_DELEGATE = 31, |
+ PLUGIN_METRO_MODE_INFOBAR_DELEGATE = 32, |
+ RELOAD_PLUGIN_INFOBAR_DELEGATE = 33, |
+ PLUGIN_OBSERVER = 34, |
+ SSL_ADD_CERTIFICATE = 35, |
+ SSL_ADD_CERTIFICATE_INFOBAR_DELEGATE = 36, |
+ POPUP_BLOCKED_INFOBAR_DELEGATE = 37, |
+ CHROME_SELECT_FILE_POLICY = 38, |
+ KEYSTONE_PROMOTION_INFOBAR_DELEGATE = 39, |
+ COLLECTED_COOKIES_INFOBAR_DELEGATE = 40, |
+ INSTALLATION_ERROR_INFOBAR_DELEGATE = 41, |
+ ALTERNATE_NAV_INFOBAR_DELEGATE = 42, |
+ BAD_FLAGS_PROMPT = 43, |
+ DEFAULT_BROWSER_INFOBAR_DELEGATE = 44, |
+ GOOGLE_API_KEYS_INFOBAR_DELEGATE = 45, |
+ OBSOLETE_SYSTEM_INFOBAR_DELEGATE = 46, |
+ SESSION_CRASHED_INFOBAR_DELEGATE = 47, |
+ WEBSITE_SETTINGS_INFOBAR_DELEGATE = 48, |
+ AUTOFILL_CC_INFOBAR_DELEGATE = 49, |
+ TRANSLATE_INFOBAR_DELEGATE = 50, |
+ IOS_CHROME_SAVE_PASSWORD_INFOBAR_DELEGATE = 51 |
+ }; |
+ |
// Describes navigation events, used to decide whether infobars should be |
// dismissed. |
struct NavigationDetails { |
@@ -84,6 +143,11 @@ class InfoBarDelegate { |
// as background color) of the infobar. |
virtual Type GetInfoBarType() const; |
+ // Returns a unique value identifying the infobar. |
+ // New implementers must append a new value to the InfoBarIdentifier enum here |
+ // and in histograms.xml. |
+ virtual InfoBarIdentifier GetIdentifier() const = 0; |
+ |
virtual InfoBarAutomationType GetInfoBarAutomationType() const; |
// Returns the resource ID of the icon to be shown for this InfoBar. If the |