OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/dom_ui/plugins_ui.h" | 5 #include "chrome/browser/dom_ui/plugins_ui.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
160 dom_ui_->RegisterMessageCallback("enablePlugin", | 160 dom_ui_->RegisterMessageCallback("enablePlugin", |
161 NewCallback(this, &PluginsDOMHandler::HandleEnablePluginMessage)); | 161 NewCallback(this, &PluginsDOMHandler::HandleEnablePluginMessage)); |
162 dom_ui_->RegisterMessageCallback("showTermsOfService", | 162 dom_ui_->RegisterMessageCallback("showTermsOfService", |
163 NewCallback(this, &PluginsDOMHandler::HandleShowTermsOfServiceMessage)); | 163 NewCallback(this, &PluginsDOMHandler::HandleShowTermsOfServiceMessage)); |
164 } | 164 } |
165 | 165 |
166 void PluginsDOMHandler::HandleRequestPluginsData(const Value* value) { | 166 void PluginsDOMHandler::HandleRequestPluginsData(const Value* value) { |
167 DictionaryValue* results = new DictionaryValue(); | 167 DictionaryValue* results = new DictionaryValue(); |
168 | 168 |
169 // Grouped plugins. | 169 // Grouped plugins. |
170 results->Set(L"plugins", PluginUpdater::GetInstance()->GetPluginGroupsData()); | 170 results->Set(L"plugins", plugin_updater::GetPluginGroupsData()); |
171 | 171 |
172 dom_ui_->CallJavascriptFunction(L"returnPluginsData", *results); | 172 dom_ui_->CallJavascriptFunction(L"returnPluginsData", *results); |
173 } | 173 } |
174 | 174 |
175 void PluginsDOMHandler::HandleEnablePluginMessage(const Value* value) { | 175 void PluginsDOMHandler::HandleEnablePluginMessage(const Value* value) { |
176 // Be robust in accepting badness since plug-ins display HTML (hence | 176 // Be robust in accepting badness since plug-ins display HTML (hence |
177 // JavaScript). | 177 // JavaScript). |
178 if (!value->IsType(Value::TYPE_LIST)) | 178 if (!value->IsType(Value::TYPE_LIST)) |
179 return; | 179 return; |
180 | 180 |
181 const ListValue* list = static_cast<const ListValue*>(value); | 181 const ListValue* list = static_cast<const ListValue*>(value); |
182 if (list->GetSize() != 3) | 182 if (list->GetSize() != 3) |
183 return; | 183 return; |
184 | 184 |
185 std::string enable_str; | 185 std::string enable_str; |
186 std::string is_group_str; | 186 std::string is_group_str; |
187 if (!list->GetString(1, &enable_str) || | 187 if (!list->GetString(1, &enable_str) || !list->GetString(2, &is_group_str)) |
188 !list->GetString(2, &is_group_str)) | |
189 return; | 188 return; |
190 | 189 |
191 if (is_group_str == "true") { | 190 if (is_group_str == "true") { |
192 std::wstring group_name; | 191 std::wstring group_name; |
193 if (!list->GetString(0, &group_name)) | 192 if (!list->GetString(0, &group_name)) |
194 return; | 193 return; |
195 | 194 |
196 PluginUpdater::GetInstance()->EnablePluginGroup(enable_str == "true", | 195 plugin_updater::EnablePluginGroup(enable_str == "true", |
197 WideToUTF16(group_name)); | 196 WideToUTF16(group_name)); |
198 } else { | 197 } else { |
199 FilePath::StringType file_path; | 198 FilePath::StringType file_path; |
200 if (!list->GetString(0, &file_path)) | 199 if (!list->GetString(0, &file_path)) |
201 return; | 200 return; |
202 | 201 |
203 PluginUpdater::GetInstance()->EnablePluginFile(enable_str == "true", | 202 plugin_updater::EnablePluginFile(enable_str == "true", file_path); |
204 file_path); | |
205 } | 203 } |
206 | 204 |
207 // TODO(viettrungluu): We might also want to ensure that the plugins | 205 // TODO(viettrungluu): We might also want to ensure that the plugins |
208 // list is always written to prefs even when the user hasn't disabled a | 206 // list is always written to prefs even when the user hasn't disabled a |
209 // plugin. <http://crbug.com/39101> | 207 // plugin. <http://crbug.com/39101> |
210 PluginUpdater::GetInstance()->UpdatePreferences(dom_ui_->GetProfile()); | 208 plugin_updater::UpdatePreferences(dom_ui_->GetProfile()); |
211 } | 209 } |
212 | 210 |
213 void PluginsDOMHandler::HandleShowTermsOfServiceMessage(const Value* value) { | 211 void PluginsDOMHandler::HandleShowTermsOfServiceMessage(const Value* value) { |
214 // Show it in a new browser window.... | 212 // Show it in a new browser window.... |
215 Browser* browser = Browser::Create(dom_ui_->GetProfile()); | 213 Browser* browser = Browser::Create(dom_ui_->GetProfile()); |
216 browser->OpenURL(GURL(chrome::kAboutTermsURL), | 214 browser->OpenURL(GURL(chrome::kAboutTermsURL), |
217 GURL(), NEW_FOREGROUND_TAB, PageTransition::LINK); | 215 GURL(), NEW_FOREGROUND_TAB, PageTransition::LINK); |
218 browser->window()->Show(); | 216 browser->window()->Show(); |
219 } | 217 } |
220 | 218 |
(...skipping 28 matching lines...) Expand all Loading... |
249 // static | 247 // static |
250 void PluginsUI::RegisterUserPrefs(PrefService* prefs) { | 248 void PluginsUI::RegisterUserPrefs(PrefService* prefs) { |
251 FilePath internal_dir; | 249 FilePath internal_dir; |
252 PathService::Get(chrome::DIR_INTERNAL_PLUGINS, &internal_dir); | 250 PathService::Get(chrome::DIR_INTERNAL_PLUGINS, &internal_dir); |
253 prefs->RegisterFilePathPref(prefs::kPluginsLastInternalDirectory, | 251 prefs->RegisterFilePathPref(prefs::kPluginsLastInternalDirectory, |
254 internal_dir); | 252 internal_dir); |
255 | 253 |
256 prefs->RegisterListPref(prefs::kPluginsPluginsList); | 254 prefs->RegisterListPref(prefs::kPluginsPluginsList); |
257 prefs->RegisterBooleanPref(prefs::kPluginsEnabledInternalPDF, false); | 255 prefs->RegisterBooleanPref(prefs::kPluginsEnabledInternalPDF, false); |
258 } | 256 } |
OLD | NEW |