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

Side by Side Diff: ppapi/proxy/uma_private_resource.cc

Issue 61643022: Proxy private UMA pepper interface for out-of-process and NaCl plugins. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove unused histogram names Created 6 years, 11 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
(Empty)
1 // Copyright (c) 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "ppapi/proxy/uma_private_resource.h"
6
7 #include "base/bind.h"
8 #include "ppapi/proxy/ppapi_messages.h"
9 #include "ppapi/proxy/resource_message_params.h"
10 #include "ppapi/shared_impl/var.h"
11
12 namespace {
13
14 std::string StringFromPPVar(const PP_Var& var) {
15 scoped_refptr<ppapi::StringVar> name_stringvar =
16 ppapi::StringVar::FromPPVar(var);
17 if (!name_stringvar.get())
18 return std::string();
19 return name_stringvar->value();
20 }
21
22 }
23
24 namespace ppapi {
25 namespace proxy {
26
27 UMAPrivateResource::UMAPrivateResource(
28 Connection connection, PP_Instance instance)
29 : PluginResource(connection, instance) {
30 SendCreate(RENDERER, PpapiHostMsg_UMA_Create());
31 }
32
33 UMAPrivateResource::~UMAPrivateResource() {
34 }
35
36 thunk::PPB_UMA_Singleton_API* UMAPrivateResource::AsPPB_UMA_Singleton_API() {
37 return this;
38 }
39
40 void UMAPrivateResource::HistogramCustomTimes(
41 PP_Instance instance,
42 struct PP_Var name,
43 int64_t sample,
44 int64_t min,
45 int64_t max,
46 uint32_t bucket_count) {
47 if (name.type != PP_VARTYPE_STRING)
48 return;
49
50 Post(RENDERER, PpapiHostMsg_UMA_HistogramCustomTimes(StringFromPPVar(name),
51 sample,
52 min,
53 max,
54 bucket_count));
55 }
56
57 void UMAPrivateResource::HistogramCustomCounts(
58 PP_Instance instance,
59 struct PP_Var name,
60 int32_t sample,
61 int32_t min,
62 int32_t max,
63 uint32_t bucket_count) {
64 if (name.type != PP_VARTYPE_STRING)
65 return;
66
67 Post(RENDERER, PpapiHostMsg_UMA_HistogramCustomCounts(StringFromPPVar(name),
68 sample,
69 min,
70 max,
71 bucket_count));
72 }
73
74 void UMAPrivateResource::HistogramEnumeration(
75 PP_Instance instance,
76 struct PP_Var name,
77 int32_t sample,
78 int32_t boundary_value) {
79 if (name.type != PP_VARTYPE_STRING)
80 return;
81
82 Post(RENDERER, PpapiHostMsg_UMA_HistogramEnumeration(StringFromPPVar(name),
83 sample,
84 boundary_value));
85 }
86
87 } // namespace proxy
88 } // namespace ppapi
89
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698