Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_BROWSER_TRANSLATE_CHROME_TRANSLATE_CLIENT_H_ | 5 #ifndef CHROME_BROWSER_TRANSLATE_CHROME_TRANSLATE_CLIENT_H_ |
| 6 #define CHROME_BROWSER_TRANSLATE_CHROME_TRANSLATE_CLIENT_H_ | 6 #define CHROME_BROWSER_TRANSLATE_CHROME_TRANSLATE_CLIENT_H_ |
| 7 | 7 |
| 8 #include <memory> | 8 #include <memory> |
| 9 #include <string> | 9 #include <string> |
| 10 | 10 |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 29 class PrefService; | 29 class PrefService; |
| 30 | 30 |
| 31 namespace translate { | 31 namespace translate { |
| 32 class LanguageModel; | 32 class LanguageModel; |
| 33 class LanguageState; | 33 class LanguageState; |
| 34 class TranslateAcceptLanguages; | 34 class TranslateAcceptLanguages; |
| 35 class TranslatePrefs; | 35 class TranslatePrefs; |
| 36 class TranslateManager; | 36 class TranslateManager; |
| 37 } // namespace translate | 37 } // namespace translate |
| 38 | 38 |
| 39 namespace metrics { | |
| 40 class TranslateEventProto; | |
| 41 } // namespace metrics | |
| 42 | |
| 39 class ChromeTranslateClient | 43 class ChromeTranslateClient |
| 40 : public translate::TranslateClient, | 44 : public translate::TranslateClient, |
| 41 public translate::ContentTranslateDriver::Observer, | 45 public translate::ContentTranslateDriver::Observer, |
| 42 public content::WebContentsObserver, | 46 public content::WebContentsObserver, |
| 43 public content::WebContentsUserData<ChromeTranslateClient> { | 47 public content::WebContentsUserData<ChromeTranslateClient> { |
| 44 public: | 48 public: |
| 45 ~ChromeTranslateClient() override; | 49 ~ChromeTranslateClient() override; |
| 46 | 50 |
| 47 // Gets the LanguageState associated with the page. | 51 // Gets the LanguageState associated with the page. |
| 48 translate::LanguageState& GetLanguageState(); | 52 translate::LanguageState& GetLanguageState(); |
| (...skipping 27 matching lines...) Expand all Loading... | |
| 76 content::RenderFrameHost* render_frame_host, | 80 content::RenderFrameHost* render_frame_host, |
| 77 translate::mojom::ContentTranslateDriverRequest request); | 81 translate::mojom::ContentTranslateDriverRequest request); |
| 78 | 82 |
| 79 // Gets the associated TranslateManager. | 83 // Gets the associated TranslateManager. |
| 80 translate::TranslateManager* GetTranslateManager(); | 84 translate::TranslateManager* GetTranslateManager(); |
| 81 | 85 |
| 82 // Gets the associated WebContents. Returns NULL if the WebContents is being | 86 // Gets the associated WebContents. Returns NULL if the WebContents is being |
| 83 // destroyed. | 87 // destroyed. |
| 84 content::WebContents* GetWebContents(); | 88 content::WebContents* GetWebContents(); |
| 85 | 89 |
| 90 // Record a TranslateEventProto. If the metrics provider is not accessible, | |
| 91 // returns false. | |
| 92 bool RecordTranslateEvent( | |
|
Roger McFarlane (Chromium)
2016/10/12 18:18:28
this entry point isn't needed. The TranslateManage
hamelphi
2016/10/12 21:06:09
Done.
| |
| 93 const metrics::TranslateEventProto& translate_event); | |
| 94 | |
| 86 // TranslateClient implementation. | 95 // TranslateClient implementation. |
| 87 translate::TranslateDriver* GetTranslateDriver() override; | 96 translate::TranslateDriver* GetTranslateDriver() override; |
| 88 PrefService* GetPrefs() override; | 97 PrefService* GetPrefs() override; |
| 89 std::unique_ptr<translate::TranslatePrefs> GetTranslatePrefs() override; | 98 std::unique_ptr<translate::TranslatePrefs> GetTranslatePrefs() override; |
| 90 translate::TranslateAcceptLanguages* GetTranslateAcceptLanguages() override; | 99 translate::TranslateAcceptLanguages* GetTranslateAcceptLanguages() override; |
| 91 int GetInfobarIconID() const override; | 100 int GetInfobarIconID() const override; |
| 92 #if !defined(USE_AURA) | 101 #if !defined(USE_AURA) |
| 93 std::unique_ptr<infobars::InfoBar> CreateInfoBar( | 102 std::unique_ptr<infobars::InfoBar> CreateInfoBar( |
| 94 std::unique_ptr<translate::TranslateInfoBarDelegate> delegate) | 103 std::unique_ptr<translate::TranslateInfoBarDelegate> delegate) |
| 95 const override; | 104 const override; |
| (...skipping 28 matching lines...) Expand all Loading... | |
| 124 std::unique_ptr<translate::TranslateManager> translate_manager_; | 133 std::unique_ptr<translate::TranslateManager> translate_manager_; |
| 125 | 134 |
| 126 // Model to be notified about detected language of every page visited. Not | 135 // Model to be notified about detected language of every page visited. Not |
| 127 // owned here. | 136 // owned here. |
| 128 translate::LanguageModel* language_model_; | 137 translate::LanguageModel* language_model_; |
| 129 | 138 |
| 130 DISALLOW_COPY_AND_ASSIGN(ChromeTranslateClient); | 139 DISALLOW_COPY_AND_ASSIGN(ChromeTranslateClient); |
| 131 }; | 140 }; |
| 132 | 141 |
| 133 #endif // CHROME_BROWSER_TRANSLATE_CHROME_TRANSLATE_CLIENT_H_ | 142 #endif // CHROME_BROWSER_TRANSLATE_CHROME_TRANSLATE_CLIENT_H_ |
| OLD | NEW |