// Copyright 2019 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_CUSTOM_LAYOUT_CUSTOM_H_ #define THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_CUSTOM_LAYOUT_CUSTOM_H_ #include "third_party/blink/renderer/core/layout/layout_block_flow.h" #include "third_party/blink/renderer/platform/wtf/casting.h" namespace blink { // The LayoutObject for elements which have "display: layout(foo);" specified. // https://drafts.css-houdini.org/css-layout-api/ // // This class inherits from LayoutBlockFlow so that when a web developer's // intrinsicSizes/layout callback fails, it can fallback onto the "default" // block-flow layout algorithm. class LayoutCustom final : public LayoutBlockFlow { … }; template <> struct DowncastTraits<LayoutCustom> { … }; } // namespace blink #endif // THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_CUSTOM_LAYOUT_CUSTOM_H_