#include "third_party/blink/renderer/platform/fonts/shaping/shaping_line_breaker.h"
#include <unicode/uscript.h>
#include "base/time/time.h"
#include "base/timer/lap_timer.h"
#include "third_party/blink/renderer/platform/fonts/font.h"
#include "third_party/blink/renderer/platform/fonts/font_cache.h"
#include "third_party/blink/renderer/platform/fonts/font_test_utilities.h"
#include "third_party/blink/renderer/platform/fonts/shaping/shape_result_test_info.h"
#include "third_party/blink/renderer/platform/fonts/shaping/shape_result_view.h"
#include "third_party/blink/renderer/platform/text/text_break_iterator.h"
#include "third_party/blink/renderer/platform/text/text_run.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/perf/perf_result_reporter.h"
namespace blink {
namespace {
static const int kTimeLimitMillis = …;
static const int kWarmupRuns = …;
static const int kTimeCheckInterval = …;
constexpr char kMetricPrefixShapingLineBreaker[] = …;
constexpr char kMetricThroughput[] = …;
perf_test::PerfResultReporter SetUpReporter(const std::string& story) { … }
class HarfBuzzShapingLineBreaker : public ShapingLineBreaker { … };
LayoutUnit ShapeText(ShapingLineBreaker* breaker,
LayoutUnit available_space,
unsigned string_length) { … }
}
class ShapingLineBreakerPerfTest : public testing::Test { … };
TEST_F(ShapingLineBreakerPerfTest, ShapeLatinText) { … }
}