| 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 |