Index: chrome/browser/translate/translate_tab_helper.cc |
diff --git a/chrome/browser/translate/translate_tab_helper.cc b/chrome/browser/translate/translate_tab_helper.cc |
index 35a6b4fbf5c290b392df6245e3512cd24041dd37..40b8a1593e2080629c3d641da28670009100bfdd 100644 |
--- a/chrome/browser/translate/translate_tab_helper.cc |
+++ b/chrome/browser/translate/translate_tab_helper.cc |
@@ -27,8 +27,8 @@ DEFINE_WEB_CONTENTS_USER_DATA_KEY(TranslateTabHelper); |
TranslateTabHelper::TranslateTabHelper(content::WebContents* web_contents) |
: content::WebContentsObserver(web_contents), |
- translate_driver_(&web_contents->GetController()) { |
-} |
+ translate_driver_(&web_contents->GetController()), |
+ translate_manager_(this) {} |
TranslateTabHelper::~TranslateTabHelper() { |
} |
@@ -55,8 +55,21 @@ TranslateAcceptLanguages* TranslateTabHelper::GetTranslateAcceptLanguages( |
return TranslateAcceptLanguagesFactory::GetForBrowserContext(browser_context); |
} |
+// static |
+TranslateManager* TranslateTabHelper::GetManagerFromWebContents( |
+ content::WebContents* web_contents) { |
+ return FromWebContents(web_contents)->GetTranslateManager(); |
blundell
2014/02/17 15:26:28
This should short-circuit out if the TranslateTabH
droger
2014/02/17 16:52:48
Done.
|
+} |
+ |
+TranslateManager* TranslateTabHelper::GetTranslateManager() { |
+ return &translate_manager_; |
+} |
+ |
+content::WebContents* TranslateTabHelper::GetWebContents() { |
+ return content::WebContentsObserver::web_contents(); |
blundell
2014/02/17 15:26:28
Can't this body just be web_contents()?
droger
2014/02/17 16:52:48
Done.
|
+} |
+ |
void TranslateTabHelper::ShowTranslateUI(TranslateTabHelper::TranslateStep step, |
- content::WebContents* web_contents, |
const std::string source_language, |
const std::string target_language, |
TranslateErrors::Type error_type) { |
@@ -71,16 +84,16 @@ void TranslateTabHelper::ShowTranslateUI(TranslateTabHelper::TranslateStep step, |
if (!GetLanguageState().HasLanguageChanged()) |
return; |
} |
- ShowBubble(web_contents, step, error_type); |
+ ShowBubble(step, error_type); |
return; |
} |
// Infobar UI. |
Profile* profile = |
- Profile::FromBrowserContext(web_contents->GetBrowserContext()); |
+ Profile::FromBrowserContext(web_contents()->GetBrowserContext()); |
Profile* original_profile = profile->GetOriginalProfile(); |
TranslateInfoBarDelegate::Create(step != BEFORE_TRANSLATE, |
- web_contents, |
+ web_contents(), |
step, |
source_language, |
target_language, |
@@ -135,21 +148,20 @@ void TranslateTabHelper::OnPageTranslated(int32 page_id, |
content::Details<PageTranslatedDetails>(&details)); |
} |
-void TranslateTabHelper::ShowBubble(content::WebContents* web_contents, |
- TranslateTabHelper::TranslateStep step, |
+void TranslateTabHelper::ShowBubble(TranslateTabHelper::TranslateStep step, |
TranslateErrors::Type error_type) { |
// The bubble is implemented only on the desktop platforms. |
#if !defined(OS_ANDROID) && !defined(OS_IOS) |
- Browser* browser = chrome::FindBrowserWithWebContents(web_contents); |
+ Browser* browser = chrome::FindBrowserWithWebContents(web_contents()); |
// |browser| might be NULL when testing. In this case, Show(...) should be |
// called because the implementation for testing is used. |
if (!browser) { |
- TranslateBubbleFactory::Show(NULL, web_contents, step, error_type); |
+ TranslateBubbleFactory::Show(NULL, web_contents(), step, error_type); |
return; |
} |
- if (web_contents != browser->tab_strip_model()->GetActiveWebContents()) |
+ if (web_contents() != browser->tab_strip_model()->GetActiveWebContents()) |
return; |
// This ShowBubble function is also used for upating the existing bubble. |
@@ -170,7 +182,7 @@ void TranslateTabHelper::ShowBubble(content::WebContents* web_contents, |
} |
TranslateBubbleFactory::Show( |
- browser->window(), web_contents, step, error_type); |
+ browser->window(), web_contents(), step, error_type); |
#else |
NOTREACHED(); |
#endif |