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

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

Issue 332543002: Rename Repaint to Paint Invalidation Part 4 (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/rendering/RenderMenuList.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 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 InvalidationIncremental, 117 InvalidationIncremental,
118 InvalidationSelfLayout, 118 InvalidationSelfLayout,
119 InvalidationBorderFitLines, 119 InvalidationBorderFitLines,
120 InvalidationBorderRadius, 120 InvalidationBorderRadius,
121 InvalidationBoundsChangeWithBackground, 121 InvalidationBoundsChangeWithBackground,
122 InvalidationBoundsChange, 122 InvalidationBoundsChange,
123 InvalidationLocationChange, 123 InvalidationLocationChange,
124 InvalidationScroll, 124 InvalidationScroll,
125 InvalidationSelection, 125 InvalidationSelection,
126 InvalidationLayer, 126 InvalidationLayer,
127 InvalidationRepaint, 127 InvalidationPaint,
128 InvalidationRepaintRectangle 128 InvalidationPaintRectangle
129 }; 129 };
130 130
131 const int caretWidth = 1; 131 const int caretWidth = 1;
132 132
133 struct AnnotatedRegionValue { 133 struct AnnotatedRegionValue {
134 bool operator==(const AnnotatedRegionValue& o) const 134 bool operator==(const AnnotatedRegionValue& o) const
135 { 135 {
136 return draggable == o.draggable && bounds == o.bounds; 136 return draggable == o.draggable && bounds == o.bounds;
137 } 137 }
138 138
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 } 290 }
291 291
292 ////////////////////////////////////////// 292 //////////////////////////////////////////
293 private: 293 private:
294 #ifndef NDEBUG 294 #ifndef NDEBUG
295 bool isSetNeedsLayoutForbidden() const { return m_setNeedsLayoutForbidden; } 295 bool isSetNeedsLayoutForbidden() const { return m_setNeedsLayoutForbidden; }
296 void setNeedsLayoutIsForbidden(bool flag) { m_setNeedsLayoutForbidden = flag ; } 296 void setNeedsLayoutIsForbidden(bool flag) { m_setNeedsLayoutForbidden = flag ; }
297 #endif 297 #endif
298 298
299 void addAbsoluteRectForLayer(LayoutRect& result); 299 void addAbsoluteRectForLayer(LayoutRect& result);
300 void setLayerNeedsFullRepaintForPositionedMovementLayout(); 300 void setLayerNeedsFullPaintInvalidationForPositionedMovementLayout();
301 bool requiresAnonymousTableWrappers(const RenderObject*) const; 301 bool requiresAnonymousTableWrappers(const RenderObject*) const;
302 302
303 // Gets pseudoStyle from Shadow host(in case of input elements) 303 // Gets pseudoStyle from Shadow host(in case of input elements)
304 // or from Parent element. 304 // or from Parent element.
305 PassRefPtr<RenderStyle> getUncachedPseudoStyleFromParentOrShadowHost() const ; 305 PassRefPtr<RenderStyle> getUncachedPseudoStyleFromParentOrShadowHost() const ;
306 306
307 public: 307 public:
308 #ifndef NDEBUG 308 #ifndef NDEBUG
309 void showTreeForThis() const; 309 void showTreeForThis() const;
310 void showRenderTreeForThis() const; 310 void showRenderTreeForThis() const;
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
402 bool childrenInline() const { return m_bitfields.childrenInline(); } 402 bool childrenInline() const { return m_bitfields.childrenInline(); }
403 void setChildrenInline(bool b) { m_bitfields.setChildrenInline(b); } 403 void setChildrenInline(bool b) { m_bitfields.setChildrenInline(b); }
404 bool hasColumns() const { return m_bitfields.hasColumns(); } 404 bool hasColumns() const { return m_bitfields.hasColumns(); }
405 void setHasColumns(bool b = true) { m_bitfields.setHasColumns(b); } 405 void setHasColumns(bool b = true) { m_bitfields.setHasColumns(b); }
406 406
407 bool ancestorLineBoxDirty() const { return m_bitfields.ancestorLineBoxDirty( ); } 407 bool ancestorLineBoxDirty() const { return m_bitfields.ancestorLineBoxDirty( ); }
408 void setAncestorLineBoxDirty(bool value = true) 408 void setAncestorLineBoxDirty(bool value = true)
409 { 409 {
410 m_bitfields.setAncestorLineBoxDirty(value); 410 m_bitfields.setAncestorLineBoxDirty(value);
411 if (value) 411 if (value)
412 setNeedsLayoutAndFullRepaint(); 412 setNeedsLayoutAndFullPaintInvalidation();
413 } 413 }
414 414
415 enum FlowThreadState { 415 enum FlowThreadState {
416 NotInsideFlowThread = 0, 416 NotInsideFlowThread = 0,
417 InsideOutOfFlowThread = 1, 417 InsideOutOfFlowThread = 1,
418 InsideInFlowThread = 2, 418 InsideInFlowThread = 2,
419 }; 419 };
420 420
421 void setFlowThreadStateIncludingDescendants(FlowThreadState); 421 void setFlowThreadStateIncludingDescendants(FlowThreadState);
422 422
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
454 // This is used for all computation of objectBoundingBox relative units and by SVGLocatable::getBBox(). 454 // This is used for all computation of objectBoundingBox relative units and by SVGLocatable::getBBox().
455 // NOTE: Markers are not specifically ignored here by SVG 1.1 spec, but we i gnore them 455 // NOTE: Markers are not specifically ignored here by SVG 1.1 spec, but we i gnore them
456 // since stroke-width is ignored (and marker size can depend on stroke-width ). 456 // since stroke-width is ignored (and marker size can depend on stroke-width ).
457 // objectBoundingBox is returned local coordinates. 457 // objectBoundingBox is returned local coordinates.
458 // The name objectBoundingBox is taken from the SVG 1.1 spec. 458 // The name objectBoundingBox is taken from the SVG 1.1 spec.
459 virtual FloatRect objectBoundingBox() const; 459 virtual FloatRect objectBoundingBox() const;
460 virtual FloatRect strokeBoundingBox() const; 460 virtual FloatRect strokeBoundingBox() const;
461 461
462 // Returns the smallest rectangle enclosing all of the painted content 462 // Returns the smallest rectangle enclosing all of the painted content
463 // respecting clipping, masking, filters, opacity, stroke-width and markers 463 // respecting clipping, masking, filters, opacity, stroke-width and markers
464 virtual FloatRect repaintRectInLocalCoordinates() const; 464 virtual FloatRect paintInvalidationRectInLocalCoordinates() const;
465 465
466 // This only returns the transform="" value from the element 466 // This only returns the transform="" value from the element
467 // most callsites want localToParentTransform() instead. 467 // most callsites want localToParentTransform() instead.
468 virtual AffineTransform localTransform() const; 468 virtual AffineTransform localTransform() const;
469 469
470 // Returns the full transform mapping from local coordinates to local coords for the parent SVG renderer 470 // Returns the full transform mapping from local coordinates to local coords for the parent SVG renderer
471 // This includes any viewport transforms and x/y offsets as well as the tran sform="" value off the element. 471 // This includes any viewport transforms and x/y offsets as well as the tran sform="" value off the element.
472 virtual const AffineTransform& localToParentTransform() const; 472 virtual const AffineTransform& localToParentTransform() const;
473 473
474 // SVG uses FloatPoint precise hit testing, and passes the point in parent 474 // SVG uses FloatPoint precise hit testing, and passes the point in parent
475 // coordinates instead of in repaint container coordinates. Eventually the 475 // coordinates instead of in paint invalidaiton container coordinates. Event ually the
476 // rest of the rendering tree will move to a similar model. 476 // rest of the rendering tree will move to a similar model.
477 virtual bool nodeAtFloatPoint(const HitTestRequest&, HitTestResult&, const F loatPoint& pointInParent, HitTestAction); 477 virtual bool nodeAtFloatPoint(const HitTestRequest&, HitTestResult&, const F loatPoint& pointInParent, HitTestAction);
478 478
479 virtual bool canHaveWhitespaceChildren() const 479 virtual bool canHaveWhitespaceChildren() const
480 { 480 {
481 if (isTable() || isTableRow() || isTableSection() || isRenderTableCol() || isFrameSet() || isFlexibleBox() || isRenderGrid()) 481 if (isTable() || isTableRow() || isTableSection() || isRenderTableCol() || isFrameSet() || isFlexibleBox() || isRenderGrid())
482 return false; 482 return false;
483 return true; 483 return true;
484 } 484 }
485 485
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
519 519
520 enum BoxDecorationState { 520 enum BoxDecorationState {
521 NoBoxDecorations, 521 NoBoxDecorations,
522 HasBoxDecorationsAndBackgroundObscurationStatusInvalid, 522 HasBoxDecorationsAndBackgroundObscurationStatusInvalid,
523 HasBoxDecorationsAndBackgroundIsKnownToBeObscured, 523 HasBoxDecorationsAndBackgroundIsKnownToBeObscured,
524 HasBoxDecorationsAndBackgroundMayBeVisible, 524 HasBoxDecorationsAndBackgroundMayBeVisible,
525 }; 525 };
526 bool hasBoxDecorations() const { return m_bitfields.boxDecorationState() != NoBoxDecorations; } 526 bool hasBoxDecorations() const { return m_bitfields.boxDecorationState() != NoBoxDecorations; }
527 bool backgroundIsKnownToBeObscured(); 527 bool backgroundIsKnownToBeObscured();
528 bool canRenderBorderImage() const; 528 bool canRenderBorderImage() const;
529 bool mustRepaintBackgroundOrBorderOnWidthChange() const; 529 bool mustInvalidateBackgroundOrBorderPaintOnWidthChange() const;
530 bool mustRepaintBackgroundOrBorderOnHeightChange() const; 530 bool mustInvalidateBackgroundOrBorderPaintOnHeightChange() const;
531 bool mustRepaintFillLayersOnWidthChange(const FillLayer&) const; 531 bool mustInvalidateFillLayersPaintOnWidthChange(const FillLayer&) const;
532 bool mustRepaintFillLayersOnHeightChange(const FillLayer&) const; 532 bool mustInvalidateFillLayersPaintOnHeightChange(const FillLayer&) const;
533 bool hasBackground() const { return style()->hasBackground(); } 533 bool hasBackground() const { return style()->hasBackground(); }
534 bool hasEntirelyFixedBackground() const; 534 bool hasEntirelyFixedBackground() const;
535 535
536 bool needsLayout() const 536 bool needsLayout() const
537 { 537 {
538 return m_bitfields.selfNeedsLayout() || m_bitfields.normalChildNeedsLayo ut() || m_bitfields.posChildNeedsLayout() 538 return m_bitfields.selfNeedsLayout() || m_bitfields.normalChildNeedsLayo ut() || m_bitfields.posChildNeedsLayout()
539 || m_bitfields.needsSimplifiedNormalFlowLayout() || m_bitfields.need sPositionedMovementLayout(); 539 || m_bitfields.needsSimplifiedNormalFlowLayout() || m_bitfields.need sPositionedMovementLayout();
540 } 540 }
541 541
542 bool selfNeedsLayout() const { return m_bitfields.selfNeedsLayout(); } 542 bool selfNeedsLayout() const { return m_bitfields.selfNeedsLayout(); }
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
606 // pseudo elements for which their parent node is returned. 606 // pseudo elements for which their parent node is returned.
607 Node* generatingNode() const { return isPseudoElement() ? node()->parentOrSh adowHostNode() : node(); } 607 Node* generatingNode() const { return isPseudoElement() ? node()->parentOrSh adowHostNode() : node(); }
608 608
609 Document& document() const { return m_node->document(); } 609 Document& document() const { return m_node->document(); }
610 LocalFrame* frame() const { return document().frame(); } 610 LocalFrame* frame() const { return document().frame(); }
611 611
612 bool hasOutlineAnnotation() const; 612 bool hasOutlineAnnotation() const;
613 bool hasOutline() const { return style()->hasOutline() || hasOutlineAnnotati on(); } 613 bool hasOutline() const { return style()->hasOutline() || hasOutlineAnnotati on(); }
614 614
615 // Returns the object containing this one. Can be different from parent for positioned elements. 615 // Returns the object containing this one. Can be different from parent for positioned elements.
616 // If repaintContainer and repaintContainerSkipped are not null, on return * repaintContainerSkipped 616 // If paintInvalidationContainer and paintInvalidationContainerSkipped are n ot null, on return *paintInvalidationContainerSkipped
617 // is true if the renderer returned is an ancestor of repaintContainer. 617 // is true if the renderer returned is an ancestor of paintInvalidationConta iner.
618 RenderObject* container(const RenderLayerModelObject* repaintContainer = 0, bool* repaintContainerSkipped = 0) const; 618 RenderObject* container(const RenderLayerModelObject* paintInvalidationConta iner = 0, bool* paintInvalidationContainerSkipped = 0) const;
619 619
620 virtual RenderObject* hoverAncestor() const { return parent(); } 620 virtual RenderObject* hoverAncestor() const { return parent(); }
621 621
622 Element* offsetParent() const; 622 Element* offsetParent() const;
623 623
624 void markContainingBlocksForLayout(bool scheduleRelayout = true, RenderObjec t* newRoot = 0, SubtreeLayoutScope* = 0); 624 void markContainingBlocksForLayout(bool scheduleRelayout = true, RenderObjec t* newRoot = 0, SubtreeLayoutScope* = 0);
625 void setNeedsLayout(MarkingBehavior = MarkContainingBlockChain, SubtreeLayou tScope* = 0); 625 void setNeedsLayout(MarkingBehavior = MarkContainingBlockChain, SubtreeLayou tScope* = 0);
626 void setNeedsLayoutAndFullRepaint(MarkingBehavior = MarkContainingBlockChain , SubtreeLayoutScope* = 0); 626 void setNeedsLayoutAndFullPaintInvalidation(MarkingBehavior = MarkContaining BlockChain, SubtreeLayoutScope* = 0);
627 void clearNeedsLayout(); 627 void clearNeedsLayout();
628 void setChildNeedsLayout(MarkingBehavior = MarkContainingBlockChain, Subtree LayoutScope* = 0); 628 void setChildNeedsLayout(MarkingBehavior = MarkContainingBlockChain, Subtree LayoutScope* = 0);
629 void setNeedsPositionedMovementLayout(); 629 void setNeedsPositionedMovementLayout();
630 void setPreferredLogicalWidthsDirty(MarkingBehavior = MarkContainingBlockCha in); 630 void setPreferredLogicalWidthsDirty(MarkingBehavior = MarkContainingBlockCha in);
631 void clearPreferredLogicalWidthsDirty(); 631 void clearPreferredLogicalWidthsDirty();
632 void invalidateContainerPreferredLogicalWidths(); 632 void invalidateContainerPreferredLogicalWidths();
633 633
634 void setNeedsLayoutAndPrefWidthsRecalc() 634 void setNeedsLayoutAndPrefWidthsRecalc()
635 { 635 {
636 setNeedsLayout(); 636 setNeedsLayout();
637 setPreferredLogicalWidthsDirty(); 637 setPreferredLogicalWidthsDirty();
638 } 638 }
639 void setNeedsLayoutAndPrefWidthsRecalcAndFullRepaint() 639 void setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation()
640 { 640 {
641 setNeedsLayoutAndFullRepaint(); 641 setNeedsLayoutAndFullPaintInvalidation();
642 setPreferredLogicalWidthsDirty(); 642 setPreferredLogicalWidthsDirty();
643 } 643 }
644 644
645 void setPositionState(EPosition position) 645 void setPositionState(EPosition position)
646 { 646 {
647 ASSERT((position != AbsolutePosition && position != FixedPosition) || is Box()); 647 ASSERT((position != AbsolutePosition && position != FixedPosition) || is Box());
648 m_bitfields.setPositionedState(position); 648 m_bitfields.setPositionedState(position);
649 } 649 }
650 void clearPositionedState() { m_bitfields.clearPositionedState(); } 650 void clearPositionedState() { m_bitfields.clearPositionedState(); }
651 651
(...skipping 27 matching lines...) Expand all
679 virtual bool updateImageLoadingPriorities() { return false; } 679 virtual bool updateImageLoadingPriorities() { return false; }
680 void setHasPendingResourceUpdate(bool hasPendingResourceUpdate) { m_bitfield s.setHasPendingResourceUpdate(hasPendingResourceUpdate); } 680 void setHasPendingResourceUpdate(bool hasPendingResourceUpdate) { m_bitfield s.setHasPendingResourceUpdate(hasPendingResourceUpdate); }
681 bool hasPendingResourceUpdate() const { return m_bitfields.hasPendingResourc eUpdate(); } 681 bool hasPendingResourceUpdate() const { return m_bitfields.hasPendingResourc eUpdate(); }
682 682
683 /* This function performs a layout only if one is needed. */ 683 /* This function performs a layout only if one is needed. */
684 void layoutIfNeeded() { if (needsLayout()) layout(); } 684 void layoutIfNeeded() { if (needsLayout()) layout(); }
685 685
686 void forceLayout(); 686 void forceLayout();
687 void forceChildLayout(); 687 void forceChildLayout();
688 688
689 // used for element state updates that cannot be fixed with a 689 // Used for element state updates that cannot be fixed with a
690 // repaint and do not need a relayout 690 // paint invalidation and do not need a relayout.
691 virtual void updateFromElement() { } 691 virtual void updateFromElement() { }
692 692
693 virtual void addAnnotatedRegions(Vector<AnnotatedRegionValue>&); 693 virtual void addAnnotatedRegions(Vector<AnnotatedRegionValue>&);
694 void collectAnnotatedRegions(Vector<AnnotatedRegionValue>&); 694 void collectAnnotatedRegions(Vector<AnnotatedRegionValue>&);
695 695
696 CompositingState compositingState() const; 696 CompositingState compositingState() const;
697 virtual CompositingReasons additionalCompositingReasons(CompositingTriggerFl ags) const; 697 virtual CompositingReasons additionalCompositingReasons(CompositingTriggerFl ags) const;
698 698
699 bool hitTest(const HitTestRequest&, HitTestResult&, const HitTestLocation& l ocationInContainer, const LayoutPoint& accumulatedOffset, HitTestFilter = HitTes tAll); 699 bool hitTest(const HitTestRequest&, HitTestResult&, const HitTestLocation& l ocationInContainer, const LayoutPoint& accumulatedOffset, HitTestFilter = HitTes tAll);
700 virtual void updateHitTestResult(HitTestResult&, const LayoutPoint&); 700 virtual void updateHitTestResult(HitTestResult&, const LayoutPoint&);
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
732 732
733 // Convert a local quad to absolute coordinates, taking transforms into acco unt. 733 // Convert a local quad to absolute coordinates, taking transforms into acco unt.
734 FloatQuad localToAbsoluteQuad(const FloatQuad& quad, MapCoordinatesFlags mod e = 0, bool* wasFixed = 0) const 734 FloatQuad localToAbsoluteQuad(const FloatQuad& quad, MapCoordinatesFlags mod e = 0, bool* wasFixed = 0) const
735 { 735 {
736 return localToContainerQuad(quad, 0, mode, wasFixed); 736 return localToContainerQuad(quad, 0, mode, wasFixed);
737 } 737 }
738 // Convert an absolute quad to local coordinates. 738 // Convert an absolute quad to local coordinates.
739 FloatQuad absoluteToLocalQuad(const FloatQuad&, MapCoordinatesFlags mode = 0 ) const; 739 FloatQuad absoluteToLocalQuad(const FloatQuad&, MapCoordinatesFlags mode = 0 ) const;
740 740
741 // Convert a local quad into the coordinate system of container, taking tran sforms into account. 741 // Convert a local quad into the coordinate system of container, taking tran sforms into account.
742 FloatQuad localToContainerQuad(const FloatQuad&, const RenderLayerModelObjec t* repaintContainer, MapCoordinatesFlags = 0, bool* wasFixed = 0) const; 742 FloatQuad localToContainerQuad(const FloatQuad&, const RenderLayerModelObjec t* paintInvalidatinoContainer, MapCoordinatesFlags = 0, bool* wasFixed = 0) cons t;
743 FloatPoint localToContainerPoint(const FloatPoint&, const RenderLayerModelOb ject* repaintContainer, MapCoordinatesFlags = 0, bool* wasFixed = 0) const; 743 FloatPoint localToContainerPoint(const FloatPoint&, const RenderLayerModelOb ject* paintInvalidationContainer, MapCoordinatesFlags = 0, bool* wasFixed = 0) c onst;
744 744
745 // Return the offset from the container() renderer (excluding transforms). I n multi-column layout, 745 // Return the offset from the container() renderer (excluding transforms). I n multi-column layout,
746 // different offsets apply at different points, so return the offset that ap plies to the given point. 746 // different offsets apply at different points, so return the offset that ap plies to the given point.
747 virtual LayoutSize offsetFromContainer(const RenderObject*, const LayoutPoin t&, bool* offsetDependsOnPoint = 0) const; 747 virtual LayoutSize offsetFromContainer(const RenderObject*, const LayoutPoin t&, bool* offsetDependsOnPoint = 0) const;
748 // Return the offset from an object up the container() chain. Asserts that n one of the intermediate objects have transforms. 748 // Return the offset from an object up the container() chain. Asserts that n one of the intermediate objects have transforms.
749 LayoutSize offsetFromAncestorContainer(const RenderObject*) const; 749 LayoutSize offsetFromAncestorContainer(const RenderObject*) const;
750 750
751 virtual void absoluteRects(Vector<IntRect>&, const LayoutPoint&) const { } 751 virtual void absoluteRects(Vector<IntRect>&, const LayoutPoint&) const { }
752 752
753 LayoutPoint positionFromRepaintContainer(const RenderLayerModelObject* repai ntContainer) const; 753 LayoutPoint positionFromPaintInvalidationContainer(const RenderLayerModelObj ect* paintInvalidationContainer) const;
754 754
755 IntRect absoluteBoundingBoxRect() const; 755 IntRect absoluteBoundingBoxRect() const;
756 // FIXME: This function should go away eventually 756 // FIXME: This function should go away eventually
757 IntRect absoluteBoundingBoxRectIgnoringTransforms() const; 757 IntRect absoluteBoundingBoxRectIgnoringTransforms() const;
758 758
759 // Build an array of quads in absolute coords for line boxes 759 // Build an array of quads in absolute coords for line boxes
760 virtual void absoluteQuads(Vector<FloatQuad>&, bool* /*wasFixed*/ = 0) const { } 760 virtual void absoluteQuads(Vector<FloatQuad>&, bool* /*wasFixed*/ = 0) const { }
761 761
762 virtual void absoluteFocusRingQuads(Vector<FloatQuad>&); 762 virtual void absoluteFocusRingQuads(Vector<FloatQuad>&);
763 763
(...skipping 17 matching lines...) Expand all
781 inline Color resolveColor(int colorProperty) const 781 inline Color resolveColor(int colorProperty) const
782 { 782 {
783 return style()->visitedDependentColor(colorProperty); 783 return style()->visitedDependentColor(colorProperty);
784 } 784 }
785 785
786 // Used only by Element::pseudoStyleCacheIsInvalid to get a first line style based off of a 786 // Used only by Element::pseudoStyleCacheIsInvalid to get a first line style based off of a
787 // given new style, without accessing the cache. 787 // given new style, without accessing the cache.
788 PassRefPtr<RenderStyle> uncachedFirstLineStyle(RenderStyle*) const; 788 PassRefPtr<RenderStyle> uncachedFirstLineStyle(RenderStyle*) const;
789 789
790 // Anonymous blocks that are part of of a continuation chain will return the ir inline continuation's outline style instead. 790 // Anonymous blocks that are part of of a continuation chain will return the ir inline continuation's outline style instead.
791 // This is typically only relevant when repainting. 791 // This is typically only relevant when invalidating paints.
792 virtual RenderStyle* outlineStyleForRepaint() const { return style(); } 792 virtual RenderStyle* outlineStyleForPaintInvalidation() const { return style (); }
793 793
794 virtual CursorDirective getCursor(const LayoutPoint&, Cursor&) const; 794 virtual CursorDirective getCursor(const LayoutPoint&, Cursor&) const;
795 795
796 struct AppliedTextDecoration { 796 struct AppliedTextDecoration {
797 Color color; 797 Color color;
798 TextDecorationStyle style; 798 TextDecorationStyle style;
799 AppliedTextDecoration() : color(Color::transparent), style(TextDecoratio nStyleSolid) { } 799 AppliedTextDecoration() : color(Color::transparent), style(TextDecoratio nStyleSolid) { }
800 }; 800 };
801 801
802 void getTextDecorations(unsigned decorations, AppliedTextDecoration& underli ne, AppliedTextDecoration& overline, AppliedTextDecoration& linethrough, bool qu irksMode = false, bool firstlineStyle = false); 802 void getTextDecorations(unsigned decorations, AppliedTextDecoration& underli ne, AppliedTextDecoration& overline, AppliedTextDecoration& linethrough, bool qu irksMode = false, bool firstlineStyle = false);
803 803
804 // Return the RenderLayerModelObject in the container chain which is respons ible for painting this object, or 0 804 // Return the RenderLayerModelObject in the container chain which is respons ible for painting this object, or 0
805 // if painting is root-relative. This is the container that should be passed to the 'forRepaint' 805 // if painting is root-relative. This is the container that should be passed to the 'forPaintInvalidation'
806 // methods. 806 // methods.
807 const RenderLayerModelObject* containerForRepaint() const; 807 const RenderLayerModelObject* containerForPaintInvalidation() const;
808 const RenderLayerModelObject* enclosingCompositedContainer() const; 808 const RenderLayerModelObject* enclosingCompositedContainer() const;
809 const RenderLayerModelObject* adjustCompositedContainerForSpecialAncestors(c onst RenderLayerModelObject* repaintContainer) const; 809 const RenderLayerModelObject* adjustCompositedContainerForSpecialAncestors(c onst RenderLayerModelObject* paintInvalidationContainer) const;
810 bool isRepaintContainer() const; 810 bool isPaintInvalidationContainer() const;
811 811
812 LayoutRect computeRepaintRect() 812 LayoutRect computePaintInvalidationRect()
813 { 813 {
814 return computeRepaintRect(containerForRepaint()); 814 return computePaintInvalidationRect(containerForPaintInvalidation());
815 } 815 }
816 816
817 // Returns the repaint rect for this RenderObject in the coordinate space of the paint backing (typically a GraphicsLayer) for |repaintContainer|. 817 // Returns the paint invalidation rect for this RenderObject in the coordina te space of the paint backing (typically a GraphicsLayer) for |paintInvalidation Container|.
818 LayoutRect computeRepaintRect(const RenderLayerModelObject* repaintContainer ) const; 818 LayoutRect computePaintInvalidationRect(const RenderLayerModelObject* paintI nvalidationContainer) const;
819 819
820 // Returns the rect bounds needed to repaint this object, in the coordinate space of the rendering backing of |repaintContainer| 820 // Returns the rect bounds needed to invalidate the paint of this object, in the coordinate space of the rendering backing of |paintInvalidationContainer|
821 LayoutRect boundsRectForRepaint(const RenderLayerModelObject* repaintContain er) const; 821 LayoutRect boundsRectForPaintInvalidation(const RenderLayerModelObject* pain tInvalidationContainer) const;
822 822
823 // Actually do the paint invalidate of rect r for this object which has been computed in the coordinate space 823 // Actually do the paint invalidate of rect r for this object which has been computed in the coordinate space
824 // of paintInvalidationContainer. If paintInvalidationContainer is 0, invali date paints via the view. 824 // of paintInvalidationContainer. If paintInvalidationContainer is 0, invali date paints via the view.
825 void invalidatePaintUsingContainer(const RenderLayerModelObject* paintInvali dationContainer, const IntRect&, InvalidationReason) const; 825 void invalidatePaintUsingContainer(const RenderLayerModelObject* paintInvali dationContainer, const IntRect&, InvalidationReason) const;
826 826
827 // Invalidate the paint of the entire object. Called when, e.g., the color o f a border changes, or when a border 827 // Invalidate the paint of the entire object. Called when, e.g., the color o f a border changes, or when a border
828 // style changes. 828 // style changes.
829 void paintInvalidationForWholeRenderer() const; 829 void paintInvalidationForWholeRenderer() const;
830 830
831 // Invalidate the paint of a specific subrectangle within a given object. Th e rect |r| is in the object's coordinate space. 831 // Invalidate the paint of a specific subrectangle within a given object. Th e rect |r| is in the object's coordinate space.
832 void invalidatePaintRectangle(const LayoutRect&) const; 832 void invalidatePaintRectangle(const LayoutRect&) const;
833 833
834 // Invalidate the paint only if our old bounds and new bounds are different. The caller may pass in newBounds if they are known. 834 // Invalidate the paint only if our old bounds and new bounds are different. The caller may pass in newBounds if they are known.
835 bool invalidatePaintAfterLayoutIfNeeded(const RenderLayerModelObject* paintI nvalidationContainer, bool wasSelfLayout, 835 bool invalidatePaintAfterLayoutIfNeeded(const RenderLayerModelObject* paintI nvalidationContainer, bool wasSelfLayout,
836 const LayoutRect& oldBounds, const LayoutPoint& oldPositionFromPaintInva lidationContainer, 836 const LayoutRect& oldBounds, const LayoutPoint& oldPositionFromPaintInva lidationContainer,
837 const LayoutRect* newBoundsPtr = 0, const LayoutPoint* newPositionFromPa intInvalidationContainer = 0); 837 const LayoutRect* newBoundsPtr = 0, const LayoutPoint* newPositionFromPa intInvalidationContainer = 0);
838 838
839 // 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. 839 // 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.
840 virtual void invalidateTreeAfterLayout(const RenderLayerModelObject&); 840 virtual void invalidateTreeAfterLayout(const RenderLayerModelObject&);
841 841
842 virtual void invalidatePaintForOverflow(); 842 virtual void invalidatePaintForOverflow();
843 void invalidatePaintForOverflowIfNeeded(); 843 void invalidatePaintForOverflowIfNeeded();
844 844
845 bool checkForRepaint() const; 845 bool checkForPaintInvalidation() const;
846 bool checkForRepaintDuringLayout() const; 846 bool checkForPaintInvalidationDuringLayout() const;
847 847
848 // Returns the rect that should be repainted whenever this object changes. The rect is in the view's 848 // Returns the rect that should have paint invalidated whenever this object changes. The rect is in the view's
849 // coordinate space. This method deals with outlines and overflow. 849 // coordinate space. This method deals with outlines and overflow.
850 LayoutRect absoluteClippedOverflowRect() const 850 LayoutRect absoluteClippedOverflowRect() const
851 { 851 {
852 return clippedOverflowRectForRepaint(0); 852 return clippedOverflowRectForPaintInvalidation(0);
853 } 853 }
854 IntRect pixelSnappedAbsoluteClippedOverflowRect() const; 854 IntRect pixelSnappedAbsoluteClippedOverflowRect() const;
855 virtual LayoutRect clippedOverflowRectForRepaint(const RenderLayerModelObjec t* repaintContainer) const; 855 virtual LayoutRect clippedOverflowRectForPaintInvalidation(const RenderLayer ModelObject* paintInvalidationContainer) const;
856 virtual LayoutRect rectWithOutlineForRepaint(const RenderLayerModelObject* r epaintContainer, LayoutUnit outlineWidth) const; 856 virtual LayoutRect rectWithOutlineForPaintInvalidation(const RenderLayerMode lObject* paintInvalidationContainer, LayoutUnit outlineWidth) const;
857 857
858 // Given a rect in the object's coordinate space, compute a rect suitable fo r repainting 858 // Given a rect in the object's coordinate space, compute a rect suitable fo r invalidating paints of
859 // that rect in the coordinate space of repaintContainer. 859 // that rect in the coordinate space of paintInvalidationContainer.
860 virtual void mapRectToRepaintBacking(const RenderLayerModelObject* repaintCo ntainer, LayoutRect&, bool fixed = false) const; 860 virtual void mapRectToPaintInvalidationBacking(const RenderLayerModelObject* paintInvalidationContainer, LayoutRect&, bool fixed = false) const;
861 virtual void computeFloatRectForRepaint(const RenderLayerModelObject* repain tContainer, FloatRect& repaintRect, bool fixed = false) const; 861 virtual void computeFloatRectForPaintInvalidation(const RenderLayerModelObje ct* paintInvalidationContainer, FloatRect& paintInvalidationRect, bool fixed = f alse) const;
862 862
863 // Return the offset to the column in which the specified point (in flow-thr ead coordinates) 863 // Return the offset to the column in which the specified point (in flow-thr ead coordinates)
864 // lives. This is used to convert a flow-thread point to a visual point. 864 // lives. This is used to convert a flow-thread point to a visual point.
865 virtual LayoutSize columnOffset(const LayoutPoint&) const { return LayoutSiz e(); } 865 virtual LayoutSize columnOffset(const LayoutPoint&) const { return LayoutSiz e(); }
866 866
867 virtual unsigned length() const { return 1; } 867 virtual unsigned length() const { return 1; }
868 868
869 bool isFloatingOrOutOfFlowPositioned() const { return (isFloating() || isOut OfFlowPositioned()); } 869 bool isFloatingOrOutOfFlowPositioned() const { return (isFloating() || isOut OfFlowPositioned()); }
870 870
871 bool isTransparent() const { return style()->opacity() < 1.0f; } 871 bool isTransparent() const { return style()->opacity() < 1.0f; }
(...skipping 11 matching lines...) Expand all
883 883
884 // The current selection state for an object. For blocks, the state refers to the state of the leaf 884 // The current selection state for an object. For blocks, the state refers to the state of the leaf
885 // descendants (as described above in the SelectionState enum declaration). 885 // descendants (as described above in the SelectionState enum declaration).
886 SelectionState selectionState() const { return m_bitfields.selectionState(); } 886 SelectionState selectionState() const { return m_bitfields.selectionState(); }
887 virtual void setSelectionState(SelectionState state) { m_bitfields.setSelect ionState(state); } 887 virtual void setSelectionState(SelectionState state) { m_bitfields.setSelect ionState(state); }
888 inline void setSelectionStateIfNeeded(SelectionState); 888 inline void setSelectionStateIfNeeded(SelectionState);
889 bool canUpdateSelectionOnRootLineBoxes(); 889 bool canUpdateSelectionOnRootLineBoxes();
890 890
891 // A single rectangle that encompasses all of the selected objects within th is object. Used to determine the tightest 891 // A single rectangle that encompasses all of the selected objects within th is object. Used to determine the tightest
892 // possible bounding box for the selection. 892 // possible bounding box for the selection.
893 LayoutRect selectionRect(bool clipToVisibleContent = true) { return selectio nRectForRepaint(0, clipToVisibleContent); } 893 LayoutRect selectionRect(bool clipToVisibleContent = true) { return selectio nRectForPaintInvalidation(0, clipToVisibleContent); }
894 virtual LayoutRect selectionRectForRepaint(const RenderLayerModelObject* /*r epaintContainer*/, bool /*clipToVisibleContent*/ = true) { return LayoutRect(); } 894 virtual LayoutRect selectionRectForPaintInvalidation(const RenderLayerModelO bject* /*paintInvalidationContainer*/, bool /*clipToVisibleContent*/ = true) { r eturn LayoutRect(); }
895 895
896 virtual bool canBeSelectionLeaf() const { return false; } 896 virtual bool canBeSelectionLeaf() const { return false; }
897 bool hasSelectedChildren() const { return selectionState() != SelectionNone; } 897 bool hasSelectedChildren() const { return selectionState() != SelectionNone; }
898 898
899 bool isSelectable() const; 899 bool isSelectable() const;
900 // Obtains the selection colors that should be used when painting a selectio n. 900 // Obtains the selection colors that should be used when painting a selectio n.
901 Color selectionBackgroundColor() const; 901 Color selectionBackgroundColor() const;
902 Color selectionForegroundColor() const; 902 Color selectionForegroundColor() const;
903 Color selectionEmphasisMarkColor() const; 903 Color selectionEmphasisMarkColor() const;
904 904
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
956 { 956 {
957 if (request.touchAction() && !visibleForTouchAction()) 957 if (request.touchAction() && !visibleForTouchAction())
958 return false; 958 return false;
959 return style()->visibility() == VISIBLE && (request.ignorePointerEventsN one() || style()->pointerEvents() != PE_NONE) && !isInert(); 959 return style()->visibility() == VISIBLE && (request.ignorePointerEventsN one() || style()->pointerEvents() != PE_NONE) && !isInert();
960 } 960 }
961 961
962 bool visibleToHitTesting() const { return style()->visibility() == VISIBLE & & style()->pointerEvents() != PE_NONE && !isInert(); } 962 bool visibleToHitTesting() const { return style()->visibility() == VISIBLE & & style()->pointerEvents() != PE_NONE && !isInert(); }
963 963
964 // Map points and quads through elements, potentially via 3d transforms. You should never need to call these directly; use 964 // Map points and quads through elements, potentially via 3d transforms. You should never need to call these directly; use
965 // localToAbsolute/absoluteToLocal methods instead. 965 // localToAbsolute/absoluteToLocal methods instead.
966 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContai ner, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = 0) const; 966 virtual void mapLocalToContainer(const RenderLayerModelObject* paintInvalida tionContainer, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = 0) const;
967 virtual void mapAbsoluteToLocalPoint(MapCoordinatesFlags, TransformState&) c onst; 967 virtual void mapAbsoluteToLocalPoint(MapCoordinatesFlags, TransformState&) c onst;
968 968
969 // Pushes state onto RenderGeometryMap about how to map coordinates from thi s renderer to its container, or ancestorToStopAt (whichever is encountered first ). 969 // Pushes state onto RenderGeometryMap about how to map coordinates from thi s renderer to its container, or ancestorToStopAt (whichever is encountered first ).
970 // Returns the renderer which was mapped to (container or ancestorToStopAt). 970 // Returns the renderer which was mapped to (container or ancestorToStopAt).
971 virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObj ect* ancestorToStopAt, RenderGeometryMap&) const; 971 virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObj ect* ancestorToStopAt, RenderGeometryMap&) const;
972 972
973 bool shouldUseTransformFromContainer(const RenderObject* container) const; 973 bool shouldUseTransformFromContainer(const RenderObject* container) const;
974 void getTransformFromContainer(const RenderObject* container, const LayoutSi ze& offsetInContainer, TransformationMatrix&) const; 974 void getTransformFromContainer(const RenderObject* container, const LayoutSi ze& offsetInContainer, TransformationMatrix&) const;
975 975
976 bool createsGroup() const { return isTransparent() || hasMask() || hasFilter () || hasBlendMode(); } 976 bool createsGroup() const { return isTransparent() || hasMask() || hasFilter () || hasBlendMode(); }
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
1076 // containerRect is a rect that has already been added for the currentLayer which is likely to 1076 // containerRect is a rect that has already been added for the currentLayer which is likely to
1077 // be a container for child elements. Any rect wholly contained by container Rect can be 1077 // be a container for child elements. Any rect wholly contained by container Rect can be
1078 // skipped. 1078 // skipped.
1079 virtual void addLayerHitTestRects(LayerHitTestRects&, const RenderLayer* cur rentLayer, const LayoutPoint& layerOffset, const LayoutRect& containerRect) cons t; 1079 virtual void addLayerHitTestRects(LayerHitTestRects&, const RenderLayer* cur rentLayer, const LayoutPoint& layerOffset, const LayoutRect& containerRect) cons t;
1080 1080
1081 // Add hit-test rects for this renderer only to the provided list. layerOffs et is the offset 1081 // Add hit-test rects for this renderer only to the provided list. layerOffs et is the offset
1082 // of this renderer within the current layer that should be used for each re sult. 1082 // of this renderer within the current layer that should be used for each re sult.
1083 virtual void computeSelfHitTestRects(Vector<LayoutRect>&, const LayoutPoint& layerOffset) const { }; 1083 virtual void computeSelfHitTestRects(Vector<LayoutRect>&, const LayoutPoint& layerOffset) const { };
1084 1084
1085 private: 1085 private:
1086 RenderBlock* containerForFixedPosition(const RenderLayerModelObject* repaint Container = 0, bool* repaintContainerSkipped = 0) const; 1086 RenderBlock* containerForFixedPosition(const RenderLayerModelObject* paintIn validationContainer = 0, bool* paintInvalidationContainerSkipped = 0) const;
1087 1087
1088 RenderFlowThread* locateFlowThreadContainingBlock() const; 1088 RenderFlowThread* locateFlowThreadContainingBlock() const;
1089 void removeFromRenderFlowThread(); 1089 void removeFromRenderFlowThread();
1090 void removeFromRenderFlowThreadRecursive(RenderFlowThread*); 1090 void removeFromRenderFlowThreadRecursive(RenderFlowThread*);
1091 1091
1092 bool hasImmediateNonWhitespaceTextChildOrPropertiesDependentOnColor() const; 1092 bool hasImmediateNonWhitespaceTextChildOrPropertiesDependentOnColor() const;
1093 1093
1094 RenderStyle* cachedFirstLineStyle() const; 1094 RenderStyle* cachedFirstLineStyle() const;
1095 StyleDifference adjustStyleDifference(StyleDifference, unsigned contextSensi tiveProperties) const; 1095 StyleDifference adjustStyleDifference(StyleDifference, unsigned contextSensi tiveProperties) const;
1096 1096
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
1263 void setIsDragging(bool b) { m_bitfields.setIsDragging(b); } 1263 void setIsDragging(bool b) { m_bitfields.setIsDragging(b); }
1264 void setEverHadLayout(bool b) { m_bitfields.setEverHadLayout(b); } 1264 void setEverHadLayout(bool b) { m_bitfields.setEverHadLayout(b); }
1265 void setShouldInvalidateOverflowForPaint(bool b) { m_bitfields.setShouldInva lidateOverflowForPaint(b); } 1265 void setShouldInvalidateOverflowForPaint(bool b) { m_bitfields.setShouldInva lidateOverflowForPaint(b); }
1266 void setSelfNeedsOverflowRecalcAfterStyleChange(bool b) { m_bitfields.setSel fNeedsOverflowRecalcAfterStyleChange(b); } 1266 void setSelfNeedsOverflowRecalcAfterStyleChange(bool b) { m_bitfields.setSel fNeedsOverflowRecalcAfterStyleChange(b); }
1267 void setChildNeedsOverflowRecalcAfterStyleChange(bool b) { m_bitfields.setCh ildNeedsOverflowRecalcAfterStyleChange(b); } 1267 void setChildNeedsOverflowRecalcAfterStyleChange(bool b) { m_bitfields.setCh ildNeedsOverflowRecalcAfterStyleChange(b); }
1268 1268
1269 private: 1269 private:
1270 // Store state between styleWillChange and styleDidChange 1270 // Store state between styleWillChange and styleDidChange
1271 static bool s_affectsParentBlock; 1271 static bool s_affectsParentBlock;
1272 1272
1273 // This stores the repaint rect from the previous layout. 1273 // This stores the paint invalidation rect from the previous layout.
1274 LayoutRect m_previousPaintInvalidationRect; 1274 LayoutRect m_previousPaintInvalidationRect;
1275 1275
1276 // This stores the position in the repaint container's coordinate. 1276 // This stores the position in the paint invalidation container's coordinate .
1277 // It is used to detect renderer shifts that forces a full invalidation. 1277 // It is used to detect renderer shifts that forces a full invalidation.
1278 LayoutPoint m_previousPositionFromPaintInvalidationContainer; 1278 LayoutPoint m_previousPositionFromPaintInvalidationContainer;
1279 }; 1279 };
1280 1280
1281 // FIXME: remove this once the render object lifecycle ASSERTS are no longer hit . 1281 // FIXME: remove this once the render object lifecycle ASSERTS are no longer hit .
1282 class DeprecatedDisableModifyRenderTreeStructureAsserts { 1282 class DeprecatedDisableModifyRenderTreeStructureAsserts {
1283 WTF_MAKE_NONCOPYABLE(DeprecatedDisableModifyRenderTreeStructureAsserts); 1283 WTF_MAKE_NONCOPYABLE(DeprecatedDisableModifyRenderTreeStructureAsserts);
1284 public: 1284 public:
1285 DeprecatedDisableModifyRenderTreeStructureAsserts(); 1285 DeprecatedDisableModifyRenderTreeStructureAsserts();
1286 1286
(...skipping 29 matching lines...) Expand all
1316 if (isText() && !isBR()) 1316 if (isText() && !isBR())
1317 return false; 1317 return false;
1318 return true; 1318 return true;
1319 } 1319 }
1320 1320
1321 inline bool RenderObject::isBeforeOrAfterContent() const 1321 inline bool RenderObject::isBeforeOrAfterContent() const
1322 { 1322 {
1323 return isBeforeContent() || isAfterContent(); 1323 return isBeforeContent() || isAfterContent();
1324 } 1324 }
1325 1325
1326 // If repaintAfterLayout is enabled, setNeedsLayout() won't cause full repaint a s 1326 // If repaintAfterLayout is enabled, setNeedsLayout() won't cause full paint inv alidations as
1327 // setNeedsLayoutAndFullRepaint() does. Otherwise the two methods are identical. 1327 // setNeedsLayoutAndFullPaintInvalidation() does. Otherwise the two methods are identical.
1328 inline void RenderObject::setNeedsLayout(MarkingBehavior markParents, SubtreeLay outScope* layouter) 1328 inline void RenderObject::setNeedsLayout(MarkingBehavior markParents, SubtreeLay outScope* layouter)
1329 { 1329 {
1330 ASSERT(!isSetNeedsLayoutForbidden()); 1330 ASSERT(!isSetNeedsLayoutForbidden());
1331 bool alreadyNeededLayout = m_bitfields.selfNeedsLayout(); 1331 bool alreadyNeededLayout = m_bitfields.selfNeedsLayout();
1332 setSelfNeedsLayout(true); 1332 setSelfNeedsLayout(true);
1333 if (!alreadyNeededLayout) { 1333 if (!alreadyNeededLayout) {
1334 if (markParents == MarkContainingBlockChain && (!layouter || layouter->r oot() != this)) 1334 if (markParents == MarkContainingBlockChain && (!layouter || layouter->r oot() != this))
1335 markContainingBlocksForLayout(true, 0, layouter); 1335 markContainingBlocksForLayout(true, 0, layouter);
1336 } 1336 }
1337 } 1337 }
1338 1338
1339 inline void RenderObject::setNeedsLayoutAndFullRepaint(MarkingBehavior markParen ts, SubtreeLayoutScope* layouter) 1339 inline void RenderObject::setNeedsLayoutAndFullPaintInvalidation(MarkingBehavior markParents, SubtreeLayoutScope* layouter)
1340 { 1340 {
1341 setNeedsLayout(markParents, layouter); 1341 setNeedsLayout(markParents, layouter);
1342 setShouldDoFullPaintInvalidationAfterLayout(true); 1342 setShouldDoFullPaintInvalidationAfterLayout(true);
1343 } 1343 }
1344 1344
1345 inline void RenderObject::clearNeedsLayout() 1345 inline void RenderObject::clearNeedsLayout()
1346 { 1346 {
1347 if (needsPositionedMovementLayoutOnly()) 1347 if (needsPositionedMovementLayoutOnly())
1348 setOnlyNeededPositionedMovementLayout(true); 1348 setOnlyNeededPositionedMovementLayout(true);
1349 setLayoutDidGetCalled(true); 1349 setLayoutDidGetCalled(true);
(...skipping 20 matching lines...) Expand all
1370 } 1370 }
1371 1371
1372 inline void RenderObject::setNeedsPositionedMovementLayout() 1372 inline void RenderObject::setNeedsPositionedMovementLayout()
1373 { 1373 {
1374 bool alreadyNeededLayout = needsPositionedMovementLayout(); 1374 bool alreadyNeededLayout = needsPositionedMovementLayout();
1375 setNeedsPositionedMovementLayout(true); 1375 setNeedsPositionedMovementLayout(true);
1376 ASSERT(!isSetNeedsLayoutForbidden()); 1376 ASSERT(!isSetNeedsLayoutForbidden());
1377 if (!alreadyNeededLayout) { 1377 if (!alreadyNeededLayout) {
1378 markContainingBlocksForLayout(); 1378 markContainingBlocksForLayout();
1379 if (hasLayer()) 1379 if (hasLayer())
1380 setLayerNeedsFullRepaintForPositionedMovementLayout(); 1380 setLayerNeedsFullPaintInvalidationForPositionedMovementLayout();
1381 } 1381 }
1382 } 1382 }
1383 1383
1384 inline bool RenderObject::preservesNewline() const 1384 inline bool RenderObject::preservesNewline() const
1385 { 1385 {
1386 if (isSVGInlineText()) 1386 if (isSVGInlineText())
1387 return false; 1387 return false;
1388 1388
1389 return style()->preserveNewline(); 1389 return style()->preserveNewline();
1390 } 1390 }
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
1483 void showTree(const WebCore::RenderObject*); 1483 void showTree(const WebCore::RenderObject*);
1484 void showLineTree(const WebCore::RenderObject*); 1484 void showLineTree(const WebCore::RenderObject*);
1485 void showRenderTree(const WebCore::RenderObject* object1); 1485 void showRenderTree(const WebCore::RenderObject* object1);
1486 // We don't make object2 an optional parameter so that showRenderTree 1486 // We don't make object2 an optional parameter so that showRenderTree
1487 // can be called from gdb easily. 1487 // can be called from gdb easily.
1488 void showRenderTree(const WebCore::RenderObject* object1, const WebCore::RenderO bject* object2); 1488 void showRenderTree(const WebCore::RenderObject* object1, const WebCore::RenderO bject* object2);
1489 1489
1490 #endif 1490 #endif
1491 1491
1492 #endif // RenderObject_h 1492 #endif // RenderObject_h
OLDNEW
« no previous file with comments | « Source/core/rendering/RenderMenuList.cpp ('k') | Source/core/rendering/RenderObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698