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

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: Avoid O(rows*cols) 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
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 561 matching lines...) Expand 10 before | Expand all | Expand 10 after
572 } 572 }
573 573
574 bool posChildNeedsLayout() const { return m_bitfields.posChildNeedsLayout(); } 574 bool posChildNeedsLayout() const { return m_bitfields.posChildNeedsLayout(); }
575 bool needsSimplifiedNormalFlowLayout() const { return m_bitfields.needsSimpl ifiedNormalFlowLayout(); } 575 bool needsSimplifiedNormalFlowLayout() const { return m_bitfields.needsSimpl ifiedNormalFlowLayout(); }
576 bool normalChildNeedsLayout() const { return m_bitfields.normalChildNeedsLay out(); } 576 bool normalChildNeedsLayout() const { return m_bitfields.normalChildNeedsLay out(); }
577 577
578 bool preferredLogicalWidthsDirty() const { return m_bitfields.preferredLogic alWidthsDirty(); } 578 bool preferredLogicalWidthsDirty() const { return m_bitfields.preferredLogic alWidthsDirty(); }
579 579
580 bool needsOverflowRecalcAfterStyleChange() const { return m_bitfields.selfNe edsOverflowRecalcAfterStyleChange() || m_bitfields.childNeedsOverflowRecalcAfter StyleChange(); } 580 bool needsOverflowRecalcAfterStyleChange() const { return m_bitfields.selfNe edsOverflowRecalcAfterStyleChange() || m_bitfields.childNeedsOverflowRecalcAfter StyleChange(); }
581 bool selfNeedsOverflowRecalcAfterStyleChange() const { return m_bitfields.se lfNeedsOverflowRecalcAfterStyleChange(); } 581 bool selfNeedsOverflowRecalcAfterStyleChange() const { return m_bitfields.se lfNeedsOverflowRecalcAfterStyleChange(); }
582 void clearSelfNeedsOverflowRecalcAfterStyleChange() { m_bitfields.setSelfNee dsOverflowRecalcAfterStyleChange(false); }
582 bool childNeedsOverflowRecalcAfterStyleChange() const { return m_bitfields.c hildNeedsOverflowRecalcAfterStyleChange(); } 583 bool childNeedsOverflowRecalcAfterStyleChange() const { return m_bitfields.c hildNeedsOverflowRecalcAfterStyleChange(); }
584 void clearChildNeedsOverflowRecalcAfterStyleChange() { m_bitfields.setChildN eedsOverflowRecalcAfterStyleChange(false); }
583 585
584 bool isSelectionBorder() const; 586 bool isSelectionBorder() const;
585 587
586 bool hasClip() const { return isOutOfFlowPositioned() && !style()->hasAutoCl ip(); } 588 bool hasClip() const { return isOutOfFlowPositioned() && !style()->hasAutoCl ip(); }
587 bool hasOverflowClip() const { return m_bitfields.hasOverflowClip(); } 589 bool hasOverflowClip() const { return m_bitfields.hasOverflowClip(); }
588 bool hasClipOrOverflowClip() const { return hasClip() || hasOverflowClip(); } 590 bool hasClipOrOverflowClip() const { return hasClip() || hasOverflowClip(); }
589 591
590 bool hasTransformRelatedProperty() const { return m_bitfields.hasTransformRe latedProperty(); } 592 bool hasTransformRelatedProperty() const { return m_bitfields.hasTransformRe latedProperty(); }
591 bool hasMask() const { return style() && style()->hasMask(); } 593 bool hasMask() const { return style() && style()->hasMask(); }
592 bool hasClipPath() const { return style() && style()->clipPath(); } 594 bool hasClipPath() const { return style() && style()->clipPath(); }
(...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after
1042 bool shouldCheckForPaintInvalidationRegardlessOfPaintInvalidationState() con st 1044 bool shouldCheckForPaintInvalidationRegardlessOfPaintInvalidationState() con st
1043 { 1045 {
1044 return layoutDidGetCalledSinceLastFrame() || mayNeedPaintInvalidation() || shouldDoFullPaintInvalidation() || shouldInvalidateSelection(); 1046 return layoutDidGetCalledSinceLastFrame() || mayNeedPaintInvalidation() || shouldDoFullPaintInvalidation() || shouldInvalidateSelection();
1045 } 1047 }
1046 1048
1047 bool needsPaint() const { return m_bitfields.needsPaint(); } 1049 bool needsPaint() const { return m_bitfields.needsPaint(); }
1048 1050
1049 bool supportsPaintInvalidationStateCachedOffsets() const { return !hasColumn s() && !hasTransformRelatedProperty() && !hasReflection() && !style()->isFlipped BlocksWritingMode(); } 1051 bool supportsPaintInvalidationStateCachedOffsets() const { return !hasColumn s() && !hasTransformRelatedProperty() && !hasReflection() && !style()->isFlipped BlocksWritingMode(); }
1050 1052
1051 void setNeedsOverflowRecalcAfterStyleChange(); 1053 void setNeedsOverflowRecalcAfterStyleChange();
1052 void markContainingBlocksForOverflowRecalc(); 1054 void markContainersForOverflowRecalc();
1053 1055
1054 virtual LayoutRect viewRect() const; 1056 virtual LayoutRect viewRect() const;
1055 1057
1056 protected: 1058 protected:
1057 enum RenderObjectType { 1059 enum RenderObjectType {
1058 RenderObjectBr, 1060 RenderObjectBr,
1059 RenderObjectCanvas, 1061 RenderObjectCanvas,
1060 RenderObjectFieldset, 1062 RenderObjectFieldset,
1061 RenderObjectCounter, 1063 RenderObjectCounter,
1062 RenderObjectDetailsMarker, 1064 RenderObjectDetailsMarker,
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after
1378 RenderObjectBitfields m_bitfields; 1380 RenderObjectBitfields m_bitfields;
1379 1381
1380 void setSelfNeedsLayout(bool b) { m_bitfields.setSelfNeedsLayout(b); } 1382 void setSelfNeedsLayout(bool b) { m_bitfields.setSelfNeedsLayout(b); }
1381 void setNeedsPositionedMovementLayout(bool b) { m_bitfields.setNeedsPosition edMovementLayout(b); } 1383 void setNeedsPositionedMovementLayout(bool b) { m_bitfields.setNeedsPosition edMovementLayout(b); }
1382 void setNormalChildNeedsLayout(bool b) { m_bitfields.setNormalChildNeedsLayo ut(b); } 1384 void setNormalChildNeedsLayout(bool b) { m_bitfields.setNormalChildNeedsLayo ut(b); }
1383 void setPosChildNeedsLayout(bool b) { m_bitfields.setPosChildNeedsLayout(b); } 1385 void setPosChildNeedsLayout(bool b) { m_bitfields.setPosChildNeedsLayout(b); }
1384 void setNeedsSimplifiedNormalFlowLayout(bool b) { m_bitfields.setNeedsSimpli fiedNormalFlowLayout(b); } 1386 void setNeedsSimplifiedNormalFlowLayout(bool b) { m_bitfields.setNeedsSimpli fiedNormalFlowLayout(b); }
1385 void setIsDragging(bool b) { m_bitfields.setIsDragging(b); } 1387 void setIsDragging(bool b) { m_bitfields.setIsDragging(b); }
1386 void setEverHadLayout(bool b) { m_bitfields.setEverHadLayout(b); } 1388 void setEverHadLayout(bool b) { m_bitfields.setEverHadLayout(b); }
1387 void setShouldInvalidateOverflowForPaint(bool b) { m_bitfields.setShouldInva lidateOverflowForPaint(b); } 1389 void setShouldInvalidateOverflowForPaint(bool b) { m_bitfields.setShouldInva lidateOverflowForPaint(b); }
1388 void setSelfNeedsOverflowRecalcAfterStyleChange(bool b) { m_bitfields.setSel fNeedsOverflowRecalcAfterStyleChange(b); } 1390 void setSelfNeedsOverflowRecalcAfterStyleChange() { m_bitfields.setSelfNeeds OverflowRecalcAfterStyleChange(true); }
1389 void setChildNeedsOverflowRecalcAfterStyleChange(bool b) { m_bitfields.setCh ildNeedsOverflowRecalcAfterStyleChange(b); } 1391 void setChildNeedsOverflowRecalcAfterStyleChange() { m_bitfields.setChildNee dsOverflowRecalcAfterStyleChange(true); }
1390 1392
1391 private: 1393 private:
1392 // Store state between styleWillChange and styleDidChange 1394 // Store state between styleWillChange and styleDidChange
1393 static bool s_affectsParentBlock; 1395 static bool s_affectsParentBlock;
1394 1396
1395 // This stores the paint invalidation rect from the previous frame. 1397 // This stores the paint invalidation rect from the previous frame.
1396 LayoutRect m_previousPaintInvalidationRect; 1398 LayoutRect m_previousPaintInvalidationRect;
1397 1399
1398 // This stores the position in the paint invalidation backing's coordinate. 1400 // This stores the position in the paint invalidation backing's coordinate.
1399 // It is used to detect renderer shifts that forces a full invalidation. 1401 // It is used to detect renderer shifts that forces a full invalidation.
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
1614 void showTree(const blink::RenderObject*); 1616 void showTree(const blink::RenderObject*);
1615 void showLineTree(const blink::RenderObject*); 1617 void showLineTree(const blink::RenderObject*);
1616 void showRenderTree(const blink::RenderObject* object1); 1618 void showRenderTree(const blink::RenderObject* object1);
1617 // We don't make object2 an optional parameter so that showRenderTree 1619 // We don't make object2 an optional parameter so that showRenderTree
1618 // can be called from gdb easily. 1620 // can be called from gdb easily.
1619 void showRenderTree(const blink::RenderObject* object1, const blink::RenderObjec t* object2); 1621 void showRenderTree(const blink::RenderObject* object1, const blink::RenderObjec t* object2);
1620 1622
1621 #endif 1623 #endif
1622 1624
1623 #endif // RenderObject_h 1625 #endif // RenderObject_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698