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); |