Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(87)

Side by Side Diff: Source/core/rendering/RenderObject.h

Issue 744493002: Let RenderTable reach table cells needing overflow recalc (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/rendering/RenderBlock.cpp ('k') | Source/core/rendering/RenderObject.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 562 matching lines...) Expand 10 before | Expand all | Expand 10 after
573 } 573 }
574 574
575 bool posChildNeedsLayout() const { return m_bitfields.posChildNeedsLayout(); } 575 bool posChildNeedsLayout() const { return m_bitfields.posChildNeedsLayout(); }
576 bool needsSimplifiedNormalFlowLayout() const { return m_bitfields.needsSimpl ifiedNormalFlowLayout(); } 576 bool needsSimplifiedNormalFlowLayout() const { return m_bitfields.needsSimpl ifiedNormalFlowLayout(); }
577 bool normalChildNeedsLayout() const { return m_bitfields.normalChildNeedsLay out(); } 577 bool normalChildNeedsLayout() const { return m_bitfields.normalChildNeedsLay out(); }
578 578
579 bool preferredLogicalWidthsDirty() const { return m_bitfields.preferredLogic alWidthsDirty(); } 579 bool preferredLogicalWidthsDirty() const { return m_bitfields.preferredLogic alWidthsDirty(); }
580 580
581 bool needsOverflowRecalcAfterStyleChange() const { return m_bitfields.selfNe edsOverflowRecalcAfterStyleChange() || m_bitfields.childNeedsOverflowRecalcAfter StyleChange(); } 581 bool needsOverflowRecalcAfterStyleChange() const { return m_bitfields.selfNe edsOverflowRecalcAfterStyleChange() || m_bitfields.childNeedsOverflowRecalcAfter StyleChange(); }
582 bool selfNeedsOverflowRecalcAfterStyleChange() const { return m_bitfields.se lfNeedsOverflowRecalcAfterStyleChange(); } 582 bool selfNeedsOverflowRecalcAfterStyleChange() const { return m_bitfields.se lfNeedsOverflowRecalcAfterStyleChange(); }
583 void clearSelfNeedsOverflowRecalcAfterStyleChange() { m_bitfields.setSelfNee dsOverflowRecalcAfterStyleChange(false); }
583 bool childNeedsOverflowRecalcAfterStyleChange() const { return m_bitfields.c hildNeedsOverflowRecalcAfterStyleChange(); } 584 bool childNeedsOverflowRecalcAfterStyleChange() const { return m_bitfields.c hildNeedsOverflowRecalcAfterStyleChange(); }
585 void clearChildNeedsOverflowRecalcAfterStyleChange() { m_bitfields.setChildN eedsOverflowRecalcAfterStyleChange(false); }
584 586
585 bool isSelectionBorder() const; 587 bool isSelectionBorder() const;
586 588
587 bool hasClip() const { return isOutOfFlowPositioned() && !style()->hasAutoCl ip(); } 589 bool hasClip() const { return isOutOfFlowPositioned() && !style()->hasAutoCl ip(); }
588 bool hasOverflowClip() const { return m_bitfields.hasOverflowClip(); } 590 bool hasOverflowClip() const { return m_bitfields.hasOverflowClip(); }
589 bool hasClipOrOverflowClip() const { return hasClip() || hasOverflowClip(); } 591 bool hasClipOrOverflowClip() const { return hasClip() || hasOverflowClip(); }
590 592
591 bool hasTransformRelatedProperty() const { return m_bitfields.hasTransformRe latedProperty(); } 593 bool hasTransformRelatedProperty() const { return m_bitfields.hasTransformRe latedProperty(); }
592 bool hasMask() const { return style() && style()->hasMask(); } 594 bool hasMask() const { return style() && style()->hasMask(); }
593 bool hasClipPath() const { return style() && style()->clipPath(); } 595 bool hasClipPath() const { return style() && style()->clipPath(); }
(...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after
1043 bool shouldCheckForPaintInvalidationRegardlessOfPaintInvalidationState() con st 1045 bool shouldCheckForPaintInvalidationRegardlessOfPaintInvalidationState() con st
1044 { 1046 {
1045 return layoutDidGetCalledSinceLastFrame() || mayNeedPaintInvalidation() || shouldDoFullPaintInvalidation() || shouldInvalidateSelection(); 1047 return layoutDidGetCalledSinceLastFrame() || mayNeedPaintInvalidation() || shouldDoFullPaintInvalidation() || shouldInvalidateSelection();
1046 } 1048 }
1047 1049
1048 bool needsPaint() const { return m_bitfields.needsPaint(); } 1050 bool needsPaint() const { return m_bitfields.needsPaint(); }
1049 1051
1050 virtual bool supportsPaintInvalidationStateCachedOffsets() const { return !h asColumns() && !hasTransformRelatedProperty() && !hasReflection() && !style()->i sFlippedBlocksWritingMode(); } 1052 virtual bool supportsPaintInvalidationStateCachedOffsets() const { return !h asColumns() && !hasTransformRelatedProperty() && !hasReflection() && !style()->i sFlippedBlocksWritingMode(); }
1051 1053
1052 void setNeedsOverflowRecalcAfterStyleChange(); 1054 void setNeedsOverflowRecalcAfterStyleChange();
1053 void markContainingBlocksForOverflowRecalc(); 1055 void markAncestorsForOverflowRecalcIfNeeded();
1054 1056
1055 virtual LayoutRect viewRect() const; 1057 virtual LayoutRect viewRect() const;
1056 1058
1057 DisplayItemClient displayItemClient() const { return (void*)this; } 1059 DisplayItemClient displayItemClient() const { return (void*)this; }
1058 1060
1059 protected: 1061 protected:
1060 enum RenderObjectType { 1062 enum RenderObjectType {
1061 RenderObjectBr, 1063 RenderObjectBr,
1062 RenderObjectCanvas, 1064 RenderObjectCanvas,
1063 RenderObjectFieldset, 1065 RenderObjectFieldset,
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after
1381 RenderObjectBitfields m_bitfields; 1383 RenderObjectBitfields m_bitfields;
1382 1384
1383 void setSelfNeedsLayout(bool b) { m_bitfields.setSelfNeedsLayout(b); } 1385 void setSelfNeedsLayout(bool b) { m_bitfields.setSelfNeedsLayout(b); }
1384 void setNeedsPositionedMovementLayout(bool b) { m_bitfields.setNeedsPosition edMovementLayout(b); } 1386 void setNeedsPositionedMovementLayout(bool b) { m_bitfields.setNeedsPosition edMovementLayout(b); }
1385 void setNormalChildNeedsLayout(bool b) { m_bitfields.setNormalChildNeedsLayo ut(b); } 1387 void setNormalChildNeedsLayout(bool b) { m_bitfields.setNormalChildNeedsLayo ut(b); }
1386 void setPosChildNeedsLayout(bool b) { m_bitfields.setPosChildNeedsLayout(b); } 1388 void setPosChildNeedsLayout(bool b) { m_bitfields.setPosChildNeedsLayout(b); }
1387 void setNeedsSimplifiedNormalFlowLayout(bool b) { m_bitfields.setNeedsSimpli fiedNormalFlowLayout(b); } 1389 void setNeedsSimplifiedNormalFlowLayout(bool b) { m_bitfields.setNeedsSimpli fiedNormalFlowLayout(b); }
1388 void setIsDragging(bool b) { m_bitfields.setIsDragging(b); } 1390 void setIsDragging(bool b) { m_bitfields.setIsDragging(b); }
1389 void setEverHadLayout(bool b) { m_bitfields.setEverHadLayout(b); } 1391 void setEverHadLayout(bool b) { m_bitfields.setEverHadLayout(b); }
1390 void setShouldInvalidateOverflowForPaint(bool b) { m_bitfields.setShouldInva lidateOverflowForPaint(b); } 1392 void setShouldInvalidateOverflowForPaint(bool b) { m_bitfields.setShouldInva lidateOverflowForPaint(b); }
1391 void setSelfNeedsOverflowRecalcAfterStyleChange(bool b) { m_bitfields.setSel fNeedsOverflowRecalcAfterStyleChange(b); } 1393 void setSelfNeedsOverflowRecalcAfterStyleChange() { m_bitfields.setSelfNeeds OverflowRecalcAfterStyleChange(true); }
1392 void setChildNeedsOverflowRecalcAfterStyleChange(bool b) { m_bitfields.setCh ildNeedsOverflowRecalcAfterStyleChange(b); } 1394 void setChildNeedsOverflowRecalcAfterStyleChange() { m_bitfields.setChildNee dsOverflowRecalcAfterStyleChange(true); }
1393 1395
1394 private: 1396 private:
1395 // Store state between styleWillChange and styleDidChange 1397 // Store state between styleWillChange and styleDidChange
1396 static bool s_affectsParentBlock; 1398 static bool s_affectsParentBlock;
1397 1399
1398 // This stores the paint invalidation rect from the previous frame. 1400 // This stores the paint invalidation rect from the previous frame.
1399 LayoutRect m_previousPaintInvalidationRect; 1401 LayoutRect m_previousPaintInvalidationRect;
1400 1402
1401 // This stores the position in the paint invalidation backing's coordinate. 1403 // This stores the position in the paint invalidation backing's coordinate.
1402 // It is used to detect renderer shifts that forces a full invalidation. 1404 // It is used to detect renderer shifts that forces a full invalidation.
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
1617 void showTree(const blink::RenderObject*); 1619 void showTree(const blink::RenderObject*);
1618 void showLineTree(const blink::RenderObject*); 1620 void showLineTree(const blink::RenderObject*);
1619 void showRenderTree(const blink::RenderObject* object1); 1621 void showRenderTree(const blink::RenderObject* object1);
1620 // We don't make object2 an optional parameter so that showRenderTree 1622 // We don't make object2 an optional parameter so that showRenderTree
1621 // can be called from gdb easily. 1623 // can be called from gdb easily.
1622 void showRenderTree(const blink::RenderObject* object1, const blink::RenderObjec t* object2); 1624 void showRenderTree(const blink::RenderObject* object1, const blink::RenderObjec t* object2);
1623 1625
1624 #endif 1626 #endif
1625 1627
1626 #endif // RenderObject_h 1628 #endif // RenderObject_h
OLDNEW
« no previous file with comments | « Source/core/rendering/RenderBlock.cpp ('k') | Source/core/rendering/RenderObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698