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

Unified Diff: chrome/browser/ui/content_settings/content_setting_bubble_model.h

Issue 2561673003: Handle per-tab AUTOMATIC_DOWNLOADS setting in DownloadRequestLimiter. (Closed)
Patch Set: Get HostContentSettingsMap directly in DRL tests Created 3 years, 10 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/content_settings/content_setting_bubble_model.h
diff --git a/chrome/browser/ui/content_settings/content_setting_bubble_model.h b/chrome/browser/ui/content_settings/content_setting_bubble_model.h
index a15f8b30456911834d4329bad5b2f28b3209b4d5..d6c0f53ffc5414cd702dbc00d408f7700194cc7d 100644
--- a/chrome/browser/ui/content_settings/content_setting_bubble_model.h
+++ b/chrome/browser/ui/content_settings/content_setting_bubble_model.h
@@ -50,11 +50,13 @@ class RapporServiceImpl;
// ContentSettingCookiesBubbleModel - cookies
// ContentSettingPopupBubbleModel - popups
// ContentSettingSubresourceFilterBubbleModel - filtered subresources
+// ContentSettingDownloadsBubbleModel - automatic downloads
// Forward declaration necessary for downcasts.
class ContentSettingMediaStreamBubbleModel;
class ContentSettingSimpleBubbleModel;
class ContentSettingSubresourceFilterBubbleModel;
+class ContentSettingDownloadsBubbleModel;
// This model provides data for ContentSettingBubble, and also controls
// the action triggered when the allow / block radio buttons are triggered.
@@ -175,6 +177,9 @@ class ContentSettingBubbleModel : public content::NotificationObserver {
virtual ContentSettingSubresourceFilterBubbleModel*
AsSubresourceFilterBubbleModel();
+ // Cast this bubble into ContentSettingDownloadsBubbleModel if possible.
+ virtual ContentSettingDownloadsBubbleModel* AsDownloadsBubbleModel();
+
// Sets the Rappor service used for testing.
void SetRapporServiceImplForTesting(
rappor::RapporServiceImpl* rappor_service) {
@@ -383,4 +388,29 @@ class ContentSettingMediaStreamBubbleModel : public ContentSettingBubbleModel {
DISALLOW_COPY_AND_ASSIGN(ContentSettingMediaStreamBubbleModel);
};
+// The model for automatic downloads setting.
+class ContentSettingDownloadsBubbleModel : public ContentSettingBubbleModel {
+ public:
+ ContentSettingDownloadsBubbleModel(Delegate* delegate,
+ content::WebContents* web_contents,
+ Profile* profile);
+ ~ContentSettingDownloadsBubbleModel() override;
+
+ // ContentSettingBubbleModel overrides:
+ ContentSettingDownloadsBubbleModel* AsDownloadsBubbleModel() override;
+
+ private:
+ void SetRadioGroup();
+
+ // ContentSettingBubbleModel overrides:
+ void OnRadioClicked(int radio_index) override;
+ void SetTitle() override;
+ void SetManageText() override;
+ void OnManageLinkClicked() override;
+
+ int selected_item_ = 0;
+
+ DISALLOW_COPY_AND_ASSIGN(ContentSettingDownloadsBubbleModel);
+};
+
#endif // CHROME_BROWSER_UI_CONTENT_SETTINGS_CONTENT_SETTING_BUBBLE_MODEL_H_

Powered by Google App Engine
This is Rietveld 408576698