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

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

Issue 14494004: Added the 'Translation Logs' tab to chrome://translate-internals/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: (Rebasing) Created 7 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 <string>
9 #include <vector> 8 #include <vector>
10 9
11 #include "base/bind.h" 10 #include "base/bind.h"
12 #include "base/bind_helpers.h" 11 #include "base/bind_helpers.h"
13 #include "base/prefs/pref_service.h" 12 #include "base/prefs/pref_service.h"
14 #include "base/values.h" 13 #include "base/values.h"
15 #include "chrome/browser/profiles/profile.h" 14 #include "chrome/browser/profiles/profile.h"
16 #include "chrome/browser/translate/translate_prefs.h" 15 #include "chrome/browser/translate/translate_prefs.h"
16 #include "chrome/common/language_detection_details.h"
17 #include "chrome/common/pref_names.h" 17 #include "chrome/common/pref_names.h"
18 #include "content/public/browser/web_contents.h" 18 #include "content/public/browser/web_contents.h"
19 #include "content/public/browser/web_ui.h" 19 #include "content/public/browser/web_ui.h"
20 20
21 TranslateInternalsHandler::TranslateInternalsHandler() {
22 TranslateManager::GetInstance()->AddObserver(this);
Evan Stade 2013/05/18 23:42:58 nit: I think it's preferable to use ScopedObserver
23 }
24
25 TranslateInternalsHandler::~TranslateInternalsHandler() {
26 TranslateManager::GetInstance()->RemoveObserver(this);
27 }
28
21 void TranslateInternalsHandler::RegisterMessages() { 29 void TranslateInternalsHandler::RegisterMessages() {
22 web_ui()->RegisterMessageCallback("removePrefItem", base::Bind( 30 web_ui()->RegisterMessageCallback("removePrefItem", base::Bind(
23 &TranslateInternalsHandler::OnRemovePrefItem, base::Unretained(this))); 31 &TranslateInternalsHandler::OnRemovePrefItem, base::Unretained(this)));
24 web_ui()->RegisterMessageCallback("requestInfo", base::Bind( 32 web_ui()->RegisterMessageCallback("requestInfo", base::Bind(
25 &TranslateInternalsHandler::OnRequestInfo, base::Unretained(this))); 33 &TranslateInternalsHandler::OnRequestInfo, base::Unretained(this)));
26 } 34 }
27 35
36 void TranslateInternalsHandler::OnLanguageDetection(
37 const LanguageDetectionDetails& details) {
38 base::DictionaryValue dict;
39 dict.Set("time",
40 new base::FundamentalValue(details.time.ToJsTime()));
41 dict.Set("url",
42 new base::StringValue(details.url.spec()));
43 dict.Set("content_language",
44 new base::StringValue(details.content_language));
45 dict.Set("cld_language",
46 new base::StringValue(details.cld_language));
47 dict.Set("is_cld_reliable",
48 new base::FundamentalValue(details.is_cld_reliable));
49 dict.Set("language", new base::StringValue(details.adopted_language));
50 SendMessageToJs("languageDetectionInfoAdded", dict);
51 }
52
28 void TranslateInternalsHandler::OnRemovePrefItem(const base::ListValue* args) { 53 void TranslateInternalsHandler::OnRemovePrefItem(const base::ListValue* args) {
29 content::WebContents* web_contents = web_ui()->GetWebContents(); 54 content::WebContents* web_contents = web_ui()->GetWebContents();
30 Profile* profile = 55 Profile* profile =
31 Profile::FromBrowserContext(web_contents->GetBrowserContext()); 56 Profile::FromBrowserContext(web_contents->GetBrowserContext());
32 PrefService* prefs = profile->GetOriginalProfile()->GetPrefs(); 57 PrefService* prefs = profile->GetOriginalProfile()->GetPrefs();
33 TranslatePrefs translate_prefs(prefs); 58 TranslatePrefs translate_prefs(prefs);
34 59
35 std::string pref_name; 60 std::string pref_name;
36 if (!args->GetString(0, &pref_name)) 61 if (!args->GetString(0, &pref_name))
37 return; 62 return;
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 116
92 for (size_t i = 0; i < arraysize(keys); ++i) { 117 for (size_t i = 0; i < arraysize(keys); ++i) {
93 const char* key = keys[i]; 118 const char* key = keys[i];
94 const PrefService::Preference* pref = prefs->FindPreference(key); 119 const PrefService::Preference* pref = prefs->FindPreference(key);
95 if (pref) 120 if (pref)
96 dict.Set(key, pref->GetValue()->DeepCopy()); 121 dict.Set(key, pref->GetValue()->DeepCopy());
97 } 122 }
98 123
99 SendMessageToJs("prefsUpdated", dict); 124 SendMessageToJs("prefsUpdated", dict);
100 } 125 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698