OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_PLUGINS_PLUGIN_INFOBAR_DELEGATES_H_ | 5 #ifndef CHROME_BROWSER_PLUGINS_PLUGIN_INFOBAR_DELEGATES_H_ |
6 #define CHROME_BROWSER_PLUGINS_PLUGIN_INFOBAR_DELEGATES_H_ | 6 #define CHROME_BROWSER_PLUGINS_PLUGIN_INFOBAR_DELEGATES_H_ |
7 | 7 |
8 #include "base/callback.h" | 8 #include "base/callback.h" |
9 #include "chrome/browser/api/infobars/confirm_infobar_delegate.h" | 9 #include "chrome/browser/api/infobars/confirm_infobar_delegate.h" |
10 #include "googleurl/src/gurl.h" | 10 #include "googleurl/src/gurl.h" |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 virtual string16 GetLinkText() const OVERRIDE; | 46 virtual string16 GetLinkText() const OVERRIDE; |
47 | 47 |
48 std::string identifier_; | 48 std::string identifier_; |
49 | 49 |
50 DISALLOW_COPY_AND_ASSIGN(PluginInfoBarDelegate); | 50 DISALLOW_COPY_AND_ASSIGN(PluginInfoBarDelegate); |
51 }; | 51 }; |
52 | 52 |
53 // Infobar that's shown when a plug-in requires user authorization to run. | 53 // Infobar that's shown when a plug-in requires user authorization to run. |
54 class UnauthorizedPluginInfoBarDelegate : public PluginInfoBarDelegate { | 54 class UnauthorizedPluginInfoBarDelegate : public PluginInfoBarDelegate { |
55 public: | 55 public: |
| 56 // Creates an unauthorized plugin delegate and adds it to |infobar_service|. |
| 57 static void Create(InfoBarService* infobar_service, |
| 58 HostContentSettingsMap* content_settings, |
| 59 const string16& name, |
| 60 const std::string& identifier); |
| 61 |
| 62 private: |
56 UnauthorizedPluginInfoBarDelegate(InfoBarService* infobar_service, | 63 UnauthorizedPluginInfoBarDelegate(InfoBarService* infobar_service, |
57 HostContentSettingsMap* content_settings, | 64 HostContentSettingsMap* content_settings, |
58 const string16& name, | 65 const string16& name, |
59 const std::string& identifier); | 66 const std::string& identifier); |
60 | |
61 private: | |
62 virtual ~UnauthorizedPluginInfoBarDelegate(); | 67 virtual ~UnauthorizedPluginInfoBarDelegate(); |
63 | 68 |
64 // PluginInfoBarDelegate: | 69 // PluginInfoBarDelegate: |
65 virtual string16 GetMessageText() const OVERRIDE; | 70 virtual string16 GetMessageText() const OVERRIDE; |
66 virtual string16 GetButtonLabel(InfoBarButton button) const OVERRIDE; | 71 virtual string16 GetButtonLabel(InfoBarButton button) const OVERRIDE; |
67 virtual bool Accept() OVERRIDE; | 72 virtual bool Accept() OVERRIDE; |
68 virtual bool Cancel() OVERRIDE; | 73 virtual bool Cancel() OVERRIDE; |
69 virtual void InfoBarDismissed() OVERRIDE; | 74 virtual void InfoBarDismissed() OVERRIDE; |
70 virtual bool LinkClicked(WindowOpenDisposition disposition) OVERRIDE; | 75 virtual bool LinkClicked(WindowOpenDisposition disposition) OVERRIDE; |
71 virtual std::string GetLearnMoreURL() const OVERRIDE; | 76 virtual std::string GetLearnMoreURL() const OVERRIDE; |
72 | 77 |
73 HostContentSettingsMap* content_settings_; | 78 HostContentSettingsMap* content_settings_; |
74 | 79 |
75 DISALLOW_COPY_AND_ASSIGN(UnauthorizedPluginInfoBarDelegate); | 80 DISALLOW_COPY_AND_ASSIGN(UnauthorizedPluginInfoBarDelegate); |
76 }; | 81 }; |
77 | 82 |
78 #if defined(ENABLE_PLUGIN_INSTALLATION) | 83 #if defined(ENABLE_PLUGIN_INSTALLATION) |
79 // Infobar that's shown when a plug-in is out of date. | 84 // Infobar that's shown when a plug-in is out of date. |
80 class OutdatedPluginInfoBarDelegate : public PluginInfoBarDelegate, | 85 class OutdatedPluginInfoBarDelegate : public PluginInfoBarDelegate, |
81 public WeakPluginInstallerObserver { | 86 public WeakPluginInstallerObserver { |
82 public: | 87 public: |
83 static InfoBarDelegate* Create(content::WebContents* web_contents, | 88 // Creates an outdated plugin delegate and adds it to |infobar_service|. |
84 PluginInstaller* installer, | 89 static void Create(InfoBarService* infobar_service, |
85 scoped_ptr<PluginMetadata> metadata); | 90 PluginInstaller* installer, |
| 91 scoped_ptr<PluginMetadata> metadata); |
86 | 92 |
87 private: | 93 private: |
88 OutdatedPluginInfoBarDelegate(content::WebContents* web_contents, | 94 OutdatedPluginInfoBarDelegate(InfoBarService* infobar_service, |
89 PluginInstaller* installer, | 95 PluginInstaller* installer, |
90 scoped_ptr<PluginMetadata> metadata, | 96 scoped_ptr<PluginMetadata> metadata, |
91 const string16& message); | 97 const string16& message); |
92 virtual ~OutdatedPluginInfoBarDelegate(); | 98 virtual ~OutdatedPluginInfoBarDelegate(); |
93 | 99 |
94 // PluginInfoBarDelegate: | 100 // PluginInfoBarDelegate: |
95 virtual string16 GetMessageText() const OVERRIDE; | 101 virtual string16 GetMessageText() const OVERRIDE; |
96 virtual string16 GetButtonLabel(InfoBarButton button) const OVERRIDE; | 102 virtual string16 GetButtonLabel(InfoBarButton button) const OVERRIDE; |
97 virtual bool Accept() OVERRIDE; | 103 virtual bool Accept() OVERRIDE; |
98 virtual bool Cancel() OVERRIDE; | 104 virtual bool Cancel() OVERRIDE; |
(...skipping 25 matching lines...) Expand all Loading... |
124 // a missing plugin. | 130 // a missing plugin. |
125 class PluginInstallerInfoBarDelegate : public ConfirmInfoBarDelegate, | 131 class PluginInstallerInfoBarDelegate : public ConfirmInfoBarDelegate, |
126 public WeakPluginInstallerObserver { | 132 public WeakPluginInstallerObserver { |
127 public: | 133 public: |
128 typedef base::Callback<void(const PluginMetadata*)> InstallCallback; | 134 typedef base::Callback<void(const PluginMetadata*)> InstallCallback; |
129 | 135 |
130 // Shows an infobar asking whether to install the plugin represented by | 136 // Shows an infobar asking whether to install the plugin represented by |
131 // |installer|. When the user accepts, |callback| is called. | 137 // |installer|. When the user accepts, |callback| is called. |
132 // During installation of the plug-in, the infobar will change to reflect the | 138 // During installation of the plug-in, the infobar will change to reflect the |
133 // installation state. | 139 // installation state. |
134 static InfoBarDelegate* Create(InfoBarService* infobar_service, | 140 static void Create(InfoBarService* infobar_service, |
135 PluginInstaller* installer, | 141 PluginInstaller* installer, |
136 scoped_ptr<PluginMetadata> plugin_metadata, | 142 scoped_ptr<PluginMetadata> plugin_metadata, |
137 const InstallCallback& callback); | 143 const InstallCallback& callback); |
| 144 |
| 145 // Replaces |infobar|, which must currently be owned, with an infobar asking |
| 146 // the user to install or update a particular plugin. |
| 147 static void Replace(InfoBarDelegate* infobar, |
| 148 PluginInstaller* installer, |
| 149 scoped_ptr<PluginMetadata> metadata, |
| 150 bool new_install, |
| 151 const string16& message); |
138 | 152 |
139 private: | 153 private: |
140 friend class OutdatedPluginInfoBarDelegate; | |
141 | |
142 PluginInstallerInfoBarDelegate(InfoBarService* infobar_service, | 154 PluginInstallerInfoBarDelegate(InfoBarService* infobar_service, |
143 PluginInstaller* installer, | 155 PluginInstaller* installer, |
144 scoped_ptr<PluginMetadata> plugin_metadata, | 156 scoped_ptr<PluginMetadata> plugin_metadata, |
145 const InstallCallback& callback, | 157 const InstallCallback& callback, |
146 bool new_install, | 158 bool new_install, |
147 const string16& message); | 159 const string16& message); |
148 virtual ~PluginInstallerInfoBarDelegate(); | 160 virtual ~PluginInstallerInfoBarDelegate(); |
149 | 161 |
150 // ConfirmInfoBarDelegate: | 162 // ConfirmInfoBarDelegate: |
151 virtual gfx::Image* GetIcon() const OVERRIDE; | 163 virtual gfx::Image* GetIcon() const OVERRIDE; |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
186 class PluginMetroModeInfoBarDelegate : public ConfirmInfoBarDelegate { | 198 class PluginMetroModeInfoBarDelegate : public ConfirmInfoBarDelegate { |
187 public: | 199 public: |
188 // The infobar can be used for two purposes: to inform the user about a | 200 // The infobar can be used for two purposes: to inform the user about a |
189 // missing plugin or to note that a plugin only works in desktop mode. These | 201 // missing plugin or to note that a plugin only works in desktop mode. These |
190 // purposes require different messages, buttons, etc. | 202 // purposes require different messages, buttons, etc. |
191 enum Mode { | 203 enum Mode { |
192 MISSING_PLUGIN, | 204 MISSING_PLUGIN, |
193 DESKTOP_MODE_REQUIRED, | 205 DESKTOP_MODE_REQUIRED, |
194 }; | 206 }; |
195 | 207 |
| 208 // Creates a metro mode infobar and delegate and adds the infobar to |
| 209 // |infobar_service|. |
| 210 static void Create(InfoBarService* infobar_service, |
| 211 Mode mode, |
| 212 const string16& name); |
| 213 |
| 214 private: |
196 PluginMetroModeInfoBarDelegate(InfoBarService* infobar_service, | 215 PluginMetroModeInfoBarDelegate(InfoBarService* infobar_service, |
197 Mode mode, | 216 Mode mode, |
198 const string16& name); | 217 const string16& name); |
199 | |
200 private: | |
201 virtual ~PluginMetroModeInfoBarDelegate(); | 218 virtual ~PluginMetroModeInfoBarDelegate(); |
202 | 219 |
203 // ConfirmInfoBarDelegate: | 220 // ConfirmInfoBarDelegate: |
204 virtual gfx::Image* GetIcon() const OVERRIDE; | 221 virtual gfx::Image* GetIcon() const OVERRIDE; |
205 virtual string16 GetMessageText() const OVERRIDE; | 222 virtual string16 GetMessageText() const OVERRIDE; |
206 virtual int GetButtons() const OVERRIDE; | 223 virtual int GetButtons() const OVERRIDE; |
207 virtual string16 GetButtonLabel(InfoBarButton button) const OVERRIDE; | 224 virtual string16 GetButtonLabel(InfoBarButton button) const OVERRIDE; |
208 virtual bool Accept() OVERRIDE; | 225 virtual bool Accept() OVERRIDE; |
209 virtual bool Cancel() OVERRIDE; | 226 virtual bool Cancel() OVERRIDE; |
210 virtual string16 GetLinkText() const OVERRIDE; | 227 virtual string16 GetLinkText() const OVERRIDE; |
211 virtual bool LinkClicked(WindowOpenDisposition disposition) OVERRIDE; | 228 virtual bool LinkClicked(WindowOpenDisposition disposition) OVERRIDE; |
212 | 229 |
213 const Mode mode_; | 230 const Mode mode_; |
214 const string16 name_; | 231 const string16 name_; |
215 | 232 |
216 DISALLOW_COPY_AND_ASSIGN(PluginMetroModeInfoBarDelegate); | 233 DISALLOW_COPY_AND_ASSIGN(PluginMetroModeInfoBarDelegate); |
217 }; | 234 }; |
218 #endif // defined(OS_WIN) | 235 #endif // defined(OS_WIN) |
219 | 236 |
220 #endif // CHROME_BROWSER_PLUGINS_PLUGIN_INFOBAR_DELEGATES_H_ | 237 #endif // CHROME_BROWSER_PLUGINS_PLUGIN_INFOBAR_DELEGATES_H_ |
OLD | NEW |