| Index: chrome/browser/translate/chrome_translate_client.cc
|
| diff --git a/chrome/browser/translate/chrome_translate_client.cc b/chrome/browser/translate/chrome_translate_client.cc
|
| index 6bf702d1fce2d69070b1485488969f93add3ee60..24b1aeb738a227ae1dca48138272d34092131221 100644
|
| --- a/chrome/browser/translate/chrome_translate_client.cc
|
| +++ b/chrome/browser/translate/chrome_translate_client.cc
|
| @@ -25,7 +25,6 @@
|
| #include "chrome/common/chrome_paths.h"
|
| #include "chrome/common/pref_names.h"
|
| #include "components/prefs/pref_service.h"
|
| -#include "components/translate/content/common/translate_messages.h"
|
| #include "components/translate/core/browser/language_state.h"
|
| #include "components/translate/core/browser/page_translated_details.h"
|
| #include "components/translate/core/browser/translate_accept_languages.h"
|
| @@ -138,6 +137,27 @@ void ChromeTranslateClient::GetTranslateLanguages(
|
| translate::TranslateManager::GetTargetLanguage(translate_prefs.get());
|
| }
|
|
|
| +// static
|
| +void ChromeTranslateClient::BindContentTranslateDriver(
|
| + content::RenderFrameHost* render_frame_host,
|
| + translate::mojom::ContentTranslateDriverRequest request) {
|
| + content::WebContents* web_contents =
|
| + content::WebContents::FromRenderFrameHost(render_frame_host);
|
| + if (!web_contents)
|
| + return;
|
| +
|
| + ChromeTranslateClient* instance =
|
| + ChromeTranslateClient::FromWebContents(web_contents);
|
| + // We try to bind to the driver, but if driver is not ready for now or totally
|
| + // not available for this render frame host, the request will be just dropped.
|
| + // This would cause the message pipe to be closed, which will raise a
|
| + // connection error on the peer side.
|
| + if (!instance)
|
| + return;
|
| +
|
| + instance->translate_driver().BindRequest(std::move(request));
|
| +}
|
| +
|
| translate::TranslateManager* ChromeTranslateClient::GetTranslateManager() {
|
| return translate_manager_.get();
|
| }
|
|
|