1 // Copyright 2017 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 #ifndef COMPONENTS_VIZ_COMMON_FEATURES_H_
6 #define COMPONENTS_VIZ_COMMON_FEATURES_H_
7 
8 #include "base/feature_list.h"
9 #include "base/metrics/field_trial_params.h"
10 #include "build/build_config.h"
11 #include "components/viz/common/viz_common_export.h"
12 
13 
14 namespace features {
15 
16 VIZ_COMMON_EXPORT extern const base::Feature kForcePreferredIntervalForVideo;
17 VIZ_COMMON_EXPORT extern const base::Feature kUseSkiaRenderer;
18 VIZ_COMMON_EXPORT extern const base::Feature kRecordSkPicture;
19 VIZ_COMMON_EXPORT extern const base::Feature kDisableDeJelly;
20 #if defined(OS_ANDROID)
21 VIZ_COMMON_EXPORT extern const base::Feature kDynamicColorGamut;
22 #endif
23 VIZ_COMMON_EXPORT extern const base::Feature kFastSolidColorDraw;
24 VIZ_COMMON_EXPORT extern const base::Feature kVizForWebView;
25 VIZ_COMMON_EXPORT extern const base::Feature kVizFrameSubmissionForWebView;
26 VIZ_COMMON_EXPORT extern const base::Feature kUsePreferredIntervalForVideo;
27 VIZ_COMMON_EXPORT extern const base::Feature kUseRealBuffersForPageFlipTest;
28 #if defined(OS_FUCHSIA)
29 VIZ_COMMON_EXPORT extern const base::Feature kUseSkiaOutputDeviceBufferQueue;
30 #endif
31 VIZ_COMMON_EXPORT extern const base::Feature kWebRtcLogCapturePipeline;
32 #if defined(OS_WIN)
33 VIZ_COMMON_EXPORT extern const base::Feature kUseSetPresentDuration;
34 #endif  // OS_WIN
35 
36 VIZ_COMMON_EXPORT bool IsForcePreferredIntervalForVideoEnabled();
37 VIZ_COMMON_EXPORT bool IsVizHitTestingDebugEnabled();
38 VIZ_COMMON_EXPORT bool IsUsingSkiaRenderer();
39 #if defined(OS_ANDROID)
40 VIZ_COMMON_EXPORT bool IsDynamicColorGamutEnabled();
41 #endif
42 VIZ_COMMON_EXPORT bool IsUsingFastPathForSolidColorQuad();
43 VIZ_COMMON_EXPORT bool IsUsingVizForWebView();
44 VIZ_COMMON_EXPORT bool IsUsingVizFrameSubmissionForWebView();
45 VIZ_COMMON_EXPORT bool IsUsingPreferredIntervalForVideo();
46 VIZ_COMMON_EXPORT int NumOfFramesToToggleInterval();
47 VIZ_COMMON_EXPORT bool ShouldUseRealBuffersForPageFlipTest();
48 VIZ_COMMON_EXPORT bool ShouldWebRtcLogCapturePipeline();
49 #if defined(OS_WIN)
50 VIZ_COMMON_EXPORT bool ShouldUseSetPresentDuration();
51 #endif  // OS_WIN
52 
53 }  // namespace features
54 
55 #endif  // COMPONENTS_VIZ_COMMON_FEATURES_H_
56