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