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 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
198 NewCallback(this, &PluginsDOMHandler::HandleShowTermsOfServiceMessage)); | 198 NewCallback(this, &PluginsDOMHandler::HandleShowTermsOfServiceMessage)); |
199 } | 199 } |
200 | 200 |
201 void PluginsDOMHandler::HandleRequestPluginsData(const ListValue* args) { | 201 void PluginsDOMHandler::HandleRequestPluginsData(const ListValue* args) { |
202 LoadPlugins(); | 202 LoadPlugins(); |
203 } | 203 } |
204 | 204 |
205 void PluginsDOMHandler::HandleEnablePluginMessage(const ListValue* args) { | 205 void PluginsDOMHandler::HandleEnablePluginMessage(const ListValue* args) { |
206 // Be robust in accepting badness since plug-ins display HTML (hence | 206 // Be robust in accepting badness since plug-ins display HTML (hence |
207 // JavaScript). | 207 // JavaScript). |
208 if (args->GetSize() != 3) | 208 if (args->GetSize() != 4) |
209 return; | 209 return; |
210 | 210 |
211 std::string enable_str; | 211 std::string enable_str; |
212 std::string is_group_str; | 212 std::string is_group_str; |
213 if (!args->GetString(1, &enable_str) || !args->GetString(2, &is_group_str)) | 213 if (!args->GetString(2, &enable_str) || !args->GetString(3, &is_group_str)) |
214 return; | 214 return; |
215 bool enable = enable_str == "true"; | 215 bool enable = enable_str == "true"; |
216 | 216 |
217 PluginUpdater* plugin_updater = PluginUpdater::GetInstance(); | 217 PluginUpdater* plugin_updater = PluginUpdater::GetInstance(); |
218 if (is_group_str == "true") { | 218 if (is_group_str == "true") { |
219 string16 group_name; | 219 string16 group_name; |
220 if (!args->GetString(0, &group_name)) | 220 if (!args->GetString(0, &group_name)) |
221 return; | 221 return; |
222 | 222 |
223 plugin_updater->EnablePluginGroup(enable, group_name); | 223 plugin_updater->EnablePluginGroup(enable, group_name); |
224 if (enable) { | 224 if (enable) { |
225 // See http://crbug.com/50105 for background. | 225 // See http://crbug.com/50105 for background. |
226 string16 adobereader = ASCIIToUTF16(PluginGroup::kAdobeReaderGroupName); | 226 string16 adobereader = ASCIIToUTF16(PluginGroup::kAdobeReaderGroupName); |
227 string16 internalpdf = ASCIIToUTF16(PepperPluginRegistry::kPDFPluginName); | 227 string16 internalpdf = ASCIIToUTF16(PepperPluginRegistry::kPDFPluginName); |
228 if (group_name == adobereader) { | 228 if (group_name == adobereader) { |
229 plugin_updater->EnablePluginGroup(false, internalpdf); | 229 plugin_updater->EnablePluginGroup(false, internalpdf); |
230 } else if (group_name == internalpdf) { | 230 } else if (group_name == internalpdf) { |
231 plugin_updater->EnablePluginGroup(false, adobereader); | 231 plugin_updater->EnablePluginGroup(false, adobereader); |
232 } | 232 } |
233 } | 233 } |
234 } else { | 234 } else { |
| 235 string16 name; |
235 FilePath::StringType file_path; | 236 FilePath::StringType file_path; |
236 if (!args->GetString(0, &file_path)) | 237 if (!args->GetString(0, &file_path) || !args->GetString(1, &name)) |
237 return; | 238 return; |
238 | 239 |
239 plugin_updater->EnablePluginFile(enable, file_path); | 240 plugin_updater->EnablePlugin(enable, file_path, name); |
240 } | 241 } |
241 | 242 |
242 // TODO(viettrungluu): We might also want to ensure that the plugins | 243 // TODO(viettrungluu): We might also want to ensure that the plugins |
243 // list is always written to prefs even when the user hasn't disabled a | 244 // list is always written to prefs even when the user hasn't disabled a |
244 // plugin. <http://crbug.com/39101> | 245 // plugin. <http://crbug.com/39101> |
245 plugin_updater->UpdatePreferences(dom_ui_->GetProfile(), 0); | 246 plugin_updater->UpdatePreferences(dom_ui_->GetProfile(), 0); |
246 } | 247 } |
247 | 248 |
248 void PluginsDOMHandler::HandleShowTermsOfServiceMessage(const ListValue* args) { | 249 void PluginsDOMHandler::HandleShowTermsOfServiceMessage(const ListValue* args) { |
249 // Show it in a new browser window.... | 250 // Show it in a new browser window.... |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
330 void PluginsUI::RegisterUserPrefs(PrefService* prefs) { | 331 void PluginsUI::RegisterUserPrefs(PrefService* prefs) { |
331 FilePath internal_dir; | 332 FilePath internal_dir; |
332 PathService::Get(chrome::DIR_INTERNAL_PLUGINS, &internal_dir); | 333 PathService::Get(chrome::DIR_INTERNAL_PLUGINS, &internal_dir); |
333 prefs->RegisterFilePathPref(prefs::kPluginsLastInternalDirectory, | 334 prefs->RegisterFilePathPref(prefs::kPluginsLastInternalDirectory, |
334 internal_dir); | 335 internal_dir); |
335 | 336 |
336 prefs->RegisterListPref(prefs::kPluginsPluginsBlacklist); | 337 prefs->RegisterListPref(prefs::kPluginsPluginsBlacklist); |
337 prefs->RegisterListPref(prefs::kPluginsPluginsList); | 338 prefs->RegisterListPref(prefs::kPluginsPluginsList); |
338 prefs->RegisterBooleanPref(prefs::kPluginsEnabledInternalPDF, false); | 339 prefs->RegisterBooleanPref(prefs::kPluginsEnabledInternalPDF, false); |
339 } | 340 } |
OLD | NEW |