| Index: components/translate/core/browser/translate_manager.cc
|
| diff --git a/components/translate/core/browser/translate_manager.cc b/components/translate/core/browser/translate_manager.cc
|
| index 95bc6af2e24715af0304185ef82d577d5a5cbdef..dcc8c3084fc07dba176be7a981cfa773c989ed0b 100644
|
| --- a/components/translate/core/browser/translate_manager.cc
|
| +++ b/components/translate/core/browser/translate_manager.cc
|
| @@ -75,6 +75,10 @@ TranslateManager::TranslateManager(
|
| translate_driver_(translate_client_->GetTranslateDriver()),
|
| weak_method_factory_(this) {}
|
|
|
| +base::WeakPtr<TranslateManager> TranslateManager::GetWeakPtr() {
|
| + return weak_method_factory_.GetWeakPtr();
|
| +}
|
| +
|
| void TranslateManager::InitiateTranslation(const std::string& page_lang) {
|
| // Short-circuit out if not in a state where initiating translation makes
|
| // sense (this method may be called muhtiple times for a given page).
|
| @@ -239,12 +243,9 @@ void TranslateManager::TranslatePage(const std::string& original_source_lang,
|
|
|
| // The script is not available yet. Queue that request and query for the
|
| // script. Once it is downloaded we'll do the translate.
|
| - TranslateScript::RequestCallback callback =
|
| - base::Bind(&TranslateManager::OnTranslateScriptFetchComplete,
|
| - weak_method_factory_.GetWeakPtr(),
|
| - translate_driver_->GetCurrentPageID(),
|
| - source_lang,
|
| - target_lang);
|
| + TranslateScript::RequestCallback callback = base::Bind(
|
| + &TranslateManager::OnTranslateScriptFetchComplete, GetWeakPtr(),
|
| + translate_driver_->GetCurrentPageID(), source_lang, target_lang);
|
|
|
| script->Request(callback);
|
| }
|
|
|