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

Unified Diff: chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc

Issue 2757083002: feedback: List extensions using the chrome.power API. (Closed)
Patch Set: Created 3 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
diff --git a/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc b/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
index 80acaac6e8ac13fd284f1971055ca99dac74122a..0f4eb5dd3e4ae07cc2ad402f1e939c890b9acb85 100644
--- a/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
+++ b/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
@@ -18,7 +18,9 @@
#include "components/prefs/pref_service.h"
#include "components/sync/driver/about_sync_util.h"
#include "content/public/browser/browser_thread.h"
+#include "extensions/browser/api/power/power_api.h"
#include "extensions/browser/extension_registry.h"
+#include "extensions/common/api/power.h"
#include "extensions/common/extension.h"
#include "extensions/common/extension_set.h"
@@ -38,6 +40,7 @@ namespace {
constexpr char kSyncDataKey[] = "about_sync_data";
constexpr char kExtensionsListKey[] = "extensions";
+constexpr char kPowerApiListKey[] = "chrome.power extensions";
constexpr char kDataReductionProxyKey[] = "data_reduction_proxy";
constexpr char kChromeVersionTag[] = "CHROME VERSION";
#if defined(OS_CHROMEOS)
@@ -120,6 +123,7 @@ void ChromeInternalLogSource::Fetch(const SysLogsSourceCallback& callback) {
PopulateSyncLogs(response.get());
PopulateExtensionInfoLogs(response.get());
+ PopulatePowerApiLogs(response.get());
PopulateDataReductionProxyLogs(response.get());
#if defined(OS_WIN)
PopulateUsbKeyboardDetected(response.get());
@@ -211,6 +215,23 @@ void ChromeInternalLogSource::PopulateExtensionInfoLogs(
(*response)[kExtensionsListKey] = extensions_list;
}
+void ChromeInternalLogSource::PopulatePowerApiLogs(
+ SystemLogsResponse* response) {
+ std::string info;
+ for (auto* profile :
+ g_browser_process->profile_manager()->GetLoadedProfiles()) {
+ for (const auto& it :
+ extensions::PowerAPI::Get(profile)->extension_levels()) {
+ if (!info.empty())
+ info += ",\n";
+ info += it.first + ": " + extensions::api::power::ToString(it.second);
+ }
+ }
+
+ if (!info.empty())
+ (*response)[kPowerApiListKey] = info;
+}
+
void ChromeInternalLogSource::PopulateDataReductionProxyLogs(
SystemLogsResponse* response) {
PrefService* prefs = ProfileManager::GetActiveUserProfile()->GetPrefs();
« no previous file with comments | « chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.h ('k') | extensions/browser/api/power/power_api.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698