#include "base/test/metrics/histogram_tester.h"
#include "cc/base/features.h"
#include "cc/input/main_thread_scrolling_reason.h"
#include "third_party/blink/renderer/core/frame/local_frame_view.h"
#include "third_party/blink/renderer/core/frame/web_local_frame_impl.h"
#include "third_party/blink/renderer/core/geometry/dom_rect.h"
#include "third_party/blink/renderer/core/input/event_handler.h"
#include "third_party/blink/renderer/core/layout/layout_view.h"
#include "third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h"
#include "third_party/blink/renderer/core/testing/sim/sim_request.h"
#include "third_party/blink/renderer/core/testing/sim/sim_test.h"
#include "third_party/blink/renderer/platform/testing/paint_test_configurations.h"
#include "third_party/blink/renderer/platform/testing/testing_platform_support.h"
#include "third_party/blink/renderer/platform/testing/unit_test_helpers.h"
#define EXPECT_WHEEL_BUCKET(index, count) …
#define EXPECT_TOUCH_BUCKET(index, count) …
#define EXPECT_WHEEL_TOTAL(count) …
#define EXPECT_TOUCH_TOTAL(count) …
namespace blink {
namespace {
class ScrollMetricsTest : public PaintTestConfigurations, public SimTest { … };
INSTANTIATE_PAINT_TEST_SUITE_P(…);
class ScrollBeginEventBuilder : public WebGestureEvent { … };
class ScrollUpdateEventBuilder : public WebGestureEvent { … };
class ScrollEndEventBuilder : public WebGestureEvent { … };
int BucketIndex(uint32_t reason) { … }
void ScrollMetricsTest::Scroll(Element* element,
const WebGestureDevice device) { … }
void ScrollMetricsTest::SetUpHtml(const char* html_content) { … }
TEST_P(ScrollMetricsTest, TouchAndWheelGeneralTest) { … }
TEST_P(ScrollMetricsTest, CompositedScrollableAreaTest) { … }
TEST_P(ScrollMetricsTest, NotScrollableAreaTest) { … }
TEST_P(ScrollMetricsTest, NestedScrollersTest) { … }
}
}