| Index: chrome/browser/infobars/infobar_service.h
|
| diff --git a/chrome/browser/infobars/infobar_service.h b/chrome/browser/infobars/infobar_service.h
|
| index 5df4c80a2e6d2dc7f4784b6673d33d69771ce1ab..152a5f732a98483d231bc88d72011acbf4041a3a 100644
|
| --- a/chrome/browser/infobars/infobar_service.h
|
| +++ b/chrome/browser/infobars/infobar_service.h
|
| @@ -21,37 +21,38 @@ class InfoBar;
|
|
|
| // Associates a Tab to a InfoBarManager and manages its lifetime.
|
| // It manages the infobar notifications and responds to navigation events.
|
| -class InfoBarService : public content::WebContentsObserver,
|
| - public content::WebContentsUserData<InfoBarService>,
|
| - public InfoBarManager::Observer {
|
| +class InfoBarService : public InfoBarManager,
|
| + public content::WebContentsObserver,
|
| + public content::WebContentsUserData<InfoBarService> {
|
| public:
|
| - // Helper function to get the InfoBarManager attached to |web_contents|.
|
| - static InfoBarManager* InfoBarManagerFromWebContents(
|
| - content::WebContents* web_contents);
|
| -
|
| static InfoBarDelegate::NavigationDetails
|
| NavigationDetailsFromLoadCommittedDetails(
|
| const content::LoadCommittedDetails& details);
|
|
|
| - // These methods are simple pass-throughs to InfoBarManager, and are here to
|
| - // prepare for the componentization of Infobars, see http://crbug.com/354379.
|
| - InfoBar* AddInfoBar(scoped_ptr<InfoBar> infobar);
|
| - InfoBar* ReplaceInfoBar(InfoBar* old_infobar,
|
| - scoped_ptr<InfoBar> new_infobar);
|
| + // This function must only be called on infobars that are owned by an
|
| + // InfoBarService instance (or not owned at all, in which case this returns
|
| + // NULL).
|
| + static content::WebContents* WebContentsFromInfoBar(InfoBar* infobar);
|
|
|
| // Retrieve the WebContents for the tab this service is associated with.
|
| content::WebContents* web_contents() {
|
| return content::WebContentsObserver::web_contents();
|
| }
|
|
|
| - InfoBarManager* infobar_manager() { return &infobar_manager_; }
|
| -
|
| private:
|
| friend class content::WebContentsUserData<InfoBarService>;
|
|
|
| explicit InfoBarService(content::WebContents* web_contents);
|
| virtual ~InfoBarService();
|
|
|
| + // InfoBarManager:
|
| + // TODO(droger): Remove these functions once infobar notifications are
|
| + // removed. See http://crbug.com/354380
|
| + virtual void NotifyInfoBarAdded(InfoBar* infobar) OVERRIDE;
|
| + virtual void NotifyInfoBarRemoved(InfoBar* infobar, bool animate) OVERRIDE;
|
| + virtual void NotifyInfoBarReplaced(InfoBar* old_infobar,
|
| + InfoBar* new_infobar) OVERRIDE;
|
| +
|
| // content::WebContentsObserver:
|
| virtual void RenderProcessGone(base::TerminationStatus status) OVERRIDE;
|
| virtual void NavigationEntryCommitted(
|
| @@ -60,18 +61,10 @@ class InfoBarService : public content::WebContentsObserver,
|
| content::WebContents* web_contents) OVERRIDE;
|
| virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
|
|
|
| - // InfoBarManager::Observer:
|
| - virtual void OnInfoBarAdded(InfoBar* infobar) OVERRIDE;
|
| - virtual void OnInfoBarReplaced(InfoBar* old_infobar,
|
| - InfoBar* new_infobar) OVERRIDE;
|
| - virtual void OnInfoBarRemoved(InfoBar* infobar, bool animate) OVERRIDE;
|
| - virtual void OnManagerShuttingDown(InfoBarManager* manager) OVERRIDE;
|
| -
|
| // Message handlers.
|
| void OnDidBlockDisplayingInsecureContent();
|
| void OnDidBlockRunningInsecureContent();
|
|
|
| - InfoBarManager infobar_manager_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(InfoBarService);
|
| };
|
|
|