Apply FINAL to the RenderObject hierarchy.
authorakling@apple.com <akling@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 12 May 2013 13:38:33 +0000 (13:38 +0000)
committerakling@apple.com <akling@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 12 May 2013 13:38:33 +0000 (13:38 +0000)
<http://webkit.org/b/115977>

Mostly from Blink r148795 by <cevans@chromium.org>
<http://src.chromium.org/viewvc/blink?view=revision&revision=148795>

* rendering/: Beat things with the FINAL stick.
* WebCore.exp.in: Export a now-needed symbol.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149955 268f45cc-cd09-0410-ab3c-d52691b4dbfc

102 files changed:
Source/WebCore/ChangeLog
Source/WebCore/WebCore.exp.in
Source/WebCore/rendering/InlineFlowBox.h
Source/WebCore/rendering/InlineTextBox.h
Source/WebCore/rendering/RenderApplet.h
Source/WebCore/rendering/RenderBR.h
Source/WebCore/rendering/RenderBlock.h
Source/WebCore/rendering/RenderBox.h
Source/WebCore/rendering/RenderBoxModelObject.h
Source/WebCore/rendering/RenderButton.h
Source/WebCore/rendering/RenderCombineText.h
Source/WebCore/rendering/RenderCounter.h
Source/WebCore/rendering/RenderDeprecatedFlexibleBox.h
Source/WebCore/rendering/RenderDetailsMarker.h
Source/WebCore/rendering/RenderEmbeddedObject.h
Source/WebCore/rendering/RenderFieldset.h
Source/WebCore/rendering/RenderFileUploadControl.h
Source/WebCore/rendering/RenderFlexibleBox.h
Source/WebCore/rendering/RenderFlowThread.h
Source/WebCore/rendering/RenderFrame.h
Source/WebCore/rendering/RenderFrameSet.h
Source/WebCore/rendering/RenderFullScreen.cpp
Source/WebCore/rendering/RenderFullScreen.h
Source/WebCore/rendering/RenderGrid.h
Source/WebCore/rendering/RenderHTMLCanvas.h
Source/WebCore/rendering/RenderIFrame.h
Source/WebCore/rendering/RenderImage.h
Source/WebCore/rendering/RenderInline.h
Source/WebCore/rendering/RenderLayerModelObject.h
Source/WebCore/rendering/RenderListBox.h
Source/WebCore/rendering/RenderListItem.h
Source/WebCore/rendering/RenderListMarker.h
Source/WebCore/rendering/RenderMedia.h
Source/WebCore/rendering/RenderMediaControlElements.h
Source/WebCore/rendering/RenderMenuList.h
Source/WebCore/rendering/RenderMeter.h
Source/WebCore/rendering/RenderMultiColumnBlock.h
Source/WebCore/rendering/RenderMultiColumnFlowThread.h
Source/WebCore/rendering/RenderMultiColumnSet.h
Source/WebCore/rendering/RenderNamedFlowThread.h
Source/WebCore/rendering/RenderPart.h
Source/WebCore/rendering/RenderProgress.h
Source/WebCore/rendering/RenderRegion.h
Source/WebCore/rendering/RenderRegionSet.h
Source/WebCore/rendering/RenderReplaced.h
Source/WebCore/rendering/RenderReplica.h
Source/WebCore/rendering/RenderRuby.h
Source/WebCore/rendering/RenderRubyBase.h
Source/WebCore/rendering/RenderRubyRun.h
Source/WebCore/rendering/RenderRubyText.h
Source/WebCore/rendering/RenderScrollbarPart.h
Source/WebCore/rendering/RenderSearchField.h
Source/WebCore/rendering/RenderSlider.h
Source/WebCore/rendering/RenderSnapshottedPlugIn.h
Source/WebCore/rendering/RenderTable.h
Source/WebCore/rendering/RenderTableCaption.h
Source/WebCore/rendering/RenderTableCell.h
Source/WebCore/rendering/RenderTableCol.h
Source/WebCore/rendering/RenderTableRow.h
Source/WebCore/rendering/RenderTableSection.h
Source/WebCore/rendering/RenderText.h
Source/WebCore/rendering/RenderTextControl.h
Source/WebCore/rendering/RenderTextControlMultiLine.h
Source/WebCore/rendering/RenderTextControlSingleLine.h
Source/WebCore/rendering/RenderTextFragment.h
Source/WebCore/rendering/RenderTextTrackCue.h
Source/WebCore/rendering/RenderVideo.h
Source/WebCore/rendering/RenderView.h
Source/WebCore/rendering/RenderWidget.h
Source/WebCore/rendering/RenderWordBreak.h
Source/WebCore/rendering/RootInlineBox.h
Source/WebCore/rendering/mathml/RenderMathMLBlock.h
Source/WebCore/rendering/svg/RenderSVGBlock.h
Source/WebCore/rendering/svg/RenderSVGContainer.h
Source/WebCore/rendering/svg/RenderSVGEllipse.h
Source/WebCore/rendering/svg/RenderSVGForeignObject.h
Source/WebCore/rendering/svg/RenderSVGGradientStop.h
Source/WebCore/rendering/svg/RenderSVGHiddenContainer.h
Source/WebCore/rendering/svg/RenderSVGImage.h
Source/WebCore/rendering/svg/RenderSVGInline.h
Source/WebCore/rendering/svg/RenderSVGInlineText.h
Source/WebCore/rendering/svg/RenderSVGModelObject.h
Source/WebCore/rendering/svg/RenderSVGPath.h
Source/WebCore/rendering/svg/RenderSVGRect.h
Source/WebCore/rendering/svg/RenderSVGResourceClipper.h
Source/WebCore/rendering/svg/RenderSVGResourceContainer.h
Source/WebCore/rendering/svg/RenderSVGResourceFilter.h
Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.h
Source/WebCore/rendering/svg/RenderSVGResourceGradient.h
Source/WebCore/rendering/svg/RenderSVGResourceLinearGradient.h
Source/WebCore/rendering/svg/RenderSVGResourceMarker.h
Source/WebCore/rendering/svg/RenderSVGResourceMasker.h
Source/WebCore/rendering/svg/RenderSVGResourcePattern.h
Source/WebCore/rendering/svg/RenderSVGResourceRadialGradient.h
Source/WebCore/rendering/svg/RenderSVGRoot.h
Source/WebCore/rendering/svg/RenderSVGShape.h
Source/WebCore/rendering/svg/RenderSVGTSpan.h
Source/WebCore/rendering/svg/RenderSVGText.h
Source/WebCore/rendering/svg/RenderSVGTextPath.h
Source/WebCore/rendering/svg/RenderSVGTransformableContainer.h
Source/WebCore/rendering/svg/RenderSVGViewportContainer.h
Tools/Scripts/webkitpy/port/mac.py

index 2b9c6f8..dec7b82 100644 (file)
@@ -1,3 +1,14 @@
+2013-05-12  Andreas Kling  <akling@apple.com>
+
+        Apply FINAL to the RenderObject hierarchy.
+        <http://webkit.org/b/115977>
+
+        Mostly from Blink r148795 by <cevans@chromium.org>
+        <http://src.chromium.org/viewvc/blink?view=revision&revision=148795>
+
+        * rendering/: Beat things with the FINAL stick.
+        * WebCore.exp.in: Export a now-needed symbol.
+
 2013-05-12  Carlos Garcia Campos  <cgarcia@igalia.com>
 
         [GTK] Remove unnecessary GTK_CHECK_VERSION #ifdefs
index 80b6517..40451f0 100644 (file)
@@ -79,6 +79,7 @@ __ZN7WebCore10MouseEvent6createERKN3WTF12AtomicStringEbbNS1_10PassRefPtrINS_9DOM
 __ZN7WebCore10MouseEventC1ERKN3WTF12AtomicStringEbbNS1_10PassRefPtrINS_9DOMWindowEEEiiiiibbbbtNS5_INS_11EventTargetEEENS5_INS_9ClipboardEEEb
 __ZN7WebCore10Pasteboard14writePlainTextERKN3WTF6StringENS0_18SmartReplaceOptionE
 __ZN7WebCore10Pasteboard17generalPasteboardEv
+__ZN7WebCore10RenderPart9setWidgetEN3WTF10PassRefPtrINS_6WidgetEEE
 __ZN7WebCore10RenderView10compositorEv
 __ZN7WebCore10RenderView7hitTestERKNS_14HitTestRequestERNS_13HitTestResultE
 __ZN7WebCore10ScrollView17setUseFixedLayoutEb
index c0c7cc7..1e996a9 100644 (file)
@@ -80,7 +80,7 @@ public:
     InlineBox* firstChild() const { checkConsistency(); return m_firstChild; }
     InlineBox* lastChild() const { checkConsistency(); return m_lastChild; }
 
-    virtual bool isLeaf() const FINAL { return false; }
+    virtual bool isLeaf() const OVERRIDE FINAL { return false; }
     
     InlineBox* firstLeafChild() const;
     InlineBox* lastLeafChild() const;
@@ -88,7 +88,7 @@ public:
     typedef void (*CustomInlineBoxRangeReverse)(void* userData, Vector<InlineBox*>::iterator first, Vector<InlineBox*>::iterator last);
     void collectLeafBoxesInLogicalOrder(Vector<InlineBox*>&, CustomInlineBoxRangeReverse customReverseImplementation = 0, void* userData = 0) const;
 
-    virtual void setConstructed() FINAL
+    virtual void setConstructed() OVERRIDE FINAL
     {
         InlineBox::setConstructed();
         for (InlineBox* child = firstChild(); child; child = child->nextOnLine())
@@ -96,9 +96,9 @@ public:
     }
 
     void addToLine(InlineBox* child);
-    virtual void deleteLine(RenderArena*) FINAL;
-    virtual void extractLine() FINAL;
-    virtual void attachLine() FINAL;
+    virtual void deleteLine(RenderArena*) OVERRIDE FINAL;
+    virtual void extractLine() OVERRIDE FINAL;
+    virtual void attachLine() OVERRIDE FINAL;
     virtual void adjustPosition(float dx, float dy);
 
     virtual void extractLineBoxFromRenderObject();
@@ -109,8 +109,8 @@ public:
 
     IntRect roundedFrameRect() const;
     
-    virtual void paintBoxDecorations(PaintInfo&, const LayoutPoint&) FINAL;
-    virtual void paintMask(PaintInfo&, const LayoutPoint&) FINAL;
+    void paintBoxDecorations(PaintInfo&, const LayoutPoint&);
+    void paintMask(PaintInfo&, const LayoutPoint&);
     void paintFillLayers(const PaintInfo&, const Color&, const FillLayer*, const LayoutRect&, CompositeOperator = CompositeSourceOver);
     void paintFillLayer(const PaintInfo&, const Color&, const FillLayer*, const LayoutRect&, CompositeOperator = CompositeSourceOver);
     void paintBoxShadow(const PaintInfo&, RenderStyle*, ShadowStyle, const LayoutRect&);
@@ -299,7 +299,7 @@ private:
 protected:
     OwnPtr<RenderOverflow> m_overflow;
 
-    virtual bool isInlineFlowBox() const FINAL { return true; }
+    virtual bool isInlineFlowBox() const OVERRIDE FINAL { return true; }
 
     InlineBox* m_firstChild;
     InlineBox* m_lastChild;
index 3f1d639..0b8d6b5 100644 (file)
@@ -57,7 +57,7 @@ public:
     {
     }
 
-    virtual void destroy(RenderArena*) FINAL;
+    virtual void destroy(RenderArena*) OVERRIDE FINAL;
 
     InlineTextBox* prevTextBox() const { return m_prevTextBox; }
     InlineTextBox* nextTextBox() const { return m_nextTextBox; }
@@ -85,8 +85,8 @@ public:
 
     static inline bool compareByStart(const InlineTextBox* first, const InlineTextBox* second) { return first->start() < second->start(); }
 
-    virtual int baselinePosition(FontBaseline) const FINAL;
-    virtual LayoutUnit lineHeight() const FINAL;
+    virtual int baselinePosition(FontBaseline) const OVERRIDE FINAL;
+    virtual LayoutUnit lineHeight() const OVERRIDE FINAL;
 
     bool getEmphasisMarkPosition(RenderStyle*, TextEmphasisPosition&) const;
 
@@ -125,19 +125,19 @@ public:
     RenderText* textRenderer() const;
 
 private:
-    virtual void deleteLine(RenderArena*) FINAL;
-    virtual void extractLine() FINAL;
-    virtual void attachLine() FINAL;
+    virtual void deleteLine(RenderArena*) OVERRIDE FINAL;
+    virtual void extractLine() OVERRIDE FINAL;
+    virtual void attachLine() OVERRIDE FINAL;
 
 public:
-    virtual RenderObject::SelectionState selectionState() FINAL;
+    virtual RenderObject::SelectionState selectionState() OVERRIDE FINAL;
 
 private:
-    virtual void clearTruncation() FINAL { m_truncation = cNoTruncation; }
+    virtual void clearTruncation() OVERRIDE FINAL { m_truncation = cNoTruncation; }
     virtual float placeEllipsisBox(bool flowIsLTR, float visibleLeftEdge, float visibleRightEdge, float ellipsisWidth, float &truncatedWidth, bool& foundBox) OVERRIDE FINAL;
 
 public:
-    virtual bool isLineBreak() const FINAL;
+    virtual bool isLineBreak() const OVERRIDE FINAL;
 
     void setExpansion(int newExpansion)
     {
@@ -147,11 +147,11 @@ public:
     }
 
 private:
-    virtual bool isInlineTextBox() const FINAL { return true; }
+    virtual bool isInlineTextBox() const OVERRIDE FINAL { return true; }
 
 public:
-    virtual int caretMinOffset() const FINAL;
-    virtual int caretMaxOffset() const FINAL;
+    virtual int caretMinOffset() const OVERRIDE FINAL;
+    virtual int caretMaxOffset() const OVERRIDE FINAL;
 
 private:
     float textPos() const; // returns the x position relative to the left start of the text line.
index 881e21c..d9e288b 100644 (file)
@@ -28,7 +28,7 @@ namespace WebCore {
 
 class HTMLAppletElement;
 
-class RenderApplet : public RenderEmbeddedObject {
+class RenderApplet FINAL : public RenderEmbeddedObject {
 public:
     explicit RenderApplet(HTMLAppletElement*);
     virtual ~RenderApplet();
index 91486f2..dc4d832 100644 (file)
@@ -31,7 +31,7 @@ namespace WebCore {
 
 class Position;
 
-class RenderBR : public RenderText {
+class RenderBR FINAL : public RenderText {
 public:
     explicit RenderBR(Node*);
     virtual ~RenderBR();
index 93f9516..3e97600 100644 (file)
@@ -104,7 +104,7 @@ public:
     bool beingDestroyed() const { return m_beingDestroyed; }
 
     // These two functions are overridden for inline-block.
-    virtual LayoutUnit lineHeight(bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
+    virtual LayoutUnit lineHeight(bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const OVERRIDE FINAL;
     virtual int baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
 
     RenderLineBoxList* lineBoxes() { return &m_lineBoxes; }
@@ -160,7 +160,7 @@ public:
     void markAllDescendantsWithFloatsForLayout(RenderBox* floatToRemove = 0, bool inLayout = true);
     void markSiblingsWithFloatsForLayout(RenderBox* floatToRemove = 0);
     void markPositionedObjectsForLayout();
-    virtual void markForPaginationRelayoutIfNeeded();
+    virtual void markForPaginationRelayoutIfNeeded() OVERRIDE FINAL;
     
     bool containsFloats() const { return m_floatingObjects && !m_floatingObjects->set().isEmpty(); }
     bool containsFloat(RenderBox*) const;
@@ -232,7 +232,7 @@ public:
     virtual VisiblePosition positionForPoint(const LayoutPoint&);
     
     // Block flows subclass availableWidth to handle multi column layout (shrinking the width available to children when laying out.)
-    virtual LayoutUnit availableLogicalWidth() const;
+    virtual LayoutUnit availableLogicalWidth() const OVERRIDE FINAL;
 
     LayoutPoint flipForWritingModeIncludingColumns(const LayoutPoint&) const;
     void adjustStartEdgeForWritingModeIncludingColumns(LayoutRect&) const;
@@ -259,13 +259,13 @@ public:
     void clearTruncation();
 
     void adjustRectForColumns(LayoutRect&) const;
-    virtual void adjustForColumns(LayoutSize&, const LayoutPoint&) const;
+    virtual void adjustForColumns(LayoutSize&, const LayoutPoint&) const OVERRIDE FINAL;
     void adjustForColumnRect(LayoutSize& offset, const LayoutPoint& locationInContainer) const;
 
     void addContinuationWithOutline(RenderInline*);
     bool paintsContinuationOutline(RenderInline*);
 
-    virtual RenderBoxModelObject* virtualContinuation() const { return continuation(); }
+    virtual RenderBoxModelObject* virtualContinuation() const OVERRIDE FINAL { return continuation(); }
     bool isAnonymousBlockContinuation() const { return continuation() && isAnonymousBlock(); }
     RenderInline* inlineElementContinuation() const;
     RenderBlock* blockElementContinuation() const;
@@ -590,34 +590,34 @@ private:
     void computeExclusionShapeSize();
     void updateExclusionShapeInsideInfoAfterStyleChange(const ExclusionShapeValue*, const ExclusionShapeValue* oldExclusionShape);
 #endif
-    virtual RenderObjectChildList* virtualChildren() { return children(); }
-    virtual const RenderObjectChildList* virtualChildren() const { return children(); }
+    virtual RenderObjectChildList* virtualChildren() OVERRIDE FINAL { return children(); }
+    virtual const RenderObjectChildList* virtualChildren() const OVERRIDE FINAL { return children(); }
 
     virtual const char* renderName() const;
 
-    virtual bool isRenderBlock() const { return true; }
-    virtual bool isBlockFlow() const { return (!isInline() || isReplaced()) && !isTable(); }
-    virtual bool isInlineBlockOrInlineTable() const { return isInline() && isReplaced(); }
+    virtual bool isRenderBlock() const OVERRIDE FINAL { return true; }
+    virtual bool isBlockFlow() const OVERRIDE FINAL { return (!isInline() || isReplaced()) && !isTable(); }
+    virtual bool isInlineBlockOrInlineTable() const OVERRIDE FINAL { return isInline() && isReplaced(); }
 
     void makeChildrenNonInline(RenderObject* insertionPoint = 0);
     virtual void removeLeftoverAnonymousBlock(RenderBlock* child);
 
     static void collapseAnonymousBoxChild(RenderBlock* parent, RenderObject* child);
 
-    virtual void dirtyLinesFromChangedChild(RenderObject* child) { m_lineBoxes.dirtyLinesFromChangedChild(this, child); }
+    virtual void dirtyLinesFromChangedChild(RenderObject* child) OVERRIDE FINAL { m_lineBoxes.dirtyLinesFromChangedChild(this, child); }
 
     void addChildToContinuation(RenderObject* newChild, RenderObject* beforeChild);
     void addChildIgnoringContinuation(RenderObject* newChild, RenderObject* beforeChild);
     void addChildToAnonymousColumnBlocks(RenderObject* newChild, RenderObject* beforeChild);
 
-    virtual void addChildIgnoringAnonymousColumnBlocks(RenderObject* newChild, RenderObject* beforeChild = 0);
+    void addChildIgnoringAnonymousColumnBlocks(RenderObject* newChild, RenderObject* beforeChild = 0);
     
-    virtual bool isSelfCollapsingBlock() const;
+    virtual bool isSelfCollapsingBlock() const OVERRIDE FINAL;
 
-    virtual LayoutUnit collapsedMarginBefore() const { return maxPositiveMarginBefore() - maxNegativeMarginBefore(); }
-    virtual LayoutUnit collapsedMarginAfter() const { return maxPositiveMarginAfter() - maxNegativeMarginAfter(); }
+    virtual LayoutUnit collapsedMarginBefore() const OVERRIDE FINAL { return maxPositiveMarginBefore() - maxNegativeMarginBefore(); }
+    virtual LayoutUnit collapsedMarginAfter() const OVERRIDE FINAL { return maxPositiveMarginAfter() - maxNegativeMarginAfter(); }
 
-    virtual void repaintOverhangingFloats(bool paintAllDescendants) OVERRIDE;
+    virtual void repaintOverhangingFloats(bool paintAllDescendants) OVERRIDE FINAL;
 
     void layoutBlockChildren(bool relayoutChildren, LayoutUnit& maxFloatLogicalBottom);
     void layoutInlineChildren(bool relayoutChildren, LayoutUnit& repaintLogicalTop, LayoutUnit& repaintLogicalBottom);
@@ -898,7 +898,7 @@ private:
     LayoutUnit lowestFloatLogicalBottom(FloatingObject::Type = FloatingObject::FloatLeftRight) const; 
     LayoutUnit nextFloatLogicalBottomBelow(LayoutUnit) const;
     
-    virtual bool hitTestColumns(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction);
+    bool hitTestColumns(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction);
     virtual bool hitTestContents(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction);
     bool hitTestFloats(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset);
 
@@ -910,20 +910,20 @@ private:
 
     // Obtains the nearest enclosing block (including this block) that contributes a first-line style to our inline
     // children.
-    virtual RenderBlock* firstLineBlock() const;
+    virtual RenderBlock* firstLineBlock() const OVERRIDE;
 
-    virtual LayoutRect rectWithOutlineForRepaint(const RenderLayerModelObject* repaintContainer, LayoutUnit outlineWidth) const OVERRIDE;
-    virtual RenderStyle* outlineStyleForRepaint() const;
+    virtual LayoutRect rectWithOutlineForRepaint(const RenderLayerModelObject* repaintContainer, LayoutUnit outlineWidth) const OVERRIDE FINAL;
+    virtual RenderStyle* outlineStyleForRepaint() const OVERRIDE FINAL;
     
-    virtual RenderObject* hoverAncestor() const;
-    virtual void updateDragState(bool dragOn);
-    virtual void childBecameNonInline(RenderObject* child);
+    virtual RenderObject* hoverAncestor() const OVERRIDE FINAL;
+    virtual void updateDragState(bool dragOn) OVERRIDE FINAL;
+    virtual void childBecameNonInline(RenderObject* child) OVERRIDE FINAL;
 
-    virtual LayoutRect selectionRectForRepaint(const RenderLayerModelObject* repaintContainer, bool /*clipToVisibleContent*/) OVERRIDE
+    virtual LayoutRect selectionRectForRepaint(const RenderLayerModelObject* repaintContainer, bool /*clipToVisibleContent*/) OVERRIDE FINAL
     {
         return selectionGapRectsForRepaint(repaintContainer);
     }
-    virtual bool shouldPaintSelectionGaps() const;
+    virtual bool shouldPaintSelectionGaps() const OVERRIDE FINAL;
     bool isSelectionRoot() const;
     GapRects selectionGaps(RenderBlock* rootBlock, const LayoutPoint& rootBlockPhysicalPosition, const LayoutSize& offsetFromRootBlock,
         LayoutUnit& lastLogicalTop, LayoutUnit& lastLogicalLeft, LayoutUnit& lastLogicalRight, const LogicalSelectionOffsetCaches&, const PaintInfo* = 0);
@@ -946,7 +946,7 @@ private:
 
     void paintContinuationOutlines(PaintInfo&, const LayoutPoint&);
 
-    virtual LayoutRect localCaretRect(InlineBox*, int caretOffset, LayoutUnit* extraWidthToEndOfLine = 0);
+    virtual LayoutRect localCaretRect(InlineBox*, int caretOffset, LayoutUnit* extraWidthToEndOfLine = 0) OVERRIDE FINAL;
 
     void adjustPointToColumnContents(LayoutPoint&) const;
     
index a707164..23953cd 100644 (file)
@@ -51,7 +51,7 @@ public:
     // position:static elements that are not flex-items get their z-index coerced to auto.
     virtual bool requiresLayer() const OVERRIDE { return isRoot() || isPositioned() || createsGroup() || hasClipPath() || hasOverflowClip() || hasTransform() || hasHiddenBackface() || hasReflection() || style()->specifiesColumns() || !style()->hasAutoZIndex() || isFloatingWithShapeOutside(); }
 
-    virtual bool backgroundIsKnownToBeOpaqueInRect(const LayoutRect& localRect) const OVERRIDE;
+    virtual bool backgroundIsKnownToBeOpaqueInRect(const LayoutRect& localRect) const OVERRIDE FINAL;
 
     // Use this with caution! No type checking is done!
     RenderBox* firstChildBox() const;
@@ -149,7 +149,7 @@ public:
     LayoutRect borderBoxRect() const { return LayoutRect(LayoutPoint(), size()); }
     LayoutRect paddingBoxRect() const { return LayoutRect(borderLeft(), borderTop(), contentWidth() + paddingLeft() + paddingRight(), contentHeight() + paddingTop() + paddingBottom()); }
     IntRect pixelSnappedBorderBoxRect() const { return IntRect(IntPoint(), m_frameRect.pixelSnappedSize()); }
-    virtual IntRect borderBoundingBox() const { return pixelSnappedBorderBoxRect(); } 
+    virtual IntRect borderBoundingBox() const OVERRIDE FINAL { return pixelSnappedBorderBoxRect(); }
 
     // The content area of the box (excludes padding - and intrinsic padding for table cells, etc... - and border).
     LayoutRect contentBoxRect() const { return LayoutRect(borderLeft() + paddingLeft(), borderTop() + paddingTop(), contentWidth(), contentHeight()); }
@@ -163,7 +163,7 @@ public:
     LayoutRect computedCSSContentBoxRect() const { return LayoutRect(borderLeft() + computedCSSPaddingLeft(), borderTop() + computedCSSPaddingTop(), clientWidth() - computedCSSPaddingLeft() - computedCSSPaddingRight(), clientHeight() - computedCSSPaddingTop() - computedCSSPaddingBottom()); }
 
     // Bounds of the outline box in absolute coords. Respects transforms
-    virtual LayoutRect outlineBoundsForRepaint(const RenderLayerModelObject* /*repaintContainer*/, const RenderGeometryMap*) const OVERRIDE;
+    virtual LayoutRect outlineBoundsForRepaint(const RenderLayerModelObject* /*repaintContainer*/, const RenderGeometryMap*) const OVERRIDE FINAL;
     virtual void addFocusRingRects(Vector<IntRect>&, const LayoutPoint& additionalOffset, const RenderLayerModelObject* paintContainer = 0) OVERRIDE;
 
     // Use this with caution! No type checking is done!
@@ -205,8 +205,8 @@ public:
     virtual LayoutUnit offsetWidth() const { return width(); }
     virtual LayoutUnit offsetHeight() const { return height(); }
 
-    virtual int pixelSnappedOffsetWidth() const OVERRIDE;
-    virtual int pixelSnappedOffsetHeight() const OVERRIDE;
+    virtual int pixelSnappedOffsetWidth() const OVERRIDE FINAL;
+    virtual int pixelSnappedOffsetHeight() const OVERRIDE FINAL;
 
     // More IE extensions.  clientWidth and clientHeight represent the interior of an object
     // excluding border and scrollbar.  clientLeft/Top are just the borderLeftWidth and borderTopWidth.
@@ -243,17 +243,17 @@ public:
     void setMarginLeft(LayoutUnit margin) { m_marginBox.setLeft(margin); }
     void setMarginRight(LayoutUnit margin) { m_marginBox.setRight(margin); }
 
-    virtual LayoutUnit marginLogicalLeft() const { return m_marginBox.logicalLeft(style()->writingMode()); }
-    virtual LayoutUnit marginLogicalRight() const { return m_marginBox.logicalRight(style()->writingMode()); }
+    LayoutUnit marginLogicalLeft() const { return m_marginBox.logicalLeft(style()->writingMode()); }
+    LayoutUnit marginLogicalRight() const { return m_marginBox.logicalRight(style()->writingMode()); }
     
-    virtual LayoutUnit marginBefore(const RenderStyle* overrideStyle = 0) const OVERRIDE { return m_marginBox.before((overrideStyle ? overrideStyle : style())->writingMode()); }
-    virtual LayoutUnit marginAfter(const RenderStyle* overrideStyle = 0) const OVERRIDE { return m_marginBox.after((overrideStyle ? overrideStyle : style())->writingMode()); }
-    virtual LayoutUnit marginStart(const RenderStyle* overrideStyle = 0) const OVERRIDE
+    virtual LayoutUnit marginBefore(const RenderStyle* overrideStyle = 0) const OVERRIDE FINAL { return m_marginBox.before((overrideStyle ? overrideStyle : style())->writingMode()); }
+    virtual LayoutUnit marginAfter(const RenderStyle* overrideStyle = 0) const OVERRIDE FINAL { return m_marginBox.after((overrideStyle ? overrideStyle : style())->writingMode()); }
+    virtual LayoutUnit marginStart(const RenderStyle* overrideStyle = 0) const OVERRIDE FINAL
     {
         const RenderStyle* styleToUse = overrideStyle ? overrideStyle : style();
         return m_marginBox.start(styleToUse->writingMode(), styleToUse->direction());
     }
-    virtual LayoutUnit marginEnd(const RenderStyle* overrideStyle = 0) const OVERRIDE
+    virtual LayoutUnit marginEnd(const RenderStyle* overrideStyle = 0) const OVERRIDE FINAL
     {
         const RenderStyle* styleToUse = overrideStyle ? overrideStyle : style();
         return m_marginBox.end(styleToUse->writingMode(), styleToUse->direction());
@@ -542,7 +542,7 @@ public:
 
     virtual bool hasRelativeDimensions() const;
     virtual bool hasRelativeLogicalHeight() const;
-    virtual bool hasViewportPercentageLogicalHeight() const;
+    bool hasViewportPercentageLogicalHeight() const;
 
     bool hasHorizontalLayoutOverflow() const
     {
@@ -664,7 +664,7 @@ private:
     // These include tables, positioned objects, floats and flexible boxes.
     virtual void computePreferredLogicalWidths() { setPreferredLogicalWidthsDirty(false); }
 
-    virtual LayoutRect frameRectForStickyPositioning() const OVERRIDE { return frameRect(); }
+    virtual LayoutRect frameRectForStickyPositioning() const OVERRIDE FINAL { return frameRect(); }
 
 private:
     // The width/height of the contents + borders + padding.  The x/y location is relative to our container (which is not always our parent).
index e60eb2b..18a84a3 100644 (file)
@@ -292,7 +292,7 @@ public:
 
 private:
     LayoutUnit computedCSSPadding(Length) const;
-    virtual bool isBoxModelObject() const { return true; }
+    virtual bool isBoxModelObject() const OVERRIDE FINAL { return true; }
     
     virtual LayoutRect frameRectForStickyPositioning() const = 0;
 
index 9bdc487..4f20cf5 100644 (file)
@@ -32,7 +32,7 @@ class RenderTextFragment;
 // RenderButtons are just like normal flexboxes except that they will generate an anonymous block child.
 // For inputs, they will also generate an anonymous RenderText and keep its style and content up
 // to date as the button changes.
-class RenderButton : public RenderFlexibleBox {
+class RenderButton FINAL : public RenderFlexibleBox {
 public:
     explicit RenderButton(Element*);
     virtual ~RenderButton();
index 6ee9ff2..ab77550 100644 (file)
@@ -26,7 +26,7 @@
 
 namespace WebCore {
 
-class RenderCombineText : public RenderText {
+class RenderCombineText FINAL : public RenderText {
 public:
     RenderCombineText(Node*, PassRefPtr<StringImpl>);
 
index ed2fdf5..8ae40a4 100644 (file)
@@ -29,7 +29,7 @@ namespace WebCore {
 
 class CounterNode;
 
-class RenderCounter : public RenderText {
+class RenderCounter FINAL : public RenderText {
 public:
     RenderCounter(Document*, const CounterContent&);
     virtual ~RenderCounter();
index 5f223cd..906b019 100644 (file)
@@ -29,7 +29,7 @@ namespace WebCore {
 
 class FlexBoxIterator;
 
-class RenderDeprecatedFlexibleBox : public RenderBlock {
+class RenderDeprecatedFlexibleBox FINAL : public RenderBlock {
 public:
     RenderDeprecatedFlexibleBox(Element*);
     virtual ~RenderDeprecatedFlexibleBox();
index cd91b01..d61f936 100644 (file)
@@ -26,7 +26,7 @@
 
 namespace WebCore {
 
-class RenderDetailsMarker : public RenderBlock {
+class RenderDetailsMarker FINAL : public RenderBlock {
 public:
     RenderDetailsMarker(Element*);
 
index 30b2be4..5fb08f9 100644 (file)
@@ -54,14 +54,14 @@ public:
     void handleUnavailablePluginIndicatorEvent(Event*);
 
 #if USE(ACCELERATED_COMPOSITING)
-    virtual bool allowsAcceleratedCompositing() const;
+    bool allowsAcceleratedCompositing() const;
 #endif
 
 protected:
-    virtual void paintReplaced(PaintInfo&, const LayoutPoint&);
-    virtual void paint(PaintInfo&, const LayoutPoint&);
+    virtual void paintReplaced(PaintInfo&, const LayoutPoint&) OVERRIDE FINAL;
+    virtual void paint(PaintInfo&, const LayoutPoint&) OVERRIDE;
 
-    virtual CursorDirective getCursor(const LayoutPoint&, Cursor&) const;
+    virtual CursorDirective getCursor(const LayoutPoint&, Cursor&) const OVERRIDE;
 
     const RenderObjectChildList* children() const { return &m_children; }
     RenderObjectChildList* children() { return &m_children; }
@@ -71,30 +71,30 @@ protected:
 
 private:
     virtual const char* renderName() const { return "RenderEmbeddedObject"; }
-    virtual bool isEmbeddedObject() const { return true; }
+    virtual bool isEmbeddedObject() const OVERRIDE FINAL { return true; }
 
     void paintSnapshotImage(PaintInfo&, const LayoutPoint&, Image*);
-    virtual void paintContents(PaintInfo&, const LayoutPoint&) OVERRIDE;
+    virtual void paintContents(PaintInfo&, const LayoutPoint&) OVERRIDE FINAL;
 
 #if USE(ACCELERATED_COMPOSITING)
-    virtual bool requiresLayer() const;
+    virtual bool requiresLayer() const OVERRIDE FINAL;
 #endif
 
-    virtual void viewCleared();
+    virtual void viewCleared() OVERRIDE FINAL;
 
-    virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
+    virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE FINAL;
 
-    virtual bool scroll(ScrollDirection, ScrollGranularity, float multiplier, Node** stopNode);
-    virtual bool logicalScroll(ScrollLogicalDirection, ScrollGranularity, float multiplier, Node** stopNode);
+    virtual bool scroll(ScrollDirection, ScrollGranularity, float multiplier, Node** stopNode) OVERRIDE FINAL;
+    virtual bool logicalScroll(ScrollLogicalDirection, ScrollGranularity, float multiplier, Node** stopNode) OVERRIDE FINAL;
 
     void setUnavailablePluginIndicatorIsPressed(bool);
     bool isInUnavailablePluginIndicator(MouseEvent*) const;
     bool isInUnavailablePluginIndicator(const LayoutPoint&) const;
     bool getReplacementTextGeometry(const LayoutPoint& accumulatedOffset, FloatRect& contentRect, Path&, FloatRect& replacementTextRect, Font&, TextRun&, float& textWidth) const;
 
-    virtual bool canHaveChildren() const;
-    virtual RenderObjectChildList* virtualChildren() { return children(); }
-    virtual const RenderObjectChildList* virtualChildren() const { return children(); }
+    virtual bool canHaveChildren() const OVERRIDE FINAL;
+    virtual RenderObjectChildList* virtualChildren() OVERRIDE FINAL { return children(); }
+    virtual const RenderObjectChildList* virtualChildren() const OVERRIDE FINAL { return children(); }
     
     virtual bool canHaveWidget() const { return true; }
 
index 3481c87..54519a8 100644 (file)
@@ -28,7 +28,7 @@
 
 namespace WebCore {
 
-class RenderFieldset : public RenderBlock {
+class RenderFieldset FINAL : public RenderBlock {
 public:
     explicit RenderFieldset(Element*);
 
index 34d1604..b19bfe5 100644 (file)
@@ -31,7 +31,7 @@ class HTMLInputElement;
 // sufficient space to draw a file icon and filename. The RenderButton has a shadow node
 // associated with it to receive click/hover events.
 
-class RenderFileUploadControl : public RenderBlock {
+class RenderFileUploadControl FINAL : public RenderBlock {
 public:
     RenderFileUploadControl(HTMLInputElement*);
     virtual ~RenderFileUploadControl();
index cc14b18..546b5f9 100644 (file)
@@ -44,16 +44,16 @@ public:
 
     virtual const char* renderName() const OVERRIDE;
 
-    virtual bool isFlexibleBox() const OVERRIDE { return true; }
-    virtual bool avoidsFloats() const OVERRIDE { return true; }
-    virtual bool canCollapseAnonymousBlockChild() const OVERRIDE { return false; }
-    virtual void layoutBlock(bool relayoutChildren, LayoutUnit pageLogicalHeight = 0) OVERRIDE;
+    virtual bool isFlexibleBox() const OVERRIDE FINAL { return true; }
+    virtual bool avoidsFloats() const OVERRIDE FINAL { return true; }
+    virtual bool canCollapseAnonymousBlockChild() const OVERRIDE FINAL { return false; }
+    virtual void layoutBlock(bool relayoutChildren, LayoutUnit pageLogicalHeight = 0) OVERRIDE FINAL;
 
     virtual int baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const OVERRIDE;
     virtual int firstLineBoxBaseline() const OVERRIDE;
     virtual int inlineBlockBaseline(LineDirectionMode) const OVERRIDE;
 
-    virtual void paintChildren(PaintInfo& forSelf, const LayoutPoint&, PaintInfo& forChild, bool usePrintRect) OVERRIDE;
+    virtual void paintChildren(PaintInfo& forSelf, const LayoutPoint&, PaintInfo& forChild, bool usePrintRect) OVERRIDE FINAL;
 
     bool isHorizontalFlow() const;
 
index f437df4..853bb34 100644 (file)
@@ -58,13 +58,13 @@ public:
     RenderFlowThread();
     virtual ~RenderFlowThread() { };
     
-    virtual bool isRenderFlowThread() const { return true; }
+    virtual bool isRenderFlowThread() const OVERRIDE FINAL { return true; }
 
-    virtual void layout();
+    virtual void layout() OVERRIDE FINAL;
 
     // Always create a RenderLayer for the RenderFlowThread so that we 
     // can easily avoid drawing the children directly.
-    virtual bool requiresLayer() const { return true; }
+    virtual bool requiresLayer() const OVERRIDE FINAL { return true; }
     
     void removeFlowChildInfo(RenderObject*);
 #ifndef NDEBUG
@@ -75,7 +75,7 @@ public:
     virtual void removeRegionFromThread(RenderRegion*);
     const RenderRegionList& renderRegionList() const { return m_regionList; }
 
-    virtual void updateLogicalWidth() OVERRIDE;
+    virtual void updateLogicalWidth() OVERRIDE FINAL;
     virtual void computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logicalTop, LogicalExtentComputedValues&) const OVERRIDE;
 
     void paintFlowThreadPortionInRegion(PaintInfo&, RenderRegion*, LayoutRect flowThreadPortionRect, LayoutRect flowThreadPortionOverflowRect, const LayoutPoint&) const;
index 9eadb93..22496df 100644 (file)
@@ -30,7 +30,7 @@ namespace WebCore {
 
 class HTMLFrameElement;
 
-class RenderFrame : public RenderFrameBase {
+class RenderFrame FINAL : public RenderFrameBase {
 public:
     explicit RenderFrame(HTMLFrameElement*);
 
index 0cfce52..617bbb4 100644 (file)
@@ -53,7 +53,7 @@ private:
     Vector<bool> m_allowBorder;
 };
 
-class RenderFrameSet : public RenderBox {
+class RenderFrameSet FINAL : public RenderBox {
 public:
     RenderFrameSet(HTMLFrameSetElement*);
     virtual ~RenderFrameSet();
index af11971..85751e2 100644 (file)
@@ -36,7 +36,7 @@
 
 using namespace WebCore;
 
-class RenderFullScreenPlaceholder : public RenderBlock {
+class RenderFullScreenPlaceholder FINAL : public RenderBlock {
 public:
     RenderFullScreenPlaceholder(RenderFullScreen* owner) 
         : RenderBlock(0)
index 976ebce..8bf61c9 100644 (file)
@@ -32,7 +32,7 @@
 
 namespace WebCore {
 
-class RenderFullScreen : public RenderFlexibleBox {
+class RenderFullScreen FINAL : public RenderFlexibleBox {
 public:
     static RenderFullScreen* createAnonymous(Document*);
 
index eb2b2aa..0d14c80 100644 (file)
@@ -32,7 +32,7 @@ namespace WebCore {
 
 class GridTrack;
 
-class RenderGrid : public RenderBlock {
+class RenderGrid FINAL : public RenderBlock {
 public:
     RenderGrid(Element*);
     virtual ~RenderGrid();
index f4e07cc..9b8e4d7 100644 (file)
@@ -32,7 +32,7 @@ namespace WebCore {
 
 class HTMLCanvasElement;
 
-class RenderHTMLCanvas : public RenderReplaced {
+class RenderHTMLCanvas FINAL : public RenderReplaced {
 public:
     explicit RenderHTMLCanvas(HTMLCanvasElement*);
 
index aac0656..fc3021b 100644 (file)
@@ -32,7 +32,7 @@ namespace WebCore {
 
 class RenderView;
 
-class RenderIFrame : public RenderFrameBase {
+class RenderIFrame FINAL : public RenderFrameBase {
 public:
     explicit RenderIFrame(Element*);
 
index afd8e90..b77e42d 100644 (file)
@@ -62,17 +62,17 @@ public:
     String altText() const { return m_altText; }
 
 protected:
-    virtual bool needsPreferredWidthsRecalculation() const;
-    virtual RenderBox* embeddedContentBox() const;
-    virtual void computeIntrinsicRatioInformation(FloatSize& intrinsicSize, double& intrinsicRatio, bool& isPercentageIntrinsicSize) const;
+    virtual bool needsPreferredWidthsRecalculation() const OVERRIDE FINAL;
+    virtual RenderBox* embeddedContentBox() const OVERRIDE FINAL;
+    virtual void computeIntrinsicRatioInformation(FloatSize& intrinsicSize, double& intrinsicRatio, bool& isPercentageIntrinsicSize) const OVERRIDE FINAL;
     virtual bool foregroundIsKnownToBeOpaqueInRect(const LayoutRect& localRect, unsigned maxDepthToTest) const OVERRIDE;
 
-    virtual void styleDidChange(StyleDifference, const RenderStyle*);
+    virtual void styleDidChange(StyleDifference, const RenderStyle*) OVERRIDE FINAL;
 
     virtual void imageChanged(WrappedImagePtr, const IntRect* = 0);
 
-    virtual void paintIntoRect(GraphicsContext*, const LayoutRect&);
-    virtual void paint(PaintInfo&, const LayoutPoint&);
+    void paintIntoRect(GraphicsContext*, const LayoutRect&);
+    virtual void paint(PaintInfo&, const LayoutPoint&) OVERRIDE FINAL;
     virtual void layout();
 
     virtual void intrinsicSizeChanged()
@@ -85,18 +85,18 @@ private:
     virtual const char* renderName() const { return "RenderImage"; }
 
     virtual bool isImage() const { return true; }
-    virtual bool isRenderImage() const { return true; }
+    virtual bool isRenderImage() const OVERRIDE FINAL { return true; }
 
     virtual void paintReplaced(PaintInfo&, const LayoutPoint&);
 
-    virtual bool computeBackgroundIsKnownToBeObscured() OVERRIDE;
+    virtual bool computeBackgroundIsKnownToBeObscured() OVERRIDE FINAL;
 
     virtual LayoutUnit minimumReplacedHeight() const OVERRIDE;
 
-    virtual void notifyFinished(CachedResource*);
-    virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
+    virtual void notifyFinished(CachedResource*) OVERRIDE FINAL;
+    virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE FINAL;
 
-    virtual bool boxShadowShouldBeAppliedToBackground(BackgroundBleedAvoidance, InlineFlowBox*) const OVERRIDE;
+    virtual bool boxShadowShouldBeAppliedToBackground(BackgroundBleedAvoidance, InlineFlowBox*) const OVERRIDE FINAL;
 
     IntSize imageSizeForError(CachedImage*) const;
     void imageDimensionsChanged(bool imageSizeChanged, const IntRect* = 0);
index 6407de4..540e9a9 100644 (file)
@@ -44,19 +44,19 @@ public:
 
     Element* node() const { return toElement(RenderBoxModelObject::node()); }
 
-    virtual LayoutUnit marginLeft() const;
-    virtual LayoutUnit marginRight() const;
-    virtual LayoutUnit marginTop() const;
-    virtual LayoutUnit marginBottom() const;
-    virtual LayoutUnit marginBefore(const RenderStyle* otherStyle = 0) const;
-    virtual LayoutUnit marginAfter(const RenderStyle* otherStyle = 0) const;
-    virtual LayoutUnit marginStart(const RenderStyle* otherStyle = 0) const;
-    virtual LayoutUnit marginEnd(const RenderStyle* otherStyle = 0) const;
-
-    virtual void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedOffset) const;
+    virtual LayoutUnit marginLeft() const OVERRIDE FINAL;
+    virtual LayoutUnit marginRight() const OVERRIDE FINAL;
+    virtual LayoutUnit marginTop() const OVERRIDE FINAL;
+    virtual LayoutUnit marginBottom() const OVERRIDE FINAL;
+    virtual LayoutUnit marginBefore(const RenderStyle* otherStyle = 0) const OVERRIDE FINAL;
+    virtual LayoutUnit marginAfter(const RenderStyle* otherStyle = 0) const OVERRIDE FINAL;
+    virtual LayoutUnit marginStart(const RenderStyle* otherStyle = 0) const OVERRIDE FINAL;
+    virtual LayoutUnit marginEnd(const RenderStyle* otherStyle = 0) const OVERRIDE FINAL;
+
+    virtual void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedOffset) const OVERRIDE FINAL;
     virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const;
 
-    virtual LayoutSize offsetFromContainer(RenderObject*, const LayoutPoint&, bool* offsetDependsOnPoint = 0) const;
+    virtual LayoutSize offsetFromContainer(RenderObject*, const LayoutPoint&, bool* offsetDependsOnPoint = 0) const OVERRIDE FINAL;
 
     IntRect linesBoundingBox() const;
     LayoutRect linesVisualOverflowBoundingBox() const;
@@ -74,14 +74,14 @@ public:
     InlineBox* firstLineBoxIncludingCulling() const { return alwaysCreateLineBoxes() ? firstLineBox() : culledInlineFirstLineBox(); }
     InlineBox* lastLineBoxIncludingCulling() const { return alwaysCreateLineBoxes() ? lastLineBox() : culledInlineLastLineBox(); }
 
-    virtual RenderBoxModelObject* virtualContinuation() const { return continuation(); }
+    virtual RenderBoxModelObject* virtualContinuation() const OVERRIDE FINAL { return continuation(); }
     RenderInline* inlineElementContinuation() const;
 
-    virtual void updateDragState(bool dragOn);
+    virtual void updateDragState(bool dragOn) OVERRIDE FINAL;
     
     LayoutSize offsetForInFlowPositionedInline(const RenderBox* child) const;
 
-    virtual void addFocusRingRects(Vector<IntRect>&, const LayoutPoint& additionalOffset, const RenderLayerModelObject* paintContainer = 0) OVERRIDE;
+    virtual void addFocusRingRects(Vector<IntRect>&, const LayoutPoint& additionalOffset, const RenderLayerModelObject* paintContainer = 0) OVERRIDE FINAL;
     void paintOutline(PaintInfo&, const LayoutPoint&);
 
     using RenderBoxModelObject::continuation;
@@ -91,7 +91,7 @@ public:
     void setAlwaysCreateLineBoxes() { m_alwaysCreateLineBoxes = true; }
     void updateAlwaysCreateLineBoxes(bool fullLayout);
 
-    virtual LayoutRect localCaretRect(InlineBox*, int, LayoutUnit* extraWidthToEndOfLine) OVERRIDE;
+    virtual LayoutRect localCaretRect(InlineBox*, int, LayoutUnit* extraWidthToEndOfLine) OVERRIDE FINAL;
 
     bool hitTestCulledInline(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset);
 
@@ -101,14 +101,14 @@ protected:
     virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) OVERRIDE;
 
 private:
-    virtual RenderObjectChildList* virtualChildren() { return children(); }
-    virtual const RenderObjectChildList* virtualChildren() const { return children(); }
+    virtual RenderObjectChildList* virtualChildren() OVERRIDE FINAL { return children(); }
+    virtual const RenderObjectChildList* virtualChildren() const OVERRIDE FINAL { return children(); }
     const RenderObjectChildList* children() const { return &m_children; }
     RenderObjectChildList* children() { return &m_children; }
 
     virtual const char* renderName() const;
 
-    virtual bool isRenderInline() const { return true; }
+    virtual bool isRenderInline() const OVERRIDE FINAL { return true; }
 
     LayoutRect culledInlineVisualOverflowBoundingBox() const;
     InlineBox* culledInlineFirstLineBox() const;
@@ -120,38 +120,38 @@ private:
     void generateCulledLineBoxRects(GeneratorContext& yield, const RenderInline* container) const;
 
     void addChildToContinuation(RenderObject* newChild, RenderObject* beforeChild);
-    virtual void addChildIgnoringContinuation(RenderObject* newChild, RenderObject* beforeChild = 0);
+    virtual void addChildIgnoringContinuation(RenderObject* newChild, RenderObject* beforeChild = 0) OVERRIDE FINAL;
 
     void splitInlines(RenderBlock* fromBlock, RenderBlock* toBlock, RenderBlock* middleBlock,
                       RenderObject* beforeChild, RenderBoxModelObject* oldCont);
     void splitFlow(RenderObject* beforeChild, RenderBlock* newBlockBox,
                    RenderObject* newChild, RenderBoxModelObject* oldCont);
 
-    virtual void layout() { ASSERT_NOT_REACHED(); } // Do nothing for layout()
+    virtual void layout() OVERRIDE FINAL { ASSERT_NOT_REACHED(); } // Do nothing for layout()
 
-    virtual void paint(PaintInfo&, const LayoutPoint&);
+    virtual void paint(PaintInfo&, const LayoutPoint&) OVERRIDE FINAL;
 
-    virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
+    virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE FINAL;
 
-    virtual bool requiresLayer() const { return isInFlowPositioned() || createsGroup() || hasClipPath(); }
+    virtual bool requiresLayer() const OVERRIDE { return isInFlowPositioned() || createsGroup() || hasClipPath(); }
 
-    virtual LayoutUnit offsetLeft() const;
-    virtual LayoutUnit offsetTop() const;
-    virtual LayoutUnit offsetWidth() const { return linesBoundingBox().width(); }
-    virtual LayoutUnit offsetHeight() const { return linesBoundingBox().height(); }
+    virtual LayoutUnit offsetLeft() const OVERRIDE FINAL;
+    virtual LayoutUnit offsetTop() const OVERRIDE FINAL;
+    virtual LayoutUnit offsetWidth() const OVERRIDE FINAL { return linesBoundingBox().width(); }
+    virtual LayoutUnit offsetHeight() const OVERRIDE FINAL { return linesBoundingBox().height(); }
 
     virtual LayoutRect clippedOverflowRectForRepaint(const RenderLayerModelObject* repaintContainer) const OVERRIDE;
-    virtual LayoutRect rectWithOutlineForRepaint(const RenderLayerModelObject* repaintContainer, LayoutUnit outlineWidth) const OVERRIDE;
-    virtual void computeRectForRepaint(const RenderLayerModelObject* repaintContainer, LayoutRect&, bool fixed) const OVERRIDE;
+    virtual LayoutRect rectWithOutlineForRepaint(const RenderLayerModelObject* repaintContainer, LayoutUnit outlineWidth) const OVERRIDE FINAL;
+    virtual void computeRectForRepaint(const RenderLayerModelObject* repaintContainer, LayoutRect&, bool fixed) const OVERRIDE FINAL;
 
     virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = 0) const OVERRIDE;
     virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObject* ancestorToStopAt, RenderGeometryMap&) const OVERRIDE;
 
-    virtual VisiblePosition positionForPoint(const LayoutPoint&);
+    virtual VisiblePosition positionForPoint(const LayoutPoint&) OVERRIDE FINAL;
 
-    virtual LayoutRect frameRectForStickyPositioning() const OVERRIDE { return linesBoundingBox(); }
+    virtual LayoutRect frameRectForStickyPositioning() const OVERRIDE FINAL { return linesBoundingBox(); }
 
-    virtual IntRect borderBoundingBox() const
+    virtual IntRect borderBoundingBox() const OVERRIDE FINAL
     {
         IntRect boundingBox = linesBoundingBox();
         return IntRect(0, 0, boundingBox.width(), boundingBox.height());
@@ -159,22 +159,22 @@ private:
 
     virtual InlineFlowBox* createInlineFlowBox(); // Subclassed by SVG and Ruby
 
-    virtual void dirtyLinesFromChangedChild(RenderObject* child) { m_lineBoxes.dirtyLinesFromChangedChild(this, child); }
+    virtual void dirtyLinesFromChangedChild(RenderObject* child) OVERRIDE FINAL { m_lineBoxes.dirtyLinesFromChangedChild(this, child); }
 
-    virtual LayoutUnit lineHeight(bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
-    virtual int baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
+    virtual LayoutUnit lineHeight(bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const OVERRIDE FINAL;
+    virtual int baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const OVERRIDE FINAL;
     
-    virtual void childBecameNonInline(RenderObject* child);
+    virtual void childBecameNonInline(RenderObject* child) OVERRIDE FINAL;
 
-    virtual void updateHitTestResult(HitTestResult&, const LayoutPoint&);
+    virtual void updateHitTestResult(HitTestResult&, const LayoutPoint&) OVERRIDE FINAL;
 
-    virtual void imageChanged(WrappedImagePtr, const IntRect* = 0);
+    virtual void imageChanged(WrappedImagePtr, const IntRect* = 0) OVERRIDE FINAL;
 
 #if ENABLE(DASHBOARD_SUPPORT) || ENABLE(DRAGGABLE_REGION)
-    virtual void addAnnotatedRegions(Vector<AnnotatedRegionValue>&);
+    virtual void addAnnotatedRegions(Vector<AnnotatedRegionValue>&) OVERRIDE FINAL;
 #endif
     
-    virtual void updateFromStyle() OVERRIDE;
+    virtual void updateFromStyle() OVERRIDE FINAL;
     
     RenderInline* clone() const;
 
index 2a74396..8c198b0 100644 (file)
@@ -59,7 +59,7 @@ protected:
     virtual void willBeDestroyed() OVERRIDE;
 
 private:
-    virtual bool isLayerModelObject() const OVERRIDE { return true; }
+    virtual bool isLayerModelObject() const OVERRIDE FINAL { return true; }
 
     RenderLayer* m_layer;
 
index e8e0059..12e968d 100644 (file)
@@ -38,7 +38,7 @@ namespace WebCore {
 
 class HTMLSelectElement;
 
-class RenderListBox : public RenderBlock, private ScrollableArea {
+class RenderListBox FINAL : public RenderBlock, private ScrollableArea {
 public:
     explicit RenderListBox(Element*);
     virtual ~RenderListBox();
index f319cfd..43f0805 100644 (file)
@@ -30,7 +30,7 @@ namespace WebCore {
 class HTMLOListElement;
 class RenderListMarker;
 
-class RenderListItem : public RenderBlock {
+class RenderListItem FINAL : public RenderBlock {
 public:
     explicit RenderListItem(Element*);
 
index ffac4fb..1255498 100644 (file)
@@ -33,7 +33,7 @@ String listMarkerText(EListStyleType, int value);
 
 // Used to render the list item's marker.
 // The RenderListMarker always has to be a child of a RenderListItem.
-class RenderListMarker : public RenderBox {
+class RenderListMarker FINAL : public RenderBox {
 public:
     static RenderListMarker* createAnonymous(RenderListItem*);
 
index 48b852e..4e63f94 100644 (file)
@@ -52,16 +52,16 @@ protected:
     virtual void layout();
 
 private:
-    virtual RenderObjectChildList* virtualChildren() { return children(); }
-    virtual const RenderObjectChildList* virtualChildren() const { return children(); }
-    virtual bool canHaveChildren() const { return true; }
+    virtual RenderObjectChildList* virtualChildren() OVERRIDE FINAL { return children(); }
+    virtual const RenderObjectChildList* virtualChildren() const OVERRIDE FINAL { return children(); }
+    virtual bool canHaveChildren() const OVERRIDE FINAL { return true; }
 
     virtual const char* renderName() const { return "RenderMedia"; }
-    virtual bool isMedia() const { return true; }
-    virtual bool isImage() const { return false; }
+    virtual bool isMedia() const OVERRIDE FINAL { return true; }
+    virtual bool isImage() const OVERRIDE FINAL { return false; }
     virtual void paintReplaced(PaintInfo&, const LayoutPoint&);
 
-    virtual bool requiresForcedStyleRecalcPropagation() const { return true; }
+    virtual bool requiresForcedStyleRecalcPropagation() const OVERRIDE FINAL { return true; }
 
     RenderObjectChildList m_children;
 };
index a3df364..d156b62 100644 (file)
@@ -36,7 +36,7 @@
 
 namespace WebCore {
 
-class RenderMediaVolumeSliderContainer : public RenderBlock {
+class RenderMediaVolumeSliderContainer FINAL : public RenderBlock {
 public:
     RenderMediaVolumeSliderContainer(Element*);
 
@@ -46,7 +46,7 @@ private:
 
 // ----------------------------
 
-class RenderMediaControlTimelineContainer : public RenderFlexibleBox {
+class RenderMediaControlTimelineContainer FINAL : public RenderFlexibleBox {
 public:
     RenderMediaControlTimelineContainer(Element*);
 
@@ -58,7 +58,7 @@ private:
 
 #if ENABLE(VIDEO_TRACK)
 
-class RenderTextTrackContainerElement : public RenderBlock {
+class RenderTextTrackContainerElement FINAL : public RenderBlock {
 public:
     RenderTextTrackContainerElement(Element*);
 
index 353c2a8..0c04748 100644 (file)
@@ -40,7 +40,7 @@ namespace WebCore {
 class HTMLSelectElement;
 class RenderText;
 
-class RenderMenuList : public RenderFlexibleBox, private PopupMenuClient {
+class RenderMenuList FINAL : public RenderFlexibleBox, private PopupMenuClient {
 
 public:
     RenderMenuList(Element*);
index bc09d3f..8731f92 100644 (file)
@@ -30,7 +30,7 @@ namespace WebCore {
 
 class HTMLMeterElement;
 
-class RenderMeter : public RenderBlock {
+class RenderMeter FINAL : public RenderBlock {
 public:
     explicit RenderMeter(HTMLElement*);
     virtual ~RenderMeter();
index 9dab924..87cbe0d 100644 (file)
@@ -33,7 +33,7 @@ namespace WebCore {
 
 class RenderMultiColumnFlowThread;
 
-class RenderMultiColumnBlock : public RenderBlock {
+class RenderMultiColumnBlock FINAL : public RenderBlock {
 public:
     RenderMultiColumnBlock(Element*);
 
index 3ba40bd..b02c08e 100644 (file)
@@ -31,7 +31,7 @@
 
 namespace WebCore {
 
-class RenderMultiColumnFlowThread : public RenderFlowThread {
+class RenderMultiColumnFlowThread FINAL : public RenderFlowThread {
 public:
     ~RenderMultiColumnFlowThread();
 
index 205b6e5..3c10013 100644 (file)
@@ -41,7 +41,7 @@ namespace WebCore {
 //
 // Column spans result in the creation of new column sets as well, since a spanning region has to be placed in between the column sets that
 // come before and after the span.
-class RenderMultiColumnSet : public RenderRegionSet {
+class RenderMultiColumnSet FINAL : public RenderRegionSet {
 public:
     static RenderMultiColumnSet* createAnonymous(RenderFlowThread*);
 
index 2c8d801..1f4b586 100644 (file)
@@ -43,7 +43,7 @@ typedef ListHashSet<RenderNamedFlowThread*> RenderNamedFlowThreadList;
 typedef HashCountedSet<RenderNamedFlowThread*> RenderNamedFlowThreadCountedSet;
 typedef ListHashSet<Node*> NamedFlowContentNodes;
 
-class RenderNamedFlowThread : public RenderFlowThread {
+class RenderNamedFlowThread FINAL : public RenderFlowThread {
 public:
     virtual ~RenderNamedFlowThread();
 
index 538b0f9..e46faff 100644 (file)
@@ -33,26 +33,26 @@ public:
     explicit RenderPart(Element*);
     virtual ~RenderPart();
 
-    virtual void setWidget(PassRefPtr<Widget>);
+    virtual void setWidget(PassRefPtr<Widget>) OVERRIDE FINAL;
     virtual void viewCleared();
 
 #if USE(ACCELERATED_COMPOSITING)
     bool requiresAcceleratedCompositing() const;
 #endif
 
-    virtual bool needsPreferredWidthsRecalculation() const;
-    virtual RenderBox* embeddedContentBox() const;
+    virtual bool needsPreferredWidthsRecalculation() const OVERRIDE FINAL;
+    virtual RenderBox* embeddedContentBox() const OVERRIDE FINAL;
 
     virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
 
 protected:
 #if USE(ACCELERATED_COMPOSITING)
-    virtual bool requiresLayer() const;
+    virtual bool requiresLayer() const OVERRIDE;
 #endif
 
 private:
-    virtual bool isRenderPart() const { return true; }
-    virtual const char* renderName() const { return "RenderPart"; }
+    virtual bool isRenderPart() const OVERRIDE FINAL { return true; }
+    virtual const char* renderName() const OVERRIDE { return "RenderPart"; }
 };
 
 inline RenderPart* toRenderPart(RenderObject* object)
index 1428d83..7725dbd 100644 (file)
@@ -28,7 +28,7 @@ namespace WebCore {
 
 class HTMLProgressElement;
 
-class RenderProgress : public RenderBlock {
+class RenderProgress FINAL : public RenderBlock {
 public:
     explicit RenderProgress(HTMLElement*);
     virtual ~RenderProgress();
index e2f55ee..b93c115 100644 (file)
@@ -46,7 +46,7 @@ class RenderRegion : public RenderBlock {
 public:
     explicit RenderRegion(Element*, RenderFlowThread*);
 
-    virtual bool isRenderRegion() const { return true; }
+    virtual bool isRenderRegion() const OVERRIDE FINAL { return true; }
 
     virtual bool hitTestContents(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
 
index aa8969d..a0963fb 100644 (file)
@@ -53,13 +53,13 @@ protected:
     virtual bool shouldHaveAutoLogicalHeight() const OVERRIDE { return false; }
 
 private:
-    virtual void installFlowThread() OVERRIDE;
+    virtual void installFlowThread() OVERRIDE FINAL;
 
-    virtual void expandToEncompassFlowThreadContentsIfNeeded() OVERRIDE;
+    virtual void expandToEncompassFlowThreadContentsIfNeeded() OVERRIDE FINAL;
 
     virtual const char* renderName() const = 0;
     
-    virtual bool isRenderRegionSet() const OVERRIDE { return true; }
+    virtual bool isRenderRegionSet() const OVERRIDE FINAL { return true; }
 };
 
 } // namespace WebCore
index ae85e44..456c76b 100644 (file)
@@ -43,10 +43,10 @@ protected:
 
     virtual void layout();
 
-    virtual LayoutSize intrinsicSize() const OVERRIDE { return m_intrinsicSize; }
+    virtual LayoutSize intrinsicSize() const OVERRIDE FINAL { return m_intrinsicSize; }
     virtual void computeIntrinsicRatioInformation(FloatSize& intrinsicSize, double& intrinsicRatio, bool& isPercentageIntrinsicSize) const;
 
-    virtual void computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, LayoutUnit& maxLogicalWidth) const OVERRIDE;
+    virtual void computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, LayoutUnit& maxLogicalWidth) const OVERRIDE FINAL;
 
     virtual LayoutUnit minimumReplacedHeight() const { return LayoutUnit(); }
 
@@ -60,26 +60,26 @@ protected:
     virtual void intrinsicSizeChanged();
     virtual bool hasRelativeIntrinsicLogicalWidth() const { return false; }
 
-    virtual void paint(PaintInfo&, const LayoutPoint&);
+    virtual void paint(PaintInfo&, const LayoutPoint&) OVERRIDE;
     bool shouldPaint(PaintInfo&, const LayoutPoint&);
     LayoutRect localSelectionRect(bool checkWhetherSelected = true) const; // This is in local coordinates, but it's a physical rect (so the top left corner is physical top left).
 
 private:
     virtual RenderBox* embeddedContentBox() const { return 0; }
-    virtual const char* renderName() const { return "RenderReplaced"; }
+    virtual const char* renderName() const OVERRIDE { return "RenderReplaced"; }
 
     virtual bool canHaveChildren() const { return false; }
 
-    virtual void computePreferredLogicalWidths();
+    virtual void computePreferredLogicalWidths() OVERRIDE FINAL;
     virtual void paintReplaced(PaintInfo&, const LayoutPoint&) { }
 
     virtual LayoutRect clippedOverflowRectForRepaint(const RenderLayerModelObject* repaintContainer) const OVERRIDE;
 
-    virtual VisiblePosition positionForPoint(const LayoutPoint&);
+    virtual VisiblePosition positionForPoint(const LayoutPoint&) OVERRIDE FINAL;
     
     virtual bool canBeSelectionLeaf() const { return true; }
 
-    virtual LayoutRect selectionRectForRepaint(const RenderLayerModelObject* repaintContainer, bool clipToVisibleContent = true) OVERRIDE;
+    virtual LayoutRect selectionRectForRepaint(const RenderLayerModelObject* repaintContainer, bool clipToVisibleContent = true) OVERRIDE FINAL;
     void computeAspectRatioInformationForRenderBox(RenderBox*, FloatSize& constrainedSize, double& intrinsicRatio, bool& isPercentageIntrinsicSize) const;
 
     mutable LayoutSize m_intrinsicSize;
index 4665e13..2ff2924 100644 (file)
@@ -33,7 +33,7 @@
 
 namespace WebCore {
 
-class RenderReplica : public RenderBox {
+class RenderReplica FINAL : public RenderBox {
 public:
     static RenderReplica* createAnonymous(Document*);
 
index 2494639..4073653 100644 (file)
@@ -51,7 +51,7 @@ namespace WebCore {
 // Generated :before/:after content is shunted into anonymous inline blocks
 
 // <ruby> when used as 'display:inline'
-class RenderRubyAsInline : public RenderInline {
+class RenderRubyAsInline FINAL : public RenderInline {
 public:
     RenderRubyAsInline(Element*);
     virtual ~RenderRubyAsInline();
@@ -70,7 +70,7 @@ private:
 };
 
 // <ruby> when used as 'display:block' or 'display:inline-block'
-class RenderRubyAsBlock : public RenderBlock {
+class RenderRubyAsBlock FINAL : public RenderBlock {
 public:
     RenderRubyAsBlock(Element*);
     virtual ~RenderRubyAsBlock();
index 3888606..a7742f7 100644 (file)
@@ -37,7 +37,7 @@ namespace WebCore {
 
 class RenderRubyRun;
 
-class RenderRubyBase : public RenderBlock {
+class RenderRubyBase FINAL : public RenderBlock {
 public:
     virtual ~RenderRubyBase();
     
index 1e553a6..bbae7a5 100644 (file)
@@ -41,7 +41,7 @@ class RenderRubyText;
 // RenderRubyRun are 'inline-block/table' like objects,and wrap a single pairing of a ruby base with its ruby text(s).
 // See RenderRuby.h for further comments on the structure
 
-class RenderRubyRun : public RenderBlock {
+class RenderRubyRun FINAL : public RenderBlock {
 public:
     virtual ~RenderRubyRun();
 
index 0b0bae5..0220490 100644 (file)
@@ -35,7 +35,7 @@
 
 namespace WebCore {
 
-class RenderRubyText : public RenderBlock {
+class RenderRubyText FINAL : public RenderBlock {
 public:
     RenderRubyText(Element*);
     virtual ~RenderRubyText();
index 75b7b51..79eb947 100644 (file)
@@ -33,7 +33,7 @@ namespace WebCore {
 
 class RenderScrollbar;
 
-class RenderScrollbarPart : public RenderBlock {
+class RenderScrollbarPart FINAL : public RenderBlock {
 public:
     static RenderScrollbarPart* createAnonymous(Document*, RenderScrollbar* = 0, ScrollbarPart = NoPart);
     
index b0ffaa8..c1b90d5 100644 (file)
@@ -31,7 +31,7 @@ namespace WebCore {
 class HTMLInputElement;
 class SearchPopupMenu;
 
-class RenderSearchField : public RenderTextControlSingleLine, private PopupMenuClient {
+class RenderSearchField FINAL : public RenderTextControlSingleLine, private PopupMenuClient {
 public:
     RenderSearchField(Element*);
     virtual ~RenderSearchField();
index 8603a90..48523a7 100644 (file)
@@ -29,7 +29,7 @@ class HTMLInputElement;
 class MouseEvent;
 class SliderThumbElement;
 
-class RenderSlider : public RenderFlexibleBox {
+class RenderSlider FINAL : public RenderFlexibleBox {
 public:
     static const int defaultTrackLength;
 
index beae256..6e1cf15 100644 (file)
@@ -34,7 +34,7 @@ namespace WebCore {
 
 class HTMLPlugInImageElement;
 
-class RenderSnapshottedPlugIn : public RenderEmbeddedObject {
+class RenderSnapshottedPlugIn FINAL : public RenderEmbeddedObject {
 public:
     explicit RenderSnapshottedPlugIn(HTMLPlugInImageElement*);
     virtual ~RenderSnapshottedPlugIn();
@@ -47,11 +47,11 @@ private:
     HTMLPlugInImageElement* plugInImageElement() const;
     virtual const char* renderName() const { return "RenderSnapshottedPlugIn"; }
 
-    virtual CursorDirective getCursor(const LayoutPoint&, Cursor&) const OVERRIDE;
-    virtual bool isSnapshottedPlugIn() const OVERRIDE { return true; }
+    virtual CursorDirective getCursor(const LayoutPoint&, Cursor&) const OVERRIDE FINAL;
+    virtual bool isSnapshottedPlugIn() const OVERRIDE FINAL { return true; }
     virtual void paint(PaintInfo&, const LayoutPoint&) OVERRIDE;
     
-    virtual bool canHaveWidget() const OVERRIDE { return false; }
+    virtual bool canHaveWidget() const OVERRIDE FINAL { return false; }
 
     void paintSnapshot(PaintInfo&, const LayoutPoint&);
 
index 3e1872d..1b0c899 100644 (file)
@@ -124,7 +124,7 @@ public:
     int calcBorderEnd() const;
     void recalcBordersInRowDirection();
 
-    virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0);
+    virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) OVERRIDE FINAL;
 
     struct ColumnStruct {
         explicit ColumnStruct(unsigned initialSpan = 1)
@@ -195,8 +195,8 @@ public:
     }
 
     // Override paddingStart/End to return pixel values to match behavor of RenderTableCell.
-    virtual LayoutUnit paddingEnd() const OVERRIDE { return static_cast<int>(RenderBlock::paddingEnd()); }
-    virtual LayoutUnit paddingStart() const OVERRIDE { return static_cast<int>(RenderBlock::paddingStart()); }
+    virtual LayoutUnit paddingEnd() const OVERRIDE FINAL { return static_cast<int>(RenderBlock::paddingEnd()); }
+    virtual LayoutUnit paddingStart() const OVERRIDE FINAL { return static_cast<int>(RenderBlock::paddingStart()); }
 
     LayoutUnit bordersPaddingAndSpacingInRowDirection() const
     {
@@ -263,45 +263,45 @@ public:
     void removeColumn(const RenderTableCol*);
 
 protected:
-    virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
-    virtual void simplifiedNormalFlowLayout();
+    virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) OVERRIDE FINAL;
+    virtual void simplifiedNormalFlowLayout() OVERRIDE FINAL;
 
 private:
-    virtual const char* renderName() const { return "RenderTable"; }
+    virtual const char* renderName() const OVERRIDE { return "RenderTable"; }
 
-    virtual bool isTable() const { return true; }
+    virtual bool isTable() const OVERRIDE FINAL { return true; }
 
-    virtual bool avoidsFloats() const { return true; }
+    virtual bool avoidsFloats() const OVERRIDE FINAL { return true; }
 
-    virtual void paint(PaintInfo&, const LayoutPoint&);
-    virtual void paintObject(PaintInfo&, const LayoutPoint&);
-    virtual void paintBoxDecorations(PaintInfo&, const LayoutPoint&);
-    virtual void paintMask(PaintInfo&, const LayoutPoint&);
-    virtual void layout();
-    virtual void computeIntrinsicLogicalWidths(LayoutUnit& minWidth, LayoutUnit& maxWidth) const OVERRIDE;
+    virtual void paint(PaintInfo&, const LayoutPoint&) OVERRIDE FINAL;
+    virtual void paintObject(PaintInfo&, const LayoutPoint&) OVERRIDE FINAL;
+    virtual void paintBoxDecorations(PaintInfo&, const LayoutPoint&) OVERRIDE FINAL;
+    virtual void paintMask(PaintInfo&, const LayoutPoint&) OVERRIDE FINAL;
+    virtual void layout() OVERRIDE FINAL;
+    virtual void computeIntrinsicLogicalWidths(LayoutUnit& minWidth, LayoutUnit& maxWidth) const OVERRIDE FINAL;
     virtual void computePreferredLogicalWidths() OVERRIDE;
     virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
 
-    virtual int baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const OVERRIDE;
+    virtual int baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const OVERRIDE FINAL;
     virtual int firstLineBoxBaseline() const OVERRIDE;
-    virtual int inlineBlockBaseline(LineDirectionMode) const OVERRIDE;
+    virtual int inlineBlockBaseline(LineDirectionMode) const OVERRIDE FINAL;
 
     RenderTableCol* slowColElement(unsigned col, bool* startEdge, bool* endEdge) const;
 
     void updateColumnCache() const;
     void invalidateCachedColumns();
 
-    virtual RenderBlock* firstLineBlock() const;
-    virtual void updateFirstLetter();
+    virtual RenderBlock* firstLineBlock() const OVERRIDE FINAL;
+    virtual void updateFirstLetter() OVERRIDE FINAL;
     
-    virtual void updateLogicalWidth() OVERRIDE;
+    virtual void updateLogicalWidth() OVERRIDE FINAL;
 
     LayoutUnit convertStyleLogicalWidthToComputedWidth(const Length& styleLogicalWidth, LayoutUnit availableWidth);
     LayoutUnit convertStyleLogicalHeightToComputedHeight(const Length& styleLogicalHeight);
 
-    virtual LayoutRect overflowClipRect(const LayoutPoint& location, RenderRegion*, OverlayScrollbarSizeRelevancy = IgnoreOverlayScrollbarSize);
+    virtual LayoutRect overflowClipRect(const LayoutPoint& location, RenderRegion*, OverlayScrollbarSizeRelevancy = IgnoreOverlayScrollbarSize) OVERRIDE FINAL;
 
-    virtual void addOverflowFromChildren();
+    virtual void addOverflowFromChildren() OVERRIDE FINAL;
 
     void subtractCaptionRect(LayoutRect&) const;
 
index 3fb51db..3107a6a 100644 (file)
@@ -26,7 +26,7 @@ namespace WebCore {
 
 class RenderTable;
 
-class RenderTableCaption : public RenderBlock {
+class RenderTableCaption FINAL : public RenderBlock {
 public:
     explicit RenderTableCaption(Element*);
     virtual ~RenderTableCaption();
index b1ff5fc..cc3c49a 100644 (file)
@@ -35,7 +35,7 @@ static const unsigned maxColumnIndex = 0x1FFFFFFE; // 536,870,910
 
 enum IncludeBorderColorOrNot { DoNotIncludeBorderColor, IncludeBorderColor };
 
-class RenderTableCell : public RenderBlock {
+class RenderTableCell FINAL : public RenderBlock {
 public:
     explicit RenderTableCell(Element*);
     
index c93b019..4f666c2 100644 (file)
@@ -33,7 +33,7 @@ namespace WebCore {
 class RenderTable;
 class RenderTableCell;
 
-class RenderTableCol : public RenderBox {
+class RenderTableCol FINAL : public RenderBox {
 public:
     explicit RenderTableCol(Element*);
 
index d2bfbc6..357ba20 100644 (file)
@@ -32,7 +32,7 @@ namespace WebCore {
 static const unsigned unsetRowIndex = 0x7FFFFFFF;
 static const unsigned maxRowIndex = 0x7FFFFFFE; // 2,147,483,646
 
-class RenderTableRow : public RenderBox {
+class RenderTableRow FINAL : public RenderBox {
 public:
     explicit RenderTableRow(Element*);
 
index 1e14b9a..6c1e243 100644 (file)
@@ -60,7 +60,7 @@ private:
 class RenderTableCell;
 class RenderTableRow;
 
-class RenderTableSection : public RenderBox {
+class RenderTableSection FINAL : public RenderBox {
 public:
     RenderTableSection(Element*);
     virtual ~RenderTableSection();
index f4254e5..0a45fea 100644 (file)
@@ -38,7 +38,7 @@ public:
     virtual ~RenderText();
 #endif
 
-    virtual const char* renderName() const;
+    virtual const char* renderName() const OVERRIDE;
 
     virtual bool isTextFragment() const;
     virtual bool isWordBreak() const;
@@ -55,10 +55,10 @@ public:
     InlineTextBox* createInlineTextBox();
     void dirtyLineBoxes(bool fullLayout);
 
-    virtual void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedOffset) const;
+    virtual void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedOffset) const OVERRIDE FINAL;
     void absoluteRectsForRange(Vector<IntRect>&, unsigned startOffset = 0, unsigned endOffset = UINT_MAX, bool useSelectionHeight = false, bool* wasFixed = 0);
 
-    virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const;
+    virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const OVERRIDE FINAL;
     void absoluteQuadsForRange(Vector<FloatQuad>&, unsigned startOffset = 0, unsigned endOffset = UINT_MAX, bool useSelectionHeight = false, bool* wasFixed = 0);
 
     enum ClippingOption { NoClipping, ClipToEllipsis };
@@ -101,25 +101,25 @@ public:
     virtual void transformText();
 
     virtual bool canBeSelectionLeaf() const { return true; }
-    virtual void setSelectionState(SelectionState s);
+    virtual void setSelectionState(SelectionState s) OVERRIDE FINAL;
     virtual LayoutRect selectionRectForRepaint(const RenderLayerModelObject* repaintContainer, bool clipToVisibleContent = true) OVERRIDE;
     virtual LayoutRect localCaretRect(InlineBox*, int caretOffset, LayoutUnit* extraWidthToEndOfLine = 0);
 
-    virtual LayoutUnit marginLeft() const { return minimumValueForLength(style()->marginLeft(), 0, view()); }
-    virtual LayoutUnit marginRight() const { return minimumValueForLength(style()->marginRight(), 0, view()); }
+    LayoutUnit marginLeft() const { return minimumValueForLength(style()->marginLeft(), 0, view()); }
+    LayoutUnit marginRight() const { return minimumValueForLength(style()->marginRight(), 0, view()); }
 
-    virtual LayoutRect clippedOverflowRectForRepaint(const RenderLayerModelObject* repaintContainer) const OVERRIDE;
+    virtual LayoutRect clippedOverflowRectForRepaint(const RenderLayerModelObject* repaintContainer) const OVERRIDE FINAL;
 
     InlineTextBox* firstTextBox() const { return m_firstTextBox; }
     InlineTextBox* lastTextBox() const { return m_lastTextBox; }
 
     virtual int caretMinOffset() const;
     virtual int caretMaxOffset() const;
-    virtual unsigned renderedTextLength() const;
+    unsigned renderedTextLength() const;
 
-    virtual int previousOffset(int current) const;
-    virtual int previousOffsetForBackwardDeletion(int current) const;
-    virtual int nextOffset(int current) const;
+    virtual int previousOffset(int current) const OVERRIDE FINAL;
+    virtual int previousOffsetForBackwardDeletion(int current) const OVERRIDE FINAL;
+    virtual int nextOffset(int current) const OVERRIDE FINAL;
 
     bool containsReversedText() const { return m_containsReversedText; }
 
@@ -141,7 +141,7 @@ protected:
     virtual void computePreferredLogicalWidths(float leadWidth);
     virtual void willBeDestroyed();
 
-    virtual void styleWillChange(StyleDifference, const RenderStyle*) { }
+    virtual void styleWillChange(StyleDifference, const RenderStyle*) OVERRIDE FINAL { }
     virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
 
     virtual void setTextInternal(PassRefPtr<StringImpl>);
@@ -157,11 +157,11 @@ private:
     // Make length() private so that callers that have a RenderText*
     // will use the more efficient textLength() instead, while
     // callers with a RenderObject* can continue to use length().
-    virtual unsigned length() const { return textLength(); }
+    virtual unsigned length() const OVERRIDE FINAL { return textLength(); }
 
-    virtual void paint(PaintInfo&, const LayoutPoint&) { ASSERT_NOT_REACHED(); }
-    virtual void layout() { ASSERT_NOT_REACHED(); }
-    virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation&, const LayoutPoint&, HitTestAction) OVERRIDE { ASSERT_NOT_REACHED(); return false; }
+    virtual void paint(PaintInfo&, const LayoutPoint&) OVERRIDE FINAL { ASSERT_NOT_REACHED(); }
+    virtual void layout() OVERRIDE FINAL { ASSERT_NOT_REACHED(); }
+    virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation&, const LayoutPoint&, HitTestAction) OVERRIDE FINAL { ASSERT_NOT_REACHED(); return false; }
 
     void deleteTextBoxes();
     bool containsOnlyWhitespace(unsigned from, unsigned len) const;
index 1f6630c..4a9d265 100644 (file)
@@ -47,7 +47,7 @@ protected:
     int scrollbarThickness() const;
     void adjustInnerTextStyle(const RenderStyle* startStyle, RenderStyle* textBlockStyle) const;
 
-    virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
+    virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) OVERRIDE;
 
     void hitInnerTextElement(HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset);
 
@@ -67,12 +67,12 @@ protected:
     virtual RenderObject* layoutSpecialExcludedChild(bool relayoutChildren);
 
 private:
-    virtual const char* renderName() const { return "RenderTextControl"; }
-    virtual bool isTextControl() const { return true; }
+    virtual const char* renderName() const OVERRIDE { return "RenderTextControl"; }
+    virtual bool isTextControl() const OVERRIDE FINAL { return true; }
     virtual void computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, LayoutUnit& maxLogicalWidth) const OVERRIDE;
     virtual void computePreferredLogicalWidths() OVERRIDE;
     virtual void removeLeftoverAnonymousBlock(RenderBlock*) { }
-    virtual bool avoidsFloats() const { return true; }
+    virtual bool avoidsFloats() const OVERRIDE { return true; }
     virtual bool canHaveGeneratedChildren() const OVERRIDE { return false; }
     virtual bool canBeReplacedWithInlineRunIn() const OVERRIDE;
     
@@ -102,7 +102,7 @@ void toRenderTextControl(const RenderTextControl*);
 // We can't use RenderFlexibleBox directly, because flexboxes have a different
 // baseline definition, and then inputs of different types wouldn't line up
 // anymore.
-class RenderTextControlInnerContainer : public RenderFlexibleBox {
+class RenderTextControlInnerContainer FINAL : public RenderFlexibleBox {
 public:
     explicit RenderTextControlInnerContainer(Element* element)
         : RenderFlexibleBox(element)
index 592a137..149828c 100644 (file)
@@ -26,7 +26,7 @@
 
 namespace WebCore {
 
-class RenderTextControlMultiLine : public RenderTextControl {
+class RenderTextControlMultiLine FINAL : public RenderTextControl {
 public:
     RenderTextControlMultiLine(Element*);
     virtual ~RenderTextControlMultiLine();
index 148acfe..7bce648 100644 (file)
@@ -49,35 +49,35 @@ protected:
     virtual void updateFromElement() OVERRIDE;
 
 private:
-    virtual bool hasControlClip() const;
-    virtual LayoutRect controlClipRect(const LayoutPoint&) const;
-    virtual bool isTextField() const { return true; }
+    virtual bool hasControlClip() const OVERRIDE;
+    virtual LayoutRect controlClipRect(const LayoutPoint&) const OVERRIDE;
+    virtual bool isTextField() const OVERRIDE FINAL { return true; }
 
-    virtual void paint(PaintInfo&, const LayoutPoint&);
-    virtual void layout();
+    virtual void paint(PaintInfo&, const LayoutPoint&) OVERRIDE;
+    virtual void layout() OVERRIDE;
 
     virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
 
-    virtual void autoscroll(const IntPoint&);
+    virtual void autoscroll(const IntPoint&) OVERRIDE;
 
     // Subclassed to forward to our inner div.
-    virtual int scrollLeft() const;
-    virtual int scrollTop() const;
-    virtual int scrollWidth() const;
-    virtual int scrollHeight() const;
-    virtual void setScrollLeft(int);
-    virtual void setScrollTop(int);
-    virtual bool scroll(ScrollDirection, ScrollGranularity, float multiplier = 1, Node** stopNode = 0);
-    virtual bool logicalScroll(ScrollLogicalDirection, ScrollGranularity, float multiplier = 1, Node** stopNode = 0);
+    virtual int scrollLeft() const OVERRIDE;
+    virtual int scrollTop() const OVERRIDE;
+    virtual int scrollWidth() const OVERRIDE;
+    virtual int scrollHeight() const OVERRIDE;
+    virtual void setScrollLeft(int) OVERRIDE;
+    virtual void setScrollTop(int) OVERRIDE;
+    virtual bool scroll(ScrollDirection, ScrollGranularity, float multiplier = 1, Node** stopNode = 0) OVERRIDE;
+    virtual bool logicalScroll(ScrollLogicalDirection, ScrollGranularity, float multiplier = 1, Node** stopNode = 0) OVERRIDE;
 
     int textBlockWidth() const;
-    virtual float getAvgCharWidth(AtomicString family);
-    virtual LayoutUnit preferredContentLogicalWidth(float charWidth) const;
+    virtual float getAvgCharWidth(AtomicString family) OVERRIDE;
+    virtual LayoutUnit preferredContentLogicalWidth(float charWidth) const OVERRIDE;
     virtual LayoutUnit computeControlLogicalHeight(LayoutUnit lineHeight, LayoutUnit nonContentHeight) const OVERRIDE;
     
-    virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
+    virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) OVERRIDE;
 
-    virtual RenderStyle* textBaseStyle() const;
+    virtual RenderStyle* textBaseStyle() const OVERRIDE;
 
     bool textShouldBeTruncated() const;
 
index 3f86357..940f22e 100644 (file)
@@ -31,7 +31,7 @@ namespace WebCore {
 // first letter and that must therefore have different styles (and positions in the render tree).
 // We cache offsets so that text transformations can be applied in such a way that we can recover
 // the original unaltered string from our corresponding DOM node.
-class RenderTextFragment : public RenderText {
+class RenderTextFragment FINAL : public RenderText {
 public:
     RenderTextFragment(Node*, StringImpl*, int startOffset, int length);
     RenderTextFragment(Node*, StringImpl*);
index 98084ab..1fe0779 100644 (file)
@@ -37,7 +37,7 @@ namespace WebCore {
 
 class TextTrackCueBox;
 
-class RenderTextTrackCue : public RenderBlock {
+class RenderTextTrackCue FINAL : public RenderBlock {
 public:
     explicit RenderTextTrackCue(TextTrackCueBox*);
 
index 4a256d1..f217208 100644 (file)
@@ -35,7 +35,7 @@ namespace WebCore {
 class HTMLMediaElement;
 class HTMLVideoElement;
 
-class RenderVideo : public RenderMedia {
+class RenderVideo FINAL : public RenderMedia {
 public:
     RenderVideo(HTMLVideoElement*);
     virtual ~RenderVideo();
index 14295f4..69268ca 100644 (file)
@@ -42,7 +42,7 @@ class RenderLayerCompositor;
 class CustomFilterGlobalContext;
 #endif
 
-class RenderView : public RenderBlock {
+class RenderView FINAL : public RenderBlock {
 public:
     explicit RenderView(Document*);
     virtual ~RenderView();
index ef8f3b7..16afa07 100644 (file)
@@ -79,21 +79,21 @@ protected:
 
     void clearWidget();
 
-    virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
-    virtual void layout();
-    virtual void paint(PaintInfo&, const LayoutPoint&);
-    virtual CursorDirective getCursor(const LayoutPoint&, Cursor&) const;
+    virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) OVERRIDE FINAL;
+    virtual void layout() OVERRIDE;
+    virtual void paint(PaintInfo&, const LayoutPoint&) OVERRIDE;
+    virtual CursorDirective getCursor(const LayoutPoint&, Cursor&) const OVERRIDE;
     virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
 
     virtual void paintContents(PaintInfo&, const LayoutPoint&);
 
 private:
-    virtual bool isWidget() const { return true; }
+    virtual bool isWidget() const OVERRIDE FINAL { return true; }
 
-    virtual void willBeDestroyed();
-    virtual void destroy();
-    virtual void setSelectionState(SelectionState);
-    virtual void setOverlapTestResult(bool);
+    virtual void willBeDestroyed() OVERRIDE FINAL;
+    virtual void destroy() OVERRIDE FINAL;
+    virtual void setSelectionState(SelectionState) OVERRIDE FINAL;
+    virtual void setOverlapTestResult(bool) OVERRIDE FINAL;
 
     bool setWidgetGeometry(const LayoutRect&);
     bool updateWidgetGeometry();
index db31eec..eea3193 100644 (file)
@@ -33,7 +33,7 @@ namespace WebCore {
 
 class HTMLElement;
 
-class RenderWordBreak : public RenderText {
+class RenderWordBreak FINAL : public RenderText {
 public:
     explicit RenderWordBreak(HTMLElement*);
 
index 08bc513..ecff182 100644 (file)
@@ -38,16 +38,16 @@ class RootInlineBox : public InlineFlowBox {
 public:
     explicit RootInlineBox(RenderBlock*);
 
-    virtual void destroy(RenderArena*) FINAL;
+    virtual void destroy(RenderArena*) OVERRIDE FINAL;
 
-    virtual bool isRootInlineBox() const FINAL { return true; }
+    virtual bool isRootInlineBox() const OVERRIDE FINAL { return true; }
 
     void detachEllipsisBox(RenderArena*);
 
     RootInlineBox* nextRootBox() const { return static_cast<RootInlineBox*>(m_nextLineBox); }
     RootInlineBox* prevRootBox() const { return static_cast<RootInlineBox*>(m_prevLineBox); }
 
-    virtual void adjustPosition(float dx, float dy) FINAL;
+    virtual void adjustPosition(float dx, float dy) OVERRIDE FINAL;
 
     LayoutUnit lineTop() const { return m_lineTop; }
     LayoutUnit lineBottom() const { return m_lineBottom; }
@@ -85,7 +85,7 @@ public:
         m_lineBottomWithLeading = bottomWithLeading;
     }
 
-    virtual RenderLineBoxList* rendererLineBoxes() const FINAL;
+    virtual RenderLineBoxList* rendererLineBoxes() const OVERRIDE FINAL;
 
     RenderObject* lineBreakObj() const { return m_lineBreakObj; }
     BidiStatus lineBreakBidiStatus() const;
@@ -114,8 +114,8 @@ public:
 
     bool isHyphenated() const;
 
-    virtual int baselinePosition(FontBaseline baselineType) const FINAL;
-    virtual LayoutUnit lineHeight() const FINAL;
+    virtual int baselinePosition(FontBaseline baselineType) const OVERRIDE FINAL;
+    virtual LayoutUnit lineHeight() const OVERRIDE FINAL;
 
 #if PLATFORM(MAC)
     void addHighlightOverflow();
@@ -128,7 +128,7 @@ public:
     using InlineBox::hasSelectedChildren;
     using InlineBox::setHasSelectedChildren;
 
-    virtual RenderObject::SelectionState selectionState() FINAL;
+    virtual RenderObject::SelectionState selectionState() OVERRIDE FINAL;
     InlineBox* firstSelectedBox();
     InlineBox* lastSelectedBox();
 
@@ -151,9 +151,9 @@ public:
 
     Vector<RenderBox*>* floatsPtr() { ASSERT(!isDirty()); return m_floats.get(); }
 
-    virtual void extractLineBoxFromRenderObject() FINAL;
-    virtual void attachLineBoxToRenderObject() FINAL;
-    virtual void removeLineBoxFromRenderObject() FINAL;
+    virtual void extractLineBoxFromRenderObject() OVERRIDE FINAL;
+    virtual void attachLineBoxToRenderObject() OVERRIDE FINAL;
+    virtual void removeLineBoxFromRenderObject() OVERRIDE FINAL;
     
     FontBaseline baselineType() const { return static_cast<FontBaseline>(m_baselineType); }
 
index cd93f99..3ee828d 100644 (file)
@@ -117,7 +117,7 @@ inline const RenderMathMLBlock* toRenderMathMLBlock(const RenderObject* object)
 // This will catch anyone doing an unnecessary cast.
 void toRenderMathMLBlock(const RenderMathMLBlock*);
 
-class RenderMathMLTable : public RenderTable {
+class RenderMathMLTable FINAL : public RenderTable {
 public:
     explicit RenderMathMLTable(Element* element) : RenderTable(element) { }
     
index 222d5ee..baf3ca8 100644 (file)
@@ -32,19 +32,19 @@ class RenderSVGBlock : public RenderBlock {
 public:
     explicit RenderSVGBlock(SVGElement*);
 
-    virtual LayoutRect visualOverflowRect() const;
+    virtual LayoutRect visualOverflowRect() const OVERRIDE FINAL;
 
 protected:
     virtual void willBeDestroyed() OVERRIDE;
 
 private:
-    virtual void setStyle(PassRefPtr<RenderStyle>);
-    virtual void updateFromStyle() OVERRIDE;
+    virtual void setStyle(PassRefPtr<RenderStyle>) OVERRIDE FINAL;
+    virtual void updateFromStyle() OVERRIDE FINAL;
 
-    virtual void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedOffset) const;
+    virtual void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedOffset) const OVERRIDE FINAL;
 
-    virtual void styleWillChange(StyleDifference, const RenderStyle* newStyle);
-    virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
+    virtual void styleWillChange(StyleDifference, const RenderStyle* newStyle) OVERRIDE FINAL;
+    virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) OVERRIDE FINAL;
 };
 
 }
index 70e1ec8..474ddb5 100644 (file)
@@ -43,29 +43,29 @@ public:
     RenderObjectChildList* children() { return &m_children; }
 
     virtual void paint(PaintInfo&, const LayoutPoint&);
-    virtual void setNeedsBoundariesUpdate() { m_needsBoundariesUpdate = true; }
-    virtual bool needsBoundariesUpdate() OVERRIDE { return m_needsBoundariesUpdate; }
+    virtual void setNeedsBoundariesUpdate() OVERRIDE FINAL { m_needsBoundariesUpdate = true; }
+    virtual bool needsBoundariesUpdate() OVERRIDE FINAL { return m_needsBoundariesUpdate; }
     virtual bool didTransformToRootUpdate() { return false; }
     bool isObjectBoundingBoxValid() const { return m_objectBoundingBoxValid; }
 
 protected:
-    virtual RenderObjectChildList* virtualChildren() { return children(); }
-    virtual const RenderObjectChildList* virtualChildren() const { return children(); }
+    virtual RenderObjectChildList* virtualChildren() OVERRIDE FINAL { return children(); }
+    virtual const RenderObjectChildList* virtualChildren() const OVERRIDE FINAL { return children(); }
 
-    virtual bool isSVGContainer() const { return true; }
-    virtual const char* renderName() const { return "RenderSVGContainer"; }
+    virtual bool isSVGContainer() const OVERRIDE FINAL { return true; }
+    virtual const char* renderName() const OVERRIDE { return "RenderSVGContainer"; }
 
-    virtual void layout();
+    virtual void layout() OVERRIDE;
 
-    virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) OVERRIDE;
-    virtual void removeChild(RenderObject*) OVERRIDE;
-    virtual void addFocusRingRects(Vector<IntRect>&, const LayoutPoint& additionalOffset, const RenderLayerModelObject* paintContainer = 0) OVERRIDE;
+    virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) OVERRIDE FINAL;
+    virtual void removeChild(RenderObject*) OVERRIDE FINAL;
+    virtual void addFocusRingRects(Vector<IntRect>&, const LayoutPoint& additionalOffset, const RenderLayerModelObject* paintContainer = 0) OVERRIDE FINAL;
 
-    virtual FloatRect objectBoundingBox() const { return m_objectBoundingBox; }
-    virtual FloatRect strokeBoundingBox() const { return m_strokeBoundingBox; }
-    virtual FloatRect repaintRectInLocalCoordinates() const { return m_repaintBoundingBox; }
+    virtual FloatRect objectBoundingBox() const OVERRIDE FINAL { return m_objectBoundingBox; }
+    virtual FloatRect strokeBoundingBox() const OVERRIDE FINAL { return m_strokeBoundingBox; }
+    virtual FloatRect repaintRectInLocalCoordinates() const OVERRIDE FINAL { return m_repaintBoundingBox; }
 
-    virtual bool nodeAtFloatPoint(const HitTestRequest&, HitTestResult&, const FloatPoint& pointInParent, HitTestAction);
+    virtual bool nodeAtFloatPoint(const HitTestRequest&, HitTestResult&, const FloatPoint& pointInParent, HitTestAction) OVERRIDE;
 
     // Allow RenderSVGTransformableContainer to hook in at the right time in layout()
     virtual bool calculateLocalTransform() { return false; }
index f5129df..33213da 100644 (file)
@@ -33,7 +33,7 @@
 
 namespace WebCore {
 
-class RenderSVGEllipse : public RenderSVGShape {
+class RenderSVGEllipse FINAL : public RenderSVGShape {
 public:
     explicit RenderSVGEllipse(SVGStyledTransformableElement*);
     virtual ~RenderSVGEllipse();
index 02c29cc..6ed9438 100644 (file)
@@ -31,7 +31,7 @@ namespace WebCore {
 
 class SVGForeignObjectElement;
 
-class RenderSVGForeignObject : public RenderSVGBlock {
+class RenderSVGForeignObject FINAL : public RenderSVGBlock {
 public:
     explicit RenderSVGForeignObject(SVGForeignObjectElement*);
     virtual ~RenderSVGForeignObject();
index 2eeebed..7ed0ca3 100644 (file)
@@ -30,7 +30,7 @@ class SVGGradientElement;
 class SVGStopElement;
 
 // This class exists mostly so we can hear about gradient stop style changes
-class RenderSVGGradientStop : public RenderObject {
+class RenderSVGGradientStop FINAL : public RenderObject {
 public:
     RenderSVGGradientStop(SVGStopElement*);
     virtual ~RenderSVGGradientStop();
index 94ff8c8..298cd3c 100644 (file)
@@ -33,20 +33,20 @@ class RenderSVGHiddenContainer : public RenderSVGContainer {
 public:
     explicit RenderSVGHiddenContainer(SVGStyledElement*);
 
-    virtual const char* renderName() const { return "RenderSVGHiddenContainer"; }
+    virtual const char* renderName() const OVERRIDE { return "RenderSVGHiddenContainer"; }
 
 protected:
-    virtual void layout();
+    virtual void layout() OVERRIDE;
 
 private:
-    virtual bool isSVGHiddenContainer() const { return true; }
+    virtual bool isSVGHiddenContainer() const OVERRIDE FINAL { return true; }
 
-    virtual void paint(PaintInfo&, const LayoutPoint&);
+    virtual void paint(PaintInfo&, const LayoutPoint&) OVERRIDE FINAL;
     
-    virtual LayoutRect clippedOverflowRectForRepaint(const RenderLayerModelObject*) const OVERRIDE { return LayoutRect(); }
-    virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const;
+    virtual LayoutRect clippedOverflowRectForRepaint(const RenderLayerModelObject*) const OVERRIDE FINAL { return LayoutRect(); }
+    virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const OVERRIDE FINAL;
 
-    virtual bool nodeAtFloatPoint(const HitTestRequest&, HitTestResult&, const FloatPoint& pointInParent, HitTestAction);
+    virtual bool nodeAtFloatPoint(const HitTestRequest&, HitTestResult&, const FloatPoint& pointInParent, HitTestAction) OVERRIDE FINAL;
 };
 }
 
index af85b89..b849a0d 100644 (file)
@@ -36,7 +36,7 @@ namespace WebCore {
 class RenderImageResource;
 class SVGImageElement;
 
-class RenderSVGImage : public RenderSVGModelObject {
+class RenderSVGImage FINAL : public RenderSVGModelObject {
 public:
     RenderSVGImage(SVGImageElement*);
     virtual ~RenderSVGImage();
index dbeb0d3..3714a1b 100644 (file)
@@ -32,34 +32,34 @@ class RenderSVGInline : public RenderInline {
 public:
     explicit RenderSVGInline(Element*);
 
-    virtual const char* renderName() const { return "RenderSVGInline"; }
-    virtual bool requiresLayer() const { return false; }
-    virtual bool isSVGInline() const { return true; }
+    virtual const char* renderName() const OVERRIDE { return "RenderSVGInline"; }
+    virtual bool requiresLayer() const OVERRIDE FINAL { return false; }
+    virtual bool isSVGInline() const OVERRIDE FINAL { return true; }
 
     // Chapter 10.4 of the SVG Specification say that we should use the
     // object bounding box of the parent text element.
     // We search for the root text element and take its bounding box.
     // It is also necessary to take the stroke and repaint rect of
     // this element, since we need it for filters.
-    virtual FloatRect objectBoundingBox() const;
-    virtual FloatRect strokeBoundingBox() const;
-    virtual FloatRect repaintRectInLocalCoordinates() const;
+    virtual FloatRect objectBoundingBox() const OVERRIDE FINAL;
+    virtual FloatRect strokeBoundingBox() const OVERRIDE FINAL;
+    virtual FloatRect repaintRectInLocalCoordinates() const OVERRIDE FINAL;
 
-    virtual LayoutRect clippedOverflowRectForRepaint(const RenderLayerModelObject* repaintContainer) const OVERRIDE;
-    virtual void computeFloatRectForRepaint(const RenderLayerModelObject* repaintContainer, FloatRect&, bool fixed = false) const OVERRIDE;
-    virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = 0) const OVERRIDE;
-    virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObject* ancestorToStopAt, RenderGeometryMap&) const OVERRIDE;
-    virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const;
+    virtual LayoutRect clippedOverflowRectForRepaint(const RenderLayerModelObject* repaintContainer) const OVERRIDE FINAL;
+    virtual void computeFloatRectForRepaint(const RenderLayerModelObject* repaintContainer, FloatRect&, bool fixed = false) const OVERRIDE FINAL;
+    virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = 0) const OVERRIDE FINAL;
+    virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObject* ancestorToStopAt, RenderGeometryMap&) const OVERRIDE FINAL;
+    virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const OVERRIDE FINAL;
 
 private:
-    virtual InlineFlowBox* createInlineFlowBox();
+    virtual InlineFlowBox* createInlineFlowBox() OVERRIDE FINAL;
 
-    virtual void willBeDestroyed();
-    virtual void styleWillChange(StyleDifference, const RenderStyle* newStyle);
-    virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
+    virtual void willBeDestroyed() OVERRIDE FINAL;
+    virtual void styleWillChange(StyleDifference, const RenderStyle* newStyle) OVERRIDE FINAL;
+    virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) OVERRIDE FINAL;
 
-    virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) OVERRIDE;
-    virtual void removeChild(RenderObject*) OVERRIDE;
+    virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) OVERRIDE FINAL;
+    virtual void removeChild(RenderObject*) OVERRIDE FINAL;
 };
 
 }
index b6fc830..54f031a 100644 (file)
@@ -31,7 +31,7 @@ namespace WebCore {
 
 class SVGInlineTextBox;
 
-class RenderSVGInlineText : public RenderText {
+class RenderSVGInlineText FINAL : public RenderText {
 public:
     RenderSVGInlineText(Node*, PassRefPtr<StringImpl>);
 
index 0511f27..eb87947 100644 (file)
@@ -49,18 +49,16 @@ class RenderSVGModelObject : public RenderObject {
 public:
     explicit RenderSVGModelObject(SVGStyledElement*);
 
-    virtual bool requiresLayer() const { return false; }
-
     virtual LayoutRect clippedOverflowRectForRepaint(const RenderLayerModelObject* repaintContainer) const OVERRIDE;
-    virtual void computeFloatRectForRepaint(const RenderLayerModelObject* repaintContainer, FloatRect&, bool fixed = false) const OVERRIDE;
-    virtual LayoutRect outlineBoundsForRepaint(const RenderLayerModelObject* repaintContainer, const RenderGeometryMap*) const OVERRIDE;
+    virtual void computeFloatRectForRepaint(const RenderLayerModelObject* repaintContainer, FloatRect&, bool fixed = false) const OVERRIDE FINAL;
+    virtual LayoutRect outlineBoundsForRepaint(const RenderLayerModelObject* repaintContainer, const RenderGeometryMap*) const OVERRIDE FINAL;
 
-    virtual void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedOffset) const;
+    virtual void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedOffset) const OVERRIDE FINAL;
     virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const;
 
-    virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = 0) const OVERRIDE;
-    virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObject* ancestorToStopAt, RenderGeometryMap&) const OVERRIDE;
-    virtual void styleWillChange(StyleDifference, const RenderStyle* newStyle);
+    virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = 0) const OVERRIDE FINAL;
+    virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObject* ancestorToStopAt, RenderGeometryMap&) const OVERRIDE FINAL;
+    virtual void styleWillChange(StyleDifference, const RenderStyle* newStyle) OVERRIDE FINAL;
     virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
 
     static bool checkIntersection(RenderObject*, const FloatRect&);
@@ -71,12 +69,12 @@ public:
     void setHasSVGShadow(bool hasShadow) { m_hasSVGShadow = hasShadow; }
 
 protected:
-    virtual void willBeDestroyed();
+    virtual void willBeDestroyed() OVERRIDE;
 
 private:
     // This method should never be called, SVG uses a different nodeAtPoint method
     bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
-    virtual void absoluteFocusRingQuads(Vector<FloatQuad>&);
+    virtual void absoluteFocusRingQuads(Vector<FloatQuad>&) OVERRIDE FINAL;
     bool m_hasSVGShadow;
 };
 
index 54154ce..57332c6 100644 (file)
@@ -31,7 +31,7 @@
 
 namespace WebCore {
 
-class RenderSVGPath : public RenderSVGShape {
+class RenderSVGPath FINAL : public RenderSVGShape {
 public:
     explicit RenderSVGPath(SVGStyledTransformableElement*);
     virtual ~RenderSVGPath();
index 6305579..6283de5 100644 (file)
@@ -34,7 +34,7 @@
 
 namespace WebCore {
 
-class RenderSVGRect : public RenderSVGShape {
+class RenderSVGRect FINAL : public RenderSVGShape {
 public:
     explicit RenderSVGRect(SVGRectElement*);
     virtual ~RenderSVGRect();
index 59157fa..c722226 100644 (file)
@@ -41,7 +41,7 @@ public:
     OwnPtr<ImageBuffer> clipMaskImage;
 };
 
-class RenderSVGResourceClipper : public RenderSVGResourceContainer {
+class RenderSVGResourceClipper FINAL : public RenderSVGResourceContainer {
 public:
     RenderSVGResourceClipper(SVGClipPathElement*);
     virtual ~RenderSVGResourceClipper();
index 0f425cd..b34b5e2 100644 (file)
@@ -34,11 +34,11 @@ public:
     RenderSVGResourceContainer(SVGStyledElement*);
     virtual ~RenderSVGResourceContainer();
 
-    virtual void layout();
-    virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
+    virtual void layout() OVERRIDE;
+    virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) OVERRIDE FINAL;
 
-    virtual bool isSVGResourceContainer() const { return true; }
-    virtual RenderSVGResourceContainer* toRenderSVGResourceContainer() { return this; }
+    virtual bool isSVGResourceContainer() const OVERRIDE FINAL { return true; }
+    virtual RenderSVGResourceContainer* toRenderSVGResourceContainer() OVERRIDE FINAL { return this; }
 
     static bool shouldTransformOnTextPainting(RenderObject*, AffineTransform&);
     static AffineTransform transformOnNonScalingStroke(RenderObject*, const AffineTransform& resourceTransform);
@@ -66,7 +66,7 @@ private:
     void removeClient(RenderObject*);
 
 private:
-    virtual void willBeDestroyed();
+    virtual void willBeDestroyed() OVERRIDE FINAL;
     void registerResource();
 
     AtomicString m_id;
index a6911aa..bf66285 100644 (file)
@@ -63,7 +63,7 @@ public:
 
 class GraphicsContext;
 
-class RenderSVGResourceFilter : public RenderSVGResourceContainer {
+class RenderSVGResourceFilter FINAL : public RenderSVGResourceContainer {
 public:
     RenderSVGResourceFilter(SVGFilterElement*);
     virtual ~RenderSVGResourceFilter();
index e8e4efc..1397c7f 100644 (file)
@@ -36,7 +36,7 @@ namespace WebCore {
 
 class FilterEffect;
 
-class RenderSVGResourceFilterPrimitive : public RenderSVGHiddenContainer {
+class RenderSVGResourceFilterPrimitive FINAL : public RenderSVGHiddenContainer {
 public:
     explicit RenderSVGResourceFilterPrimitive(SVGStyledElement* filterPrimitiveElement)
         : RenderSVGHiddenContainer(filterPrimitiveElement)
index d799f75..4eefb49 100644 (file)
@@ -47,12 +47,12 @@ class RenderSVGResourceGradient : public RenderSVGResourceContainer {
 public:
     RenderSVGResourceGradient(SVGGradientElement*);
 
-    virtual void removeAllClientsFromCache(bool markForInvalidation = true);
-    virtual void removeClientFromCache(RenderObject*, bool markForInvalidation = true);
+    virtual void removeAllClientsFromCache(bool markForInvalidation = true) OVERRIDE FINAL;
+    virtual void removeClientFromCache(RenderObject*, bool markForInvalidation = true) OVERRIDE FINAL;
 
-    virtual bool applyResource(RenderObject*, RenderStyle*, GraphicsContext*&, unsigned short resourceMode);
-    virtual void postApplyResource(RenderObject*, GraphicsContext*&, unsigned short resourceMode, const Path*, const RenderSVGShape*);
-    virtual FloatRect resourceBoundingBox(RenderObject*) { return FloatRect(); }
+    virtual bool applyResource(RenderObject*, RenderStyle*, GraphicsContext*&, unsigned short resourceMode) OVERRIDE FINAL;
+    virtual void postApplyResource(RenderObject*, GraphicsContext*&, unsigned short resourceMode, const Path*, const RenderSVGShape*) OVERRIDE FINAL;
+    virtual FloatRect resourceBoundingBox(RenderObject*) OVERRIDE FINAL { return FloatRect(); }
 
 protected:
     void addStops(GradientData*, const Vector<Gradient::ColorStop>&) const;
index f0d3c18..62fa83e 100644 (file)
@@ -29,7 +29,7 @@ namespace WebCore {
 
 class SVGLinearGradientElement;
 
-class RenderSVGResourceLinearGradient : public RenderSVGResourceGradient {
+class RenderSVGResourceLinearGradient FINAL : public RenderSVGResourceGradient {
 public:
     RenderSVGResourceLinearGradient(SVGLinearGradientElement*);
     virtual ~RenderSVGResourceLinearGradient();
index 26fbc6f..7bf5fed 100644 (file)
@@ -33,7 +33,7 @@ namespace WebCore {
 class AffineTransform;
 class RenderObject;
 
-class RenderSVGResourceMarker : public RenderSVGResourceContainer {
+class RenderSVGResourceMarker FINAL : public RenderSVGResourceContainer {
 public:
     RenderSVGResourceMarker(SVGMarkerElement*);
     virtual ~RenderSVGResourceMarker();
index 9c57923..c67ffda 100644 (file)
@@ -38,7 +38,7 @@ struct MaskerData {
     OwnPtr<ImageBuffer> maskImage;
 };
 
-class RenderSVGResourceMasker : public RenderSVGResourceContainer {
+class RenderSVGResourceMasker FINAL : public RenderSVGResourceContainer {
 public:
     RenderSVGResourceMasker(SVGMaskElement*);
     virtual ~RenderSVGResourceMasker();
index d4da535..37db1fc 100644 (file)
@@ -43,7 +43,7 @@ public:
     AffineTransform transform;
 };
 
-class RenderSVGResourcePattern : public RenderSVGResourceContainer {
+class RenderSVGResourcePattern FINAL : public RenderSVGResourceContainer {
 public:
     RenderSVGResourcePattern(SVGPatternElement*);
 
index 6a76e80..e092f85 100644 (file)
@@ -29,7 +29,7 @@ namespace WebCore {
 
 class SVGRadialGradientElement;
 
-class RenderSVGResourceRadialGradient : public RenderSVGResourceGradient {
+class RenderSVGResourceRadialGradient FINAL : public RenderSVGResourceGradient {
 public:
     RenderSVGResourceRadialGradient(SVGRadialGradientElement*);
     virtual ~RenderSVGResourceRadialGradient();
index e218e29..379cca3 100644 (file)
@@ -34,7 +34,7 @@ namespace WebCore {
 class AffineTransform;
 class SVGStyledElement;
 
-class RenderSVGRoot : public RenderReplaced {
+class RenderSVGRoot FINAL : public RenderReplaced {
 public:
     explicit RenderSVGRoot(SVGStyledElement*);
     virtual ~RenderSVGRoot();
index 479da66..01ac2f1 100644 (file)
@@ -71,9 +71,9 @@ public:
     virtual ~RenderSVGShape();
 
     void setNeedsShapeUpdate() { m_needsShapeUpdate = true; }
-    virtual void setNeedsBoundariesUpdate() { m_needsBoundariesUpdate = true; }
-    virtual bool needsBoundariesUpdate() OVERRIDE { return m_needsBoundariesUpdate; }
-    virtual void setNeedsTransformUpdate() { m_needsTransformUpdate = true; }
+    virtual void setNeedsBoundariesUpdate() OVERRIDE FINAL { m_needsBoundariesUpdate = true; }
+    virtual bool needsBoundariesUpdate() OVERRIDE FINAL { return m_needsBoundariesUpdate; }
+    virtual void setNeedsTransformUpdate() OVERRIDE FINAL { m_needsTransformUpdate = true; }
     virtual void fillShape(GraphicsContext*) const;
     virtual void strokeShape(GraphicsContext*) const;
 
@@ -104,22 +104,22 @@ private:
     bool fillContains(const FloatPoint&, bool requiresFill = true, const WindRule fillRule = RULE_NONZERO);
     bool strokeContains(const FloatPoint&, bool requiresStroke = true);
 
-    virtual FloatRect repaintRectInLocalCoordinates() const { return m_repaintBoundingBox; }
-    virtual FloatRect repaintRectInLocalCoordinatesExcludingSVGShadow() const OVERRIDE { return m_repaintBoundingBoxExcludingShadow; }
-    virtual const AffineTransform& localToParentTransform() const { return m_localTransform; }
-    virtual AffineTransform localTransform() const { return m_localTransform; }
+    virtual FloatRect repaintRectInLocalCoordinates() const OVERRIDE FINAL { return m_repaintBoundingBox; }
+    virtual FloatRect repaintRectInLocalCoordinatesExcludingSVGShadow() const OVERRIDE FINAL { return m_repaintBoundingBoxExcludingShadow; }
+    virtual const AffineTransform& localToParentTransform() const OVERRIDE FINAL { return m_localTransform; }
+    virtual AffineTransform localTransform() const OVERRIDE FINAL { return m_localTransform; }
 
-    virtual bool isSVGShape() const { return true; }
+    virtual bool isSVGShape() const OVERRIDE FINAL { return true; }
     virtual const char* renderName() const { return "RenderSVGShape"; }
 
-    virtual void layout();
-    virtual void paint(PaintInfo&, const LayoutPoint&);
-    virtual void addFocusRingRects(Vector<IntRect>&, const LayoutPoint& additionalOffset, const RenderLayerModelObject* paintContainer = 0) OVERRIDE;
+    virtual void layout() OVERRIDE FINAL;
+    virtual void paint(PaintInfo&, const LayoutPoint&) OVERRIDE FINAL;
+    virtual void addFocusRingRects(Vector<IntRect>&, const LayoutPoint& additionalOffset, const RenderLayerModelObject* paintContainer = 0) OVERRIDE FINAL;
 
-    virtual bool nodeAtFloatPoint(const HitTestRequest&, HitTestResult&, const FloatPoint& pointInParent, HitTestAction);
+    virtual bool nodeAtFloatPoint(const HitTestRequest&, HitTestResult&, const FloatPoint& pointInParent, HitTestAction) OVERRIDE FINAL;
 
-    virtual FloatRect objectBoundingBox() const { return m_fillBoundingBox; }
-    virtual FloatRect strokeBoundingBox() const { return m_strokeBoundingBox; }
+    virtual FloatRect objectBoundingBox() const OVERRIDE FINAL { return m_fillBoundingBox; }
+    virtual FloatRect strokeBoundingBox() const OVERRIDE FINAL { return m_strokeBoundingBox; }
     FloatRect calculateObjectBoundingBox() const;
     FloatRect calculateStrokeBoundingBox() const;
     void updateRepaintBoundingBox();
index bd9ce9a..f78a851 100644 (file)
@@ -26,7 +26,7 @@
 #include "RenderSVGInline.h"
 
 namespace WebCore {
-class RenderSVGTSpan : public RenderSVGInline {
+class RenderSVGTSpan FINAL : public RenderSVGInline {
 public:
     explicit RenderSVGTSpan(Element*);
     virtual const char* renderName() const { return "RenderSVGTSpan"; }
index 4d4f4ae..adfa456 100644 (file)
@@ -33,7 +33,7 @@ class RenderSVGInlineText;
 class SVGTextElement;
 class RenderSVGInlineText;
 
-class RenderSVGText : public RenderSVGBlock {
+class RenderSVGText FINAL : public RenderSVGBlock {
 public:
     RenderSVGText(SVGTextElement*);
     virtual ~RenderSVGText();
index f1c8721..3a021b8 100644 (file)
@@ -26,7 +26,7 @@
 
 namespace WebCore {
 
-class RenderSVGTextPath : public RenderSVGInline {
+class RenderSVGTextPath FINAL : public RenderSVGInline {
 public:
     RenderSVGTextPath(Element*);
 
index c10a08d..36ae3ad 100644 (file)
@@ -27,7 +27,7 @@
 namespace WebCore {
     
 class SVGStyledTransformableElement;
-class RenderSVGTransformableContainer : public RenderSVGContainer {
+class RenderSVGTransformableContainer FINAL : public RenderSVGContainer {
 public:
     explicit RenderSVGTransformableContainer(SVGStyledTransformableElement*);
 
index 427e423..d7c43e8 100644 (file)
@@ -30,7 +30,7 @@ namespace WebCore {
 
 // This is used for non-root <svg> elements and <marker> elements, neither of which are SVGTransformable
 // thus we inherit from RenderSVGContainer instead of RenderSVGTransformableContainer
-class RenderSVGViewportContainer : public RenderSVGContainer {
+class RenderSVGViewportContainer FINAL : public RenderSVGContainer {
 public:
     explicit RenderSVGViewportContainer(SVGStyledElement*);
     FloatRect viewport() const { return m_viewport; }
index d66e6d6..f2d1863 100644 (file)
@@ -136,6 +136,7 @@ class MacPort(ApplePort):
         return min(supportable_instances, default_count)
 
     def _build_java_test_support(self):
+        return True
         java_tests_path = self._filesystem.join(self.layout_tests_dir(), "java")
         build_java = [self.make_command(), "-C", java_tests_path]
         if self._executive.run_command(build_java, return_exit_code=True):  # Paths are absolute, so we don't need to set a cwd.