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 24 matching lines...) Expand all Loading... |
35 #include "core/html/HTMLElement.h" | 35 #include "core/html/HTMLElement.h" |
36 #include "core/inspector/InspectorTraceEvents.h" | 36 #include "core/inspector/InspectorTraceEvents.h" |
37 #include "core/layout/HitTestRequest.h" | 37 #include "core/layout/HitTestRequest.h" |
38 #include "core/layout/LayoutObjectChildList.h" | 38 #include "core/layout/LayoutObjectChildList.h" |
39 #include "core/layout/PaintInvalidationState.h" | 39 #include "core/layout/PaintInvalidationState.h" |
40 #include "core/layout/PaintPhase.h" | 40 #include "core/layout/PaintPhase.h" |
41 #include "core/layout/ScrollAlignment.h" | 41 #include "core/layout/ScrollAlignment.h" |
42 #include "core/layout/SubtreeLayoutScope.h" | 42 #include "core/layout/SubtreeLayoutScope.h" |
43 #include "core/layout/compositing/CompositingState.h" | 43 #include "core/layout/compositing/CompositingState.h" |
44 #include "core/layout/compositing/CompositingTriggers.h" | 44 #include "core/layout/compositing/CompositingTriggers.h" |
45 #include "core/layout/style/LayoutStyle.h" | 45 #include "core/layout/style/ComputedStyle.h" |
46 #include "core/layout/style/StyleInheritedData.h" | 46 #include "core/layout/style/StyleInheritedData.h" |
47 #include "platform/geometry/FloatQuad.h" | 47 #include "platform/geometry/FloatQuad.h" |
48 #include "platform/geometry/LayoutRect.h" | 48 #include "platform/geometry/LayoutRect.h" |
49 #include "platform/graphics/CompositingReasons.h" | 49 #include "platform/graphics/CompositingReasons.h" |
50 #include "platform/graphics/PaintInvalidationReason.h" | 50 #include "platform/graphics/PaintInvalidationReason.h" |
51 #include "platform/graphics/paint/DisplayItemClient.h" | 51 #include "platform/graphics/paint/DisplayItemClient.h" |
52 #include "platform/transforms/TransformationMatrix.h" | 52 #include "platform/transforms/TransformationMatrix.h" |
53 | 53 |
54 namespace blink { | 54 namespace blink { |
55 | 55 |
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
275 | 275 |
276 // Called when an object that was floating or positioned becomes a normal fl
ow object | 276 // Called when an object that was floating or positioned becomes a normal fl
ow object |
277 // again. We have to make sure the render tree updates as needed to accommo
date the new | 277 // again. We have to make sure the render tree updates as needed to accommo
date the new |
278 // normal flow object. | 278 // normal flow object. |
279 void handleDynamicFloatPositionChange(); | 279 void handleDynamicFloatPositionChange(); |
280 | 280 |
281 // LayoutObject tree manipulation | 281 // LayoutObject tree manipulation |
282 ////////////////////////////////////////// | 282 ////////////////////////////////////////// |
283 virtual bool canHaveChildren() const { return virtualChildren(); } | 283 virtual bool canHaveChildren() const { return virtualChildren(); } |
284 virtual bool canHaveGeneratedChildren() const; | 284 virtual bool canHaveGeneratedChildren() const; |
285 virtual bool isChildAllowed(LayoutObject*, const LayoutStyle&) const { retur
n true; } | 285 virtual bool isChildAllowed(LayoutObject*, const ComputedStyle&) const { ret
urn true; } |
286 virtual void addChild(LayoutObject* newChild, LayoutObject* beforeChild = 0)
; | 286 virtual void addChild(LayoutObject* newChild, LayoutObject* beforeChild = 0)
; |
287 virtual void addChildIgnoringContinuation(LayoutObject* newChild, LayoutObje
ct* beforeChild = 0) { return addChild(newChild, beforeChild); } | 287 virtual void addChildIgnoringContinuation(LayoutObject* newChild, LayoutObje
ct* beforeChild = 0) { return addChild(newChild, beforeChild); } |
288 virtual void removeChild(LayoutObject*); | 288 virtual void removeChild(LayoutObject*); |
289 virtual bool createsAnonymousWrapper() const { return false; } | 289 virtual bool createsAnonymousWrapper() const { return false; } |
290 ////////////////////////////////////////// | 290 ////////////////////////////////////////// |
291 | 291 |
292 protected: | 292 protected: |
293 ////////////////////////////////////////// | 293 ////////////////////////////////////////// |
294 // Helper functions. Dangerous to use! | 294 // Helper functions. Dangerous to use! |
295 void setPreviousSibling(LayoutObject* previous) { m_previous = previous; } | 295 void setPreviousSibling(LayoutObject* previous) { m_previous = previous; } |
(...skipping 15 matching lines...) Expand all Loading... |
311 #if ENABLE(ASSERT) | 311 #if ENABLE(ASSERT) |
312 bool isSetNeedsLayoutForbidden() const { return m_setNeedsLayoutForbidden; } | 312 bool isSetNeedsLayoutForbidden() const { return m_setNeedsLayoutForbidden; } |
313 void setNeedsLayoutIsForbidden(bool flag) { m_setNeedsLayoutForbidden = flag
; } | 313 void setNeedsLayoutIsForbidden(bool flag) { m_setNeedsLayoutForbidden = flag
; } |
314 #endif | 314 #endif |
315 | 315 |
316 void addAbsoluteRectForLayer(IntRect& result); | 316 void addAbsoluteRectForLayer(IntRect& result); |
317 bool requiresAnonymousTableWrappers(const LayoutObject*) const; | 317 bool requiresAnonymousTableWrappers(const LayoutObject*) const; |
318 | 318 |
319 // Gets pseudoStyle from Shadow host(in case of input elements) | 319 // Gets pseudoStyle from Shadow host(in case of input elements) |
320 // or from Parent element. | 320 // or from Parent element. |
321 PassRefPtr<LayoutStyle> getUncachedPseudoStyleFromParentOrShadowHost() const
; | 321 PassRefPtr<ComputedStyle> getUncachedPseudoStyleFromParentOrShadowHost() con
st; |
322 | 322 |
323 bool skipInvalidationWhenLaidOutChildren() const; | 323 bool skipInvalidationWhenLaidOutChildren() const; |
324 | 324 |
325 public: | 325 public: |
326 #ifndef NDEBUG | 326 #ifndef NDEBUG |
327 void showTreeForThis() const; | 327 void showTreeForThis() const; |
328 void showLayoutTreeForThis() const; | 328 void showLayoutTreeForThis() const; |
329 void showLineTreeForThis() const; | 329 void showLineTreeForThis() const; |
330 | 330 |
331 void showLayoutObject() const; | 331 void showLayoutObject() const; |
332 // We don't make printedCharacters an optional parameter so that | 332 // We don't make printedCharacters an optional parameter so that |
333 // showLayoutObject can be called from gdb easily. | 333 // showLayoutObject can be called from gdb easily. |
334 void showLayoutObject(int printedCharacters) const; | 334 void showLayoutObject(int printedCharacters) const; |
335 void showLayoutTreeAndMark(const LayoutObject* markedObject1 = 0, const char
* markedLabel1 = 0, const LayoutObject* markedObject2 = 0, const char* markedLab
el2 = 0, int depth = 0) const; | 335 void showLayoutTreeAndMark(const LayoutObject* markedObject1 = 0, const char
* markedLabel1 = 0, const LayoutObject* markedObject2 = 0, const char* markedLab
el2 = 0, int depth = 0) const; |
336 #endif | 336 #endif |
337 | 337 |
338 static LayoutObject* createObject(Element*, const LayoutStyle&); | 338 static LayoutObject* createObject(Element*, const ComputedStyle&); |
339 static unsigned instanceCount() { return s_instanceCount; } | 339 static unsigned instanceCount() { return s_instanceCount; } |
340 | 340 |
341 // LayoutObjects are allocated out of the rendering partition. | 341 // LayoutObjects are allocated out of the rendering partition. |
342 void* operator new(size_t); | 342 void* operator new(size_t); |
343 void operator delete(void*); | 343 void operator delete(void*); |
344 | 344 |
345 public: | 345 public: |
346 bool isPseudoElement() const { return node() && node()->isPseudoElement(); } | 346 bool isPseudoElement() const { return node() && node()->isPseudoElement(); } |
347 | 347 |
348 virtual bool isBoxModelObject() const { return false; } | 348 virtual bool isBoxModelObject() const { return false; } |
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
608 bool hasHiddenBackface() const { return style() && style()->backfaceVisibili
ty() == BackfaceVisibilityHidden; } | 608 bool hasHiddenBackface() const { return style() && style()->backfaceVisibili
ty() == BackfaceVisibilityHidden; } |
609 | 609 |
610 bool hasFilter() const { return style() && style()->hasFilter(); } | 610 bool hasFilter() const { return style() && style()->hasFilter(); } |
611 | 611 |
612 bool hasShapeOutside() const { return style() && style()->shapeOutside(); } | 612 bool hasShapeOutside() const { return style() && style()->shapeOutside(); } |
613 | 613 |
614 inline bool preservesNewline() const; | 614 inline bool preservesNewline() const; |
615 | 615 |
616 // The pseudo element style can be cached or uncached. Use the cached metho
d if the pseudo element doesn't respect | 616 // The pseudo element style can be cached or uncached. Use the cached metho
d if the pseudo element doesn't respect |
617 // any pseudo classes (and therefore has no concept of changing state). | 617 // any pseudo classes (and therefore has no concept of changing state). |
618 LayoutStyle* getCachedPseudoStyle(PseudoId, const LayoutStyle* parentStyle =
0) const; | 618 ComputedStyle* getCachedPseudoStyle(PseudoId, const ComputedStyle* parentSty
le = 0) const; |
619 PassRefPtr<LayoutStyle> getUncachedPseudoStyle(const PseudoStyleRequest&, co
nst LayoutStyle* parentStyle = 0, const LayoutStyle* ownStyle = 0) const; | 619 PassRefPtr<ComputedStyle> getUncachedPseudoStyle(const PseudoStyleRequest&,
const ComputedStyle* parentStyle = 0, const ComputedStyle* ownStyle = 0) const; |
620 | 620 |
621 virtual void updateDragState(bool dragOn); | 621 virtual void updateDragState(bool dragOn); |
622 | 622 |
623 LayoutView* view() const { return document().layoutView(); }; | 623 LayoutView* view() const { return document().layoutView(); }; |
624 FrameView* frameView() const { return document().view(); }; | 624 FrameView* frameView() const { return document().view(); }; |
625 | 625 |
626 bool isRooted() const; | 626 bool isRooted() const; |
627 | 627 |
628 Node* node() const | 628 Node* node() const |
629 { | 629 { |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
743 virtual void updateHitTestResult(HitTestResult&, const LayoutPoint&); | 743 virtual void updateHitTestResult(HitTestResult&, const LayoutPoint&); |
744 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTes
tLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAct
ion); | 744 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTes
tLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAct
ion); |
745 | 745 |
746 virtual PositionWithAffinity positionForPoint(const LayoutPoint&); | 746 virtual PositionWithAffinity positionForPoint(const LayoutPoint&); |
747 PositionWithAffinity createPositionWithAffinity(int offset, EAffinity); | 747 PositionWithAffinity createPositionWithAffinity(int offset, EAffinity); |
748 PositionWithAffinity createPositionWithAffinity(const Position&); | 748 PositionWithAffinity createPositionWithAffinity(const Position&); |
749 | 749 |
750 virtual void dirtyLinesFromChangedChild(LayoutObject*); | 750 virtual void dirtyLinesFromChangedChild(LayoutObject*); |
751 | 751 |
752 // Set the style of the object and update the state of the object accordingl
y. | 752 // Set the style of the object and update the state of the object accordingl
y. |
753 void setStyle(PassRefPtr<LayoutStyle>); | 753 void setStyle(PassRefPtr<ComputedStyle>); |
754 | 754 |
755 // Set the style of the object if it's generated content. | 755 // Set the style of the object if it's generated content. |
756 void setPseudoStyle(PassRefPtr<LayoutStyle>); | 756 void setPseudoStyle(PassRefPtr<ComputedStyle>); |
757 | 757 |
758 // Updates only the local style ptr of the object. Does not update the stat
e of the object, | 758 // Updates only the local style ptr of the object. Does not update the stat
e of the object, |
759 // and so only should be called when the style is known not to have changed
(or from setStyle). | 759 // and so only should be called when the style is known not to have changed
(or from setStyle). |
760 void setStyleInternal(PassRefPtr<LayoutStyle> style) { m_style = style; } | 760 void setStyleInternal(PassRefPtr<ComputedStyle> style) { m_style = style; } |
761 | 761 |
762 // returns the containing block level element for this element. | 762 // returns the containing block level element for this element. |
763 LayoutBlock* containingBlock() const; | 763 LayoutBlock* containingBlock() const; |
764 | 764 |
765 bool canContainFixedPositionObjects() const | 765 bool canContainFixedPositionObjects() const |
766 { | 766 { |
767 return isLayoutView() || (hasTransformRelatedProperty() && isLayoutBlock
()) || isSVGForeignObject(); | 767 return isLayoutView() || (hasTransformRelatedProperty() && isLayoutBlock
()) || isSVGForeignObject(); |
768 } | 768 } |
769 | 769 |
770 // Convert the given local point to absolute coordinates | 770 // Convert the given local point to absolute coordinates |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
805 virtual IntRect absoluteFocusRingBoundingBoxRect() const; | 805 virtual IntRect absoluteFocusRingBoundingBoxRect() const; |
806 | 806 |
807 static FloatRect absoluteBoundingBoxRectForRange(const Range*); | 807 static FloatRect absoluteBoundingBoxRectForRange(const Range*); |
808 | 808 |
809 // the rect that will be painted if this object is passed as the paintingRoo
t | 809 // the rect that will be painted if this object is passed as the paintingRoo
t |
810 IntRect paintingRootRect(IntRect& topLevelRect); | 810 IntRect paintingRootRect(IntRect& topLevelRect); |
811 | 811 |
812 virtual LayoutUnit minPreferredLogicalWidth() const { return 0; } | 812 virtual LayoutUnit minPreferredLogicalWidth() const { return 0; } |
813 virtual LayoutUnit maxPreferredLogicalWidth() const { return 0; } | 813 virtual LayoutUnit maxPreferredLogicalWidth() const { return 0; } |
814 | 814 |
815 LayoutStyle* style() const { return m_style.get(); } | 815 ComputedStyle* style() const { return m_style.get(); } |
816 | 816 |
817 // m_style can only be nullptr before the first style is set, thus most | 817 // m_style can only be nullptr before the first style is set, thus most |
818 // callers will never see a nullptr style and should use styleRef(). | 818 // callers will never see a nullptr style and should use styleRef(). |
819 // FIXME: It would be better if style() returned a const reference. | 819 // FIXME: It would be better if style() returned a const reference. |
820 const LayoutStyle& styleRef() const { return mutableStyleRef(); } | 820 const ComputedStyle& styleRef() const { return mutableStyleRef(); } |
821 LayoutStyle& mutableStyleRef() const { ASSERT(m_style); return *m_style; } | 821 ComputedStyle& mutableStyleRef() const { ASSERT(m_style); return *m_style; } |
822 | 822 |
823 /* The following methods are inlined in LayoutObjectInlines.h */ | 823 /* The following methods are inlined in LayoutObjectInlines.h */ |
824 const LayoutStyle* firstLineStyle() const; | 824 const ComputedStyle* firstLineStyle() const; |
825 const LayoutStyle& firstLineStyleRef() const; | 825 const ComputedStyle& firstLineStyleRef() const; |
826 const LayoutStyle* style(bool firstLine) const; | 826 const ComputedStyle* style(bool firstLine) const; |
827 const LayoutStyle& styleRef(bool firstLine) const; | 827 const ComputedStyle& styleRef(bool firstLine) const; |
828 | 828 |
829 static inline Color resolveColor(const LayoutStyle& styleToUse, int colorPro
perty) | 829 static inline Color resolveColor(const ComputedStyle& styleToUse, int colorP
roperty) |
830 { | 830 { |
831 return styleToUse.visitedDependentColor(colorProperty); | 831 return styleToUse.visitedDependentColor(colorProperty); |
832 } | 832 } |
833 | 833 |
834 inline Color resolveColor(int colorProperty) const | 834 inline Color resolveColor(int colorProperty) const |
835 { | 835 { |
836 return style()->visitedDependentColor(colorProperty); | 836 return style()->visitedDependentColor(colorProperty); |
837 } | 837 } |
838 | 838 |
839 // Used only by Element::pseudoStyleCacheIsInvalid to get a first line style
based off of a | 839 // Used only by Element::pseudoStyleCacheIsInvalid to get a first line style
based off of a |
840 // given new style, without accessing the cache. | 840 // given new style, without accessing the cache. |
841 PassRefPtr<LayoutStyle> uncachedFirstLineStyle(LayoutStyle*) const; | 841 PassRefPtr<ComputedStyle> uncachedFirstLineStyle(ComputedStyle*) const; |
842 | 842 |
843 virtual CursorDirective getCursor(const LayoutPoint&, Cursor&) const; | 843 virtual CursorDirective getCursor(const LayoutPoint&, Cursor&) const; |
844 | 844 |
845 struct AppliedTextDecoration { | 845 struct AppliedTextDecoration { |
846 Color color; | 846 Color color; |
847 TextDecorationStyle style; | 847 TextDecorationStyle style; |
848 AppliedTextDecoration() : color(Color::transparent), style(TextDecoratio
nStyleSolid) { } | 848 AppliedTextDecoration() : color(Color::transparent), style(TextDecoratio
nStyleSolid) { } |
849 }; | 849 }; |
850 | 850 |
851 void getTextDecorations(unsigned decorations, AppliedTextDecoration& underli
ne, AppliedTextDecoration& overline, AppliedTextDecoration& linethrough, bool qu
irksMode = false, bool firstlineStyle = false); | 851 void getTextDecorations(unsigned decorations, AppliedTextDecoration& underli
ne, AppliedTextDecoration& overline, AppliedTextDecoration& linethrough, bool qu
irksMode = false, bool firstlineStyle = false); |
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1158 LayoutObjectSVGResourceContainer, | 1158 LayoutObjectSVGResourceContainer, |
1159 LayoutObjectSVGResourceFilter, | 1159 LayoutObjectSVGResourceFilter, |
1160 LayoutObjectSVGResourceFilterPrimitive, | 1160 LayoutObjectSVGResourceFilterPrimitive, |
1161 }; | 1161 }; |
1162 virtual bool isOfType(LayoutObjectType type) const { return false; } | 1162 virtual bool isOfType(LayoutObjectType type) const { return false; } |
1163 | 1163 |
1164 inline bool layerCreationAllowedForSubtree() const; | 1164 inline bool layerCreationAllowedForSubtree() const; |
1165 | 1165 |
1166 // Overrides should call the superclass at the end. m_style will be 0 the fi
rst time | 1166 // Overrides should call the superclass at the end. m_style will be 0 the fi
rst time |
1167 // this function will be called. | 1167 // this function will be called. |
1168 virtual void styleWillChange(StyleDifference, const LayoutStyle& newStyle); | 1168 virtual void styleWillChange(StyleDifference, const ComputedStyle& newStyle)
; |
1169 // Overrides should call the superclass at the start. |oldStyle| will be 0 t
he first | 1169 // Overrides should call the superclass at the start. |oldStyle| will be 0 t
he first |
1170 // time this function is called. | 1170 // time this function is called. |
1171 virtual void styleDidChange(StyleDifference, const LayoutStyle* oldStyle); | 1171 virtual void styleDidChange(StyleDifference, const ComputedStyle* oldStyle); |
1172 void propagateStyleToAnonymousChildren(bool blockChildrenOnly = false); | 1172 void propagateStyleToAnonymousChildren(bool blockChildrenOnly = false); |
1173 virtual void updateAnonymousChildStyle(const LayoutObject& child, LayoutStyl
e& style) const { } | 1173 virtual void updateAnonymousChildStyle(const LayoutObject& child, ComputedSt
yle& style) const { } |
1174 | 1174 |
1175 protected: | 1175 protected: |
1176 void setSelfMayNeedPaintInvalidation(); | 1176 void setSelfMayNeedPaintInvalidation(); |
1177 | 1177 |
1178 void clearLayoutRootIfNeeded() const; | 1178 void clearLayoutRootIfNeeded() const; |
1179 virtual void willBeDestroyed(); | 1179 virtual void willBeDestroyed(); |
1180 void postDestroy(); | 1180 void postDestroy(); |
1181 | 1181 |
1182 virtual void insertedIntoTree(); | 1182 virtual void insertedIntoTree(); |
1183 virtual void willBeRemovedFromTree(); | 1183 virtual void willBeRemovedFromTree(); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1237 | 1237 |
1238 LayoutRect previousSelectionRectForPaintInvalidation() const; | 1238 LayoutRect previousSelectionRectForPaintInvalidation() const; |
1239 void setPreviousSelectionRectForPaintInvalidation(const LayoutRect&); | 1239 void setPreviousSelectionRectForPaintInvalidation(const LayoutRect&); |
1240 | 1240 |
1241 const LayoutBoxModelObject* enclosingCompositedContainer() const; | 1241 const LayoutBoxModelObject* enclosingCompositedContainer() const; |
1242 | 1242 |
1243 LayoutFlowThread* locateFlowThreadContainingBlock() const; | 1243 LayoutFlowThread* locateFlowThreadContainingBlock() const; |
1244 void removeFromLayoutFlowThread(); | 1244 void removeFromLayoutFlowThread(); |
1245 void removeFromLayoutFlowThreadRecursive(LayoutFlowThread*); | 1245 void removeFromLayoutFlowThreadRecursive(LayoutFlowThread*); |
1246 | 1246 |
1247 LayoutStyle* cachedFirstLineStyle() const; | 1247 ComputedStyle* cachedFirstLineStyle() const; |
1248 StyleDifference adjustStyleDifference(StyleDifference) const; | 1248 StyleDifference adjustStyleDifference(StyleDifference) const; |
1249 | 1249 |
1250 Color selectionColor(int colorProperty) const; | 1250 Color selectionColor(int colorProperty) const; |
1251 | 1251 |
1252 void removeShapeImageClient(ShapeValue*); | 1252 void removeShapeImageClient(ShapeValue*); |
1253 | 1253 |
1254 #if ENABLE(ASSERT) | 1254 #if ENABLE(ASSERT) |
1255 void checkBlockPositionedObjectsNeedLayout(); | 1255 void checkBlockPositionedObjectsNeedLayout(); |
1256 #endif | 1256 #endif |
1257 | 1257 |
1258 void markContainerChainForPaintInvalidation(); | 1258 void markContainerChainForPaintInvalidation(); |
1259 | 1259 |
1260 bool isTextOrSVGChild() const { return isText() || (isSVG() && !isSVGRoot())
; } | 1260 bool isTextOrSVGChild() const { return isText() || (isSVG() && !isSVGRoot())
; } |
1261 | 1261 |
1262 static bool isAllowedToModifyRenderTreeStructure(Document&); | 1262 static bool isAllowedToModifyRenderTreeStructure(Document&); |
1263 | 1263 |
1264 const LayoutBoxModelObject* invalidatePaintRectangleInternal(const LayoutRec
t&) const; | 1264 const LayoutBoxModelObject* invalidatePaintRectangleInternal(const LayoutRec
t&) const; |
1265 | 1265 |
1266 RefPtr<LayoutStyle> m_style; | 1266 RefPtr<ComputedStyle> m_style; |
1267 | 1267 |
1268 // Oilpan: raw pointer back to the owning Node is considered safe. | 1268 // Oilpan: raw pointer back to the owning Node is considered safe. |
1269 Node* m_node; | 1269 Node* m_node; |
1270 | 1270 |
1271 LayoutObject* m_parent; | 1271 LayoutObject* m_parent; |
1272 LayoutObject* m_previous; | 1272 LayoutObject* m_previous; |
1273 LayoutObject* m_next; | 1273 LayoutObject* m_next; |
1274 | 1274 |
1275 #if ENABLE(ASSERT) | 1275 #if ENABLE(ASSERT) |
1276 unsigned m_hasAXObject : 1; | 1276 unsigned m_hasAXObject : 1; |
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1661 void showTree(const blink::LayoutObject*); | 1661 void showTree(const blink::LayoutObject*); |
1662 void showLineTree(const blink::LayoutObject*); | 1662 void showLineTree(const blink::LayoutObject*); |
1663 void showLayoutTree(const blink::LayoutObject* object1); | 1663 void showLayoutTree(const blink::LayoutObject* object1); |
1664 // We don't make object2 an optional parameter so that showLayoutTree | 1664 // We don't make object2 an optional parameter so that showLayoutTree |
1665 // can be called from gdb easily. | 1665 // can be called from gdb easily. |
1666 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec
t* object2); | 1666 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec
t* object2); |
1667 | 1667 |
1668 #endif | 1668 #endif |
1669 | 1669 |
1670 #endif // LayoutObject_h | 1670 #endif // LayoutObject_h |
OLD | NEW |