OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/extensions/extension_settings_handler.h" | 5 #include "chrome/browser/ui/webui/extensions/extension_settings_handler.h" |
6 | 6 |
7 #include "base/auto_reset.h" | 7 #include "base/auto_reset.h" |
8 #include "base/base64.h" | 8 #include "base/base64.h" |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
300 source->AddString("extensionSettingsReloadTerminated", | 300 source->AddString("extensionSettingsReloadTerminated", |
301 l10n_util::GetStringUTF16(IDS_EXTENSIONS_RELOAD_TERMINATED)); | 301 l10n_util::GetStringUTF16(IDS_EXTENSIONS_RELOAD_TERMINATED)); |
302 source->AddString("extensionSettingsLaunch", | 302 source->AddString("extensionSettingsLaunch", |
303 l10n_util::GetStringUTF16(IDS_EXTENSIONS_LAUNCH)); | 303 l10n_util::GetStringUTF16(IDS_EXTENSIONS_LAUNCH)); |
304 source->AddString("extensionSettingsRestart", | 304 source->AddString("extensionSettingsRestart", |
305 l10n_util::GetStringUTF16(IDS_EXTENSIONS_RESTART)); | 305 l10n_util::GetStringUTF16(IDS_EXTENSIONS_RESTART)); |
306 source->AddString("extensionSettingsReloadUnpacked", | 306 source->AddString("extensionSettingsReloadUnpacked", |
307 l10n_util::GetStringUTF16(IDS_EXTENSIONS_RELOAD_UNPACKED)); | 307 l10n_util::GetStringUTF16(IDS_EXTENSIONS_RELOAD_UNPACKED)); |
308 source->AddString("extensionSettingsOptions", | 308 source->AddString("extensionSettingsOptions", |
309 l10n_util::GetStringUTF16(IDS_EXTENSIONS_OPTIONS_LINK)); | 309 l10n_util::GetStringUTF16(IDS_EXTENSIONS_OPTIONS_LINK)); |
| 310 source->AddString("extensionSettingsPermissions", |
| 311 l10n_util::GetStringUTF16(IDS_EXTENSIONS_PERMISSIONS_LINK)); |
310 source->AddString("extensionSettingsActivity", | 312 source->AddString("extensionSettingsActivity", |
311 l10n_util::GetStringUTF16(IDS_EXTENSIONS_ACTIVITY_LINK)); | 313 l10n_util::GetStringUTF16(IDS_EXTENSIONS_ACTIVITY_LINK)); |
312 source->AddString("extensionSettingsVisitWebsite", | 314 source->AddString("extensionSettingsVisitWebsite", |
313 l10n_util::GetStringUTF16(IDS_EXTENSIONS_VISIT_WEBSITE)); | 315 l10n_util::GetStringUTF16(IDS_EXTENSIONS_VISIT_WEBSITE)); |
314 source->AddString("extensionSettingsVisitWebStore", | 316 source->AddString("extensionSettingsVisitWebStore", |
315 l10n_util::GetStringUTF16(IDS_EXTENSIONS_VISIT_WEBSTORE)); | 317 l10n_util::GetStringUTF16(IDS_EXTENSIONS_VISIT_WEBSTORE)); |
316 source->AddString("extensionSettingsPolicyControlled", | 318 source->AddString("extensionSettingsPolicyControlled", |
317 l10n_util::GetStringUTF16(IDS_EXTENSIONS_POLICY_CONTROLLED)); | 319 l10n_util::GetStringUTF16(IDS_EXTENSIONS_POLICY_CONTROLLED)); |
318 source->AddString("extensionSettingsManagedMode", | 320 source->AddString("extensionSettingsManagedMode", |
319 l10n_util::GetStringUTF16(IDS_EXTENSIONS_LOCKED_MANAGED_MODE)); | 321 l10n_util::GetStringUTF16(IDS_EXTENSIONS_LOCKED_MANAGED_MODE)); |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
394 base::Unretained(this))); | 396 base::Unretained(this))); |
395 web_ui()->RegisterMessageCallback("extensionSettingsAllowFileAccess", | 397 web_ui()->RegisterMessageCallback("extensionSettingsAllowFileAccess", |
396 base::Bind(&ExtensionSettingsHandler::HandleAllowFileAccessMessage, | 398 base::Bind(&ExtensionSettingsHandler::HandleAllowFileAccessMessage, |
397 base::Unretained(this))); | 399 base::Unretained(this))); |
398 web_ui()->RegisterMessageCallback("extensionSettingsUninstall", | 400 web_ui()->RegisterMessageCallback("extensionSettingsUninstall", |
399 base::Bind(&ExtensionSettingsHandler::HandleUninstallMessage, | 401 base::Bind(&ExtensionSettingsHandler::HandleUninstallMessage, |
400 base::Unretained(this))); | 402 base::Unretained(this))); |
401 web_ui()->RegisterMessageCallback("extensionSettingsOptions", | 403 web_ui()->RegisterMessageCallback("extensionSettingsOptions", |
402 base::Bind(&ExtensionSettingsHandler::HandleOptionsMessage, | 404 base::Bind(&ExtensionSettingsHandler::HandleOptionsMessage, |
403 base::Unretained(this))); | 405 base::Unretained(this))); |
| 406 web_ui()->RegisterMessageCallback("extensionSettingsPermissions", |
| 407 base::Bind(&ExtensionSettingsHandler::HandlePermissionsMessage, |
| 408 base::Unretained(this))); |
404 web_ui()->RegisterMessageCallback("extensionSettingsShowButton", | 409 web_ui()->RegisterMessageCallback("extensionSettingsShowButton", |
405 base::Bind(&ExtensionSettingsHandler::HandleShowButtonMessage, | 410 base::Bind(&ExtensionSettingsHandler::HandleShowButtonMessage, |
406 base::Unretained(this))); | 411 base::Unretained(this))); |
407 web_ui()->RegisterMessageCallback("extensionSettingsAutoupdate", | 412 web_ui()->RegisterMessageCallback("extensionSettingsAutoupdate", |
408 base::Bind(&ExtensionSettingsHandler::HandleAutoUpdateMessage, | 413 base::Bind(&ExtensionSettingsHandler::HandleAutoUpdateMessage, |
409 base::Unretained(this))); | 414 base::Unretained(this))); |
410 web_ui()->RegisterMessageCallback("extensionSettingsLoadUnpackedExtension", | 415 web_ui()->RegisterMessageCallback("extensionSettingsLoadUnpackedExtension", |
411 base::Bind(&ExtensionSettingsHandler::HandleLoadUnpackedExtensionMessage, | 416 base::Bind(&ExtensionSettingsHandler::HandleLoadUnpackedExtensionMessage, |
412 base::Unretained(this))); | 417 base::Unretained(this))); |
413 } | 418 } |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
502 } | 507 } |
503 | 508 |
504 void ExtensionSettingsHandler::ExtensionUninstallCanceled() { | 509 void ExtensionSettingsHandler::ExtensionUninstallCanceled() { |
505 extension_id_prompting_ = ""; | 510 extension_id_prompting_ = ""; |
506 } | 511 } |
507 | 512 |
508 void ExtensionSettingsHandler::ExtensionWarningsChanged() { | 513 void ExtensionSettingsHandler::ExtensionWarningsChanged() { |
509 MaybeUpdateAfterNotification(); | 514 MaybeUpdateAfterNotification(); |
510 } | 515 } |
511 | 516 |
| 517 void ExtensionSettingsHandler::InstallUIProceed() { |
| 518 // This should never happen. The dialog only has a cancel button. |
| 519 NOTREACHED(); |
| 520 } |
| 521 |
| 522 void ExtensionSettingsHandler::InstallUIAbort(bool user_initiated) { |
| 523 } |
| 524 |
512 void ExtensionSettingsHandler::ReloadUnpackedExtensions() { | 525 void ExtensionSettingsHandler::ReloadUnpackedExtensions() { |
513 const ExtensionSet* extensions = extension_service_->extensions(); | 526 const ExtensionSet* extensions = extension_service_->extensions(); |
514 std::vector<const Extension*> unpacked_extensions; | 527 std::vector<const Extension*> unpacked_extensions; |
515 for (ExtensionSet::const_iterator extension = extensions->begin(); | 528 for (ExtensionSet::const_iterator extension = extensions->begin(); |
516 extension != extensions->end(); ++extension) { | 529 extension != extensions->end(); ++extension) { |
517 if ((*extension)->location() == Manifest::LOAD) | 530 if ((*extension)->location() == Manifest::LOAD) |
518 unpacked_extensions.push_back(*extension); | 531 unpacked_extensions.push_back(*extension); |
519 } | 532 } |
520 | 533 |
521 for (std::vector<const Extension*>::iterator iter = | 534 for (std::vector<const Extension*>::iterator iter = |
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
791 void ExtensionSettingsHandler::HandleOptionsMessage(const ListValue* args) { | 804 void ExtensionSettingsHandler::HandleOptionsMessage(const ListValue* args) { |
792 const Extension* extension = GetActiveExtension(args); | 805 const Extension* extension = GetActiveExtension(args); |
793 if (!extension || | 806 if (!extension || |
794 extensions::ManifestURL::GetOptionsPage(extension).is_empty()) | 807 extensions::ManifestURL::GetOptionsPage(extension).is_empty()) |
795 return; | 808 return; |
796 extensions::ExtensionSystem::Get(Profile::FromWebUI(web_ui()))-> | 809 extensions::ExtensionSystem::Get(Profile::FromWebUI(web_ui()))-> |
797 process_manager()->OpenOptionsPage(extension, | 810 process_manager()->OpenOptionsPage(extension, |
798 chrome::FindBrowserWithWebContents(web_ui()->GetWebContents())); | 811 chrome::FindBrowserWithWebContents(web_ui()->GetWebContents())); |
799 } | 812 } |
800 | 813 |
| 814 void ExtensionSettingsHandler::HandlePermissionsMessage(const ListValue* args) { |
| 815 std::string extension_id(UTF16ToUTF8(ExtractStringValue(args))); |
| 816 CHECK(!extension_id.empty()); |
| 817 const Extension* extension = |
| 818 extension_service_->GetExtensionById(extension_id, true); |
| 819 if (!extension) |
| 820 return; |
| 821 |
| 822 prompt_.reset(new ExtensionInstallPrompt(web_contents())); |
| 823 prompt_->ReviewPermissions(this, extension); |
| 824 } |
| 825 |
801 void ExtensionSettingsHandler::HandleShowButtonMessage(const ListValue* args) { | 826 void ExtensionSettingsHandler::HandleShowButtonMessage(const ListValue* args) { |
802 const Extension* extension = GetActiveExtension(args); | 827 const Extension* extension = GetActiveExtension(args); |
803 if (!extension) | 828 if (!extension) |
804 return; | 829 return; |
805 extension_service_->extension_prefs()-> | 830 extension_service_->extension_prefs()-> |
806 SetBrowserActionVisibility(extension, true); | 831 SetBrowserActionVisibility(extension, true); |
807 } | 832 } |
808 | 833 |
809 void ExtensionSettingsHandler::HandleAutoUpdateMessage(const ListValue* args) { | 834 void ExtensionSettingsHandler::HandleAutoUpdateMessage(const ListValue* args) { |
810 ExtensionUpdater* updater = extension_service_->updater(); | 835 ExtensionUpdater* updater = extension_service_->updater(); |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1009 std::vector<std::string> requirement_errors) { | 1034 std::vector<std::string> requirement_errors) { |
1010 if (requirement_errors.empty()) { | 1035 if (requirement_errors.empty()) { |
1011 extension_service_->EnableExtension(extension_id); | 1036 extension_service_->EnableExtension(extension_id); |
1012 } else { | 1037 } else { |
1013 ExtensionErrorReporter::GetInstance()->ReportError( | 1038 ExtensionErrorReporter::GetInstance()->ReportError( |
1014 UTF8ToUTF16(JoinString(requirement_errors, ' ')), | 1039 UTF8ToUTF16(JoinString(requirement_errors, ' ')), |
1015 true /* be noisy */); | 1040 true /* be noisy */); |
1016 } | 1041 } |
1017 requirements_checker_.reset(); | 1042 requirements_checker_.reset(); |
1018 } | 1043 } |
OLD | NEW |