Chromium Code Reviews| Index: chrome/browser/ui/webui/translate_internals/translate_internals_handler.cc |
| diff --git a/chrome/browser/ui/webui/translate_internals/translate_internals_handler.cc b/chrome/browser/ui/webui/translate_internals/translate_internals_handler.cc |
| index f6c43ddaaf9007c34999d9fb1fb4dd99ffd4ff17..c9bdddd422bc17d1b254a21d9e1342ae9575bbac 100644 |
| --- a/chrome/browser/ui/webui/translate_internals/translate_internals_handler.cc |
| +++ b/chrome/browser/ui/webui/translate_internals/translate_internals_handler.cc |
| @@ -5,7 +5,6 @@ |
| #include "chrome/browser/ui/webui/translate_internals/translate_internals_handler.h" |
| #include <map> |
| -#include <string> |
| #include <vector> |
| #include "base/bind.h" |
| @@ -14,10 +13,19 @@ |
| #include "base/values.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/browser/translate/translate_prefs.h" |
| +#include "chrome/common/language_detection_details.h" |
| #include "chrome/common/pref_names.h" |
| #include "content/public/browser/web_contents.h" |
| #include "content/public/browser/web_ui.h" |
| +TranslateInternalsHandler::TranslateInternalsHandler() { |
| + TranslateManager::GetInstance()->AddObserver(this); |
|
Evan Stade
2013/05/18 23:42:58
nit: I think it's preferable to use ScopedObserver
|
| +} |
| + |
| +TranslateInternalsHandler::~TranslateInternalsHandler() { |
| + TranslateManager::GetInstance()->RemoveObserver(this); |
| +} |
| + |
| void TranslateInternalsHandler::RegisterMessages() { |
| web_ui()->RegisterMessageCallback("removePrefItem", base::Bind( |
| &TranslateInternalsHandler::OnRemovePrefItem, base::Unretained(this))); |
| @@ -25,6 +33,23 @@ void TranslateInternalsHandler::RegisterMessages() { |
| &TranslateInternalsHandler::OnRequestInfo, base::Unretained(this))); |
| } |
| +void TranslateInternalsHandler::OnLanguageDetection( |
| + const LanguageDetectionDetails& details) { |
| + base::DictionaryValue dict; |
| + dict.Set("time", |
| + new base::FundamentalValue(details.time.ToJsTime())); |
| + dict.Set("url", |
| + new base::StringValue(details.url.spec())); |
| + dict.Set("content_language", |
| + new base::StringValue(details.content_language)); |
| + dict.Set("cld_language", |
| + new base::StringValue(details.cld_language)); |
| + dict.Set("is_cld_reliable", |
| + new base::FundamentalValue(details.is_cld_reliable)); |
| + dict.Set("language", new base::StringValue(details.adopted_language)); |
| + SendMessageToJs("languageDetectionInfoAdded", dict); |
| +} |
| + |
| void TranslateInternalsHandler::OnRemovePrefItem(const base::ListValue* args) { |
| content::WebContents* web_contents = web_ui()->GetWebContents(); |
| Profile* profile = |