OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) |
3 * (C) 2000 Antti Koivisto (koivisto@kde.org) | 3 * (C) 2000 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2000 Dirk Mueller (mueller@kde.org) | 4 * (C) 2000 Dirk Mueller (mueller@kde.org) |
5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) | 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) |
6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All r
ights reserved. | 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All r
ights reserved. |
7 * Copyright (C) 2009 Google Inc. All rights reserved. | 7 * Copyright (C) 2009 Google Inc. All rights reserved. |
8 * | 8 * |
9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
(...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
498 // SVG uses FloatPoint precise hit testing, and passes the point in parent | 498 // SVG uses FloatPoint precise hit testing, and passes the point in parent |
499 // coordinates instead of in paint invalidaiton container coordinates. Event
ually the | 499 // coordinates instead of in paint invalidaiton container coordinates. Event
ually the |
500 // rest of the rendering tree will move to a similar model. | 500 // rest of the rendering tree will move to a similar model. |
501 virtual bool nodeAtFloatPoint(const HitTestRequest&, HitTestResult&, const F
loatPoint& pointInParent, HitTestAction); | 501 virtual bool nodeAtFloatPoint(const HitTestRequest&, HitTestResult&, const F
loatPoint& pointInParent, HitTestAction); |
502 | 502 |
503 bool isAnonymous() const { return m_bitfields.isAnonymous(); } | 503 bool isAnonymous() const { return m_bitfields.isAnonymous(); } |
504 bool isAnonymousBlock() const | 504 bool isAnonymousBlock() const |
505 { | 505 { |
506 // This function is kept in sync with anonymous block creation condition
s in | 506 // This function is kept in sync with anonymous block creation condition
s in |
507 // LayoutBlock::createAnonymousBlock(). This includes creating an anonym
ous | 507 // LayoutBlock::createAnonymousBlock(). This includes creating an anonym
ous |
508 // LayoutBlock having a BLOCK or BOX display. Other classes such as Rend
erTextFragment | 508 // LayoutBlock having a BLOCK or BOX display. Other classes such as Layo
utTextFragment |
509 // are not LayoutBlocks and will return false. See https://bugs.webkit.o
rg/show_bug.cgi?id=56709. | 509 // are not LayoutBlocks and will return false. See https://bugs.webkit.o
rg/show_bug.cgi?id=56709. |
510 return isAnonymous() && (style()->display() == BLOCK || style()->display
() == BOX) && style()->styleType() == NOPSEUDO && isLayoutBlock() && !isListMark
er() && !isLayoutFlowThread() && !isLayoutMultiColumnSet() | 510 return isAnonymous() && (style()->display() == BLOCK || style()->display
() == BOX) && style()->styleType() == NOPSEUDO && isLayoutBlock() && !isListMark
er() && !isLayoutFlowThread() && !isLayoutMultiColumnSet() |
511 && !isLayoutFullScreen() | 511 && !isLayoutFullScreen() |
512 && !isLayoutFullScreenPlaceholder(); | 512 && !isLayoutFullScreenPlaceholder(); |
513 } | 513 } |
514 bool isAnonymousColumnsBlock() const { return style()->specifiesColumns() &&
isAnonymousBlock(); } | 514 bool isAnonymousColumnsBlock() const { return style()->specifiesColumns() &&
isAnonymousBlock(); } |
515 bool isAnonymousColumnSpanBlock() const { return style()->columnSpan() && is
AnonymousBlock(); } | 515 bool isAnonymousColumnSpanBlock() const { return style()->columnSpan() && is
AnonymousBlock(); } |
516 bool isElementContinuation() const { return node() && node()->renderer() !=
this; } | 516 bool isElementContinuation() const { return node() && node()->renderer() !=
this; } |
517 bool isInlineElementContinuation() const { return isElementContinuation() &&
isInline(); } | 517 bool isInlineElementContinuation() const { return isElementContinuation() &&
isInline(); } |
518 virtual LayoutBoxModelObject* virtualContinuation() const { return 0; } | 518 virtual LayoutBoxModelObject* virtualContinuation() const { return 0; } |
(...skipping 668 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1187 virtual bool paintInvalidationStateIsDirty() const | 1187 virtual bool paintInvalidationStateIsDirty() const |
1188 { | 1188 { |
1189 return neededLayoutBecauseOfChildren() || shouldCheckForPaintInvalidatio
nRegardlessOfPaintInvalidationState(); | 1189 return neededLayoutBecauseOfChildren() || shouldCheckForPaintInvalidatio
nRegardlessOfPaintInvalidationState(); |
1190 } | 1190 } |
1191 #endif | 1191 #endif |
1192 | 1192 |
1193 virtual void invalidatePaintOfSubtreesIfNeeded(const PaintInvalidationState&
childPaintInvalidationState); | 1193 virtual void invalidatePaintOfSubtreesIfNeeded(const PaintInvalidationState&
childPaintInvalidationState); |
1194 virtual PaintInvalidationReason invalidatePaintIfNeeded(const PaintInvalidat
ionState&, const LayoutBoxModelObject& paintInvalidationContainer); | 1194 virtual PaintInvalidationReason invalidatePaintIfNeeded(const PaintInvalidat
ionState&, const LayoutBoxModelObject& paintInvalidationContainer); |
1195 | 1195 |
1196 // When this object is invalidated for paint, this method is called to inval
idate any DisplayItemClients | 1196 // When this object is invalidated for paint, this method is called to inval
idate any DisplayItemClients |
1197 // owned by this object, including the object itself, RenderText/LayoutInlin
e line boxes, scrollbars, etc., | 1197 // owned by this object, including the object itself, LayoutText/LayoutInlin
e line boxes, scrollbars, etc., |
1198 // not including children which will be invalidated normally during invalida
teTreeIfNeeded(). | 1198 // not including children which will be invalidated normally during invalida
teTreeIfNeeded(). |
1199 virtual void invalidateDisplayItemClients(DisplayItemList*) const; | 1199 virtual void invalidateDisplayItemClients(DisplayItemList*) const; |
1200 | 1200 |
1201 private: | 1201 private: |
1202 void setLayoutDidGetCalledSinceLastFrame() | 1202 void setLayoutDidGetCalledSinceLastFrame() |
1203 { | 1203 { |
1204 m_bitfields.setLayoutDidGetCalledSinceLastFrame(true); | 1204 m_bitfields.setLayoutDidGetCalledSinceLastFrame(true); |
1205 | 1205 |
1206 // Make sure our parent is marked as needing invalidation. | 1206 // Make sure our parent is marked as needing invalidation. |
1207 // This would be unneeded if we allowed sub-tree invalidation (akin to s
ub-tree layouts). | 1207 // This would be unneeded if we allowed sub-tree invalidation (akin to s
ub-tree layouts). |
(...skipping 425 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1633 void showTree(const blink::LayoutObject*); | 1633 void showTree(const blink::LayoutObject*); |
1634 void showLineTree(const blink::LayoutObject*); | 1634 void showLineTree(const blink::LayoutObject*); |
1635 void showRenderTree(const blink::LayoutObject* object1); | 1635 void showRenderTree(const blink::LayoutObject* object1); |
1636 // We don't make object2 an optional parameter so that showRenderTree | 1636 // We don't make object2 an optional parameter so that showRenderTree |
1637 // can be called from gdb easily. | 1637 // can be called from gdb easily. |
1638 void showRenderTree(const blink::LayoutObject* object1, const blink::LayoutObjec
t* object2); | 1638 void showRenderTree(const blink::LayoutObject* object1, const blink::LayoutObjec
t* object2); |
1639 | 1639 |
1640 #endif | 1640 #endif |
1641 | 1641 |
1642 #endif // LayoutObject_h | 1642 #endif // LayoutObject_h |
OLD | NEW |