| Index: third_party/WebKit/Source/core/layout/ng/ng_physical_constraint_space.h
 | 
| diff --git a/third_party/WebKit/Source/core/layout/ng/ng_physical_constraint_space.h b/third_party/WebKit/Source/core/layout/ng/ng_physical_constraint_space.h
 | 
| index 00d5b68c80c45428ff508c9cf480c8781b7ada8d..372aa34ee45da8333eb3da46f7c36d9b38dde9ba 100644
 | 
| --- a/third_party/WebKit/Source/core/layout/ng/ng_physical_constraint_space.h
 | 
| +++ b/third_party/WebKit/Source/core/layout/ng/ng_physical_constraint_space.h
 | 
| @@ -8,7 +8,8 @@
 | 
|  #include "core/CoreExport.h"
 | 
|  #include "core/layout/ng/ng_units.h"
 | 
|  #include "platform/heap/Handle.h"
 | 
| -#include "wtf/DoublyLinkedList.h"
 | 
| +#include "wtf/Vector.h"
 | 
| +#include "wtf/text/WTFString.h"
 | 
|  
 | 
|  namespace blink {
 | 
|  
 | 
| @@ -26,17 +27,35 @@ enum NGFragmentationType {
 | 
|    FragmentRegion
 | 
|  };
 | 
|  
 | 
| -class NGExclusion {
 | 
| - public:
 | 
| -  NGExclusion();
 | 
| -  ~NGExclusion() {}
 | 
| +struct NGExclusion {
 | 
| +  NGExclusion(LayoutUnit top,
 | 
| +              LayoutUnit right,
 | 
| +              LayoutUnit bottom,
 | 
| +              LayoutUnit left) {
 | 
| +    rect.location.left = left;
 | 
| +    rect.location.top = top;
 | 
| +    rect.size.width = right - left;
 | 
| +    rect.size.height = bottom - top;
 | 
| +  }
 | 
| +  LayoutUnit Top() const { return rect.location.top; }
 | 
| +  LayoutUnit Right() const { return rect.size.width + rect.location.left; }
 | 
| +  LayoutUnit Bottom() const { return rect.size.height + rect.location.top; }
 | 
| +  LayoutUnit Left() const { return rect.location.left; }
 | 
| +  String toString() const {
 | 
| +    return String::format(
 | 
| +        "Exclusion: %0.2f, %0.2f, size: %0.2f, %0.2f (right %0.2f)",
 | 
| +        rect.location.left.toFloat(), rect.location.top.toFloat(),
 | 
| +        rect.size.width.toFloat(), rect.size.height.toFloat(),
 | 
| +        Right().toFloat());
 | 
| +  }
 | 
| +  NGPhysicalRect rect;
 | 
|  };
 | 
|  
 | 
|  // The NGPhysicalConstraintSpace contains the underlying data for the
 | 
|  // NGConstraintSpace. It is not meant to be used directly as all members are in
 | 
|  // the physical coordinate space. Instead NGConstraintSpace should be used.
 | 
|  class CORE_EXPORT NGPhysicalConstraintSpace final
 | 
| -    : public GarbageCollected<NGPhysicalConstraintSpace> {
 | 
| +    : public GarbageCollectedFinalized<NGPhysicalConstraintSpace> {
 | 
|   public:
 | 
|    NGPhysicalConstraintSpace();
 | 
|    NGPhysicalConstraintSpace(NGPhysicalSize);
 | 
| @@ -45,8 +64,7 @@ class CORE_EXPORT NGPhysicalConstraintSpace final
 | 
|    NGPhysicalSize ContainerSize() const { return container_size_; }
 | 
|  
 | 
|    void AddExclusion(const NGExclusion, unsigned options = 0);
 | 
| -  const DoublyLinkedList<const NGExclusion>* Exclusions(
 | 
| -      unsigned options = 0) const;
 | 
| +  const Vector<NGExclusion>& Exclusions(unsigned options = 0) const;
 | 
|  
 | 
|    DEFINE_INLINE_TRACE() {}
 | 
|  
 | 
| @@ -62,7 +80,7 @@ class CORE_EXPORT NGPhysicalConstraintSpace final
 | 
|    unsigned width_direction_fragmentation_type_ : 2;
 | 
|    unsigned height_direction_fragmentation_type_ : 2;
 | 
|  
 | 
| -  DoublyLinkedList<const NGExclusion> exclusions_;
 | 
| +  Vector<NGExclusion> exclusions_;
 | 
|  };
 | 
|  
 | 
|  }  // namespace blink
 | 
| 
 |