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

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

Issue 129173004: Update rendering classes to use OVERRIDE / FINAL when needed (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase Created 6 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
« no previous file with comments | « Source/core/rendering/RenderBlockFlow.h ('k') | Source/core/rendering/RenderBoxModelObject.h » ('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) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * Copyright (C) 2003, 2006, 2007 Apple Inc. All rights reserved. 4 * Copyright (C) 2003, 2006, 2007 Apple Inc. All rights reserved.
5 * 5 *
6 * This library is free software; you can redistribute it and/or 6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public 7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either 8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version. 9 * version 2 of the License, or (at your option) any later version.
10 * 10 *
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 218
219 void updateLayerTransform(); 219 void updateLayerTransform();
220 220
221 LayoutUnit contentWidth() const { return clientWidth() - paddingLeft() - pad dingRight(); } 221 LayoutUnit contentWidth() const { return clientWidth() - paddingLeft() - pad dingRight(); }
222 LayoutUnit contentHeight() const { return clientHeight() - paddingTop() - pa ddingBottom(); } 222 LayoutUnit contentHeight() const { return clientHeight() - paddingTop() - pa ddingBottom(); }
223 LayoutUnit contentLogicalWidth() const { return style()->isHorizontalWriting Mode() ? contentWidth() : contentHeight(); } 223 LayoutUnit contentLogicalWidth() const { return style()->isHorizontalWriting Mode() ? contentWidth() : contentHeight(); }
224 LayoutUnit contentLogicalHeight() const { return style()->isHorizontalWritin gMode() ? contentHeight() : contentWidth(); } 224 LayoutUnit contentLogicalHeight() const { return style()->isHorizontalWritin gMode() ? contentHeight() : contentWidth(); }
225 225
226 // IE extensions. Used to calculate offsetWidth/Height. Overridden by inlin es (RenderFlow) 226 // IE extensions. Used to calculate offsetWidth/Height. Overridden by inlin es (RenderFlow)
227 // to return the remaining width on a given line (and the height of a single line). 227 // to return the remaining width on a given line (and the height of a single line).
228 virtual LayoutUnit offsetWidth() const { return width(); } 228 virtual LayoutUnit offsetWidth() const OVERRIDE { return width(); }
229 virtual LayoutUnit offsetHeight() const { return height(); } 229 virtual LayoutUnit offsetHeight() const OVERRIDE { return height(); }
230 230
231 virtual int pixelSnappedOffsetWidth() const OVERRIDE FINAL; 231 virtual int pixelSnappedOffsetWidth() const OVERRIDE FINAL;
232 virtual int pixelSnappedOffsetHeight() const OVERRIDE FINAL; 232 virtual int pixelSnappedOffsetHeight() const OVERRIDE FINAL;
233 233
234 bool canDetermineWidthWithoutLayout() const; 234 bool canDetermineWidthWithoutLayout() const;
235 LayoutUnit fixedOffsetWidth() const; 235 LayoutUnit fixedOffsetWidth() const;
236 236
237 // More IE extensions. clientWidth and clientHeight represent the interior of an object 237 // More IE extensions. clientWidth and clientHeight represent the interior of an object
238 // excluding border and scrollbar. clientLeft/Top are just the borderLeftWi dth and borderTopWidth. 238 // excluding border and scrollbar. clientLeft/Top are just the borderLeftWi dth and borderTopWidth.
239 LayoutUnit clientLeft() const { return borderLeft(); } 239 LayoutUnit clientLeft() const { return borderLeft(); }
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
305 // All objects know their maximal positive and negative margins. The 305 // All objects know their maximal positive and negative margins. The
306 // formula for computing a collapsed margin is |maxPosMargin| - |maxNegmargi n|. 306 // formula for computing a collapsed margin is |maxPosMargin| - |maxNegmargi n|.
307 // For a non-collapsing box, such as a leaf element, this formula will simpl y return 307 // For a non-collapsing box, such as a leaf element, this formula will simpl y return
308 // the margin of the element. Blocks override the maxMarginBefore and maxMa rginAfter 308 // the margin of the element. Blocks override the maxMarginBefore and maxMa rginAfter
309 // methods. 309 // methods.
310 enum MarginSign { PositiveMargin, NegativeMargin }; 310 enum MarginSign { PositiveMargin, NegativeMargin };
311 virtual bool isSelfCollapsingBlock() const { return false; } 311 virtual bool isSelfCollapsingBlock() const { return false; }
312 virtual LayoutUnit collapsedMarginBefore() const { return marginBefore(); } 312 virtual LayoutUnit collapsedMarginBefore() const { return marginBefore(); }
313 virtual LayoutUnit collapsedMarginAfter() const { return marginAfter(); } 313 virtual LayoutUnit collapsedMarginAfter() const { return marginAfter(); }
314 314
315 virtual void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedO ffset) const; 315 virtual void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedO ffset) const OVERRIDE;
316 virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const; 316 virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const OVERRID E;
317 317
318 LayoutRect reflectionBox() const; 318 LayoutRect reflectionBox() const;
319 int reflectionOffset() const; 319 int reflectionOffset() const;
320 // Given a rect in the object's coordinate space, returns the corresponding rect in the reflection. 320 // Given a rect in the object's coordinate space, returns the corresponding rect in the reflection.
321 LayoutRect reflectedRect(const LayoutRect&) const; 321 LayoutRect reflectedRect(const LayoutRect&) const;
322 322
323 virtual void layout(); 323 virtual void layout() OVERRIDE;
324 virtual void paint(PaintInfo&, const LayoutPoint&); 324 virtual void paint(PaintInfo&, const LayoutPoint&) OVERRIDE;
325 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTes tLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAct ion) OVERRIDE; 325 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTes tLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAct ion) OVERRIDE;
326 326
327 virtual LayoutUnit minPreferredLogicalWidth() const; 327 virtual LayoutUnit minPreferredLogicalWidth() const OVERRIDE;
328 virtual LayoutUnit maxPreferredLogicalWidth() const; 328 virtual LayoutUnit maxPreferredLogicalWidth() const OVERRIDE;
329 329
330 // FIXME: We should rename these back to overrideLogicalHeight/Width and hav e them store 330 // FIXME: We should rename these back to overrideLogicalHeight/Width and hav e them store
331 // the border-box height/width like the regular height/width accessors on Re nderBox. 331 // the border-box height/width like the regular height/width accessors on Re nderBox.
332 // Right now, these are different than contentHeight/contentWidth because th ey still 332 // Right now, these are different than contentHeight/contentWidth because th ey still
333 // include the scrollbar height/width. 333 // include the scrollbar height/width.
334 LayoutUnit overrideLogicalContentWidth() const; 334 LayoutUnit overrideLogicalContentWidth() const;
335 LayoutUnit overrideLogicalContentHeight() const; 335 LayoutUnit overrideLogicalContentHeight() const;
336 bool hasOverrideHeight() const; 336 bool hasOverrideHeight() const;
337 bool hasOverrideWidth() const; 337 bool hasOverrideWidth() const;
338 void setOverrideLogicalContentHeight(LayoutUnit); 338 void setOverrideLogicalContentHeight(LayoutUnit);
339 void setOverrideLogicalContentWidth(LayoutUnit); 339 void setOverrideLogicalContentWidth(LayoutUnit);
340 void clearOverrideSize(); 340 void clearOverrideSize();
341 void clearOverrideLogicalContentHeight(); 341 void clearOverrideLogicalContentHeight();
342 void clearOverrideLogicalContentWidth(); 342 void clearOverrideLogicalContentWidth();
343 343
344 LayoutUnit overrideContainingBlockContentLogicalWidth() const; 344 LayoutUnit overrideContainingBlockContentLogicalWidth() const;
345 LayoutUnit overrideContainingBlockContentLogicalHeight() const; 345 LayoutUnit overrideContainingBlockContentLogicalHeight() const;
346 bool hasOverrideContainingBlockLogicalWidth() const; 346 bool hasOverrideContainingBlockLogicalWidth() const;
347 bool hasOverrideContainingBlockLogicalHeight() const; 347 bool hasOverrideContainingBlockLogicalHeight() const;
348 void setOverrideContainingBlockContentLogicalWidth(LayoutUnit); 348 void setOverrideContainingBlockContentLogicalWidth(LayoutUnit);
349 void setOverrideContainingBlockContentLogicalHeight(LayoutUnit); 349 void setOverrideContainingBlockContentLogicalHeight(LayoutUnit);
350 void clearContainingBlockOverrideSize(); 350 void clearContainingBlockOverrideSize();
351 void clearOverrideContainingBlockContentLogicalHeight(); 351 void clearOverrideContainingBlockContentLogicalHeight();
352 352
353 virtual LayoutSize offsetFromContainer(RenderObject*, const LayoutPoint&, bo ol* offsetDependsOnPoint = 0) const; 353 virtual LayoutSize offsetFromContainer(RenderObject*, const LayoutPoint&, bo ol* offsetDependsOnPoint = 0) const OVERRIDE;
354 354
355 LayoutUnit adjustBorderBoxLogicalWidthForBoxSizing(LayoutUnit width) const; 355 LayoutUnit adjustBorderBoxLogicalWidthForBoxSizing(LayoutUnit width) const;
356 LayoutUnit adjustBorderBoxLogicalHeightForBoxSizing(LayoutUnit height) const ; 356 LayoutUnit adjustBorderBoxLogicalHeightForBoxSizing(LayoutUnit height) const ;
357 LayoutUnit adjustContentBoxLogicalWidthForBoxSizing(LayoutUnit width) const; 357 LayoutUnit adjustContentBoxLogicalWidthForBoxSizing(LayoutUnit width) const;
358 LayoutUnit adjustContentBoxLogicalHeightForBoxSizing(LayoutUnit height) cons t; 358 LayoutUnit adjustContentBoxLogicalHeightForBoxSizing(LayoutUnit height) cons t;
359 359
360 struct ComputedMarginValues { 360 struct ComputedMarginValues {
361 ComputedMarginValues() { } 361 ComputedMarginValues() { }
362 362
363 LayoutUnit m_before; 363 LayoutUnit m_before;
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
481 virtual bool scrollsOverflowY() const { return hasOverflowClip() && (style() ->overflowY() == OSCROLL || hasAutoVerticalScrollbar()); } 481 virtual bool scrollsOverflowY() const { return hasOverflowClip() && (style() ->overflowY() == OSCROLL || hasAutoVerticalScrollbar()); }
482 bool usesCompositedScrolling() const; 482 bool usesCompositedScrolling() const;
483 483
484 // Elements such as the <input> field override this to specify that they are scrollable 484 // Elements such as the <input> field override this to specify that they are scrollable
485 // outside the context of the CSS overflow style 485 // outside the context of the CSS overflow style
486 virtual bool isIntristicallyScrollable(ScrollbarOrientation orientation) con st { return false; } 486 virtual bool isIntristicallyScrollable(ScrollbarOrientation orientation) con st { return false; }
487 487
488 bool hasUnsplittableScrollingOverflow() const; 488 bool hasUnsplittableScrollingOverflow() const;
489 bool isUnsplittableForPagination() const; 489 bool isUnsplittableForPagination() const;
490 490
491 virtual LayoutRect localCaretRect(InlineBox*, int caretOffset, LayoutUnit* e xtraWidthToEndOfLine = 0); 491 virtual LayoutRect localCaretRect(InlineBox*, int caretOffset, LayoutUnit* e xtraWidthToEndOfLine = 0) OVERRIDE;
492 492
493 virtual LayoutRect overflowClipRect(const LayoutPoint& location, RenderRegio n*, OverlayScrollbarSizeRelevancy = IgnoreOverlayScrollbarSize); 493 virtual LayoutRect overflowClipRect(const LayoutPoint& location, RenderRegio n*, OverlayScrollbarSizeRelevancy = IgnoreOverlayScrollbarSize);
494 LayoutRect clipRect(const LayoutPoint& location, RenderRegion*); 494 LayoutRect clipRect(const LayoutPoint& location, RenderRegion*);
495 virtual bool hasControlClip() const { return false; } 495 virtual bool hasControlClip() const { return false; }
496 virtual LayoutRect controlClipRect(const LayoutPoint&) const { return Layout Rect(); } 496 virtual LayoutRect controlClipRect(const LayoutPoint&) const { return Layout Rect(); }
497 bool pushContentsClip(PaintInfo&, const LayoutPoint& accumulatedOffset, Cont entsClipBehavior); 497 bool pushContentsClip(PaintInfo&, const LayoutPoint& accumulatedOffset, Cont entsClipBehavior);
498 void popContentsClip(PaintInfo&, PaintPhase originalPhase, const LayoutPoint & accumulatedOffset); 498 void popContentsClip(PaintInfo&, PaintPhase originalPhase, const LayoutPoint & accumulatedOffset);
499 499
500 virtual void paintObject(PaintInfo&, const LayoutPoint&) { ASSERT_NOT_REACHE D(); } 500 virtual void paintObject(PaintInfo&, const LayoutPoint&) { ASSERT_NOT_REACHE D(); }
501 virtual void paintBoxDecorations(PaintInfo&, const LayoutPoint&); 501 virtual void paintBoxDecorations(PaintInfo&, const LayoutPoint&);
502 virtual void paintMask(PaintInfo&, const LayoutPoint&); 502 virtual void paintMask(PaintInfo&, const LayoutPoint&);
503 virtual void paintClippingMask(PaintInfo&, const LayoutPoint&); 503 virtual void paintClippingMask(PaintInfo&, const LayoutPoint&);
504 virtual void imageChanged(WrappedImagePtr, const IntRect* = 0); 504 virtual void imageChanged(WrappedImagePtr, const IntRect* = 0) OVERRIDE;
505 505
506 // Called when a positioned object moves but doesn't necessarily change size . A simplified layout is attempted 506 // Called when a positioned object moves but doesn't necessarily change size . A simplified layout is attempted
507 // that just updates the object's position. If the size does change, the obj ect remains dirty. 507 // that just updates the object's position. If the size does change, the obj ect remains dirty.
508 bool tryLayoutDoingPositionedMovementOnly() 508 bool tryLayoutDoingPositionedMovementOnly()
509 { 509 {
510 LayoutUnit oldWidth = width(); 510 LayoutUnit oldWidth = width();
511 updateLogicalWidth(); 511 updateLogicalWidth();
512 // If we shrink to fit our width may have changed, so we still need full layout. 512 // If we shrink to fit our width may have changed, so we still need full layout.
513 if (oldWidth != width()) 513 if (oldWidth != width())
514 return false; 514 return false;
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
606 return ShapeOutsideInfo::isEnabledFor(this) ? ShapeOutsideInfo::info(thi s) : 0; 606 return ShapeOutsideInfo::isEnabledFor(this) ? ShapeOutsideInfo::info(thi s) : 0;
607 } 607 }
608 608
609 void markShapeOutsideDependentsForLayout() 609 void markShapeOutsideDependentsForLayout()
610 { 610 {
611 if (isFloating()) 611 if (isFloating())
612 removeFloatingOrPositionedChildFromBlockLists(); 612 removeFloatingOrPositionedChildFromBlockLists();
613 } 613 }
614 614
615 protected: 615 protected:
616 virtual void willBeDestroyed(); 616 virtual void willBeDestroyed() OVERRIDE;
617 617
618 virtual void styleWillChange(StyleDifference, const RenderStyle* newStyle); 618 virtual void styleWillChange(StyleDifference, const RenderStyle* newStyle) O VERRIDE;
619 virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle); 619 virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) OV ERRIDE;
620 virtual void updateFromStyle() OVERRIDE; 620 virtual void updateFromStyle() OVERRIDE;
621 621
622 LayoutRect backgroundPaintedExtent() const; 622 LayoutRect backgroundPaintedExtent() const;
623 virtual bool foregroundIsKnownToBeOpaqueInRect(const LayoutRect& localRect, unsigned maxDepthToTest) const; 623 virtual bool foregroundIsKnownToBeOpaqueInRect(const LayoutRect& localRect, unsigned maxDepthToTest) const;
624 virtual bool computeBackgroundIsKnownToBeObscured() OVERRIDE; 624 virtual bool computeBackgroundIsKnownToBeObscured() OVERRIDE;
625 625
626 virtual void paintBackgroundWithBorderAndBoxShadow(PaintInfo&, const LayoutR ect&, BackgroundBleedAvoidance); 626 void paintBackgroundWithBorderAndBoxShadow(PaintInfo&, const LayoutRect&, Ba ckgroundBleedAvoidance);
627 void paintBackground(const PaintInfo&, const LayoutRect&, BackgroundBleedAvo idance = BackgroundBleedNone); 627 void paintBackground(const PaintInfo&, const LayoutRect&, BackgroundBleedAvo idance = BackgroundBleedNone);
628 628
629 void paintFillLayer(const PaintInfo&, const Color&, const FillLayer*, const LayoutRect&, BackgroundBleedAvoidance, CompositeOperator, RenderObject* backgrou ndObject); 629 void paintFillLayer(const PaintInfo&, const Color&, const FillLayer*, const LayoutRect&, BackgroundBleedAvoidance, CompositeOperator, RenderObject* backgrou ndObject);
630 void paintFillLayers(const PaintInfo&, const Color&, const FillLayer*, const LayoutRect&, BackgroundBleedAvoidance = BackgroundBleedNone, CompositeOperator = CompositeSourceOver, RenderObject* backgroundObject = 0); 630 void paintFillLayers(const PaintInfo&, const Color&, const FillLayer*, const LayoutRect&, BackgroundBleedAvoidance = BackgroundBleedNone, CompositeOperator = CompositeSourceOver, RenderObject* backgroundObject = 0);
631 631
632 void paintMaskImages(const PaintInfo&, const LayoutRect&); 632 void paintMaskImages(const PaintInfo&, const LayoutRect&);
633 void paintBoxDecorationsWithRect(PaintInfo&, const LayoutPoint&, const Layou tRect&); 633 void paintBoxDecorationsWithRect(PaintInfo&, const LayoutPoint&, const Layou tRect&);
634 634
635 BackgroundBleedAvoidance determineBackgroundBleedAvoidance(GraphicsContext*) const; 635 BackgroundBleedAvoidance determineBackgroundBleedAvoidance(GraphicsContext*) const;
636 bool backgroundHasOpaqueTopLayer() const; 636 bool backgroundHasOpaqueTopLayer() const;
637 637
638 void computePositionedLogicalWidth(LogicalExtentComputedValues&, RenderRegio n* = 0) const; 638 void computePositionedLogicalWidth(LogicalExtentComputedValues&, RenderRegio n* = 0) const;
639 639
640 LayoutUnit computeIntrinsicLogicalWidthUsing(Length logicalWidthLength, Layo utUnit availableLogicalWidth, LayoutUnit borderAndPadding) const; 640 LayoutUnit computeIntrinsicLogicalWidthUsing(Length logicalWidthLength, Layo utUnit availableLogicalWidth, LayoutUnit borderAndPadding) const;
641 LayoutUnit computeIntrinsicLogicalContentHeightUsing(Length logicalHeightLen gth, LayoutUnit intrinsicContentHeight, LayoutUnit borderAndPadding) const; 641 LayoutUnit computeIntrinsicLogicalContentHeightUsing(Length logicalHeightLen gth, LayoutUnit intrinsicContentHeight, LayoutUnit borderAndPadding) const;
642 642
643 virtual bool shouldComputeSizeAsReplaced() const { return isReplaced() && !i sInlineBlockOrInlineTable(); } 643 virtual bool shouldComputeSizeAsReplaced() const { return isReplaced() && !i sInlineBlockOrInlineTable(); }
644 644
645 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContai ner, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = 0) const OVERRIDE; 645 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContai ner, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = 0) const OVERRIDE;
646 virtual void mapAbsoluteToLocalPoint(MapCoordinatesFlags, TransformState&) c onst; 646 virtual void mapAbsoluteToLocalPoint(MapCoordinatesFlags, TransformState&) c onst OVERRIDE;
647 647
648 void paintRootBoxFillLayers(const PaintInfo&); 648 void paintRootBoxFillLayers(const PaintInfo&);
649 649
650 RenderObject* splitAnonymousBoxesAroundChild(RenderObject* beforeChild); 650 RenderObject* splitAnonymousBoxesAroundChild(RenderObject* beforeChild);
651 651
652 virtual void addLayerHitTestRects(LayerHitTestRects&, const RenderLayer* cur rentCompositedLayer, const LayoutPoint& layerOffset, const LayoutRect& container Rect) const OVERRIDE; 652 virtual void addLayerHitTestRects(LayerHitTestRects&, const RenderLayer* cur rentCompositedLayer, const LayoutPoint& layerOffset, const LayoutRect& container Rect) const OVERRIDE;
653 virtual void computeSelfHitTestRects(Vector<LayoutRect>&, const LayoutPoint& layerOffset) const OVERRIDE; 653 virtual void computeSelfHitTestRects(Vector<LayoutRect>&, const LayoutPoint& layerOffset) const OVERRIDE;
654 654
655 private: 655 private:
656 void updateShapeOutsideInfoAfterStyleChange(const RenderStyle&, const Render Style* oldStyle); 656 void updateShapeOutsideInfoAfterStyleChange(const RenderStyle&, const Render Style* oldStyle);
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
757 if (UNLIKELY(m_inlineBoxWrapper != 0)) 757 if (UNLIKELY(m_inlineBoxWrapper != 0))
758 deleteLineBoxWrapper(); 758 deleteLineBoxWrapper();
759 } 759 }
760 760
761 m_inlineBoxWrapper = boxWrapper; 761 m_inlineBoxWrapper = boxWrapper;
762 } 762 }
763 763
764 } // namespace WebCore 764 } // namespace WebCore
765 765
766 #endif // RenderBox_h 766 #endif // RenderBox_h
OLDNEW
« no previous file with comments | « Source/core/rendering/RenderBlockFlow.h ('k') | Source/core/rendering/RenderBoxModelObject.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698