// Copyright 2020 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_SIMPLIFIED_OOF_LAYOUT_ALGORITHM_H_ #define THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_SIMPLIFIED_OOF_LAYOUT_ALGORITHM_H_ #include "base/notreached.h" #include "third_party/blink/renderer/core/core_export.h" #include "third_party/blink/renderer/core/layout/block_break_token.h" #include "third_party/blink/renderer/core/layout/box_fragment_builder.h" #include "third_party/blink/renderer/core/layout/layout_algorithm.h" namespace blink { // Simplified fragmentainer layout algorithm, for OOF descendants. When regular // layout hasn't created enough fragmentainers (because the OOFs were not known // at that point), this algorithm will help build additional fragmentainers. // Additionally, it is used to add additional OOF children that belong in an // existing fragmentainer, in which case the resulting fragment returned from // Layout() will just be used to merge the new children into the existing // existing fragmentainer, by mutating it. class CORE_EXPORT SimplifiedOofLayoutAlgorithm : public LayoutAlgorithm<BlockNode, BoxFragmentBuilder, BlockBreakToken> { … }; } // namespace blink #endif // THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_SIMPLIFIED_OOF_LAYOUT_ALGORITHM_H_