#include "third_party/blink/renderer/core/paint/timing/text_paint_timing_detector.h"
#include <memory>
#include "third_party/blink/renderer/core/css/properties/longhands.h"
#include "third_party/blink/renderer/core/dom/node_computed_style.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/frame/local_frame_view.h"
#include "third_party/blink/renderer/core/paint/paint_layer.h"
#include "third_party/blink/renderer/core/paint/timing/largest_contentful_paint_calculator.h"
#include "third_party/blink/renderer/core/paint/timing/paint_timing.h"
#include "third_party/blink/renderer/core/paint/timing/paint_timing_detector.h"
#include "third_party/blink/renderer/core/timing/soft_navigation_heuristics.h"
#include "third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h"
#include "third_party/blink/renderer/platform/instrumentation/tracing/traced_value.h"
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
namespace blink {
void TextRecord::Trace(Visitor* visitor) const { … }
TextPaintTimingDetector::TextPaintTimingDetector(
LocalFrameView* frame_view,
PaintTimingDetector* paint_timing_detector,
PaintTimingCallbackManager* callback_manager)
: … { … }
void LargestTextPaintManager::PopulateTraceValue(
TracedValue& value,
const TextRecord& first_text_paint) { … }
void LargestTextPaintManager::ReportCandidateToTrace(
const TextRecord& largest_text_record) { … }
std::pair<TextRecord*, bool> LargestTextPaintManager::UpdateMetricsCandidate() { … }
void TextPaintTimingDetector::OnPaintFinished() { … }
void TextPaintTimingDetector::LayoutObjectWillBeDestroyed(
const LayoutObject& object) { … }
void TextPaintTimingDetector::RegisterNotifyPresentationTime(
PaintTimingCallbackManager::LocalThreadCallback callback) { … }
void TextPaintTimingDetector::ReportPresentationTime(
uint32_t frame_index,
base::TimeTicks timestamp) { … }
bool TextPaintTimingDetector::ShouldWalkObject(
const LayoutBoxModelObject& object) const { … }
void TextPaintTimingDetector::RecordAggregatedText(
const LayoutBoxModelObject& aggregator,
const gfx::Rect& aggregated_visual_rect,
const PropertyTreeStateOrAlias& property_tree_state) { … }
void TextPaintTimingDetector::StopRecordingLargestTextPaint() { … }
void TextPaintTimingDetector::RestartRecordingLargestTextPaint() { … }
void TextPaintTimingDetector::ReportLargestIgnoredText() { … }
void TextPaintTimingDetector::Trace(Visitor* visitor) const { … }
LargestTextPaintManager::LargestTextPaintManager(
LocalFrameView* frame_view,
PaintTimingDetector* paint_timing_detector)
: … { … }
void LargestTextPaintManager::MaybeUpdateLargestText(TextRecord* record) { … }
void LargestTextPaintManager::MaybeUpdateLargestIgnoredText(
const LayoutObject& object,
const uint64_t& size,
const gfx::Rect& frame_visual_rect,
const gfx::RectF& root_visual_rect) { … }
void LargestTextPaintManager::Trace(Visitor* visitor) const { … }
void TextPaintTimingDetector::AssignPaintTimeToQueuedRecords(
uint32_t frame_index,
const base::TimeTicks& timestamp) { … }
void TextPaintTimingDetector::MaybeRecordTextRecord(
const LayoutObject& object,
const uint64_t& visual_size,
const PropertyTreeStateOrAlias& property_tree_state,
const gfx::Rect& frame_visual_rect,
const gfx::RectF& root_visual_rect) { … }
}