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

Side by Side Diff: chrome/browser/api/infobars/infobar_delegate.h

Issue 11721003: Eliminate the LinkInfoBar[Delegate] classes entirely. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address some nits - testing-automation matters? Created 7 years, 11 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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_API_INFOBARS_INFOBAR_DELEGATE_H_ 5 #ifndef CHROME_BROWSER_API_INFOBARS_INFOBAR_DELEGATE_H_
6 #define CHROME_BROWSER_API_INFOBARS_INFOBAR_DELEGATE_H_ 6 #define CHROME_BROWSER_API_INFOBARS_INFOBAR_DELEGATE_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/string16.h" 9 #include "base/string16.h"
10 #include "webkit/glue/window_open_disposition.h" 10 #include "webkit/glue/window_open_disposition.h"
11 11
12 class AlternateNavInfoBarDelegate;
12 class AutoLoginInfoBarDelegate; 13 class AutoLoginInfoBarDelegate;
13 class ConfirmInfoBarDelegate; 14 class ConfirmInfoBarDelegate;
14 class ExtensionInfoBarDelegate; 15 class ExtensionInfoBarDelegate;
15 class InfoBar; 16 class InfoBar;
16 class InfoBarService; 17 class InfoBarService;
17 class InsecureContentInfoBarDelegate; 18 class InsecureContentInfoBarDelegate;
18 class LinkInfoBarDelegate;
19 class MediaStreamInfoBarDelegate; 19 class MediaStreamInfoBarDelegate;
20 class PluginInstallerInfoBarDelegate; 20 class PluginInstallerInfoBarDelegate;
21 class RegisterProtocolHandlerInfoBarDelegate; 21 class RegisterProtocolHandlerInfoBarDelegate;
22 class SavePasswordInfoBarDelegate; 22 class SavePasswordInfoBarDelegate;
23 class ThemeInstalledInfoBarDelegate; 23 class ThemeInstalledInfoBarDelegate;
24 class ThreeDAPIInfoBarDelegate; 24 class ThreeDAPIInfoBarDelegate;
25 class TranslateInfoBarDelegate; 25 class TranslateInfoBarDelegate;
26 26
27 namespace gfx { 27 namespace gfx {
28 class Image; 28 class Image;
29 } 29 }
30 namespace content { 30 namespace content {
31 struct LoadCommittedDetails; 31 struct LoadCommittedDetails;
32 } 32 }
33 33
34 // An interface implemented by objects wishing to control an InfoBar. 34 // An interface implemented by objects wishing to control an InfoBar.
35 // Implementing this interface is not sufficient to use an InfoBar, since it 35 // Implementing this interface is not sufficient to use an InfoBar, since it
36 // does not map to a specific InfoBar type. Instead, you must implement either 36 // does not map to a specific InfoBar type. Instead, you must implement
37 // LinkInfoBarDelegate or ConfirmInfoBarDelegate, or override with your own 37 // ConfirmInfoBarDelegate, or override with your own delegate for your own
38 // delegate for your own InfoBar variety. 38 // InfoBar variety.
39 class InfoBarDelegate { 39 class InfoBarDelegate {
40 public: 40 public:
41 // The type of the infobar. It controls its appearance, such as its background 41 // The type of the infobar. It controls its appearance, such as its background
42 // color. 42 // color.
43 enum Type { 43 enum Type {
44 WARNING_TYPE, 44 WARNING_TYPE,
45 PAGE_ACTION_TYPE, 45 PAGE_ACTION_TYPE,
46 }; 46 };
47 47
48 enum InfoBarAutomationType { 48 enum InfoBarAutomationType {
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 90
91 // Return the icon to be shown for this InfoBar. If the returned Image is 91 // Return the icon to be shown for this InfoBar. If the returned Image is
92 // NULL, no icon is shown. 92 // NULL, no icon is shown.
93 virtual gfx::Image* GetIcon() const; 93 virtual gfx::Image* GetIcon() const;
94 94
95 // Returns the type of the infobar. The type determines the appearance (such 95 // Returns the type of the infobar. The type determines the appearance (such
96 // as background color) of the infobar. 96 // as background color) of the infobar.
97 virtual Type GetInfoBarType() const; 97 virtual Type GetInfoBarType() const;
98 98
99 // Type-checking downcast routines: 99 // Type-checking downcast routines:
100 virtual AlternateNavInfoBarDelegate* AsAlternateNavInfoBarDelegate();
100 virtual AutoLoginInfoBarDelegate* AsAutoLoginInfoBarDelegate(); 101 virtual AutoLoginInfoBarDelegate* AsAutoLoginInfoBarDelegate();
101 virtual ConfirmInfoBarDelegate* AsConfirmInfoBarDelegate(); 102 virtual ConfirmInfoBarDelegate* AsConfirmInfoBarDelegate();
102 virtual ExtensionInfoBarDelegate* AsExtensionInfoBarDelegate(); 103 virtual ExtensionInfoBarDelegate* AsExtensionInfoBarDelegate();
103 virtual InsecureContentInfoBarDelegate* AsInsecureContentInfoBarDelegate(); 104 virtual InsecureContentInfoBarDelegate* AsInsecureContentInfoBarDelegate();
104 virtual LinkInfoBarDelegate* AsLinkInfoBarDelegate();
105 virtual MediaStreamInfoBarDelegate* AsMediaStreamInfoBarDelegate(); 105 virtual MediaStreamInfoBarDelegate* AsMediaStreamInfoBarDelegate();
106 virtual RegisterProtocolHandlerInfoBarDelegate* 106 virtual RegisterProtocolHandlerInfoBarDelegate*
107 AsRegisterProtocolHandlerInfoBarDelegate(); 107 AsRegisterProtocolHandlerInfoBarDelegate();
108 virtual ThemeInstalledInfoBarDelegate* AsThemePreviewInfobarDelegate(); 108 virtual ThemeInstalledInfoBarDelegate* AsThemePreviewInfobarDelegate();
109 virtual ThreeDAPIInfoBarDelegate* AsThreeDAPIInfoBarDelegate(); 109 virtual ThreeDAPIInfoBarDelegate* AsThreeDAPIInfoBarDelegate();
110 virtual TranslateInfoBarDelegate* AsTranslateInfoBarDelegate(); 110 virtual TranslateInfoBarDelegate* AsTranslateInfoBarDelegate();
111 111
112 protected: 112 protected:
113 // If |contents| is non-NULL, its active entry's unique ID will be stored 113 // If |contents| is non-NULL, its active entry's unique ID will be stored
114 // using StoreActiveEntryUniqueID automatically. 114 // using StoreActiveEntryUniqueID automatically.
(...skipping 23 matching lines...) Expand all
138 // opened for. Used to help expire on navigations. 138 // opened for. Used to help expire on navigations.
139 int contents_unique_id_; 139 int contents_unique_id_;
140 140
141 // TODO(pkasting): Remove. 141 // TODO(pkasting): Remove.
142 InfoBarService* owner_; 142 InfoBarService* owner_;
143 143
144 DISALLOW_COPY_AND_ASSIGN(InfoBarDelegate); 144 DISALLOW_COPY_AND_ASSIGN(InfoBarDelegate);
145 }; 145 };
146 146
147 #endif // CHROME_BROWSER_API_INFOBARS_INFOBAR_DELEGATE_H_ 147 #endif // CHROME_BROWSER_API_INFOBARS_INFOBAR_DELEGATE_H_
OLDNEW
« no previous file with comments | « chrome/browser/alternate_nav_url_fetcher.cc ('k') | chrome/browser/api/infobars/infobar_delegate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698