Index: third_party/WebKit/Source/core/layout/ng/NGConstraintSpace.h |
diff --git a/third_party/WebKit/Source/core/layout/ng/NGConstraintSpace.h b/third_party/WebKit/Source/core/layout/ng/NGConstraintSpace.h |
deleted file mode 100644 |
index 7d0a2a1058d3aa599d105cda280664f326af0a72..0000000000000000000000000000000000000000 |
--- a/third_party/WebKit/Source/core/layout/ng/NGConstraintSpace.h |
+++ /dev/null |
@@ -1,171 +0,0 @@ |
-// Copyright 2016 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef NGConstraintSpace_h |
-#define NGConstraintSpace_h |
- |
-#include "core/CoreExport.h" |
-#include "platform/LayoutUnit.h" |
-#include "wtf/DoublyLinkedList.h" |
- |
-namespace blink { |
- |
-class NGConstraintSpace; |
-class NGDerivedConstraintSpace; |
-class NGExclusion; |
-class NGFragment; |
-class NGLayoutOpportunityIterator; |
-class LayoutBox; |
- |
-enum NGExclusionType { |
- NGClearNone = 0, |
- NGClearFloatLeft = 1, |
- NGClearFloatRight = 2, |
- NGClearFragment = 4 |
-}; |
- |
-enum NGFragmentationType { |
- FragmentNone, |
- FragmentPage, |
- FragmentColumn, |
- FragmentRegion |
-}; |
- |
-enum NGExclusionFlowType { |
- ExcludeNone, |
- ExcludeInlineFlow, |
- ExcludeInlineStart, |
- ExcludeInlineEnd, |
- ExcludeInlineBoth |
-}; |
- |
-class NGExclusion { |
-public: |
- NGExclusion(); |
- ~NGExclusion() { } |
-}; |
- |
-class CORE_EXPORT NGConstraintSpace { |
-public: |
- NGConstraintSpace(LayoutUnit inlineContainerSize, |
- LayoutUnit blockContainerSize); |
- ~NGConstraintSpace() { } |
- |
- // Constructs Layout NG constraint space from legacy layout object. |
- static NGConstraintSpace fromLayoutObject(const LayoutBox&); |
- |
- void addExclusion(const NGExclusion, unsigned options = 0); |
- void setOverflowTriggersScrollbar(bool inlineTriggers, |
- bool blockTriggers); |
- void setFixedSize(bool inlineFixed, bool blockFixed); |
- void setFragmentationType(NGFragmentationType); |
- |
- // Size of the container in each direction. Used for the following |
- // three cases: |
- // 1) Percentage resolution. |
- // 2) Resolving absolute positions of children. |
- // 3) Defining the threashold that triggers the presence of a |
- // scrollbar. Only applies if the corresponding scrollbarTrigger |
- // flag has been set for the direction. |
- LayoutUnit inlineContainerSize() const |
- { |
- return m_inlineContainerSize; |
- } |
- LayoutUnit blockContainerSize() const |
- { |
- return m_blockContainerSize; |
- } |
- |
- // Whether exceeding the containerSize triggers the presence of a |
- // scrollbar for the indicated direction. |
- // If exceeded the current layout should be aborted and invoked again |
- // with a constraint space modified to reserve space for a scrollbar. |
- bool inlineTriggersScrollbar() const |
- { |
- return m_inlineTriggersScrollbar; |
- } |
- bool blockTriggersScrollbar() const |
- { |
- return m_blockTriggersScrollbar; |
- } |
- |
- // Some layout modes “stretch” their children to a fixed size (e.g. flex, |
- // grid). These flags represented whether a layout needs to produce a |
- // fragment that satisfies a fixed constraint in the inline and block |
- // direction respectively. |
- bool fixedInlineSize() const { return m_fixedInlineSize; } |
- bool fixedBlockSize() const { return m_fixedBlockSize; } |
- |
- // If specified a layout should produce a Fragment which fragments at the |
- // blockSize if possible. |
- NGFragmentationType blockFragmentationType() const |
- { |
- return static_cast<NGFragmentationType>(m_blockFragmentationType); |
- } |
- |
- DoublyLinkedList<const NGExclusion> exclusions(unsigned options = 0) const; |
- |
- NGLayoutOpportunityIterator layoutOpportunities( |
- unsigned clear = NGClearNone, |
- NGExclusionFlowType avoid = ExcludeNone) const; |
- |
- // Modifies constraint space to account for a placed fragment. Depending on |
- // the shape of the fragment this will either modify the inline or block |
- // size, or add an exclusion. |
- void subtract(const NGFragment); |
- |
-private: |
- LayoutUnit m_inlineContainerSize; |
- LayoutUnit m_blockContainerSize; |
- |
- unsigned m_fixedInlineSize : 1; |
- unsigned m_fixedBlockSize : 1; |
- unsigned m_inlineTriggersScrollbar : 1; |
- unsigned m_blockTriggersScrollbar : 1; |
- unsigned m_blockFragmentationType : 2; |
- |
- DoublyLinkedList<const NGExclusion> m_exclusions; |
-}; |
- |
- |
-class CORE_EXPORT NGLayoutOpportunityIterator final { |
-public: |
- NGLayoutOpportunityIterator(const NGConstraintSpace* space, |
- unsigned clear, NGExclusionFlowType avoid) |
- : m_constraintSpace(space) |
- , m_clear(clear) |
- , m_avoid(avoid) { } |
- ~NGLayoutOpportunityIterator() { } |
- |
- const NGDerivedConstraintSpace* next(); |
- |
-private: |
- const NGConstraintSpace* m_constraintSpace; |
- unsigned m_clear; |
- NGExclusionFlowType m_avoid; |
-}; |
- |
- |
-class CORE_EXPORT NGDerivedConstraintSpace final : NGConstraintSpace { |
-public: |
- ~NGDerivedConstraintSpace(); |
- |
- LayoutUnit inlineOffset() const; |
- LayoutUnit blockOffset() const; |
- LayoutUnit inlineSize() const; |
- LayoutUnit blockSize() const; |
- |
-private: |
- NGDerivedConstraintSpace(); |
- |
- LayoutUnit m_inlineOffset; |
- LayoutUnit m_blockOffset; |
- LayoutUnit m_inlineSize; |
- LayoutUnit m_blockSize; |
- NGConstraintSpace* m_original; |
-}; |
- |
-} // namespace blink |
- |
-#endif // NGConstraintSpace_h |