| Index: third_party/WebKit/Source/core/layout/ng/inline/ng_inline_box_state.h | 
| diff --git a/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_box_state.h b/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_box_state.h | 
| index 5fcc3965dfa99454c662e3729255ee234a1d4b2f..4e24390b7ceb91c28f41b94596297edde6e95931 100644 | 
| --- a/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_box_state.h | 
| +++ b/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_box_state.h | 
| @@ -16,6 +16,7 @@ | 
| namespace blink { | 
|  | 
| class NGInlineItem; | 
| +struct NGInlineItemResult; | 
| class NGLineBoxFragmentBuilder; | 
|  | 
| // Fragments that require the layout position/size of ancestor are packed in | 
| @@ -30,6 +31,7 @@ struct NGPendingPositions { | 
| // Represents the current box while NGInlineLayoutAlgorithm performs layout. | 
| // Used 1) to cache common values for a box, and 2) to layout children that | 
| // require ancestor position or size. | 
| +// This is a transient object only while building line boxes in a block. | 
| struct NGInlineBoxState { | 
| unsigned fragment_start; | 
| const NGInlineItem* item; | 
| @@ -41,8 +43,10 @@ struct NGInlineBoxState { | 
| // These values are to create a box fragment. Set only when needs_box_fragment | 
| // is set. | 
| LayoutUnit line_left_position; | 
| +  LayoutUnit line_right_position; | 
| LayoutUnit borders_paddings_block_start; | 
| -  LayoutUnit borders_paddings_block_height; | 
| +  LayoutUnit borders_paddings_block_end; | 
| +  NGBorderEdges border_edges; | 
|  | 
| Vector<NGPendingPositions> pending_descendants; | 
| bool include_used_fonts = false; | 
| @@ -56,9 +60,12 @@ struct NGInlineBoxState { | 
| FontBaseline); | 
|  | 
| // Create a box fragment for this box. | 
| -  void SetNeedsBoxFragment(LayoutUnit line_left_position, | 
| -                           LayoutUnit borders_paddings_block_start, | 
| -                           LayoutUnit borders_paddings_block_height); | 
| +  void SetNeedsBoxFragment(const NGInlineItem&, | 
| +                           const NGInlineItemResult&, | 
| +                           LayoutUnit position); | 
| +  void SetLineRightForBoxFragment(const NGInlineItem&, | 
| +                                  const NGInlineItemResult&, | 
| +                                  LayoutUnit position); | 
| }; | 
|  | 
| // Represents the inline tree structure. This class provides: | 
| @@ -81,8 +88,7 @@ class NGInlineLayoutStateStack { | 
| NGInlineBoxState* OnCloseTag(const NGInlineItem&, | 
| NGLineBoxFragmentBuilder*, | 
| NGInlineBoxState*, | 
| -                               FontBaseline, | 
| -                               LayoutUnit position); | 
| +                               FontBaseline); | 
|  | 
| // Compute all the pending positioning at the end of a line. | 
| void OnEndPlaceItems(NGLineBoxFragmentBuilder*, | 
| @@ -92,15 +98,11 @@ class NGInlineLayoutStateStack { | 
| private: | 
| // End of a box state, either explicitly by close tag, or implicitly at the | 
| // end of a line. | 
| -  void EndBoxState(NGInlineBoxState*, | 
| -                   NGLineBoxFragmentBuilder*, | 
| -                   FontBaseline, | 
| -                   LayoutUnit position); | 
| +  void EndBoxState(NGInlineBoxState*, NGLineBoxFragmentBuilder*, FontBaseline); | 
|  | 
| void AddBoxFragmentPlaceholder(NGInlineBoxState*, | 
| NGLineBoxFragmentBuilder*, | 
| -                                 FontBaseline, | 
| -                                 LayoutUnit position); | 
| +                                 FontBaseline); | 
| void CreateBoxFragments(NGLineBoxFragmentBuilder*); | 
|  | 
| enum PositionPending { kPositionNotPending, kPositionPending }; | 
| @@ -116,11 +118,13 @@ class NGInlineLayoutStateStack { | 
| FontBaseline); | 
|  | 
| // Data for a box fragment placeholder. See AddBoxFragmentPlaceholder(). | 
| +  // This is a transient object only while building a line box. | 
| struct BoxFragmentPlaceholder { | 
| unsigned fragment_start; | 
| unsigned fragment_end; | 
| const NGInlineItem* item; | 
| NGLogicalSize size; | 
| +    NGBorderEdges border_edges; | 
| }; | 
|  | 
| Vector<NGInlineBoxState, 4> stack_; | 
|  |