chromium/third_party/blink/renderer/platform/testing/paint_test_configurations.h

// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_TESTING_PAINT_TEST_CONFIGURATIONS_H_
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_TESTING_PAINT_TEST_CONFIGURATIONS_H_

#include <gtest/gtest.h>

#include "base/task/thread_pool/thread_pool_instance.h"
#include "base/test/scoped_feature_list.h"
#include "base/test/task_environment.h"
#include "cc/base/features.h"
#include "third_party/blink/public/web/web_heap.h"
#include "third_party/blink/renderer/platform/testing/runtime_enabled_features_test_helpers.h"
#include "ui/native_theme/native_theme_features.h"

namespace blink {

inline constexpr unsigned kUnderInvalidationChecking =;
inline constexpr unsigned kFluentScrollbar =;
inline constexpr unsigned kHitTestOpaqueness =;
inline constexpr unsigned kElementCapture =;
inline constexpr unsigned kRasterInducingScroll =;

class PaintTestConfigurations
    : public testing::WithParamInterface<unsigned>,
      private ScopedPaintUnderInvalidationCheckingForTest,
      private ScopedHitTestOpaquenessForTest,
      private ScopedFastNonCompositedScrollHitTestForTest,
      private ScopedElementCaptureForTest,
      private ScopedRasterInducingScrollForTest {};

#define PAINT_TEST_SUITE_P_VALUES

#define INSTANTIATE_PAINT_TEST_SUITE_P(test_class)

}  // namespace blink

#endif  // THIRD_PARTY_BLINK_RENDERER_PLATFORM_TESTING_PAINT_TEST_CONFIGURATIONS_H_