diff options
author | avi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-30 15:07:08 +0000 |
---|---|---|
committer | avi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-30 15:07:08 +0000 |
commit | 95a33ed6cb8688573249f7cd7032d23518879c6d (patch) | |
tree | 77c2f8d28412caa3aeb6cdb94de420bb811113d6 /chrome/browser/alternate_nav_url_fetcher.cc | |
parent | 14ea9bf12826e740fd77fda742e67605df06ce4a (diff) | |
download | chromium_src-95a33ed6cb8688573249f7cd7032d23518879c6d.zip chromium_src-95a33ed6cb8688573249f7cd7032d23518879c6d.tar.gz chromium_src-95a33ed6cb8688573249f7cd7032d23518879c6d.tar.bz2 |
Move infobar handling to a tab helper.
Part 2:
- Removed TabContentsWrapper from core infobar classes
- Made InfoBarTabHelper the owner of the infobar delegates
- Removed all owner references from the delegate subclasses
BUG=94741
TEST=no visible change
Review URL: http://codereview.chromium.org/7862003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103463 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/alternate_nav_url_fetcher.cc')
-rw-r--r-- | chrome/browser/alternate_nav_url_fetcher.cc | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/chrome/browser/alternate_nav_url_fetcher.cc b/chrome/browser/alternate_nav_url_fetcher.cc index a9ede47..d2df971 100644 --- a/chrome/browser/alternate_nav_url_fetcher.cc +++ b/chrome/browser/alternate_nav_url_fetcher.cc @@ -24,7 +24,7 @@ class AlternateNavInfoBarDelegate : public LinkInfoBarDelegate { public: - AlternateNavInfoBarDelegate(TabContents* tab_contents, + AlternateNavInfoBarDelegate(InfoBarTabHelper* owner, const GURL& alternate_nav_url); virtual ~AlternateNavInfoBarDelegate(); @@ -36,17 +36,15 @@ class AlternateNavInfoBarDelegate : public LinkInfoBarDelegate { virtual string16 GetLinkText() const OVERRIDE; virtual bool LinkClicked(WindowOpenDisposition disposition) OVERRIDE; - TabContents* tab_contents_; GURL alternate_nav_url_; DISALLOW_COPY_AND_ASSIGN(AlternateNavInfoBarDelegate); }; AlternateNavInfoBarDelegate::AlternateNavInfoBarDelegate( - TabContents* tab_contents, + InfoBarTabHelper* owner, const GURL& alternate_nav_url) - : LinkInfoBarDelegate(tab_contents), - tab_contents_(tab_contents), + : LinkInfoBarDelegate(owner), alternate_nav_url_(alternate_nav_url) { } @@ -75,7 +73,7 @@ string16 AlternateNavInfoBarDelegate::GetLinkText() const { bool AlternateNavInfoBarDelegate::LinkClicked( WindowOpenDisposition disposition) { - tab_contents_->OpenURL( + owner()->tab_contents()->OpenURL( alternate_nav_url_, GURL(), disposition, // Pretend the user typed this URL, so that navigating to // it will be the default action when it's typed again in @@ -202,9 +200,11 @@ void AlternateNavURLFetcher::ShowInfobarIfPossible() { return; } - TabContents* tab_contents = controller_->tab_contents(); - TabContentsWrapper::GetCurrentWrapperForContents(tab_contents)-> - infobar_tab_helper()->AddInfoBar(new AlternateNavInfoBarDelegate( - tab_contents, alternate_nav_url_)); + TabContentsWrapper* wrapper = + TabContentsWrapper::GetCurrentWrapperForContents( + controller_->tab_contents()); + InfoBarTabHelper* infobar_helper = wrapper->infobar_tab_helper(); + infobar_helper->AddInfoBar( + new AlternateNavInfoBarDelegate(infobar_helper, alternate_nav_url_)); delete this; } |