// Copyright 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. #ifndef PPAPI_PROXY_UMA_PRIVATE_RESOURCE_H_ #define PPAPI_PROXY_UMA_PRIVATE_RESOURCE_H_ #include "ppapi/proxy/connection.h" #include "ppapi/proxy/plugin_resource.h" #include "ppapi/proxy/ppapi_proxy_export.h" #include "ppapi/thunk/ppb_uma_singleton_api.h" namespace ppapi { namespace proxy { class PPAPI_PROXY_EXPORT UMAPrivateResource : public PluginResource, public thunk::PPB_UMA_Singleton_API { public: UMAPrivateResource(Connection connection, PP_Instance instance); ~UMAPrivateResource() override; // Resource overrides. thunk::PPB_UMA_Singleton_API* AsPPB_UMA_Singleton_API() override; // PPB_UMA_Singleton_API implementation. void HistogramCustomTimes(PP_Instance instance, struct PP_Var name, int64_t sample, int64_t min, int64_t max, uint32_t bucket_count) override; void HistogramCustomCounts(PP_Instance instance, struct PP_Var name, int32_t sample, int32_t min, int32_t max, uint32_t bucket_count) override; void HistogramEnumeration(PP_Instance instance, struct PP_Var name, int32_t sample, int32_t boundary_value) override; int32_t IsCrashReportingEnabled( PP_Instance instance, scoped_refptr callback) override; private: void OnPluginMsgIsCrashReportingEnabled( const ResourceMessageReplyParams& params); scoped_refptr pending_callback_; DISALLOW_COPY_AND_ASSIGN(UMAPrivateResource); }; } // namespace proxy } // namespace ppapi #endif // PPAPI_PROXY_UMA_PRIVATE_RESOURCE_H_