OLD | NEW |
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 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 content::Source<content::WebContents>(source).ptr(); | 82 content::Source<content::WebContents>(source).ptr(); |
83 | 83 |
84 if (web_contents->GetBrowserContext()->IsOffTheRecord() || | 84 if (web_contents->GetBrowserContext()->IsOffTheRecord() || |
85 !TranslateService::IsTranslatableURL(language_detection_details->url)) { | 85 !TranslateService::IsTranslatableURL(language_detection_details->url)) { |
86 return; | 86 return; |
87 } | 87 } |
88 | 88 |
89 base::DictionaryValue dict; | 89 base::DictionaryValue dict; |
90 dict.Set("time", | 90 dict.Set("time", |
91 new base::Value(language_detection_details->time.ToJsTime())); | 91 new base::Value(language_detection_details->time.ToJsTime())); |
92 dict.Set("url", | 92 dict.Set("url", new base::Value(language_detection_details->url.spec())); |
93 new base::StringValue(language_detection_details->url.spec())); | |
94 dict.Set("content_language", | 93 dict.Set("content_language", |
95 new base::StringValue(language_detection_details->content_language)); | 94 new base::Value(language_detection_details->content_language)); |
96 dict.Set("cld_language", | 95 dict.Set("cld_language", |
97 new base::StringValue(language_detection_details->cld_language)); | 96 new base::Value(language_detection_details->cld_language)); |
98 dict.Set("is_cld_reliable", | 97 dict.Set("is_cld_reliable", |
99 new base::Value(language_detection_details->is_cld_reliable)); | 98 new base::Value(language_detection_details->is_cld_reliable)); |
100 dict.Set("has_notranslate", | 99 dict.Set("has_notranslate", |
101 new base::Value(language_detection_details->has_notranslate)); | 100 new base::Value(language_detection_details->has_notranslate)); |
102 dict.Set( | 101 dict.Set("html_root_language", |
103 "html_root_language", | 102 new base::Value(language_detection_details->html_root_language)); |
104 new base::StringValue(language_detection_details->html_root_language)); | |
105 dict.Set("adopted_language", | 103 dict.Set("adopted_language", |
106 new base::StringValue(language_detection_details->adopted_language)); | 104 new base::Value(language_detection_details->adopted_language)); |
107 dict.Set("content", | 105 dict.Set("content", new base::Value(language_detection_details->contents)); |
108 new base::StringValue(language_detection_details->contents)); | |
109 SendMessageToJs("languageDetectionInfoAdded", dict); | 106 SendMessageToJs("languageDetectionInfoAdded", dict); |
110 } | 107 } |
111 | 108 |
112 void TranslateInternalsHandler::OnTranslateError( | 109 void TranslateInternalsHandler::OnTranslateError( |
113 const translate::TranslateErrorDetails& details) { | 110 const translate::TranslateErrorDetails& details) { |
114 base::DictionaryValue dict; | 111 base::DictionaryValue dict; |
115 dict.Set("time", new base::Value(details.time.ToJsTime())); | 112 dict.Set("time", new base::Value(details.time.ToJsTime())); |
116 dict.Set("url", new base::StringValue(details.url.spec())); | 113 dict.Set("url", new base::Value(details.url.spec())); |
117 dict.Set("error", new base::Value(details.error)); | 114 dict.Set("error", new base::Value(details.error)); |
118 SendMessageToJs("translateErrorDetailsAdded", dict); | 115 SendMessageToJs("translateErrorDetailsAdded", dict); |
119 } | 116 } |
120 | 117 |
121 void TranslateInternalsHandler::OnTranslateEvent( | 118 void TranslateInternalsHandler::OnTranslateEvent( |
122 const translate::TranslateEventDetails& details) { | 119 const translate::TranslateEventDetails& details) { |
123 base::DictionaryValue dict; | 120 base::DictionaryValue dict; |
124 dict.Set("time", new base::Value(details.time.ToJsTime())); | 121 dict.Set("time", new base::Value(details.time.ToJsTime())); |
125 dict.Set("filename", new base::StringValue(details.filename)); | 122 dict.Set("filename", new base::Value(details.filename)); |
126 dict.Set("line", new base::Value(details.line)); | 123 dict.Set("line", new base::Value(details.line)); |
127 dict.Set("message", new base::StringValue(details.message)); | 124 dict.Set("message", new base::Value(details.message)); |
128 SendMessageToJs("translateEventDetailsAdded", dict); | 125 SendMessageToJs("translateEventDetailsAdded", dict); |
129 } | 126 } |
130 | 127 |
131 void TranslateInternalsHandler::OnRemovePrefItem(const base::ListValue* args) { | 128 void TranslateInternalsHandler::OnRemovePrefItem(const base::ListValue* args) { |
132 content::WebContents* web_contents = web_ui()->GetWebContents(); | 129 content::WebContents* web_contents = web_ui()->GetWebContents(); |
133 Profile* profile = | 130 Profile* profile = |
134 Profile::FromBrowserContext(web_contents->GetBrowserContext()); | 131 Profile::FromBrowserContext(web_contents->GetBrowserContext()); |
135 PrefService* prefs = profile->GetOriginalProfile()->GetPrefs(); | 132 PrefService* prefs = profile->GetOriginalProfile()->GetPrefs(); |
136 std::unique_ptr<translate::TranslatePrefs> translate_prefs( | 133 std::unique_ptr<translate::TranslatePrefs> translate_prefs( |
137 ChromeTranslateClient::CreateTranslatePrefs(prefs)); | 134 ChromeTranslateClient::CreateTranslatePrefs(prefs)); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
180 | 177 |
181 void TranslateInternalsHandler::OnRequestInfo(const base::ListValue* /*args*/) { | 178 void TranslateInternalsHandler::OnRequestInfo(const base::ListValue* /*args*/) { |
182 SendPrefsToJs(); | 179 SendPrefsToJs(); |
183 SendSupportedLanguagesToJs(); | 180 SendSupportedLanguagesToJs(); |
184 SendCountryToJs(false); | 181 SendCountryToJs(false); |
185 } | 182 } |
186 | 183 |
187 void TranslateInternalsHandler::SendMessageToJs(const std::string& message, | 184 void TranslateInternalsHandler::SendMessageToJs(const std::string& message, |
188 const base::Value& value) { | 185 const base::Value& value) { |
189 const char func[] = "cr.translateInternals.messageHandler"; | 186 const char func[] = "cr.translateInternals.messageHandler"; |
190 base::StringValue message_data(message); | 187 base::Value message_data(message); |
191 web_ui()->CallJavascriptFunctionUnsafe(func, message_data, value); | 188 web_ui()->CallJavascriptFunctionUnsafe(func, message_data, value); |
192 } | 189 } |
193 | 190 |
194 void TranslateInternalsHandler::SendPrefsToJs() { | 191 void TranslateInternalsHandler::SendPrefsToJs() { |
195 content::WebContents* web_contents = web_ui()->GetWebContents(); | 192 content::WebContents* web_contents = web_ui()->GetWebContents(); |
196 Profile* profile = | 193 Profile* profile = |
197 Profile::FromBrowserContext(web_contents->GetBrowserContext()); | 194 Profile::FromBrowserContext(web_contents->GetBrowserContext()); |
198 PrefService* prefs = profile->GetOriginalProfile()->GetPrefs(); | 195 PrefService* prefs = profile->GetOriginalProfile()->GetPrefs(); |
199 | 196 |
200 base::DictionaryValue dict; | 197 base::DictionaryValue dict; |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
245 | 242 |
246 void TranslateInternalsHandler::SendCountryToJs(bool was_updated) { | 243 void TranslateInternalsHandler::SendCountryToJs(bool was_updated) { |
247 std::string country; | 244 std::string country; |
248 variations::VariationsService* variations_service = | 245 variations::VariationsService* variations_service = |
249 g_browser_process->variations_service(); | 246 g_browser_process->variations_service(); |
250 if (variations_service) | 247 if (variations_service) |
251 country = variations_service->GetStoredPermanentCountry(); | 248 country = variations_service->GetStoredPermanentCountry(); |
252 | 249 |
253 base::DictionaryValue dict; | 250 base::DictionaryValue dict; |
254 if (!country.empty()) { | 251 if (!country.empty()) { |
255 dict.Set("country", new base::StringValue(country)); | 252 dict.Set("country", new base::Value(country)); |
256 dict.Set("update", new base::Value(was_updated)); | 253 dict.Set("update", new base::Value(was_updated)); |
257 } | 254 } |
258 SendMessageToJs("countryUpdated", dict); | 255 SendMessageToJs("countryUpdated", dict); |
259 } | 256 } |
OLD | NEW |