summaryrefslogtreecommitdiffstats
path: root/chrome/browser/alternate_nav_url_fetcher.cc
diff options
context:
space:
mode:
authoravi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-30 15:07:08 +0000
committeravi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-30 15:07:08 +0000
commit95a33ed6cb8688573249f7cd7032d23518879c6d (patch)
tree77c2f8d28412caa3aeb6cdb94de420bb811113d6 /chrome/browser/alternate_nav_url_fetcher.cc
parent14ea9bf12826e740fd77fda742e67605df06ce4a (diff)
downloadchromium_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.cc20
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;
}