diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-12 14:27:29 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-13 09:35:20 +0000 |
commit | c30a6232df03e1efbd9f3b226777b07e087a1122 (patch) | |
tree | e992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/weblayer/browser/translate_client_impl.h | |
parent | 7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff) | |
download | qtwebengine-chromium-85-based.tar.gz |
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/weblayer/browser/translate_client_impl.h')
-rw-r--r-- | chromium/weblayer/browser/translate_client_impl.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/chromium/weblayer/browser/translate_client_impl.h b/chromium/weblayer/browser/translate_client_impl.h index 760d69dbfaf..c33e77eb77b 100644 --- a/chromium/weblayer/browser/translate_client_impl.h +++ b/chromium/weblayer/browser/translate_client_impl.h @@ -8,6 +8,7 @@ #include <memory> #include <string> +#include "base/scoped_observer.h" #include "build/build_config.h" #include "components/translate/content/browser/content_translate_driver.h" #include "components/translate/core/browser/translate_client.h" @@ -27,6 +28,7 @@ namespace weblayer { class TranslateClientImpl : public translate::TranslateClient, + public translate::ContentTranslateDriver::Observer, public content::WebContentsObserver, public content::WebContentsUserData<TranslateClientImpl> { public: @@ -63,6 +65,14 @@ class TranslateClientImpl bool IsTranslatableURL(const GURL& url) override; void ShowReportLanguageDetectionErrorUI(const GURL& report_url) override; + // ContentTranslateDriver::Observer implementation. + void OnLanguageDetermined( + const translate::LanguageDetectionDetails& details) override; + + // Trigger a manual translation when the necessary state (e.g. source + // language) is ready. + void ManualTranslateWhenReady(); + private: explicit TranslateClientImpl(content::WebContents* web_contents); friend class content::WebContentsUserData<TranslateClientImpl>; @@ -73,6 +83,13 @@ class TranslateClientImpl translate::ContentTranslateDriver translate_driver_; std::unique_ptr<translate::TranslateManager> translate_manager_; + // Whether to trigger a manual translation when ready. + bool manual_translate_on_ready_ = false; + + ScopedObserver<translate::ContentTranslateDriver, + translate::ContentTranslateDriver::Observer> + observer_{this}; + WEB_CONTENTS_USER_DATA_KEY_DECL(); DISALLOW_COPY_AND_ASSIGN(TranslateClientImpl); |