Chromium Code Reviews| Index: Source/core/layout/LayoutObject.h |
| diff --git a/Source/core/layout/LayoutObject.h b/Source/core/layout/LayoutObject.h |
| index afb71435d4e5893af1a1ac503db33fc8a8896d59..a8499b206da50a1b91d5ad8bb4ed3b537dd11a42 100644 |
| --- a/Source/core/layout/LayoutObject.h |
| +++ b/Source/core/layout/LayoutObject.h |
| @@ -874,7 +874,6 @@ public: |
| // coordinate space. This method deals with outlines and overflow. |
| virtual LayoutRect absoluteClippedOverflowRect() const; |
| virtual LayoutRect clippedOverflowRectForPaintInvalidation(const LayoutBoxModelObject* paintInvalidationContainer, const PaintInvalidationState* = nullptr) const; |
| - virtual LayoutRect rectWithOutlineForPaintInvalidation(const LayoutBoxModelObject* paintInvalidationContainer, LayoutUnit outlineWidth, const PaintInvalidationState* = nullptr) const; |
| // Given a rect in the object's coordinate space, compute a rect suitable for invalidating paints of |
| // that rect in the coordinate space of paintInvalidationContainer. |
| @@ -989,6 +988,8 @@ public: |
| bool createsGroup() const { return isTransparent() || hasMask() || hasFilter() || style()->hasBlendMode(); } |
| + // Collects rectangles that the outline of this object would be drawing around of, |
|
chrishtr
2015/08/28 00:37:27
s/around of/along the outside of/
Xianzhu
2015/08/28 03:48:04
Done.
|
| + // even if the object isn't styled with a outline for now. |
| virtual void addOutlineRects(Vector<LayoutRect>&, const LayoutPoint& additionalOffset) const { } |
| // Compute a list of hit-test rectangles per layer rooted at this layoutObject. |
| @@ -1194,6 +1195,9 @@ protected: |
| // Remove this object and all descendants from the containing LayoutFlowThread. |
| void removeFromLayoutFlowThread(); |
| + bool containsInlineWithOutlineAndContinuation() const { return m_bitfields.containsInlineWithOutlineAndContinuation(); } |
| + void setContainsInlineWithOutlineAndContinuation(bool b) { m_bitfields.setContainsInlineWithOutlineAndContinuation(b); } |
| + |
| private: |
| void fullyInvalidatePaint(const LayoutBoxModelObject& paintInvalidationContainer, PaintInvalidationReason, const LayoutRect& oldBounds, const LayoutRect& newBounds); |
| @@ -1320,6 +1324,7 @@ private: |
| , m_notifiedOfSubtreeChange(false) |
| , m_consumesSubtreeChangeNotification(false) |
| , m_childrenInline(false) |
| + , m_containsInlineWithOutlineAndContinuation(false) |
| , m_alwaysCreateLineBoxesForLayoutInline(false) |
| , m_lastBoxDecorationBackgroundObscured(false) |
| , m_isSlowRepaintObject(false) |
| @@ -1330,7 +1335,7 @@ private: |
| { |
| } |
| - // 32 bits have been used in the first word, and 16 in the second. |
| + // 32 bits have been used in the first word, and 17 in the second. |
| ADD_BOOLEAN_BITFIELD(selfNeedsLayout, SelfNeedsLayout); |
| ADD_BOOLEAN_BITFIELD(shouldInvalidateOverflowForPaint, ShouldInvalidateOverflowForPaint); // TODO(wangxianzhu): Remove for slimming paint v2. |
| ADD_BOOLEAN_BITFIELD(childShouldCheckForPaintInvalidation, ChildShouldCheckForPaintInvalidation); |
| @@ -1374,6 +1379,9 @@ private: |
| // from LayoutBlock |
| ADD_BOOLEAN_BITFIELD(childrenInline, ChildrenInline); |
| + // from LayoutBlockFlow |
| + ADD_BOOLEAN_BITFIELD(containsInlineWithOutlineAndContinuation, ContainsInlineWithOutlineAndContinuation); |
| + |
| // from LayoutInline |
| ADD_BOOLEAN_BITFIELD(alwaysCreateLineBoxesForLayoutInline, AlwaysCreateLineBoxesForLayoutInline); |