Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Side by Side Diff: chrome/browser/ui/webui/extensions/extension_settings_handler.cc

Issue 22938005: Add ErrorConsole UI for Extension Install Warnings (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@dc_ec_install_warnings
Patch Set: License Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "apps/app_load_service.h" 7 #include "apps/app_load_service.h"
8 #include "apps/app_restore_service.h" 8 #include "apps/app_restore_service.h"
9 #include "apps/saved_files_service.h" 9 #include "apps/saved_files_service.h"
10 #include "apps/shell_window.h" 10 #include "apps/shell_window.h"
(...skipping 10 matching lines...) Expand all
21 #include "base/strings/string_util.h" 21 #include "base/strings/string_util.h"
22 #include "base/strings/utf_string_conversions.h" 22 #include "base/strings/utf_string_conversions.h"
23 #include "base/values.h" 23 #include "base/values.h"
24 #include "base/version.h" 24 #include "base/version.h"
25 #include "chrome/browser/browser_process.h" 25 #include "chrome/browser/browser_process.h"
26 #include "chrome/browser/chrome_notification_types.h" 26 #include "chrome/browser/chrome_notification_types.h"
27 #include "chrome/browser/devtools/devtools_window.h" 27 #include "chrome/browser/devtools/devtools_window.h"
28 #include "chrome/browser/extensions/api/extension_action/extension_action_api.h" 28 #include "chrome/browser/extensions/api/extension_action/extension_action_api.h"
29 #include "chrome/browser/extensions/component_loader.h" 29 #include "chrome/browser/extensions/component_loader.h"
30 #include "chrome/browser/extensions/crx_installer.h" 30 #include "chrome/browser/extensions/crx_installer.h"
31 #include "chrome/browser/extensions/error_console/error_console.h"
31 #include "chrome/browser/extensions/extension_action_manager.h" 32 #include "chrome/browser/extensions/extension_action_manager.h"
32 #include "chrome/browser/extensions/extension_disabled_ui.h" 33 #include "chrome/browser/extensions/extension_disabled_ui.h"
33 #include "chrome/browser/extensions/extension_error_reporter.h" 34 #include "chrome/browser/extensions/extension_error_reporter.h"
34 #include "chrome/browser/extensions/extension_host.h" 35 #include "chrome/browser/extensions/extension_host.h"
35 #include "chrome/browser/extensions/extension_service.h" 36 #include "chrome/browser/extensions/extension_service.h"
36 #include "chrome/browser/extensions/extension_system.h" 37 #include "chrome/browser/extensions/extension_system.h"
37 #include "chrome/browser/extensions/extension_tab_util.h" 38 #include "chrome/browser/extensions/extension_tab_util.h"
38 #include "chrome/browser/extensions/extension_warning_set.h" 39 #include "chrome/browser/extensions/extension_warning_set.h"
39 #include "chrome/browser/extensions/lazy_background_task_queue.h" 40 #include "chrome/browser/extensions/lazy_background_task_queue.h"
40 #include "chrome/browser/extensions/management_policy.h" 41 #include "chrome/browser/extensions/management_policy.h"
(...skipping 25 matching lines...) Expand all
66 #include "content/public/browser/notification_source.h" 67 #include "content/public/browser/notification_source.h"
67 #include "content/public/browser/notification_types.h" 68 #include "content/public/browser/notification_types.h"
68 #include "content/public/browser/render_process_host.h" 69 #include "content/public/browser/render_process_host.h"
69 #include "content/public/browser/render_view_host.h" 70 #include "content/public/browser/render_view_host.h"
70 #include "content/public/browser/site_instance.h" 71 #include "content/public/browser/site_instance.h"
71 #include "content/public/browser/user_metrics.h" 72 #include "content/public/browser/user_metrics.h"
72 #include "content/public/browser/web_contents.h" 73 #include "content/public/browser/web_contents.h"
73 #include "content/public/browser/web_contents_view.h" 74 #include "content/public/browser/web_contents_view.h"
74 #include "content/public/browser/web_ui.h" 75 #include "content/public/browser/web_ui.h"
75 #include "content/public/browser/web_ui_data_source.h" 76 #include "content/public/browser/web_ui_data_source.h"
77 #include "extensions/browser/extension_error.h"
76 #include "extensions/browser/view_type_utils.h" 78 #include "extensions/browser/view_type_utils.h"
77 #include "extensions/common/constants.h" 79 #include "extensions/common/constants.h"
78 #include "grit/browser_resources.h" 80 #include "grit/browser_resources.h"
79 #include "grit/chromium_strings.h" 81 #include "grit/chromium_strings.h"
80 #include "grit/generated_resources.h" 82 #include "grit/generated_resources.h"
81 #include "grit/theme_resources.h" 83 #include "grit/theme_resources.h"
82 #include "ui/base/l10n/l10n_util.h" 84 #include "ui/base/l10n/l10n_util.h"
83 #include "ui/base/resource/resource_bundle.h" 85 #include "ui/base/resource/resource_bundle.h"
84 86
85 87 using base::DictionaryValue;
88 using base::ListValue;
86 using content::RenderViewHost; 89 using content::RenderViewHost;
87 using content::WebContents; 90 using content::WebContents;
88 91
89 namespace extensions { 92 namespace extensions {
90 93
91 ExtensionPage::ExtensionPage(const GURL& url, 94 ExtensionPage::ExtensionPage(const GURL& url,
92 int render_process_id, 95 int render_process_id,
93 int render_view_id, 96 int render_view_id,
94 bool incognito, 97 bool incognito,
95 bool generated_background_page) 98 bool generated_background_page)
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 if (!warnings.empty()) { 249 if (!warnings.empty()) {
247 base::ListValue* warnings_list = new base::ListValue; 250 base::ListValue* warnings_list = new base::ListValue;
248 for (std::vector<std::string>::const_iterator iter = warnings.begin(); 251 for (std::vector<std::string>::const_iterator iter = warnings.begin();
249 iter != warnings.end(); ++iter) { 252 iter != warnings.end(); ++iter) {
250 warnings_list->Append(base::Value::CreateStringValue(*iter)); 253 warnings_list->Append(base::Value::CreateStringValue(*iter));
251 } 254 }
252 extension_data->Set("warnings", warnings_list); 255 extension_data->Set("warnings", warnings_list);
253 } 256 }
254 } 257 }
255 258
256 // Add install warnings (these are not the same as warnings!). 259 // If the ErrorConsole is enabled, get the errors for the extension and add
257 if (Manifest::IsUnpackedLocation(extension->location())) { 260 // them to the list. Otherwise, use the install warnings (using both is
261 // redundant).
262 ErrorConsole* error_console =
263 ErrorConsole::Get(extension_service_->profile());
264 if (error_console->enabled()) {
265 const ErrorConsole::ErrorList& errors =
266 error_console->GetErrorsForExtension(extension->id());
267 if (!errors.empty()) {
268 scoped_ptr<ListValue> list(new ListValue);
269 for (ErrorConsole::ErrorList::const_iterator iter = errors.begin();
270 iter != errors.end(); ++iter) {
271 list->Append((*iter)->ToValue().release());
272 }
273 extension_data->Set("manifestErrors", list.release());
274 }
275 } else if (Manifest::IsUnpackedLocation(extension->location())) {
258 const std::vector<InstallWarning>& install_warnings = 276 const std::vector<InstallWarning>& install_warnings =
259 extension->install_warnings(); 277 extension->install_warnings();
260 if (!install_warnings.empty()) { 278 if (!install_warnings.empty()) {
261 scoped_ptr<base::ListValue> list(new base::ListValue()); 279 scoped_ptr<base::ListValue> list(new base::ListValue());
262 for (std::vector<InstallWarning>::const_iterator it = 280 for (std::vector<InstallWarning>::const_iterator it =
263 install_warnings.begin(); it != install_warnings.end(); ++it) { 281 install_warnings.begin(); it != install_warnings.end(); ++it) {
264 base::DictionaryValue* item = new base::DictionaryValue(); 282 base::DictionaryValue* item = new base::DictionaryValue();
265 item->SetString("message", it->message); 283 item->SetString("message", it->message);
266 list->Append(item); 284 list->Append(item);
267 } 285 }
(...skipping 865 matching lines...) Expand 10 before | Expand all | Expand 10 after
1133 extension_service_->EnableExtension(extension_id); 1151 extension_service_->EnableExtension(extension_id);
1134 } else { 1152 } else {
1135 ExtensionErrorReporter::GetInstance()->ReportError( 1153 ExtensionErrorReporter::GetInstance()->ReportError(
1136 UTF8ToUTF16(JoinString(requirement_errors, ' ')), 1154 UTF8ToUTF16(JoinString(requirement_errors, ' ')),
1137 true /* be noisy */); 1155 true /* be noisy */);
1138 } 1156 }
1139 requirements_checker_.reset(); 1157 requirements_checker_.reset();
1140 } 1158 }
1141 1159
1142 } // namespace extensions 1160 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/extensions/extension_error_handler.cc ('k') | chrome/browser/ui/webui/extensions/extensions_ui.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698