diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/timing/layout_shift.h')
-rw-r--r-- | chromium/third_party/blink/renderer/core/timing/layout_shift.h | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/chromium/third_party/blink/renderer/core/timing/layout_shift.h b/chromium/third_party/blink/renderer/core/timing/layout_shift.h index 65479493b8b..d5d29f59659 100644 --- a/chromium/third_party/blink/renderer/core/timing/layout_shift.h +++ b/chromium/third_party/blink/renderer/core/timing/layout_shift.h @@ -7,6 +7,7 @@ #include "third_party/blink/renderer/core/core_export.h" #include "third_party/blink/renderer/core/dom/dom_high_res_time_stamp.h" +#include "third_party/blink/renderer/core/timing/layout_shift_attribution.h" #include "third_party/blink/renderer/core/timing/performance_entry.h" namespace blink { @@ -17,10 +18,24 @@ class CORE_EXPORT LayoutShift final : public PerformanceEntry { DEFINE_WRAPPERTYPEINFO(); public: - LayoutShift(double start_time, - double value, - bool input_detected, - double input_timestamp); + // Maximum number of attributions (shifted elements) to record in any single + // animation frame. + static constexpr int kMaxAttributions = 5; + typedef HeapVector<Member<LayoutShiftAttribution>, kMaxAttributions> + AttributionList; + + static LayoutShift* Create(double start_time, + double value, + bool input_detected, + double input_timestamp, + AttributionList sources); + + explicit LayoutShift(double start_time, + double value, + bool input_detected, + double input_timestamp, + AttributionList sources); + ~LayoutShift() override; AtomicString entryType() const override; @@ -30,6 +45,8 @@ class CORE_EXPORT LayoutShift final : public PerformanceEntry { bool hadRecentInput() const { return had_recent_input_; } double lastInputTime() const { return most_recent_input_timestamp_; } + AttributionList sources() const { return sources_; } + void Trace(Visitor*) override; private: @@ -38,6 +55,7 @@ class CORE_EXPORT LayoutShift final : public PerformanceEntry { double value_; bool had_recent_input_; DOMHighResTimeStamp most_recent_input_timestamp_; + AttributionList sources_; }; } // namespace blink |