| Index: chrome/browser/extensions/api/metrics_private/metrics_private_api.cc
|
| diff --git a/chrome/browser/extensions/api/metrics_private/metrics_private_api.cc b/chrome/browser/extensions/api/metrics_private/metrics_private_api.cc
|
| index c0dfadc42edcf5885711f0f8346ca92633930a57..e901caa031d685728d2e7b04d9018008e6cc1c61 100644
|
| --- a/chrome/browser/extensions/api/metrics_private/metrics_private_api.cc
|
| +++ b/chrome/browser/extensions/api/metrics_private/metrics_private_api.cc
|
| @@ -8,22 +8,22 @@
|
|
|
| #include <algorithm>
|
|
|
| +#include "base/lazy_instance.h"
|
| #include "base/memory/ptr_util.h"
|
| #include "base/metrics/field_trial.h"
|
| #include "base/metrics/histogram_macros.h"
|
| #include "base/metrics/sparse_histogram.h"
|
| -#include "chrome/browser/metrics/chrome_metrics_service_accessor.h"
|
| +#include "chrome/browser/extensions/api/chrome_extensions_api_client.h"
|
| #include "chrome/common/extensions/api/metrics_private.h"
|
| #include "components/variations/variations_associated_data.h"
|
| +#include "content/public/browser/browser_context.h"
|
| #include "content/public/browser/user_metrics.h"
|
| +#include "extensions/browser/api/metrics_private/metrics_private_delegate.h"
|
| #include "extensions/common/extension.h"
|
|
|
| namespace extensions {
|
|
|
| -namespace GetIsCrashReportingEnabled =
|
| - api::metrics_private::GetIsCrashReportingEnabled;
|
| namespace GetVariationParams = api::metrics_private::GetVariationParams;
|
| -namespace GetFieldTrial = api::metrics_private::GetFieldTrial;
|
| namespace RecordUserAction = api::metrics_private::RecordUserAction;
|
| namespace RecordValue = api::metrics_private::RecordValue;
|
| namespace RecordSparseValue = api::metrics_private::RecordSparseValue;
|
| @@ -44,8 +44,12 @@ const size_t kMaxBuckets = 10000; // We don't ever want more than these many
|
|
|
| ExtensionFunction::ResponseAction
|
| MetricsPrivateGetIsCrashReportingEnabledFunction::Run() {
|
| + MetricsPrivateAPI* api =
|
| + BrowserContextKeyedAPIFactory<MetricsPrivateAPI>::Get(browser_context());
|
| + DCHECK(api);
|
| +
|
| return RespondNow(OneArgument(base::MakeUnique<base::FundamentalValue>(
|
| - ChromeMetricsServiceAccessor::IsMetricsAndCrashReportingEnabled())));
|
| + api->delegate()->IsCrashReportingEnabled())));
|
| }
|
|
|
| ExtensionFunction::ResponseAction MetricsPrivateGetFieldTrialFunction::Run() {
|
| @@ -212,4 +216,19 @@ ExtensionFunction::ResponseAction MetricsPrivateRecordLongTimeFunction::Run() {
|
| return RespondNow(NoArguments());
|
| }
|
|
|
| +MetricsPrivateAPI::MetricsPrivateAPI(content::BrowserContext* context) {
|
| + delegate_ = ExtensionsAPIClient::Get()->CreateMetricsPrivateDelegate();
|
| +}
|
| +
|
| +MetricsPrivateAPI::~MetricsPrivateAPI() {}
|
| +
|
| +static base::LazyInstance<BrowserContextKeyedAPIFactory<MetricsPrivateAPI>>
|
| + g_factory = LAZY_INSTANCE_INITIALIZER;
|
| +
|
| +// static
|
| +BrowserContextKeyedAPIFactory<MetricsPrivateAPI>*
|
| +MetricsPrivateAPI::GetFactoryInstance() {
|
| + return g_factory.Pointer();
|
| +}
|
| +
|
| } // namespace extensions
|
|
|