 Chromium Code Reviews
 Chromium Code Reviews Issue 2926823002:
  Introduce LocalCaretRect for refactoring Local{Caret,Selection}RectPosition()  (Closed)
    
  
    Issue 2926823002:
  Introduce LocalCaretRect for refactoring Local{Caret,Selection}RectPosition()  (Closed) 
  | Index: third_party/WebKit/Source/core/editing/VisibleUnits.h | 
| diff --git a/third_party/WebKit/Source/core/editing/VisibleUnits.h b/third_party/WebKit/Source/core/editing/VisibleUnits.h | 
| index 099b17ec562c095644c95b878a9ee99d12e64430..32e5ba0a8a4bdcec0f8c31945fbfa84020ba3760 100644 | 
| --- a/third_party/WebKit/Source/core/editing/VisibleUnits.h | 
| +++ b/third_party/WebKit/Source/core/editing/VisibleUnits.h | 
| @@ -64,6 +64,19 @@ struct InlineBoxPosition { | 
| } | 
| }; | 
| +// This struct represents local caret rectangle in |layout_object|. | 
| +struct LocalCaretRect { | 
| + LayoutObject* layout_object = nullptr; | 
| + LayoutRect rect; | 
| + | 
| + LocalCaretRect() = default; | 
| + LocalCaretRect(LayoutObject* layout_object, const LayoutRect& rect) | 
| + : layout_object(layout_object), rect(rect) {} | 
| + | 
| + bool IsEmpty() const { return !layout_object || rect.IsEmpty(); } | 
| + FloatQuad LocalToAbsoluteQuad() const; | 
| 
Xiaocheng
2017/06/08 21:00:42
This function is only used within VisibleUnits.cpp
 
yosin_UTC9
2017/06/09 06:13:29
Done.
 | 
| +}; | 
| + | 
| // The print for |InlineBoxPosition| is available only for testing | 
| // in "webkit_unit_tests", and implemented in | 
| // "core/editing/VisibleUnitsTest.cpp". | 
| @@ -320,10 +333,10 @@ ComputeInlineBoxPosition(const PositionInFlatTree&, | 
| CORE_EXPORT InlineBoxPosition ComputeInlineBoxPosition(const VisiblePosition&); | 
| // Rect is local to the returned layoutObject | 
| -CORE_EXPORT LayoutRect LocalCaretRectOfPosition(const PositionWithAffinity&, | 
| - LayoutObject*&); | 
| -CORE_EXPORT LayoutRect | 
| -LocalCaretRectOfPosition(const PositionInFlatTreeWithAffinity&, LayoutObject*&); | 
| +CORE_EXPORT LocalCaretRect | 
| +LocalCaretRectOfPosition(const PositionWithAffinity&); | 
| +CORE_EXPORT LocalCaretRect | 
| +LocalCaretRectOfPosition(const PositionInFlatTreeWithAffinity&); | 
| bool HasRenderedNonAnonymousDescendantsWithHeight(LayoutObject*); | 
| // Returns a hit-tested VisiblePosition for the given point in contents-space |