| Index: chrome/browser/infobars/infobar_delegate.h
|
| ===================================================================
|
| --- chrome/browser/infobars/infobar_delegate.h (revision 238220)
|
| +++ chrome/browser/infobars/infobar_delegate.h (working copy)
|
| @@ -51,19 +51,12 @@
|
| // Value to use when the InfoBar has no icon to show.
|
| static const int kNoIconID;
|
|
|
| + // Called when the InfoBar that owns this delegate is being destroyed. At
|
| + // this point nothing is visible onscreen.
|
| virtual ~InfoBarDelegate();
|
|
|
| virtual InfoBarAutomationType GetInfoBarAutomationType() const;
|
|
|
| - // Called to create the InfoBar. Implementation of this method is
|
| - // platform-specific.
|
| - virtual InfoBar* CreateInfoBar(InfoBarService* owner) = 0;
|
| -
|
| - // TODO(pkasting): Move to InfoBar once InfoBars own their delegates.
|
| - InfoBarService* owner() { return owner_; }
|
| -
|
| - void clear_owner() { owner_ = NULL; }
|
| -
|
| // Returns true if the supplied |delegate| is equal to this one. Equality is
|
| // left to the implementation to define. This function is called by the
|
| // InfoBarService when determining whether or not a delegate should be
|
| @@ -104,33 +97,30 @@
|
| virtual ThreeDAPIInfoBarDelegate* AsThreeDAPIInfoBarDelegate();
|
| virtual TranslateInfoBarDelegate* AsTranslateInfoBarDelegate();
|
|
|
| + void set_infobar(InfoBar* infobar) { infobar_ = infobar; }
|
| +
|
| + // Store the unique id for the active entry in our WebContents, to be used
|
| + // later upon navigation to determine if this InfoBarDelegate should be
|
| + // expired.
|
| + void StoreActiveEntryUniqueID();
|
| +
|
| // Return the icon to be shown for this InfoBar. If the returned Image is
|
| // empty, no icon is shown.
|
| virtual gfx::Image GetIcon() const;
|
|
|
| - content::WebContents* web_contents() {
|
| - return owner_ ? owner_->web_contents() : NULL;
|
| - }
|
| + // This trivial getter is defined out-of-line in order to avoid needing to
|
| + // #include infobar.h, which would lead to circular #includes.
|
| + content::WebContents* web_contents();
|
|
|
| protected:
|
| - // If |contents| is non-NULL, its active entry's unique ID will be stored
|
| - // using StoreActiveEntryUniqueID automatically.
|
| - explicit InfoBarDelegate(InfoBarService* owner);
|
| + InfoBarDelegate();
|
|
|
| - // Store the unique id for the active entry in our WebContents, to be used
|
| - // later upon navigation to determine if this InfoBarDelegate should be
|
| - // expired.
|
| - void StoreActiveEntryUniqueID();
|
| -
|
| - int contents_unique_id() const { return contents_unique_id_; }
|
| -
|
| // Returns true if the navigation is to a new URL or a reload occured.
|
| virtual bool ShouldExpireInternal(
|
| const content::LoadCommittedDetails& details) const;
|
|
|
| - // Removes ourself from |owner_| if we haven't already been removed.
|
| - // TODO(pkasting): Move to InfoBar.
|
| - void RemoveSelf();
|
| + int contents_unique_id() const { return contents_unique_id_; }
|
| + InfoBar* infobar() { return infobar_; }
|
|
|
| private:
|
| // The unique id of the active NavigationEntry of the WebContents that we were
|
| @@ -137,8 +127,8 @@
|
| // opened for. Used to help expire on navigations.
|
| int contents_unique_id_;
|
|
|
| - // TODO(pkasting): Remove.
|
| - InfoBarService* owner_;
|
| + // The InfoBar associated with us.
|
| + InfoBar* infobar_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(InfoBarDelegate);
|
| };
|
|
|