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

Side by Side Diff: chrome/browser/ui/webui/translate_internals/translate_internals_handler.cc

Issue 1923143003: Implement the 2016Q2 Translate UI designe spec out in (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: minor changes in comments Created 4 years, 7 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #include "chrome/browser/ui/webui/translate_internals/translate_internals_handle r.h" 5 #include "chrome/browser/ui/webui/translate_internals/translate_internals_handle r.h"
6 6
7 #include <map> 7 #include <map>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 event_subscription_ = language_list->RegisterEventCallback(base::Bind( 51 event_subscription_ = language_list->RegisterEventCallback(base::Bind(
52 &TranslateInternalsHandler::OnTranslateEvent, base::Unretained(this))); 52 &TranslateInternalsHandler::OnTranslateEvent, base::Unretained(this)));
53 } 53 }
54 54
55 TranslateInternalsHandler::~TranslateInternalsHandler() { 55 TranslateInternalsHandler::~TranslateInternalsHandler() {
56 // |event_subscription_| and |error_subscription_| are deleted automatically 56 // |event_subscription_| and |error_subscription_| are deleted automatically
57 // and un-register the callbacks automatically. 57 // and un-register the callbacks automatically.
58 } 58 }
59 59
60 void TranslateInternalsHandler::RegisterMessages() { 60 void TranslateInternalsHandler::RegisterMessages() {
61 web_ui()->RegisterMessageCallback("removePrefItem", base::Bind( 61 web_ui()->RegisterMessageCallback(
62 &TranslateInternalsHandler::OnRemovePrefItem, base::Unretained(this))); 62 "removePrefItem", base::Bind(&TranslateInternalsHandler::OnRemovePrefItem,
63 web_ui()->RegisterMessageCallback("requestInfo", base::Bind( 63 base::Unretained(this)));
64 &TranslateInternalsHandler::OnRequestInfo, base::Unretained(this))); 64 web_ui()->RegisterMessageCallback(
65 "requestInfo", base::Bind(&TranslateInternalsHandler::OnRequestInfo,
66 base::Unretained(this)));
65 web_ui()->RegisterMessageCallback( 67 web_ui()->RegisterMessageCallback(
66 "overrideCountry", 68 "overrideCountry",
67 base::Bind(&TranslateInternalsHandler::OnOverrideCountry, 69 base::Bind(&TranslateInternalsHandler::OnOverrideCountry,
68 base::Unretained(this))); 70 base::Unretained(this)));
69 } 71 }
70 72
71 void TranslateInternalsHandler::Observe( 73 void TranslateInternalsHandler::Observe(
72 int type, 74 int type,
73 const content::NotificationSource& source, 75 const content::NotificationSource& source,
74 const content::NotificationDetails& details) { 76 const content::NotificationDetails& details) {
75 DCHECK_EQ(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED, type); 77 DCHECK_EQ(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED, type);
76 const translate::LanguageDetectionDetails* language_detection_details = 78 const translate::LanguageDetectionDetails* language_detection_details =
77 content::Details<const translate::LanguageDetectionDetails>(details) 79 content::Details<const translate::LanguageDetectionDetails>(details)
78 .ptr(); 80 .ptr();
79 content::WebContents* web_contents = 81 content::WebContents* web_contents =
80 content::Source<content::WebContents>(source).ptr(); 82 content::Source<content::WebContents>(source).ptr();
81 83
82 if (web_contents->GetBrowserContext()->IsOffTheRecord() || 84 if (web_contents->GetBrowserContext()->IsOffTheRecord() ||
83 !TranslateService::IsTranslatableURL(language_detection_details->url)) { 85 !TranslateService::IsTranslatableURL(language_detection_details->url)) {
84 return; 86 return;
85 } 87 }
86 88
87 base::DictionaryValue dict; 89 base::DictionaryValue dict;
88 dict.Set( 90 dict.Set("time", new base::FundamentalValue(
89 "time", 91 language_detection_details->time.ToJsTime()));
90 new base::FundamentalValue(language_detection_details->time.ToJsTime()));
91 dict.Set("url", 92 dict.Set("url",
92 new base::StringValue(language_detection_details->url.spec())); 93 new base::StringValue(language_detection_details->url.spec()));
93 dict.Set("content_language", 94 dict.Set("content_language",
94 new base::StringValue(language_detection_details->content_language)); 95 new base::StringValue(language_detection_details->content_language));
95 dict.Set("cld_language", 96 dict.Set("cld_language",
96 new base::StringValue(language_detection_details->cld_language)); 97 new base::StringValue(language_detection_details->cld_language));
97 dict.Set( 98 dict.Set("is_cld_reliable", new base::FundamentalValue(
98 "is_cld_reliable", 99 language_detection_details->is_cld_reliable));
99 new base::FundamentalValue(language_detection_details->is_cld_reliable)); 100 dict.Set("has_notranslate", new base::FundamentalValue(
100 dict.Set( 101 language_detection_details->has_notranslate));
101 "has_notranslate",
102 new base::FundamentalValue(language_detection_details->has_notranslate));
103 dict.Set( 102 dict.Set(
104 "html_root_language", 103 "html_root_language",
105 new base::StringValue(language_detection_details->html_root_language)); 104 new base::StringValue(language_detection_details->html_root_language));
106 dict.Set("adopted_language", 105 dict.Set("adopted_language",
107 new base::StringValue(language_detection_details->adopted_language)); 106 new base::StringValue(language_detection_details->adopted_language));
108 dict.Set("content", 107 dict.Set("content",
109 new base::StringValue(language_detection_details->contents)); 108 new base::StringValue(language_detection_details->contents));
110 SendMessageToJs("languageDetectionInfoAdded", dict); 109 SendMessageToJs("languageDetectionInfoAdded", dict);
111 } 110 }
112 111
113 void TranslateInternalsHandler::OnTranslateError( 112 void TranslateInternalsHandler::OnTranslateError(
114 const translate::TranslateErrorDetails& details) { 113 const translate::TranslateErrorDetails& details) {
115 base::DictionaryValue dict; 114 base::DictionaryValue dict;
116 dict.Set("time", 115 dict.Set("time", new base::FundamentalValue(details.time.ToJsTime()));
117 new base::FundamentalValue(details.time.ToJsTime())); 116 dict.Set("url", new base::StringValue(details.url.spec()));
118 dict.Set("url", 117 dict.Set("error", new base::FundamentalValue(details.error));
119 new base::StringValue(details.url.spec()));
120 dict.Set("error",
121 new base::FundamentalValue(details.error));
122 SendMessageToJs("translateErrorDetailsAdded", dict); 118 SendMessageToJs("translateErrorDetailsAdded", dict);
123 } 119 }
124 120
125 void TranslateInternalsHandler::OnTranslateEvent( 121 void TranslateInternalsHandler::OnTranslateEvent(
126 const translate::TranslateEventDetails& details) { 122 const translate::TranslateEventDetails& details) {
127 base::DictionaryValue dict; 123 base::DictionaryValue dict;
128 dict.Set("time", new base::FundamentalValue(details.time.ToJsTime())); 124 dict.Set("time", new base::FundamentalValue(details.time.ToJsTime()));
129 dict.Set("filename", new base::StringValue(details.filename)); 125 dict.Set("filename", new base::StringValue(details.filename));
130 dict.Set("line", new base::FundamentalValue(details.line)); 126 dict.Set("line", new base::FundamentalValue(details.line));
131 dict.Set("message", new base::StringValue(details.message)); 127 dict.Set("message", new base::StringValue(details.message));
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 198
203 void TranslateInternalsHandler::SendPrefsToJs() { 199 void TranslateInternalsHandler::SendPrefsToJs() {
204 content::WebContents* web_contents = web_ui()->GetWebContents(); 200 content::WebContents* web_contents = web_ui()->GetWebContents();
205 Profile* profile = 201 Profile* profile =
206 Profile::FromBrowserContext(web_contents->GetBrowserContext()); 202 Profile::FromBrowserContext(web_contents->GetBrowserContext());
207 PrefService* prefs = profile->GetOriginalProfile()->GetPrefs(); 203 PrefService* prefs = profile->GetOriginalProfile()->GetPrefs();
208 204
209 base::DictionaryValue dict; 205 base::DictionaryValue dict;
210 206
211 static const char* keys[] = { 207 static const char* keys[] = {
212 prefs::kEnableTranslate, 208 prefs::kEnableTranslate,
213 translate::TranslatePrefs::kPrefTranslateBlockedLanguages, 209 translate::TranslatePrefs::kPrefTranslateBlockedLanguages,
214 translate::TranslatePrefs::kPrefTranslateSiteBlacklist, 210 translate::TranslatePrefs::kPrefTranslateSiteBlacklist,
215 translate::TranslatePrefs::kPrefTranslateWhitelists, 211 translate::TranslatePrefs::kPrefTranslateWhitelists,
216 translate::TranslatePrefs::kPrefTranslateDeniedCount, 212 translate::TranslatePrefs::kPrefTranslateDeniedCount,
217 translate::TranslatePrefs::kPrefTranslateAcceptedCount, 213 translate::TranslatePrefs::kPrefTranslateIgnoredCount,
218 translate::TranslatePrefs::kPrefTranslateLastDeniedTimeForLanguage, 214 translate::TranslatePrefs::kPrefTranslateAcceptedCount,
219 translate::TranslatePrefs::kPrefTranslateTooOftenDeniedForLanguage, 215 translate::TranslatePrefs::kPrefTranslateLastDeniedTimeForLanguage,
216 translate::TranslatePrefs::kPrefTranslateTooOftenDeniedForLanguage,
220 }; 217 };
221 for (const char* key : keys) { 218 for (const char* key : keys) {
222 const PrefService::Preference* pref = prefs->FindPreference(key); 219 const PrefService::Preference* pref = prefs->FindPreference(key);
223 if (pref) 220 if (pref)
224 dict.Set(key, pref->GetValue()->DeepCopy()); 221 dict.Set(key, pref->GetValue()->DeepCopy());
225 } 222 }
226 223
227 SendMessageToJs("prefsUpdated", dict); 224 SendMessageToJs("prefsUpdated", dict);
228 } 225 }
229 226
(...skipping 10 matching lines...) Expand all
240 for (std::vector<std::string>::iterator it = languages.begin(); 237 for (std::vector<std::string>::iterator it = languages.begin();
241 it != languages.end(); ++it) { 238 it != languages.end(); ++it) {
242 const std::string& lang = *it; 239 const std::string& lang = *it;
243 languages_list->Append(new base::StringValue(lang)); 240 languages_list->Append(new base::StringValue(lang));
244 if (translate::TranslateDownloadManager::IsAlphaLanguage(lang)) 241 if (translate::TranslateDownloadManager::IsAlphaLanguage(lang))
245 alpha_languages_list->Append(new base::StringValue(lang)); 242 alpha_languages_list->Append(new base::StringValue(lang));
246 } 243 }
247 244
248 dict.Set("languages", languages_list); 245 dict.Set("languages", languages_list);
249 dict.Set("alpha_languages", alpha_languages_list); 246 dict.Set("alpha_languages", alpha_languages_list);
250 dict.Set("last_updated", 247 dict.Set("last_updated", new base::FundamentalValue(last_updated.ToJsTime()));
251 new base::FundamentalValue(last_updated.ToJsTime()));
252 SendMessageToJs("supportedLanguagesUpdated", dict); 248 SendMessageToJs("supportedLanguagesUpdated", dict);
253 } 249 }
254 250
255 void TranslateInternalsHandler::SendCountryToJs(bool was_updated) { 251 void TranslateInternalsHandler::SendCountryToJs(bool was_updated) {
256 std::string country; 252 std::string country;
257 variations::VariationsService* variations_service = 253 variations::VariationsService* variations_service =
258 g_browser_process->variations_service(); 254 g_browser_process->variations_service();
259 if (variations_service) 255 if (variations_service)
260 country = variations_service->GetStoredPermanentCountry(); 256 country = variations_service->GetStoredPermanentCountry();
261 257
262 base::DictionaryValue dict; 258 base::DictionaryValue dict;
263 if (!country.empty()) { 259 if (!country.empty()) {
264 dict.Set("country", new base::StringValue(country)); 260 dict.Set("country", new base::StringValue(country));
265 dict.Set("update", new base::FundamentalValue(was_updated)); 261 dict.Set("update", new base::FundamentalValue(was_updated));
266 } 262 }
267 SendMessageToJs("countryUpdated", dict); 263 SendMessageToJs("countryUpdated", dict);
268 } 264 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698