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" |
11 #include "base/bind_helpers.h" | 11 #include "base/bind_helpers.h" |
12 #include "base/prefs/pref_service.h" | 12 #include "base/prefs/pref_service.h" |
13 #include "base/values.h" | 13 #include "base/values.h" |
14 #include "chrome/browser/profiles/profile.h" | 14 #include "chrome/browser/profiles/profile.h" |
15 #include "chrome/browser/translate/translate_prefs.h" | 15 #include "chrome/browser/translate/translate_tab_helper.h" |
16 #include "chrome/common/pref_names.h" | 16 #include "chrome/common/pref_names.h" |
17 #include "components/translate/core/browser/translate_download_manager.h" | 17 #include "components/translate/core/browser/translate_download_manager.h" |
18 #include "components/translate/core/browser/translate_error_details.h" | 18 #include "components/translate/core/browser/translate_error_details.h" |
19 #include "components/translate/core/browser/translate_event_details.h" | 19 #include "components/translate/core/browser/translate_event_details.h" |
| 20 #include "components/translate/core/browser/translate_prefs.h" |
20 #include "components/translate/core/common/language_detection_details.h" | 21 #include "components/translate/core/common/language_detection_details.h" |
21 #include "components/translate/core/common/translate_pref_names.h" | 22 #include "components/translate/core/common/translate_pref_names.h" |
22 #include "content/public/browser/web_contents.h" | 23 #include "content/public/browser/web_contents.h" |
23 #include "content/public/browser/web_ui.h" | 24 #include "content/public/browser/web_ui.h" |
24 | 25 |
25 TranslateInternalsHandler::TranslateInternalsHandler() { | 26 TranslateInternalsHandler::TranslateInternalsHandler() { |
26 TranslateManager::GetInstance()->AddObserver(this); | 27 TranslateManager::GetInstance()->AddObserver(this); |
27 TranslateLanguageList* language_list = | 28 TranslateLanguageList* language_list = |
28 TranslateDownloadManager::GetInstance()->language_list(); | 29 TranslateDownloadManager::GetInstance()->language_list(); |
29 if (!language_list) { | 30 if (!language_list) { |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
93 dict.Set("line", new base::FundamentalValue(details.line)); | 94 dict.Set("line", new base::FundamentalValue(details.line)); |
94 dict.Set("message", new base::StringValue(details.message)); | 95 dict.Set("message", new base::StringValue(details.message)); |
95 SendMessageToJs("translateEventDetailsAdded", dict); | 96 SendMessageToJs("translateEventDetailsAdded", dict); |
96 } | 97 } |
97 | 98 |
98 void TranslateInternalsHandler::OnRemovePrefItem(const base::ListValue* args) { | 99 void TranslateInternalsHandler::OnRemovePrefItem(const base::ListValue* args) { |
99 content::WebContents* web_contents = web_ui()->GetWebContents(); | 100 content::WebContents* web_contents = web_ui()->GetWebContents(); |
100 Profile* profile = | 101 Profile* profile = |
101 Profile::FromBrowserContext(web_contents->GetBrowserContext()); | 102 Profile::FromBrowserContext(web_contents->GetBrowserContext()); |
102 PrefService* prefs = profile->GetOriginalProfile()->GetPrefs(); | 103 PrefService* prefs = profile->GetOriginalProfile()->GetPrefs(); |
103 TranslatePrefs translate_prefs(prefs); | 104 scoped_ptr<TranslatePrefs> translate_prefs( |
| 105 TranslateTabHelper::CreateTranslatePrefs(prefs)); |
104 | 106 |
105 std::string pref_name; | 107 std::string pref_name; |
106 if (!args->GetString(0, &pref_name)) | 108 if (!args->GetString(0, &pref_name)) |
107 return; | 109 return; |
108 | 110 |
109 if (pref_name == "blocked_languages") { | 111 if (pref_name == "blocked_languages") { |
110 std::string language; | 112 std::string language; |
111 if (!args->GetString(1, &language)) | 113 if (!args->GetString(1, &language)) |
112 return; | 114 return; |
113 translate_prefs.UnblockLanguage(language); | 115 translate_prefs->UnblockLanguage(language); |
114 } else if (pref_name == "language_blacklist") { | 116 } else if (pref_name == "language_blacklist") { |
115 std::string language; | 117 std::string language; |
116 if (!args->GetString(1, &language)) | 118 if (!args->GetString(1, &language)) |
117 return; | 119 return; |
118 translate_prefs.RemoveLanguageFromLegacyBlacklist(language); | 120 translate_prefs->RemoveLanguageFromLegacyBlacklist(language); |
119 } else if (pref_name == "site_blacklist") { | 121 } else if (pref_name == "site_blacklist") { |
120 std::string site; | 122 std::string site; |
121 if (!args->GetString(1, &site)) | 123 if (!args->GetString(1, &site)) |
122 return; | 124 return; |
123 translate_prefs.RemoveSiteFromBlacklist(site); | 125 translate_prefs->RemoveSiteFromBlacklist(site); |
124 } else if (pref_name == "whitelists") { | 126 } else if (pref_name == "whitelists") { |
125 std::string from, to; | 127 std::string from, to; |
126 if (!args->GetString(1, &from)) | 128 if (!args->GetString(1, &from)) |
127 return; | 129 return; |
128 if (!args->GetString(2, &to)) | 130 if (!args->GetString(2, &to)) |
129 return; | 131 return; |
130 translate_prefs.RemoveLanguagePairFromWhitelist(from, to); | 132 translate_prefs->RemoveLanguagePairFromWhitelist(from, to); |
131 } else { | 133 } else { |
132 return; | 134 return; |
133 } | 135 } |
134 | 136 |
135 SendPrefsToJs(); | 137 SendPrefsToJs(); |
136 } | 138 } |
137 | 139 |
138 void TranslateInternalsHandler::OnRequestInfo(const base::ListValue* /*args*/) { | 140 void TranslateInternalsHandler::OnRequestInfo(const base::ListValue* /*args*/) { |
139 SendPrefsToJs(); | 141 SendPrefsToJs(); |
140 SendSupportedLanguagesToJs(); | 142 SendSupportedLanguagesToJs(); |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
193 if (TranslateDownloadManager::IsAlphaLanguage(lang)) | 195 if (TranslateDownloadManager::IsAlphaLanguage(lang)) |
194 alpha_languages_list->Append(new base::StringValue(lang)); | 196 alpha_languages_list->Append(new base::StringValue(lang)); |
195 } | 197 } |
196 | 198 |
197 dict.Set("languages", languages_list); | 199 dict.Set("languages", languages_list); |
198 dict.Set("alpha_languages", alpha_languages_list); | 200 dict.Set("alpha_languages", alpha_languages_list); |
199 dict.Set("last_updated", | 201 dict.Set("last_updated", |
200 new base::FundamentalValue(last_updated.ToJsTime())); | 202 new base::FundamentalValue(last_updated.ToJsTime())); |
201 SendMessageToJs("supportedLanguagesUpdated", dict); | 203 SendMessageToJs("supportedLanguagesUpdated", dict); |
202 } | 204 } |
OLD | NEW |