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

Unified Diff: chrome/browser/google/google_url_tracker_infobar_delegate.cc

Issue 293503003: Eliminate dependence of GoogleURLTracker et al. on InfoBarService (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Style nits Created 6 years, 7 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/google/google_url_tracker_infobar_delegate.cc
diff --git a/chrome/browser/google/google_url_tracker_infobar_delegate.cc b/chrome/browser/google/google_url_tracker_infobar_delegate.cc
index 585cabdf63b795452e95d9fbb96fd09a0aeea90e..79bafb765a813fb35f221dc017534dc2d7ccf57a 100644
--- a/chrome/browser/google/google_url_tracker_infobar_delegate.cc
+++ b/chrome/browser/google/google_url_tracker_infobar_delegate.cc
@@ -5,12 +5,10 @@
#include "chrome/browser/google/google_url_tracker_infobar_delegate.h"
#include "chrome/browser/google/google_url_tracker.h"
+#include "chrome/browser/google/google_url_tracker_navigation_helper.h"
#include "chrome/browser/google/google_util.h"
-#include "chrome/browser/infobars/infobar_service.h"
#include "components/infobars/core/infobar.h"
-#include "content/public/browser/navigation_entry.h"
-#include "content/public/browser/page_navigator.h"
-#include "content/public/browser/web_contents.h"
+#include "components/infobars/core/infobar_manager.h"
#include "grit/generated_resources.h"
#include "net/base/net_util.h"
#include "ui/base/l10n/l10n_util.h"
@@ -18,12 +16,13 @@
// static
infobars::InfoBar* GoogleURLTrackerInfoBarDelegate::Create(
- InfoBarService* infobar_service,
+ infobars::InfoBarManager* infobar_manager,
GoogleURLTracker* google_url_tracker,
+ GoogleURLTrackerNavigationHelper* navigation_helper,
const GURL& search_url) {
- return infobar_service->AddInfoBar(ConfirmInfoBarDelegate::CreateInfoBar(
+ return infobar_manager->AddInfoBar(ConfirmInfoBarDelegate::CreateInfoBar(
scoped_ptr<ConfirmInfoBarDelegate>(new GoogleURLTrackerInfoBarDelegate(
- google_url_tracker, search_url))));
+ google_url_tracker, navigation_helper, search_url))));
}
bool GoogleURLTrackerInfoBarDelegate::Accept() {
@@ -58,23 +57,21 @@ void GoogleURLTrackerInfoBarDelegate::Close(bool redo_search) {
new_search_url = search_url_.ReplaceComponents(replacements);
}
- content::WebContents* contents =
- InfoBarService::WebContentsFromInfoBar(infobar());
+ GoogleURLTrackerNavigationHelper* navigation_helper = navigation_helper_;
infobar()->RemoveSelf();
// WARNING: |this| may be deleted at this point! Do not access any members!
- if (new_search_url.is_valid()) {
- contents->OpenURL(content::OpenURLParams(
- new_search_url, content::Referrer(), CURRENT_TAB,
- content::PAGE_TRANSITION_GENERATED, false));
- }
+ if (new_search_url.is_valid())
+ navigation_helper->OpenURL(new_search_url, CURRENT_TAB, false);
Peter Kasting 2014/05/19 13:59:22 I don't think this is safe. RemoveSelf() above ca
blundell 2014/05/19 14:06:54 Oof, yes you're right. I'm inclined to go back to
Peter Kasting 2014/05/19 14:16:25 Off-the-cuff ideas, you should second-guess me as
}
GoogleURLTrackerInfoBarDelegate::GoogleURLTrackerInfoBarDelegate(
GoogleURLTracker* google_url_tracker,
+ GoogleURLTrackerNavigationHelper* navigation_helper,
const GURL& search_url)
: ConfirmInfoBarDelegate(),
google_url_tracker_(google_url_tracker),
+ navigation_helper_(navigation_helper),
search_url_(search_url),
pending_id_(0) {
}
@@ -107,14 +104,12 @@ base::string16 GoogleURLTrackerInfoBarDelegate::GetLinkText() const {
bool GoogleURLTrackerInfoBarDelegate::LinkClicked(
WindowOpenDisposition disposition) {
- InfoBarService::WebContentsFromInfoBar(infobar())->OpenURL(
- content::OpenURLParams(
- google_util::AppendGoogleLocaleParam(GURL(
- "https://www.google.com/support/chrome/bin/answer.py?"
- "answer=1618699")),
- content::Referrer(),
- (disposition == CURRENT_TAB) ? NEW_FOREGROUND_TAB : disposition,
- content::PAGE_TRANSITION_LINK, false));
+ navigation_helper_->OpenURL(
+ google_util::AppendGoogleLocaleParam(GURL(
+ "https://www.google.com/support/chrome/bin/answer.py?"
+ "answer=1618699")),
+ (disposition == CURRENT_TAB) ? NEW_FOREGROUND_TAB : disposition,
+ true);
return false;
}
« no previous file with comments | « chrome/browser/google/google_url_tracker_infobar_delegate.h ('k') | chrome/browser/google/google_url_tracker_map_entry.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698