| 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 24 matching lines...) Expand all Loading... |
| 35 #include "chrome/browser/profiles/profile.h" | 35 #include "chrome/browser/profiles/profile.h" |
| 36 #include "chrome/browser/tab_contents/background_contents.h" | 36 #include "chrome/browser/tab_contents/background_contents.h" |
| 37 #include "chrome/browser/ui/browser_finder.h" | 37 #include "chrome/browser/ui/browser_finder.h" |
| 38 #include "chrome/browser/ui/chrome_select_file_policy.h" | 38 #include "chrome/browser/ui/chrome_select_file_policy.h" |
| 39 #include "chrome/browser/ui/extensions/application_launch.h" | 39 #include "chrome/browser/ui/extensions/application_launch.h" |
| 40 #include "chrome/browser/ui/extensions/shell_window.h" | 40 #include "chrome/browser/ui/extensions/shell_window.h" |
| 41 #include "chrome/browser/ui/webui/extensions/extension_icon_source.h" | 41 #include "chrome/browser/ui/webui/extensions/extension_icon_source.h" |
| 42 #include "chrome/browser/view_type_utils.h" | 42 #include "chrome/browser/view_type_utils.h" |
| 43 #include "chrome/common/chrome_notification_types.h" | 43 #include "chrome/common/chrome_notification_types.h" |
| 44 #include "chrome/common/chrome_switches.h" | 44 #include "chrome/common/chrome_switches.h" |
| 45 #include "chrome/common/extensions/api/extension_urls/extension_urls_handler.h" |
| 45 #include "chrome/common/extensions/extension.h" | 46 #include "chrome/common/extensions/extension.h" |
| 46 #include "chrome/common/extensions/extension_constants.h" | 47 #include "chrome/common/extensions/extension_constants.h" |
| 47 #include "chrome/common/extensions/extension_icon_set.h" | 48 #include "chrome/common/extensions/extension_icon_set.h" |
| 48 #include "chrome/common/extensions/extension_set.h" | 49 #include "chrome/common/extensions/extension_set.h" |
| 49 #include "chrome/common/extensions/feature_switch.h" | 50 #include "chrome/common/extensions/feature_switch.h" |
| 50 #include "chrome/common/pref_names.h" | 51 #include "chrome/common/pref_names.h" |
| 51 #include "chrome/common/url_constants.h" | 52 #include "chrome/common/url_constants.h" |
| 52 #include "content/public/browser/notification_service.h" | 53 #include "content/public/browser/notification_service.h" |
| 53 #include "content/public/browser/notification_source.h" | 54 #include "content/public/browser/notification_source.h" |
| 54 #include "content/public/browser/notification_types.h" | 55 #include "content/public/browser/notification_types.h" |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 142 extension_data->SetBoolean("wantsFileAccess", extension->wants_file_access()); | 143 extension_data->SetBoolean("wantsFileAccess", extension->wants_file_access()); |
| 143 extension_data->SetBoolean("allowFileAccess", | 144 extension_data->SetBoolean("allowFileAccess", |
| 144 extension_service_->AllowFileAccess(extension)); | 145 extension_service_->AllowFileAccess(extension)); |
| 145 extension_data->SetBoolean("allow_activity", | 146 extension_data->SetBoolean("allow_activity", |
| 146 enabled && CommandLine::ForCurrentProcess()->HasSwitch( | 147 enabled && CommandLine::ForCurrentProcess()->HasSwitch( |
| 147 switches::kEnableExtensionActivityUI)); | 148 switches::kEnableExtensionActivityUI)); |
| 148 extension_data->SetBoolean("allow_reload", | 149 extension_data->SetBoolean("allow_reload", |
| 149 extension->location() == Extension::LOAD); | 150 extension->location() == Extension::LOAD); |
| 150 extension_data->SetBoolean("is_hosted_app", extension->is_hosted_app()); | 151 extension_data->SetBoolean("is_hosted_app", extension->is_hosted_app()); |
| 151 extension_data->SetBoolean("is_platform_app", extension->is_platform_app()); | 152 extension_data->SetBoolean("is_platform_app", extension->is_platform_app()); |
| 152 extension_data->SetBoolean("homepageProvided", | 153 extension_data->SetBoolean( |
| 153 extension->GetHomepageURL().is_valid()); | 154 "homepageProvided", |
| 155 extensions::ExtensionURL::GetHomepageURL(extension).is_valid()); |
| 154 | 156 |
| 155 string16 automatically_disabled_text; | 157 string16 automatically_disabled_text; |
| 156 int disable_reasons = | 158 int disable_reasons = |
| 157 extension_service_->extension_prefs()->GetDisableReasons(extension->id()); | 159 extension_service_->extension_prefs()->GetDisableReasons(extension->id()); |
| 158 if ((disable_reasons & Extension::DISABLE_SIDELOAD_WIPEOUT) != 0) { | 160 if ((disable_reasons & Extension::DISABLE_SIDELOAD_WIPEOUT) != 0) { |
| 159 automatically_disabled_text = l10n_util::GetStringUTF16( | 161 automatically_disabled_text = l10n_util::GetStringUTF16( |
| 160 IDS_OPTIONS_SIDELOAD_WIPEOUT_AUTOMATIC_DISABLE); | 162 IDS_OPTIONS_SIDELOAD_WIPEOUT_AUTOMATIC_DISABLE); |
| 161 } | 163 } |
| 162 extension_data->SetString("disableReason", automatically_disabled_text); | 164 extension_data->SetString("disableReason", automatically_disabled_text); |
| 163 | 165 |
| (...skipping 612 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 776 if (!extension_id_prompting_.empty()) | 778 if (!extension_id_prompting_.empty()) |
| 777 return; // Only one prompt at a time. | 779 return; // Only one prompt at a time. |
| 778 | 780 |
| 779 extension_id_prompting_ = extension_id; | 781 extension_id_prompting_ = extension_id; |
| 780 | 782 |
| 781 GetExtensionUninstallDialog()->ConfirmUninstall(extension); | 783 GetExtensionUninstallDialog()->ConfirmUninstall(extension); |
| 782 } | 784 } |
| 783 | 785 |
| 784 void ExtensionSettingsHandler::HandleOptionsMessage(const ListValue* args) { | 786 void ExtensionSettingsHandler::HandleOptionsMessage(const ListValue* args) { |
| 785 const Extension* extension = GetActiveExtension(args); | 787 const Extension* extension = GetActiveExtension(args); |
| 786 if (!extension || extension->options_url().is_empty()) | 788 if (!extension || |
| 789 extensions::ExtensionURL::GetOptionsURL(extension).is_empty()) { |
| 787 return; | 790 return; |
| 791 } |
| 788 extensions::ExtensionSystem::Get(Profile::FromWebUI(web_ui()))-> | 792 extensions::ExtensionSystem::Get(Profile::FromWebUI(web_ui()))-> |
| 789 process_manager()->OpenOptionsPage(extension, | 793 process_manager()->OpenOptionsPage(extension, |
| 790 chrome::FindBrowserWithWebContents(web_ui()->GetWebContents())); | 794 chrome::FindBrowserWithWebContents(web_ui()->GetWebContents())); |
| 791 } | 795 } |
| 792 | 796 |
| 793 void ExtensionSettingsHandler::HandleShowButtonMessage(const ListValue* args) { | 797 void ExtensionSettingsHandler::HandleShowButtonMessage(const ListValue* args) { |
| 794 const Extension* extension = GetActiveExtension(args); | 798 const Extension* extension = GetActiveExtension(args); |
| 795 if (!extension) | 799 if (!extension) |
| 796 return; | 800 return; |
| 797 extension_service_->extension_prefs()-> | 801 extension_service_->extension_prefs()-> |
| (...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1002 std::vector<std::string> requirement_errors) { | 1006 std::vector<std::string> requirement_errors) { |
| 1003 if (requirement_errors.empty()) { | 1007 if (requirement_errors.empty()) { |
| 1004 extension_service_->EnableExtension(extension_id); | 1008 extension_service_->EnableExtension(extension_id); |
| 1005 } else { | 1009 } else { |
| 1006 ExtensionErrorReporter::GetInstance()->ReportError( | 1010 ExtensionErrorReporter::GetInstance()->ReportError( |
| 1007 UTF8ToUTF16(JoinString(requirement_errors, ' ')), | 1011 UTF8ToUTF16(JoinString(requirement_errors, ' ')), |
| 1008 true /* be noisy */); | 1012 true /* be noisy */); |
| 1009 } | 1013 } |
| 1010 requirements_checker_.reset(); | 1014 requirements_checker_.reset(); |
| 1011 } | 1015 } |
| OLD | NEW |