| 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 191c7978a586daab1a2f424b800f2df39eee9845..215a9dbcb3d91693f41ba622999ea982f75c45ef 100644
|
| --- a/chrome/browser/extensions/api/metrics_private/metrics_private_api.cc
|
| +++ b/chrome/browser/extensions/api/metrics_private/metrics_private_api.cc
|
| @@ -42,48 +42,51 @@ const size_t kMaxBuckets = 10000; // We don't ever want more than these many
|
| // and would cause crazy memory usage
|
| } // namespace
|
|
|
| -bool MetricsPrivateGetIsCrashReportingEnabledFunction::RunSync() {
|
| - SetResult(base::MakeUnique<base::FundamentalValue>(
|
| - ChromeMetricsServiceAccessor::IsMetricsAndCrashReportingEnabled()));
|
| - return true;
|
| +ExtensionFunction::ResponseAction
|
| +MetricsPrivateGetIsCrashReportingEnabledFunction::Run() {
|
| + return RespondNow(OneArgument(base::MakeUnique<base::FundamentalValue>(
|
| + ChromeMetricsServiceAccessor::IsMetricsAndCrashReportingEnabled())));
|
| }
|
|
|
| -bool MetricsPrivateGetFieldTrialFunction::RunSync() {
|
| +ExtensionFunction::ResponseAction MetricsPrivateGetFieldTrialFunction::Run() {
|
| std::string name;
|
| EXTENSION_FUNCTION_VALIDATE(args_->GetString(0, &name));
|
|
|
| - SetResult(base::MakeUnique<base::StringValue>(
|
| - base::FieldTrialList::FindFullName(name)));
|
| - return true;
|
| + return RespondNow(OneArgument(base::MakeUnique<base::StringValue>(
|
| + base::FieldTrialList::FindFullName(name))));
|
| }
|
|
|
| -bool MetricsPrivateGetVariationParamsFunction::RunSync() {
|
| +ExtensionFunction::ResponseAction
|
| +MetricsPrivateGetVariationParamsFunction::Run() {
|
| std::unique_ptr<GetVariationParams::Params> params(
|
| GetVariationParams::Params::Create(*args_));
|
| EXTENSION_FUNCTION_VALIDATE(params.get());
|
|
|
| GetVariationParams::Results::Params result;
|
| + std::unique_ptr<base::DictionaryValue> dict;
|
| if (variations::GetVariationParams(params->name,
|
| &result.additional_properties)) {
|
| - SetResult(result.ToValue());
|
| + dict = result.ToValue();
|
| }
|
| - return true;
|
| + return RespondNow(dict ? OneArgument(std::move(dict)) : NoArguments());
|
| }
|
|
|
| -bool MetricsPrivateRecordUserActionFunction::RunSync() {
|
| +ExtensionFunction::ResponseAction
|
| +MetricsPrivateRecordUserActionFunction::Run() {
|
| std::unique_ptr<RecordUserAction::Params> params(
|
| RecordUserAction::Params::Create(*args_));
|
| EXTENSION_FUNCTION_VALIDATE(params.get());
|
|
|
| content::RecordComputedAction(params->name);
|
| - return true;
|
| + return RespondNow(NoArguments());
|
| }
|
|
|
| -bool MetricsHistogramHelperFunction::RecordValue(
|
| - const std::string& name,
|
| - base::HistogramType type,
|
| - int min, int max, size_t buckets,
|
| - int sample) {
|
| +void MetricsHistogramHelperFunction::RecordValue(const std::string& name,
|
| + base::HistogramType type,
|
| + int min,
|
| + int max,
|
| + size_t buckets,
|
| + int sample) {
|
| // Make sure toxic values don't get to internal code.
|
| // Fix for maximums
|
| min = std::min(min, INT_MAX - 3);
|
| @@ -112,10 +115,9 @@ bool MetricsHistogramHelperFunction::RecordValue(
|
| // that data for this API. An error message will be logged.
|
| if (counter)
|
| counter->Add(sample);
|
| - return true;
|
| }
|
|
|
| -bool MetricsPrivateRecordValueFunction::RunSync() {
|
| +ExtensionFunction::ResponseAction MetricsPrivateRecordValueFunction::Run() {
|
| std::unique_ptr<RecordValue::Params> params(
|
| RecordValue::Params::Create(*args_));
|
| EXTENSION_FUNCTION_VALIDATE(params.get());
|
| @@ -125,78 +127,89 @@ bool MetricsPrivateRecordValueFunction::RunSync() {
|
|
|
| base::HistogramType histogram_type(type == "histogram-linear" ?
|
| base::LINEAR_HISTOGRAM : base::HISTOGRAM);
|
| - return RecordValue(params->metric.metric_name, histogram_type,
|
| - params->metric.min, params->metric.max,
|
| - params->metric.buckets, params->value);
|
| + RecordValue(params->metric.metric_name, histogram_type, params->metric.min,
|
| + params->metric.max, params->metric.buckets, params->value);
|
| + return RespondNow(NoArguments());
|
| }
|
|
|
| -bool MetricsPrivateRecordSparseValueFunction::RunSync() {
|
| +ExtensionFunction::ResponseAction
|
| +MetricsPrivateRecordSparseValueFunction::Run() {
|
| std::unique_ptr<RecordSparseValue::Params> params(
|
| RecordSparseValue::Params::Create(*args_));
|
| EXTENSION_FUNCTION_VALIDATE(params.get());
|
| // This particular UMA_HISTOGRAM_ macro is okay for
|
| // non-runtime-constant strings.
|
| UMA_HISTOGRAM_SPARSE_SLOWLY(params->metric_name, params->value);
|
| - return true;
|
| + return RespondNow(NoArguments());
|
| }
|
|
|
| -bool MetricsPrivateRecordPercentageFunction::RunSync() {
|
| +ExtensionFunction::ResponseAction
|
| +MetricsPrivateRecordPercentageFunction::Run() {
|
| std::unique_ptr<RecordPercentage::Params> params(
|
| RecordPercentage::Params::Create(*args_));
|
| EXTENSION_FUNCTION_VALIDATE(params.get());
|
| - return RecordValue(params->metric_name, base::LINEAR_HISTOGRAM,
|
| - 1, 101, 102, params->value);
|
| + RecordValue(params->metric_name, base::LINEAR_HISTOGRAM, 1, 101, 102,
|
| + params->value);
|
| + return RespondNow(NoArguments());
|
| }
|
|
|
| -bool MetricsPrivateRecordCountFunction::RunSync() {
|
| +ExtensionFunction::ResponseAction MetricsPrivateRecordCountFunction::Run() {
|
| std::unique_ptr<RecordCount::Params> params(
|
| RecordCount::Params::Create(*args_));
|
| EXTENSION_FUNCTION_VALIDATE(params.get());
|
| - return RecordValue(params->metric_name, base::HISTOGRAM,
|
| - 1, 1000000, 50, params->value);
|
| + RecordValue(params->metric_name, base::HISTOGRAM, 1, 1000000, 50,
|
| + params->value);
|
| + return RespondNow(NoArguments());
|
| }
|
|
|
| -bool MetricsPrivateRecordSmallCountFunction::RunSync() {
|
| +ExtensionFunction::ResponseAction
|
| +MetricsPrivateRecordSmallCountFunction::Run() {
|
| std::unique_ptr<RecordSmallCount::Params> params(
|
| RecordSmallCount::Params::Create(*args_));
|
| EXTENSION_FUNCTION_VALIDATE(params.get());
|
| - return RecordValue(params->metric_name, base::HISTOGRAM,
|
| - 1, 100, 50, params->value);
|
| + RecordValue(params->metric_name, base::HISTOGRAM, 1, 100, 50, params->value);
|
| + return RespondNow(NoArguments());
|
| }
|
|
|
| -bool MetricsPrivateRecordMediumCountFunction::RunSync() {
|
| +ExtensionFunction::ResponseAction
|
| +MetricsPrivateRecordMediumCountFunction::Run() {
|
| std::unique_ptr<RecordMediumCount::Params> params(
|
| RecordMediumCount::Params::Create(*args_));
|
| EXTENSION_FUNCTION_VALIDATE(params.get());
|
| - return RecordValue(params->metric_name, base::HISTOGRAM,
|
| - 1, 10000, 50, params->value);
|
| + RecordValue(params->metric_name, base::HISTOGRAM, 1, 10000, 50,
|
| + params->value);
|
| + return RespondNow(NoArguments());
|
| }
|
|
|
| -bool MetricsPrivateRecordTimeFunction::RunSync() {
|
| +ExtensionFunction::ResponseAction MetricsPrivateRecordTimeFunction::Run() {
|
| std::unique_ptr<RecordTime::Params> params(
|
| RecordTime::Params::Create(*args_));
|
| EXTENSION_FUNCTION_VALIDATE(params.get());
|
| static const int kTenSecMs = 10 * 1000;
|
| - return RecordValue(params->metric_name, base::HISTOGRAM,
|
| - 1, kTenSecMs, 50, params->value);
|
| + RecordValue(params->metric_name, base::HISTOGRAM, 1, kTenSecMs, 50,
|
| + params->value);
|
| + return RespondNow(NoArguments());
|
| }
|
|
|
| -bool MetricsPrivateRecordMediumTimeFunction::RunSync() {
|
| +ExtensionFunction::ResponseAction
|
| +MetricsPrivateRecordMediumTimeFunction::Run() {
|
| std::unique_ptr<RecordMediumTime::Params> params(
|
| RecordMediumTime::Params::Create(*args_));
|
| EXTENSION_FUNCTION_VALIDATE(params.get());
|
| static const int kThreeMinMs = 3 * 60 * 1000;
|
| - return RecordValue(params->metric_name, base::HISTOGRAM,
|
| - 1, kThreeMinMs, 50, params->value);
|
| + RecordValue(params->metric_name, base::HISTOGRAM, 1, kThreeMinMs, 50,
|
| + params->value);
|
| + return RespondNow(NoArguments());
|
| }
|
|
|
| -bool MetricsPrivateRecordLongTimeFunction::RunSync() {
|
| +ExtensionFunction::ResponseAction MetricsPrivateRecordLongTimeFunction::Run() {
|
| std::unique_ptr<RecordLongTime::Params> params(
|
| RecordLongTime::Params::Create(*args_));
|
| EXTENSION_FUNCTION_VALIDATE(params.get());
|
| static const int kOneHourMs = 60 * 60 * 1000;
|
| - return RecordValue(params->metric_name, base::HISTOGRAM,
|
| - 1, kOneHourMs, 50, params->value);
|
| + RecordValue(params->metric_name, base::HISTOGRAM, 1, kOneHourMs, 50,
|
| + params->value);
|
| + return RespondNow(NoArguments());
|
| }
|
|
|
| } // namespace extensions
|
|
|