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

Side by Side Diff: sky/engine/core/rendering/RenderObject.h

Issue 791023006: Delete invalidateTreeIfNeeded. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 11 months 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
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 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 showRenderTreeForThis(); 209 showRenderTreeForThis();
210 #endif 210 #endif
211 ASSERT_WITH_SECURITY_IMPLICATION(!needsLayout()); 211 ASSERT_WITH_SECURITY_IMPLICATION(!needsLayout());
212 } 212 }
213 213
214 void assertSubtreeIsLaidOut() const 214 void assertSubtreeIsLaidOut() const
215 { 215 {
216 for (const RenderObject* renderer = this; renderer; renderer = renderer- >nextInPreOrder()) 216 for (const RenderObject* renderer = this; renderer; renderer = renderer- >nextInPreOrder())
217 renderer->assertRendererLaidOut(); 217 renderer->assertRendererLaidOut();
218 } 218 }
219
220 void assertRendererClearedPaintInvalidationState() const
221 {
222 #ifndef NDEBUG
223 if (paintInvalidationStateIsDirty()) {
224 showRenderTreeForThis();
225 ASSERT_NOT_REACHED();
226 }
227 #endif
228 }
229
230 void assertSubtreeClearedPaintInvalidationState() const
231 {
232 for (const RenderObject* renderer = this; renderer; renderer = renderer- >nextInPreOrder())
233 renderer->assertRendererClearedPaintInvalidationState();
234 }
235
236 #endif 219 #endif
237 220
238 bool skipInvalidationWhenLaidOutChildren() const; 221 bool skipInvalidationWhenLaidOutChildren() const;
239 222
240 // FIXME: This could be used when changing the size of a renderer without ch ildren to skip some invalidations. 223 // FIXME: This could be used when changing the size of a renderer without ch ildren to skip some invalidations.
241 bool rendererHasNoBoxEffect() const 224 bool rendererHasNoBoxEffect() const
242 { 225 {
243 return !style()->hasVisualOverflowingEffect() && !style()->hasBorder() & & !style()->hasBackground(); 226 return !style()->hasVisualOverflowingEffect() && !style()->hasBorder() & & !style()->hasBackground();
244 } 227 }
245 228
(...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after
596 }; 579 };
597 580
598 void getTextDecorations(unsigned decorations, AppliedTextDecoration& underli ne, AppliedTextDecoration& overline, AppliedTextDecoration& linethrough, bool qu irksMode = false, bool firstlineStyle = false); 581 void getTextDecorations(unsigned decorations, AppliedTextDecoration& underli ne, AppliedTextDecoration& overline, AppliedTextDecoration& linethrough, bool qu irksMode = false, bool firstlineStyle = false);
599 582
600 // Return the RenderLayerModelObject in the container chain which is respons ible for painting this object, or 0 583 // Return the RenderLayerModelObject in the container chain which is respons ible for painting this object, or 0
601 // if painting is root-relative. This is the container that should be passed to the 'forPaintInvalidation' 584 // if painting is root-relative. This is the container that should be passed to the 'forPaintInvalidation'
602 // methods. 585 // methods.
603 const RenderLayerModelObject* containerForPaintInvalidation() const; 586 const RenderLayerModelObject* containerForPaintInvalidation() const;
604 const RenderLayerModelObject* adjustCompositedContainerForSpecialAncestors(c onst RenderLayerModelObject* paintInvalidationContainer) const; 587 const RenderLayerModelObject* adjustCompositedContainerForSpecialAncestors(c onst RenderLayerModelObject* paintInvalidationContainer) const;
605 588
606 // Walk the tree after layout issuing paint invalidations for renderers that have changed or moved, updating bounds that have changed, and clearing paint in validation state.
607 virtual void invalidateTreeIfNeeded(const PaintInvalidationState&);
608
609 // Given a rect in the object's coordinate space, compute a rect suitable fo r invalidating paints of 589 // Given a rect in the object's coordinate space, compute a rect suitable fo r invalidating paints of
610 // that rect in the coordinate space of paintInvalidationContainer. 590 // that rect in the coordinate space of paintInvalidationContainer.
611 virtual void mapRectToPaintInvalidationBacking(const RenderLayerModelObject* paintInvalidationContainer, LayoutRect&, const PaintInvalidationState*) const; 591 virtual void mapRectToPaintInvalidationBacking(const RenderLayerModelObject* paintInvalidationContainer, LayoutRect&, const PaintInvalidationState*) const;
612 592
613 virtual unsigned length() const { return 1; } 593 virtual unsigned length() const { return 1; }
614 594
615 // FIXME(sky): Remove 595 // FIXME(sky): Remove
616 bool isFloatingOrOutOfFlowPositioned() const { return isOutOfFlowPositioned( ); } 596 bool isFloatingOrOutOfFlowPositioned() const { return isOutOfFlowPositioned( ); }
617 597
618 bool isTransparent() const { return style()->hasOpacity(); } 598 bool isTransparent() const { return style()->hasOpacity(); }
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
707 RespectImageOrientationEnum shouldRespectImageOrientation() const; 687 RespectImageOrientationEnum shouldRespectImageOrientation() const;
708 688
709 bool isRelayoutBoundaryForInspector() const; 689 bool isRelayoutBoundaryForInspector() const;
710 690
711 const LayoutRect& previousPaintInvalidationRect() const { return m_previousP aintInvalidationRect; } 691 const LayoutRect& previousPaintInvalidationRect() const { return m_previousP aintInvalidationRect; }
712 void setPreviousPaintInvalidationRect(const LayoutRect& rect) { m_previousPa intInvalidationRect = rect; } 692 void setPreviousPaintInvalidationRect(const LayoutRect& rect) { m_previousPa intInvalidationRect = rect; }
713 693
714 const LayoutPoint& previousPositionFromPaintInvalidationContainer() const { return m_previousPositionFromPaintInvalidationContainer; } 694 const LayoutPoint& previousPositionFromPaintInvalidationContainer() const { return m_previousPositionFromPaintInvalidationContainer; }
715 void setPreviousPositionFromPaintInvalidationContainer(const LayoutPoint& lo cation) { m_previousPositionFromPaintInvalidationContainer = location; } 695 void setPreviousPositionFromPaintInvalidationContainer(const LayoutPoint& lo cation) { m_previousPositionFromPaintInvalidationContainer = location; }
716 696
717 bool shouldDoFullPaintInvalidation() const { return m_bitfields.shouldDoFull PaintInvalidation(); }
718 void setShouldDoFullPaintInvalidation(bool, MarkingBehavior = MarkContaining BlockChain);
719
720 bool shouldInvalidateOverflowForPaint() const { return m_bitfields.shouldInv alidateOverflowForPaint(); } 697 bool shouldInvalidateOverflowForPaint() const { return m_bitfields.shouldInv alidateOverflowForPaint(); }
721 698
722 bool onlyNeededPositionedMovementLayout() const { return m_bitfields.onlyNee dedPositionedMovementLayout(); } 699 bool onlyNeededPositionedMovementLayout() const { return m_bitfields.onlyNee dedPositionedMovementLayout(); }
723 void setOnlyNeededPositionedMovementLayout(bool b) { m_bitfields.setOnlyNeed edPositionedMovementLayout(b); } 700 void setOnlyNeededPositionedMovementLayout(bool b) { m_bitfields.setOnlyNeed edPositionedMovementLayout(b); }
724 701
725 void clearPaintInvalidationState(const PaintInvalidationState&);
726
727 // layoutDidGetCalled indicates whether this render object was re-laid-out
728 // since the last call to setLayoutDidGetCalled(false) on this object.
729 bool layoutDidGetCalled() const { return m_bitfields.layoutDidGetCalled(); }
730 void setLayoutDidGetCalled(bool b)
731 {
732 // FIXME(sky): Get rid of this once we get rid of all paint invalidation .
733 m_bitfields.setLayoutDidGetCalled(b);
734 }
735
736 bool mayNeedPaintInvalidation() const { return m_bitfields.mayNeedPaintInval idation(); }
737
738 bool neededLayoutBecauseOfChildren() const { return m_bitfields.neededLayout BecauseOfChildren(); } 702 bool neededLayoutBecauseOfChildren() const { return m_bitfields.neededLayout BecauseOfChildren(); }
739 void setNeededLayoutBecauseOfChildren(bool b) { m_bitfields.setNeededLayoutB ecauseOfChildren(b); } 703 void setNeededLayoutBecauseOfChildren(bool b) { m_bitfields.setNeededLayoutB ecauseOfChildren(b); }
740 704
741 bool shouldCheckForPaintInvalidation(const PaintInvalidationState& paintInva lidationState)
742 {
743 return paintInvalidationState.forceCheckForPaintInvalidation() ||
744 layoutDidGetCalled() || mayNeedPaintInvalidation() || shouldDoFullPa intInvalidation();
745 }
746
747 bool supportsPaintInvalidationStateCachedOffsets() const { return !hasTransf orm(); } 705 bool supportsPaintInvalidationStateCachedOffsets() const { return !hasTransf orm(); }
748 706
749 void setNeedsOverflowRecalcAfterStyleChange(); 707 void setNeedsOverflowRecalcAfterStyleChange();
750 void markContainingBlocksForOverflowRecalc(); 708 void markContainingBlocksForOverflowRecalc();
751 709
752 protected: 710 protected:
753 // Overrides should call the superclass at the end. m_style will be 0 the fi rst time 711 // Overrides should call the superclass at the end. m_style will be 0 the fi rst time
754 // this function will be called. 712 // this function will be called.
755 virtual void styleWillChange(StyleDifference, const RenderStyle& newStyle); 713 virtual void styleWillChange(StyleDifference, const RenderStyle& newStyle);
756 // Overrides should call the superclass at the start. |oldStyle| will be 0 t he first 714 // Overrides should call the superclass at the start. |oldStyle| will be 0 t he first
(...skipping 21 matching lines...) Expand all
778 736
779 void clearLayoutRootIfNeeded() const; 737 void clearLayoutRootIfNeeded() const;
780 virtual void willBeDestroyed(); 738 virtual void willBeDestroyed();
781 void postDestroy(); 739 void postDestroy();
782 740
783 void insertedIntoTree(); 741 void insertedIntoTree();
784 void willBeRemovedFromTree(); 742 void willBeRemovedFromTree();
785 743
786 void setDocumentForAnonymous(Document* document) { ASSERT(isAnonymous()); m_ node = document; } 744 void setDocumentForAnonymous(Document* document) { ASSERT(isAnonymous()); m_ node = document; }
787 745
788 #if ENABLE(ASSERT)
789 bool paintInvalidationStateIsDirty() const
790 {
791 return layoutDidGetCalled() || shouldDoFullPaintInvalidation()
792 || onlyNeededPositionedMovementLayout() || neededLayoutBecauseOfChil dren() || mayNeedPaintInvalidation();
793 }
794 #endif
795
796 private: 746 private:
797 bool hasImmediateNonWhitespaceTextChildOrPropertiesDependentOnColor() const; 747 bool hasImmediateNonWhitespaceTextChildOrPropertiesDependentOnColor() const;
798 748
799 StyleDifference adjustStyleDifference(StyleDifference) const; 749 StyleDifference adjustStyleDifference(StyleDifference) const;
800 750
801 Color selectionColor(int colorProperty) const; 751 Color selectionColor(int colorProperty) const;
802 752
803 #if ENABLE(ASSERT) 753 #if ENABLE(ASSERT)
804 void checkBlockPositionedObjectsNeedLayout(); 754 void checkBlockPositionedObjectsNeedLayout();
805 #endif 755 #endif
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
841 // FIXME(sky): Remove this enum and just use EPosition directly. 791 // FIXME(sky): Remove this enum and just use EPosition directly.
842 enum PositionedState { 792 enum PositionedState {
843 IsStaticallyPositioned = 0, 793 IsStaticallyPositioned = 0,
844 IsRelativelyPositioned = 1, 794 IsRelativelyPositioned = 1,
845 IsOutOfFlowPositioned = 2, 795 IsOutOfFlowPositioned = 2,
846 }; 796 };
847 797
848 public: 798 public:
849 RenderObjectBitfields(Node* node) 799 RenderObjectBitfields(Node* node)
850 : m_selfNeedsLayout(false) 800 : m_selfNeedsLayout(false)
851 , m_shouldDoFullPaintInvalidation(false)
852 , m_shouldInvalidateOverflowForPaint(false) 801 , m_shouldInvalidateOverflowForPaint(false)
853 // FIXME: We should remove mayNeedPaintInvalidation once we are able to
854 // use the other layout flags to detect the same cases. crbug.com/37 0118
855 , m_mayNeedPaintInvalidation(false)
856 , m_onlyNeededPositionedMovementLayout(false) 802 , m_onlyNeededPositionedMovementLayout(false)
857 , m_neededLayoutBecauseOfChildren(false) 803 , m_neededLayoutBecauseOfChildren(false)
858 , m_needsPositionedMovementLayout(false) 804 , m_needsPositionedMovementLayout(false)
859 , m_normalChildNeedsLayout(false) 805 , m_normalChildNeedsLayout(false)
860 , m_posChildNeedsLayout(false) 806 , m_posChildNeedsLayout(false)
861 , m_needsSimplifiedNormalFlowLayout(false) 807 , m_needsSimplifiedNormalFlowLayout(false)
862 , m_preferredLogicalWidthsDirty(false) 808 , m_preferredLogicalWidthsDirty(false)
863 , m_selfNeedsOverflowRecalcAfterStyleChange(false) 809 , m_selfNeedsOverflowRecalcAfterStyleChange(false)
864 , m_childNeedsOverflowRecalcAfterStyleChange(false) 810 , m_childNeedsOverflowRecalcAfterStyleChange(false)
865 , m_isAnonymous(!node) 811 , m_isAnonymous(!node)
866 , m_isText(false) 812 , m_isText(false)
867 , m_isBox(false) 813 , m_isBox(false)
868 , m_isInline(true) 814 , m_isInline(true)
869 , m_isReplaced(false) 815 , m_isReplaced(false)
870 , m_isDragging(false) 816 , m_isDragging(false)
871 , m_hasLayer(false) 817 , m_hasLayer(false)
872 , m_hasOverflowClip(false) 818 , m_hasOverflowClip(false)
873 , m_hasTransform(false) 819 , m_hasTransform(false)
874 , m_everHadLayout(false) 820 , m_everHadLayout(false)
875 , m_ancestorLineBoxDirty(false) 821 , m_ancestorLineBoxDirty(false)
876 , m_layoutDidGetCalled(false)
877 , m_alwaysCreateLineBoxesForRenderInline(false) 822 , m_alwaysCreateLineBoxesForRenderInline(false)
878 , m_positionedState(IsStaticallyPositioned) 823 , m_positionedState(IsStaticallyPositioned)
879 , m_selectionState(SelectionNone) 824 , m_selectionState(SelectionNone)
880 , m_boxDecorationBackgroundState(NoBoxDecorationBackground) 825 , m_boxDecorationBackgroundState(NoBoxDecorationBackground)
881 { 826 {
882 } 827 }
883 828
884 // 32 bits have been used in the first word, and 11 in the second. 829 // 32 bits have been used in the first word, and 11 in the second.
885 ADD_BOOLEAN_BITFIELD(selfNeedsLayout, SelfNeedsLayout); 830 ADD_BOOLEAN_BITFIELD(selfNeedsLayout, SelfNeedsLayout);
886 ADD_BOOLEAN_BITFIELD(shouldDoFullPaintInvalidation, ShouldDoFullPaintInv alidation);
887 ADD_BOOLEAN_BITFIELD(shouldInvalidateOverflowForPaint, ShouldInvalidateO verflowForPaint); 831 ADD_BOOLEAN_BITFIELD(shouldInvalidateOverflowForPaint, ShouldInvalidateO verflowForPaint);
888 ADD_BOOLEAN_BITFIELD(mayNeedPaintInvalidation, MayNeedPaintInvalidation) ;
889 ADD_BOOLEAN_BITFIELD(onlyNeededPositionedMovementLayout, OnlyNeededPosit ionedMovementLayout); 832 ADD_BOOLEAN_BITFIELD(onlyNeededPositionedMovementLayout, OnlyNeededPosit ionedMovementLayout);
890 ADD_BOOLEAN_BITFIELD(neededLayoutBecauseOfChildren, NeededLayoutBecauseO fChildren); 833 ADD_BOOLEAN_BITFIELD(neededLayoutBecauseOfChildren, NeededLayoutBecauseO fChildren);
891 ADD_BOOLEAN_BITFIELD(needsPositionedMovementLayout, NeedsPositionedMovem entLayout); 834 ADD_BOOLEAN_BITFIELD(needsPositionedMovementLayout, NeedsPositionedMovem entLayout);
892 ADD_BOOLEAN_BITFIELD(normalChildNeedsLayout, NormalChildNeedsLayout); 835 ADD_BOOLEAN_BITFIELD(normalChildNeedsLayout, NormalChildNeedsLayout);
893 ADD_BOOLEAN_BITFIELD(posChildNeedsLayout, PosChildNeedsLayout); 836 ADD_BOOLEAN_BITFIELD(posChildNeedsLayout, PosChildNeedsLayout);
894 ADD_BOOLEAN_BITFIELD(needsSimplifiedNormalFlowLayout, NeedsSimplifiedNor malFlowLayout); 837 ADD_BOOLEAN_BITFIELD(needsSimplifiedNormalFlowLayout, NeedsSimplifiedNor malFlowLayout);
895 ADD_BOOLEAN_BITFIELD(preferredLogicalWidthsDirty, PreferredLogicalWidths Dirty); 838 ADD_BOOLEAN_BITFIELD(preferredLogicalWidthsDirty, PreferredLogicalWidths Dirty);
896 ADD_BOOLEAN_BITFIELD(selfNeedsOverflowRecalcAfterStyleChange, SelfNeedsO verflowRecalcAfterStyleChange); 839 ADD_BOOLEAN_BITFIELD(selfNeedsOverflowRecalcAfterStyleChange, SelfNeedsO verflowRecalcAfterStyleChange);
897 ADD_BOOLEAN_BITFIELD(childNeedsOverflowRecalcAfterStyleChange, ChildNeed sOverflowRecalcAfterStyleChange); 840 ADD_BOOLEAN_BITFIELD(childNeedsOverflowRecalcAfterStyleChange, ChildNeed sOverflowRecalcAfterStyleChange);
898 841
899 ADD_BOOLEAN_BITFIELD(isAnonymous, IsAnonymous); 842 ADD_BOOLEAN_BITFIELD(isAnonymous, IsAnonymous);
900 ADD_BOOLEAN_BITFIELD(isText, IsText); 843 ADD_BOOLEAN_BITFIELD(isText, IsText);
901 ADD_BOOLEAN_BITFIELD(isBox, IsBox); 844 ADD_BOOLEAN_BITFIELD(isBox, IsBox);
902 ADD_BOOLEAN_BITFIELD(isInline, IsInline); 845 ADD_BOOLEAN_BITFIELD(isInline, IsInline);
903 ADD_BOOLEAN_BITFIELD(isReplaced, IsReplaced); 846 ADD_BOOLEAN_BITFIELD(isReplaced, IsReplaced);
904 ADD_BOOLEAN_BITFIELD(isDragging, IsDragging); 847 ADD_BOOLEAN_BITFIELD(isDragging, IsDragging);
905 848
906 ADD_BOOLEAN_BITFIELD(hasLayer, HasLayer); 849 ADD_BOOLEAN_BITFIELD(hasLayer, HasLayer);
907 ADD_BOOLEAN_BITFIELD(hasOverflowClip, HasOverflowClip); // Set in the ca se of overflow:auto/scroll/hidden 850 ADD_BOOLEAN_BITFIELD(hasOverflowClip, HasOverflowClip); // Set in the ca se of overflow:auto/scroll/hidden
908 ADD_BOOLEAN_BITFIELD(hasTransform, HasTransform); 851 ADD_BOOLEAN_BITFIELD(hasTransform, HasTransform);
909 852
910 ADD_BOOLEAN_BITFIELD(everHadLayout, EverHadLayout); 853 ADD_BOOLEAN_BITFIELD(everHadLayout, EverHadLayout);
911 ADD_BOOLEAN_BITFIELD(ancestorLineBoxDirty, AncestorLineBoxDirty); 854 ADD_BOOLEAN_BITFIELD(ancestorLineBoxDirty, AncestorLineBoxDirty);
912 855
913 ADD_BOOLEAN_BITFIELD(layoutDidGetCalled, LayoutDidGetCalled);
914
915 // from RenderInline 856 // from RenderInline
916 ADD_BOOLEAN_BITFIELD(alwaysCreateLineBoxesForRenderInline, AlwaysCreateL ineBoxesForRenderInline); 857 ADD_BOOLEAN_BITFIELD(alwaysCreateLineBoxesForRenderInline, AlwaysCreateL ineBoxesForRenderInline);
917 858
918 private: 859 private:
919 unsigned m_positionedState : 2; // PositionedState 860 unsigned m_positionedState : 2; // PositionedState
920 unsigned m_selectionState : 3; // SelectionState 861 unsigned m_selectionState : 3; // SelectionState
921 unsigned m_boxDecorationBackgroundState : 2; // BoxDecorationBackgroundS tate 862 unsigned m_boxDecorationBackgroundState : 2; // BoxDecorationBackgroundS tate
922 863
923 public: 864 public:
924 bool isOutOfFlowPositioned() const { return m_positionedState == IsOutOf FlowPositioned; } 865 bool isOutOfFlowPositioned() const { return m_positionedState == IsOutOf FlowPositioned; }
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
981 { 922 {
982 ASSERT(!isSetNeedsLayoutForbidden()); 923 ASSERT(!isSetNeedsLayoutForbidden());
983 bool alreadyNeededLayout = m_bitfields.selfNeedsLayout(); 924 bool alreadyNeededLayout = m_bitfields.selfNeedsLayout();
984 setSelfNeedsLayout(true); 925 setSelfNeedsLayout(true);
985 if (!alreadyNeededLayout) { 926 if (!alreadyNeededLayout) {
986 if (markParents == MarkContainingBlockChain && (!layouter || layouter->r oot() != this)) 927 if (markParents == MarkContainingBlockChain && (!layouter || layouter->r oot() != this))
987 markContainingBlocksForLayout(true, 0, layouter); 928 markContainingBlocksForLayout(true, 0, layouter);
988 } 929 }
989 } 930 }
990 931
932 // FIXME(sky): Remove this method.
991 inline void RenderObject::setNeedsLayoutAndFullPaintInvalidation(MarkingBehavior markParents, SubtreeLayoutScope* layouter) 933 inline void RenderObject::setNeedsLayoutAndFullPaintInvalidation(MarkingBehavior markParents, SubtreeLayoutScope* layouter)
992 { 934 {
993 setNeedsLayout(markParents, layouter); 935 setNeedsLayout(markParents, layouter);
994 setShouldDoFullPaintInvalidation(true);
995 } 936 }
996 937
997 inline void RenderObject::clearNeedsLayout() 938 inline void RenderObject::clearNeedsLayout()
998 { 939 {
999 setOnlyNeededPositionedMovementLayout(needsPositionedMovementLayoutOnly()); 940 setOnlyNeededPositionedMovementLayout(needsPositionedMovementLayoutOnly());
1000 setNeededLayoutBecauseOfChildren(needsLayoutBecauseOfChildren()); 941 setNeededLayoutBecauseOfChildren(needsLayoutBecauseOfChildren());
1001 setLayoutDidGetCalled(true);
1002 setSelfNeedsLayout(false); 942 setSelfNeedsLayout(false);
1003 setEverHadLayout(true); 943 setEverHadLayout(true);
1004 setPosChildNeedsLayout(false); 944 setPosChildNeedsLayout(false);
1005 setNeedsSimplifiedNormalFlowLayout(false); 945 setNeedsSimplifiedNormalFlowLayout(false);
1006 setNormalChildNeedsLayout(false); 946 setNormalChildNeedsLayout(false);
1007 setNeedsPositionedMovementLayout(false); 947 setNeedsPositionedMovementLayout(false);
1008 setAncestorLineBoxDirty(false); 948 setAncestorLineBoxDirty(false);
1009 #if ENABLE(ASSERT) 949 #if ENABLE(ASSERT)
1010 checkBlockPositionedObjectsNeedLayout(); 950 checkBlockPositionedObjectsNeedLayout();
1011 #endif 951 #endif
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
1087 void showTree(const blink::RenderObject*); 1027 void showTree(const blink::RenderObject*);
1088 void showLineTree(const blink::RenderObject*); 1028 void showLineTree(const blink::RenderObject*);
1089 void showRenderTree(const blink::RenderObject* object1); 1029 void showRenderTree(const blink::RenderObject* object1);
1090 // We don't make object2 an optional parameter so that showRenderTree 1030 // We don't make object2 an optional parameter so that showRenderTree
1091 // can be called from gdb easily. 1031 // can be called from gdb easily.
1092 void showRenderTree(const blink::RenderObject* object1, const blink::RenderObjec t* object2); 1032 void showRenderTree(const blink::RenderObject* object1, const blink::RenderObjec t* object2);
1093 1033
1094 #endif 1034 #endif
1095 1035
1096 #endif // SKY_ENGINE_CORE_RENDERING_RENDEROBJECT_H_ 1036 #endif // SKY_ENGINE_CORE_RENDERING_RENDEROBJECT_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698