[Histograms]: Add histograms for requestIdleCallback.
[chromium-blink-merge.git] / ui / gl / angle_platform_impl.h
blob61dd0fb138513a85870eb59b5dc1f8025f929806
1 // Copyright 2015 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.
5 #ifndef UI_GL_ANGLE_PLATFORM_IMPL_H_
6 #define UI_GL_ANGLE_PLATFORM_IMPL_H_
8 // Implements the ANGLE platform interface, for functionality like
9 // histograms and trace profiling.
11 #include "base/macros.h"
12 #include "third_party/angle/include/platform/Platform.h"
14 namespace gfx {
16 // Derives the base ANGLE platform and provides implementations
17 class ANGLEPlatformImpl : public angle::Platform {
18 public:
19 ANGLEPlatformImpl();
20 ~ANGLEPlatformImpl() override;
22 // angle::Platform:
23 double currentTime() override;
24 double monotonicallyIncreasingTime() override;
25 void logError(const char* errorMessage) override;
26 void logWarning(const char* warningMessage) override;
27 void logInfo(const char* infoMessage) override;
28 const unsigned char* getTraceCategoryEnabledFlag(
29 const char* category_group) override;
30 TraceEventHandle addTraceEvent(char phase,
31 const unsigned char* category_group_enabled,
32 const char* name,
33 unsigned long long id,
34 double timestamp,
35 int num_args,
36 const char** arg_names,
37 const unsigned char* arg_types,
38 const unsigned long long* arg_values,
39 unsigned char flags) override;
40 void updateTraceEventDuration(const unsigned char* category_group_enabled,
41 const char* name,
42 TraceEventHandle handle) override;
43 void histogramCustomCounts(const char* name,
44 int sample,
45 int min,
46 int max,
47 int bucket_count) override;
48 void histogramEnumeration(const char* name,
49 int sample,
50 int boundary_value) override;
51 void histogramSparse(const char* name, int sample) override;
52 void histogramBoolean(const char* name, bool sample) override;
54 private:
55 DISALLOW_COPY_AND_ASSIGN(ANGLEPlatformImpl);
58 } // namespace gfx
60 #endif // UI_GL_ANGLE_PLATFORM_IMPL_H_