| Index: ppapi/proxy/uma_private_resource.cc
|
| diff --git a/ppapi/proxy/uma_private_resource.cc b/ppapi/proxy/uma_private_resource.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..8a218f9fdeb64bd325e657704f8fa720b7c76563
|
| --- /dev/null
|
| +++ b/ppapi/proxy/uma_private_resource.cc
|
| @@ -0,0 +1,89 @@
|
| +// Copyright (c) 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "ppapi/proxy/uma_private_resource.h"
|
| +
|
| +#include "base/bind.h"
|
| +#include "ppapi/proxy/ppapi_messages.h"
|
| +#include "ppapi/proxy/resource_message_params.h"
|
| +#include "ppapi/shared_impl/var.h"
|
| +
|
| +namespace {
|
| +
|
| +std::string StringFromPPVar(const PP_Var& var) {
|
| + scoped_refptr<ppapi::StringVar> name_stringvar =
|
| + ppapi::StringVar::FromPPVar(var);
|
| + if (!name_stringvar.get())
|
| + return std::string();
|
| + return name_stringvar->value();
|
| +}
|
| +
|
| +}
|
| +
|
| +namespace ppapi {
|
| +namespace proxy {
|
| +
|
| +UMAPrivateResource::UMAPrivateResource(
|
| + Connection connection, PP_Instance instance)
|
| + : PluginResource(connection, instance) {
|
| + SendCreate(RENDERER, PpapiHostMsg_UMA_Create());
|
| +}
|
| +
|
| +UMAPrivateResource::~UMAPrivateResource() {
|
| +}
|
| +
|
| +thunk::PPB_UMA_Singleton_API* UMAPrivateResource::AsPPB_UMA_Singleton_API() {
|
| + return this;
|
| +}
|
| +
|
| +void UMAPrivateResource::HistogramCustomTimes(
|
| + PP_Instance instance,
|
| + struct PP_Var name,
|
| + int64_t sample,
|
| + int64_t min,
|
| + int64_t max,
|
| + uint32_t bucket_count) {
|
| + if (name.type != PP_VARTYPE_STRING)
|
| + return;
|
| +
|
| + Post(RENDERER, PpapiHostMsg_UMA_HistogramCustomTimes(StringFromPPVar(name),
|
| + sample,
|
| + min,
|
| + max,
|
| + bucket_count));
|
| +}
|
| +
|
| +void UMAPrivateResource::HistogramCustomCounts(
|
| + PP_Instance instance,
|
| + struct PP_Var name,
|
| + int32_t sample,
|
| + int32_t min,
|
| + int32_t max,
|
| + uint32_t bucket_count) {
|
| + if (name.type != PP_VARTYPE_STRING)
|
| + return;
|
| +
|
| + Post(RENDERER, PpapiHostMsg_UMA_HistogramCustomCounts(StringFromPPVar(name),
|
| + sample,
|
| + min,
|
| + max,
|
| + bucket_count));
|
| +}
|
| +
|
| +void UMAPrivateResource::HistogramEnumeration(
|
| + PP_Instance instance,
|
| + struct PP_Var name,
|
| + int32_t sample,
|
| + int32_t boundary_value) {
|
| + if (name.type != PP_VARTYPE_STRING)
|
| + return;
|
| +
|
| + Post(RENDERER, PpapiHostMsg_UMA_HistogramEnumeration(StringFromPPVar(name),
|
| + sample,
|
| + boundary_value));
|
| +}
|
| +
|
| +} // namespace proxy
|
| +} // namespace ppapi
|
| +
|
|
|