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

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: update 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
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 dd1590a537e94d38d99630e554a0992f98fce0b6..5a1180dd87b881dcbe0dc625d5842aacd6df9b0d 100644
--- a/chrome/browser/ui/tab_contents/tab_contents_wrapper.h
+++ b/chrome/browser/ui/tab_contents/tab_contents_wrapper.h
@@ -45,7 +45,7 @@ class FaviconTabHelper;
class FileSelectObserver;
class FindTabHelper;
class FirewallTraversalTabHelper;
-class InfoBarDelegate;
+class InfoBarTabHelper;
class HistoryTabHelper;
class NavigationController;
class OmniboxSearchHint;
@@ -97,6 +97,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
@@ -160,6 +163,7 @@ class TabContentsWrapper : public TabContentsObserver,
FaviconTabHelper* favicon_tab_helper() { return favicon_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(); }
printing::PrintViewManager* print_view_manager() {
@@ -210,48 +214,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.
@@ -270,18 +238,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_;
@@ -308,6 +269,7 @@ class TabContentsWrapper : public TabContentsObserver,
scoped_ptr<FindTabHelper> find_tab_helper_;
scoped_ptr<FirewallTraversalTabHelper> firewall_traversal_tab_helper_;
scoped_ptr<HistoryTabHelper> history_tab_helper_;
+ scoped_ptr<InfoBarTabHelper> infobar_tab_helper_;
scoped_ptr<RestoreTabHelper> restore_tab_helper_;
// PasswordManager and its delegate. The delegate must outlive the manager,

Powered by Google App Engine
This is Rietveld 408576698