Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(187)

Side by Side Diff: chrome/browser/translate/chrome_translate_client.h

Issue 2395253002: Send TranslateEventProtos to UMA. (Closed)
Patch Set: nit Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698