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