// Copyright 2022 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_FRAGMENT_REPEATER_H_ #define THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_FRAGMENT_REPEATER_H_ #include "third_party/blink/renderer/platform/wtf/allocator/allocator.h" namespace blink { class LayoutBox; class LayoutResult; class PhysicalBoxFragment; // Fragment tree mutator / cloner / repeater. // // This is needed in order to implement repeated content in block fragmentation // (repeated table headers / footers, and also fixed-positioned elements when // printing). // // On the layout side, we only lay out the element once, but pre-paint and paint // require one unique fragment for each time it repeats, since we need one // FragmentData object for each, each with its own global-ish paint offset. class FragmentRepeater { … }; } // namespace blink #endif // THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_FRAGMENT_REPEATER_H_