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

Unified Diff: chrome/browser/ui/tab_contents/tab_contents_wrapper.h

Issue 7810002: Move infobar handling to a tab helper. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixes Created 9 years, 4 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
« no previous file with comments | « chrome/browser/ui/shell_dialogs.cc ('k') | chrome/browser/ui/tab_contents/tab_contents_wrapper.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/tab_contents/tab_contents_wrapper.h
diff --git a/chrome/browser/ui/tab_contents/tab_contents_wrapper.h b/chrome/browser/ui/tab_contents/tab_contents_wrapper.h
index 08ffd08b50a709fad0bc8b5fe58585eada2c2487..a4a99c257193b04059e40bbad437e380f067d741 100644
--- a/chrome/browser/ui/tab_contents/tab_contents_wrapper.h
+++ b/chrome/browser/ui/tab_contents/tab_contents_wrapper.h
@@ -32,7 +32,7 @@ class FaviconTabHelper;
class FileSelectObserver;
class FindTabHelper;
class FirewallTraversalObserver;
-class InfoBarDelegate;
+class InfoBarTabHelper;
class HistoryTabHelper;
class NavigationController;
class OmniboxSearchHint;
@@ -103,6 +103,9 @@ class TabContentsWrapper : public TabContentsObserver,
// Captures a snapshot of the page.
void CaptureSnapshot();
+ // Stop this tab rendering in fullscreen mode.
+ void ExitFullscreenMode();
+
// Helper to retrieve the existing instance that wraps a given TabContents.
// Returns NULL if there is no such existing instance.
// NOTE: This is not intended for general use. It is intended for situations
@@ -165,6 +168,7 @@ class TabContentsWrapper : public TabContentsObserver,
FaviconTabHelper* favicon_tab_helper() { return favicon_tab_helper_.get(); }
FindTabHelper* find_tab_helper() { return find_tab_helper_.get(); }
HistoryTabHelper* history_tab_helper() { return history_tab_helper_.get(); }
+ InfoBarTabHelper* infobar_tab_helper() { return infobar_tab_helper_.get(); }
PasswordManager* password_manager() { return password_manager_.get(); }
prerender::PrerenderTabHelper* prerender_tab_helper() {
@@ -215,48 +219,12 @@ class TabContentsWrapper : public TabContentsObserver,
const NotificationSource& source,
const NotificationDetails& details) OVERRIDE;
- // Infobars ------------------------------------------------------------------
-
- // Adds an InfoBar for the specified |delegate|.
- //
- // If infobars are disabled for this tab or the tab already has a delegate
- // which returns true for InfoBarDelegate::EqualsDelegate(delegate),
- // |delegate| is closed immediately without being added.
- void AddInfoBar(InfoBarDelegate* delegate);
-
- // Removes the InfoBar for the specified |delegate|.
- //
- // If infobars are disabled for this tab, this will do nothing, on the
- // assumption that the matching AddInfoBar() call will have already closed the
- // delegate (see above).
- void RemoveInfoBar(InfoBarDelegate* delegate);
-
- // Replaces one infobar with another, without any animation in between.
- //
- // If infobars are disabled for this tab, |new_delegate| is closed immediately
- // without being added, and nothing else happens.
- //
- // NOTE: This does not perform any EqualsDelegate() checks like AddInfoBar().
- void ReplaceInfoBar(InfoBarDelegate* old_delegate,
- InfoBarDelegate* new_delegate);
-
- // Enumeration and access functions.
- size_t infobar_count() const { return infobars_.size(); }
- // WARNING: This does not sanity-check |index|!
- InfoBarDelegate* GetInfoBarDelegateAt(size_t index);
- void set_infobars_enabled(bool value) { infobars_enabled_ = value; }
-
- // Stop this tab rendering in fullscreen mode.
- void ExitFullscreenMode();
-
private:
// Internal helpers ----------------------------------------------------------
// Message handlers.
void OnSnapshot(const SkBitmap& bitmap);
void OnPDFHasUnsupportedFeature();
- void OnDidBlockDisplayingInsecureContent();
- void OnDidBlockRunningInsecureContent();
// Returns the server that can provide alternate error pages. If the returned
// URL is empty, the default error page built into WebKit will be used.
@@ -275,18 +243,11 @@ class TabContentsWrapper : public TabContentsObserver,
// safe browsing preference has changed.
void UpdateSafebrowsingDetectionHost();
- void RemoveInfoBarInternal(InfoBarDelegate* delegate, bool animate);
- void RemoveAllInfoBars(bool animate);
-
// Data for core operation ---------------------------------------------------
// Delegate for notifying our owner about stuff. Not owned by us.
TabContentsWrapperDelegate* delegate_;
- // Delegates for InfoBars associated with this TabContentsWrapper.
- std::vector<InfoBarDelegate*> infobars_;
- bool infobars_enabled_;
-
NotificationRegistrar registrar_;
PrefChangeRegistrar pref_change_registrar_;
@@ -312,6 +273,7 @@ class TabContentsWrapper : public TabContentsObserver,
scoped_ptr<FaviconTabHelper> favicon_tab_helper_;
scoped_ptr<FindTabHelper> find_tab_helper_;
scoped_ptr<HistoryTabHelper> history_tab_helper_;
+ scoped_ptr<InfoBarTabHelper> infobar_tab_helper_;
// PasswordManager and its delegate. The delegate must outlive the manager,
// per documentation in password_manager.h.
« no previous file with comments | « chrome/browser/ui/shell_dialogs.cc ('k') | chrome/browser/ui/tab_contents/tab_contents_wrapper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698