OLD | NEW |
---|---|
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_UI_CONTENT_SETTINGS_CONTENT_SETTING_BUBBLE_MODEL_H_ | 5 #ifndef CHROME_BROWSER_UI_CONTENT_SETTINGS_CONTENT_SETTING_BUBBLE_MODEL_H_ |
6 #define CHROME_BROWSER_UI_CONTENT_SETTINGS_CONTENT_SETTING_BUBBLE_MODEL_H_ | 6 #define CHROME_BROWSER_UI_CONTENT_SETTINGS_CONTENT_SETTING_BUBBLE_MODEL_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <set> | 9 #include <set> |
10 #include <string> | 10 #include <string> |
11 #include <vector> | 11 #include <vector> |
12 | 12 |
13 #include "base/compiler_specific.h" | 13 #include "base/compiler_specific.h" |
14 #include "chrome/common/content_settings.h" | 14 #include "chrome/common/content_settings.h" |
15 #include "content/public/browser/notification_observer.h" | 15 #include "content/public/browser/notification_observer.h" |
16 #include "content/public/browser/notification_registrar.h" | 16 #include "content/public/browser/notification_registrar.h" |
17 #include "googleurl/src/gurl.h" | 17 #include "googleurl/src/gurl.h" |
18 #include "third_party/skia/include/core/SkBitmap.h" | 18 #include "third_party/skia/include/core/SkBitmap.h" |
19 | 19 |
20 class Browser; | 20 class BrowserShowContentRelated; |
21 class Profile; | 21 class Profile; |
22 class TabContentsWrapper; | 22 class TabContentsWrapper; |
23 | 23 |
24 class ContentSettingBubbleModelDelegate { | |
25 public: | |
26 // Shows the cookies collected in the tab contents wrapper. | |
27 virtual void ShowCollectedCookiesDialog(TabContentsWrapper* contents) = 0; | |
28 | |
29 // Shows the Content Settings page for a given content type. | |
30 virtual void ShowContentSettingsPage(ContentSettingsType type) = 0; | |
31 }; | |
sky
2012/03/05 16:30:56
Add a protected virtual destructor to make it clea
altimofeev
2012/03/07 21:01:39
Done.
| |
32 | |
24 // This model provides data for ContentSettingBubble, and also controls | 33 // This model provides data for ContentSettingBubble, and also controls |
25 // the action triggered when the allow / block radio buttons are triggered. | 34 // the action triggered when the allow / block radio buttons are triggered. |
26 class ContentSettingBubbleModel : public content::NotificationObserver { | 35 class ContentSettingBubbleModel : public content::NotificationObserver { |
27 public: | 36 public: |
28 virtual ~ContentSettingBubbleModel(); | 37 virtual ~ContentSettingBubbleModel(); |
29 | 38 |
39 typedef ContentSettingBubbleModelDelegate Delegate; | |
40 | |
30 static ContentSettingBubbleModel* CreateContentSettingBubbleModel( | 41 static ContentSettingBubbleModel* CreateContentSettingBubbleModel( |
31 Browser* browser, | 42 Delegate* delegate, |
32 TabContentsWrapper* tab_contents, | 43 TabContentsWrapper* tab_contents, |
33 Profile* profile, | 44 Profile* profile, |
34 ContentSettingsType content_type); | 45 ContentSettingsType content_type); |
35 | 46 |
36 ContentSettingsType content_type() const { return content_type_; } | 47 ContentSettingsType content_type() const { return content_type_; } |
37 | 48 |
38 struct PopupItem { | 49 struct PopupItem { |
39 SkBitmap bitmap; | 50 SkBitmap bitmap; |
40 std::string title; | 51 std::string title; |
41 TabContentsWrapper* tab_contents; | 52 TabContentsWrapper* tab_contents; |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
127 Profile* profile_; | 138 Profile* profile_; |
128 ContentSettingsType content_type_; | 139 ContentSettingsType content_type_; |
129 BubbleContent bubble_content_; | 140 BubbleContent bubble_content_; |
130 // A registrar for listening for TAB_CONTENTS_DESTROYED notifications. | 141 // A registrar for listening for TAB_CONTENTS_DESTROYED notifications. |
131 content::NotificationRegistrar registrar_; | 142 content::NotificationRegistrar registrar_; |
132 | 143 |
133 DISALLOW_COPY_AND_ASSIGN(ContentSettingBubbleModel); | 144 DISALLOW_COPY_AND_ASSIGN(ContentSettingBubbleModel); |
134 }; | 145 }; |
135 | 146 |
136 #endif // CHROME_BROWSER_UI_CONTENT_SETTINGS_CONTENT_SETTING_BUBBLE_MODEL_H_ | 147 #endif // CHROME_BROWSER_UI_CONTENT_SETTINGS_CONTENT_SETTING_BUBBLE_MODEL_H_ |
OLD | NEW |