#include "components/input/render_input_router_latency_tracker.h"
#include <memory>
#include <string>
#include "base/memory/raw_ptr.h"
#include "base/metrics/metrics_hashes.h"
#include "base/test/metrics/histogram_tester.h"
#include "build/build_config.h"
#include "components/input/native_web_keyboard_event.h"
#include "components/ukm/test_ukm_recorder.h"
#include "content/browser/web_contents/web_contents_impl.h"
#include "content/public/common/content_client.h"
#include "content/test/test_content_browser_client.h"
#include "content/test/test_render_view_host.h"
#include "content/test/test_web_contents.h"
#include "services/metrics/public/cpp/ukm_source.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/common/input/synthetic_web_input_event_builders.h"
#include "ui/events/base_event_utils.h"
Bucket;
WebInputEvent;
ElementsAre;
namespace content {
namespace {
void AddFakeComponentsWithTimeStamp(
const input::RenderInputRouterLatencyTracker& tracker,
ui::LatencyInfo* latency,
base::TimeTicks time_stamp) { … }
void AddRenderingScheduledComponent(ui::LatencyInfo* latency,
bool main,
base::TimeTicks time_stamp) { … }
}
class RenderInputRouterLatencyTrackerTestBrowserClient
: public TestContentBrowserClient { … };
class RenderInputRouterLatencyTrackerTest
: public RenderViewHostImplTestHarness { … };
TEST_F(RenderInputRouterLatencyTrackerTest,
LatencyTerminatedOnAckIfGSUIgnored) { … }
TEST_F(RenderInputRouterLatencyTrackerTest, ScrollLatency) { … }
}