Mark overriden methods in WebCore/svg final classes as final
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 20 Jul 2016 21:21:21 +0000 (21:21 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 20 Jul 2016 21:21:21 +0000 (21:21 +0000)
https://bugs.webkit.org/show_bug.cgi?id=159966

Patch by Rawinder Singh <rawinder.singh-webkit@cisra.canon.com.au> on 2016-07-20
Reviewed by Michael Catanzaro.

Update WebCore/svg classes so that overriden methods in final classes are marked final.

* svg/SVGAElement.h:
* svg/SVGAltGlyphDefElement.h:
* svg/SVGAltGlyphItemElement.h:
* svg/SVGAnimateTransformElement.h:
* svg/SVGAnimatedColor.h:
* svg/SVGCircleElement.h:
* svg/SVGClipPathElement.h:
* svg/SVGCursorElement.h:
* svg/SVGDefsElement.h:
* svg/SVGDescElement.h:
* svg/SVGEllipseElement.h:
* svg/SVGFEMergeNodeElement.h:
* svg/SVGFilterElement.h:
* svg/SVGFontElement.h:
* svg/SVGFontFaceElement.h:
* svg/SVGFontFaceFormatElement.h:
* svg/SVGFontFaceNameElement.h:
* svg/SVGFontFaceSrcElement.h:
* svg/SVGFontFaceUriElement.h:
* svg/SVGForeignObjectElement.h:
* svg/SVGGElement.h:
* svg/SVGGlyphElement.h:
* svg/SVGGlyphRefElement.h:
* svg/SVGHKernElement.h:
* svg/SVGImageElement.h:
* svg/SVGLineElement.h:
* svg/SVGMPathElement.h:
* svg/SVGMaskElement.h:
* svg/SVGMetadataElement.h:
* svg/SVGMissingGlyphElement.h:
* svg/SVGPathBuilder.h:
* svg/SVGPathByteStreamBuilder.h:
* svg/SVGPathByteStreamSource.h:
* svg/SVGPathElement.h:
* svg/SVGPathSegArcAbs.h:
* svg/SVGPathSegArcRel.h:
* svg/SVGPathSegClosePath.h:
* svg/SVGPathSegCurvetoCubicAbs.h:
* svg/SVGPathSegCurvetoCubicRel.h:
* svg/SVGPathSegCurvetoCubicSmoothAbs.h:
* svg/SVGPathSegCurvetoCubicSmoothRel.h:
* svg/SVGPathSegCurvetoQuadraticAbs.h:
* svg/SVGPathSegCurvetoQuadraticRel.h:
* svg/SVGPathSegCurvetoQuadraticSmoothAbs.h:
* svg/SVGPathSegCurvetoQuadraticSmoothRel.h:
* svg/SVGPathSegLinetoAbs.h:
* svg/SVGPathSegLinetoHorizontalAbs.h:
* svg/SVGPathSegLinetoHorizontalRel.h:
* svg/SVGPathSegLinetoRel.h:
* svg/SVGPathSegLinetoVerticalAbs.h:
* svg/SVGPathSegLinetoVerticalRel.h:
* svg/SVGPathSegListBuilder.h:
* svg/SVGPathSegListSource.h:
* svg/SVGPathSegMovetoAbs.h:
* svg/SVGPathSegMovetoRel.h:
* svg/SVGPathStringSource.h:
* svg/SVGPathTraversalStateBuilder.h:
* svg/SVGPatternElement.h:
* svg/SVGRectElement.h:
* svg/SVGScriptElement.h:
* svg/SVGStopElement.h:
* svg/SVGStyleElement.h:
* svg/SVGSwitchElement.h:
* svg/SVGTRefElement.cpp:
* svg/SVGTitleElement.h:
* svg/SVGToOTFFontConversion.cpp:
* svg/SVGUnknownElement.h:
* svg/SVGVKernElement.h:
* svg/SVGViewElement.h:
* svg/SVGZoomEvent.h:
* svg/animation/SVGSMILElement.cpp:
* svg/graphics/SVGImage.h:
* svg/graphics/SVGImageClients.h:
* svg/graphics/SVGImageForContainer.h:
* svg/graphics/filters/SVGFEImage.h:
* svg/graphics/filters/SVGFilter.h:
* svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
* svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
* svg/properties/SVGAnimatedPropertyTearOff.h:
* svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
* svg/properties/SVGMatrixTearOff.h:
* svg/properties/SVGPathSegListPropertyTearOff.h:

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

83 files changed:
Source/WebCore/ChangeLog
Source/WebCore/svg/SVGAElement.h
Source/WebCore/svg/SVGAltGlyphDefElement.h
Source/WebCore/svg/SVGAltGlyphItemElement.h
Source/WebCore/svg/SVGAnimateTransformElement.h
Source/WebCore/svg/SVGAnimatedColor.h
Source/WebCore/svg/SVGCircleElement.h
Source/WebCore/svg/SVGClipPathElement.h
Source/WebCore/svg/SVGCursorElement.h
Source/WebCore/svg/SVGDefsElement.h
Source/WebCore/svg/SVGDescElement.h
Source/WebCore/svg/SVGEllipseElement.h
Source/WebCore/svg/SVGFEMergeNodeElement.h
Source/WebCore/svg/SVGFilterElement.h
Source/WebCore/svg/SVGFontElement.h
Source/WebCore/svg/SVGFontFaceElement.h
Source/WebCore/svg/SVGFontFaceFormatElement.h
Source/WebCore/svg/SVGFontFaceNameElement.h
Source/WebCore/svg/SVGFontFaceSrcElement.h
Source/WebCore/svg/SVGFontFaceUriElement.h
Source/WebCore/svg/SVGForeignObjectElement.h
Source/WebCore/svg/SVGGElement.h
Source/WebCore/svg/SVGGlyphElement.h
Source/WebCore/svg/SVGGlyphRefElement.h
Source/WebCore/svg/SVGHKernElement.h
Source/WebCore/svg/SVGImageElement.h
Source/WebCore/svg/SVGLineElement.h
Source/WebCore/svg/SVGMPathElement.h
Source/WebCore/svg/SVGMaskElement.h
Source/WebCore/svg/SVGMetadataElement.h
Source/WebCore/svg/SVGMissingGlyphElement.h
Source/WebCore/svg/SVGPathBuilder.h
Source/WebCore/svg/SVGPathByteStreamBuilder.h
Source/WebCore/svg/SVGPathByteStreamSource.h
Source/WebCore/svg/SVGPathElement.h
Source/WebCore/svg/SVGPathSegArcAbs.h
Source/WebCore/svg/SVGPathSegArcRel.h
Source/WebCore/svg/SVGPathSegClosePath.h
Source/WebCore/svg/SVGPathSegCurvetoCubicAbs.h
Source/WebCore/svg/SVGPathSegCurvetoCubicRel.h
Source/WebCore/svg/SVGPathSegCurvetoCubicSmoothAbs.h
Source/WebCore/svg/SVGPathSegCurvetoCubicSmoothRel.h
Source/WebCore/svg/SVGPathSegCurvetoQuadraticAbs.h
Source/WebCore/svg/SVGPathSegCurvetoQuadraticRel.h
Source/WebCore/svg/SVGPathSegCurvetoQuadraticSmoothAbs.h
Source/WebCore/svg/SVGPathSegCurvetoQuadraticSmoothRel.h
Source/WebCore/svg/SVGPathSegLinetoAbs.h
Source/WebCore/svg/SVGPathSegLinetoHorizontalAbs.h
Source/WebCore/svg/SVGPathSegLinetoHorizontalRel.h
Source/WebCore/svg/SVGPathSegLinetoRel.h
Source/WebCore/svg/SVGPathSegLinetoVerticalAbs.h
Source/WebCore/svg/SVGPathSegLinetoVerticalRel.h
Source/WebCore/svg/SVGPathSegListBuilder.h
Source/WebCore/svg/SVGPathSegListSource.h
Source/WebCore/svg/SVGPathSegMovetoAbs.h
Source/WebCore/svg/SVGPathSegMovetoRel.h
Source/WebCore/svg/SVGPathStringSource.h
Source/WebCore/svg/SVGPathTraversalStateBuilder.h
Source/WebCore/svg/SVGPatternElement.h
Source/WebCore/svg/SVGRectElement.h
Source/WebCore/svg/SVGScriptElement.h
Source/WebCore/svg/SVGStopElement.h
Source/WebCore/svg/SVGStyleElement.h
Source/WebCore/svg/SVGSwitchElement.h
Source/WebCore/svg/SVGTRefElement.cpp
Source/WebCore/svg/SVGTitleElement.h
Source/WebCore/svg/SVGToOTFFontConversion.cpp
Source/WebCore/svg/SVGUnknownElement.h
Source/WebCore/svg/SVGVKernElement.h
Source/WebCore/svg/SVGViewElement.h
Source/WebCore/svg/SVGZoomEvent.h
Source/WebCore/svg/animation/SVGSMILElement.cpp
Source/WebCore/svg/graphics/SVGImage.h
Source/WebCore/svg/graphics/SVGImageClients.h
Source/WebCore/svg/graphics/SVGImageForContainer.h
Source/WebCore/svg/graphics/filters/SVGFEImage.h
Source/WebCore/svg/graphics/filters/SVGFilter.h
Source/WebCore/svg/properties/SVGAnimatedEnumerationPropertyTearOff.h
Source/WebCore/svg/properties/SVGAnimatedPathSegListPropertyTearOff.h
Source/WebCore/svg/properties/SVGAnimatedPropertyTearOff.h
Source/WebCore/svg/properties/SVGAnimatedTransformListPropertyTearOff.h
Source/WebCore/svg/properties/SVGMatrixTearOff.h
Source/WebCore/svg/properties/SVGPathSegListPropertyTearOff.h

index 5173a30..49599cf 100644 (file)
@@ -1,3 +1,95 @@
+2016-07-20  Rawinder Singh  <rawinder.singh-webkit@cisra.canon.com.au>
+
+        Mark overriden methods in WebCore/svg final classes as final
+        https://bugs.webkit.org/show_bug.cgi?id=159966
+
+        Reviewed by Michael Catanzaro.
+
+        Update WebCore/svg classes so that overriden methods in final classes are marked final.
+
+        * svg/SVGAElement.h:
+        * svg/SVGAltGlyphDefElement.h:
+        * svg/SVGAltGlyphItemElement.h:
+        * svg/SVGAnimateTransformElement.h:
+        * svg/SVGAnimatedColor.h:
+        * svg/SVGCircleElement.h:
+        * svg/SVGClipPathElement.h:
+        * svg/SVGCursorElement.h:
+        * svg/SVGDefsElement.h:
+        * svg/SVGDescElement.h:
+        * svg/SVGEllipseElement.h:
+        * svg/SVGFEMergeNodeElement.h:
+        * svg/SVGFilterElement.h:
+        * svg/SVGFontElement.h:
+        * svg/SVGFontFaceElement.h:
+        * svg/SVGFontFaceFormatElement.h:
+        * svg/SVGFontFaceNameElement.h:
+        * svg/SVGFontFaceSrcElement.h:
+        * svg/SVGFontFaceUriElement.h:
+        * svg/SVGForeignObjectElement.h:
+        * svg/SVGGElement.h:
+        * svg/SVGGlyphElement.h:
+        * svg/SVGGlyphRefElement.h:
+        * svg/SVGHKernElement.h:
+        * svg/SVGImageElement.h:
+        * svg/SVGLineElement.h:
+        * svg/SVGMPathElement.h:
+        * svg/SVGMaskElement.h:
+        * svg/SVGMetadataElement.h:
+        * svg/SVGMissingGlyphElement.h:
+        * svg/SVGPathBuilder.h:
+        * svg/SVGPathByteStreamBuilder.h:
+        * svg/SVGPathByteStreamSource.h:
+        * svg/SVGPathElement.h:
+        * svg/SVGPathSegArcAbs.h:
+        * svg/SVGPathSegArcRel.h:
+        * svg/SVGPathSegClosePath.h:
+        * svg/SVGPathSegCurvetoCubicAbs.h:
+        * svg/SVGPathSegCurvetoCubicRel.h:
+        * svg/SVGPathSegCurvetoCubicSmoothAbs.h:
+        * svg/SVGPathSegCurvetoCubicSmoothRel.h:
+        * svg/SVGPathSegCurvetoQuadraticAbs.h:
+        * svg/SVGPathSegCurvetoQuadraticRel.h:
+        * svg/SVGPathSegCurvetoQuadraticSmoothAbs.h:
+        * svg/SVGPathSegCurvetoQuadraticSmoothRel.h:
+        * svg/SVGPathSegLinetoAbs.h:
+        * svg/SVGPathSegLinetoHorizontalAbs.h:
+        * svg/SVGPathSegLinetoHorizontalRel.h:
+        * svg/SVGPathSegLinetoRel.h:
+        * svg/SVGPathSegLinetoVerticalAbs.h:
+        * svg/SVGPathSegLinetoVerticalRel.h:
+        * svg/SVGPathSegListBuilder.h:
+        * svg/SVGPathSegListSource.h:
+        * svg/SVGPathSegMovetoAbs.h:
+        * svg/SVGPathSegMovetoRel.h:
+        * svg/SVGPathStringSource.h:
+        * svg/SVGPathTraversalStateBuilder.h:
+        * svg/SVGPatternElement.h:
+        * svg/SVGRectElement.h:
+        * svg/SVGScriptElement.h:
+        * svg/SVGStopElement.h:
+        * svg/SVGStyleElement.h:
+        * svg/SVGSwitchElement.h:
+        * svg/SVGTRefElement.cpp:
+        * svg/SVGTitleElement.h:
+        * svg/SVGToOTFFontConversion.cpp:
+        * svg/SVGUnknownElement.h:
+        * svg/SVGVKernElement.h:
+        * svg/SVGViewElement.h:
+        * svg/SVGZoomEvent.h:
+        * svg/animation/SVGSMILElement.cpp:
+        * svg/graphics/SVGImage.h:
+        * svg/graphics/SVGImageClients.h:
+        * svg/graphics/SVGImageForContainer.h:
+        * svg/graphics/filters/SVGFEImage.h:
+        * svg/graphics/filters/SVGFilter.h:
+        * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
+        * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
+        * svg/properties/SVGAnimatedPropertyTearOff.h:
+        * svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
+        * svg/properties/SVGMatrixTearOff.h:
+        * svg/properties/SVGPathSegListPropertyTearOff.h:
+
 2016-07-20  Brady Eidson  <beidson@apple.com>
 
         Transition most IDB interfaces from ScriptExecutionContext to ExecState.
index c0f6cd6..8d4de4a 100644 (file)
@@ -38,28 +38,28 @@ public:
 private:
     SVGAElement(const QualifiedName&, Document&);
 
-    bool isValid() const override { return SVGTests::isValid(); }
+    bool isValid() const final { return SVGTests::isValid(); }
     
-    String title() const override;
-    String target() const override { return svgTarget(); }
+    String title() const final;
+    String target() const final { return svgTarget(); }
 
-    void parseAttribute(const QualifiedName&, const AtomicString&) override;
-    void svgAttributeChanged(const QualifiedName&) override;
+    void parseAttribute(const QualifiedName&, const AtomicString&) final;
+    void svgAttributeChanged(const QualifiedName&) final;
 
-    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) override;
-    bool childShouldCreateRenderer(const Node&) const override;
+    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) final;
+    bool childShouldCreateRenderer(const Node&) const final;
 
-    void defaultEventHandler(Event*) override;
+    void defaultEventHandler(Event*) final;
     
-    bool supportsFocus() const override;
-    bool isMouseFocusable() const override;
-    bool isKeyboardFocusable(KeyboardEvent*) const override;
-    bool isFocusable() const override;
-    bool isURLAttribute(const Attribute&) const override;
-    bool canStartSelection() const override;
-    int tabIndex() const override;
+    bool supportsFocus() const final;
+    bool isMouseFocusable() const final;
+    bool isKeyboardFocusable(KeyboardEvent*) const final;
+    bool isFocusable() const final;
+    bool isURLAttribute(const Attribute&) const final;
+    bool canStartSelection() const final;
+    int tabIndex() const final;
 
-    bool willRespondToMouseClickEvents() override;
+    bool willRespondToMouseClickEvents() final;
 
     BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGAElement)
         // This declaration used to define a non-virtual "String& target() const" method, that clashes with "virtual String Element::target() const".
index 4cd7177..b1e1d86 100644 (file)
@@ -35,7 +35,7 @@ public:
 private:
     SVGAltGlyphDefElement(const QualifiedName&, Document&);
 
-    bool rendererIsNeeded(const RenderStyle&) override { return false; }
+    bool rendererIsNeeded(const RenderStyle&) final { return false; }
 };
 
 }
index b4a4d75..fa0e550 100644 (file)
@@ -35,7 +35,7 @@ public:
 private:
     SVGAltGlyphItemElement(const QualifiedName&, Document&);
 
-    bool rendererIsNeeded(const RenderStyle&) override { return false; }
+    bool rendererIsNeeded(const RenderStyle&) final { return false; }
 };
 
 }
index e10190f..384470a 100644 (file)
@@ -39,8 +39,8 @@ public:
 private:
     SVGAnimateTransformElement(const QualifiedName&, Document&);
     
-    bool hasValidAttributeType() override;
-    void parseAttribute(const QualifiedName&, const AtomicString&) override;
+    bool hasValidAttributeType() final;
+    void parseAttribute(const QualifiedName&, const AtomicString&) final;
 
     SVGTransform::SVGTransformType m_type;
 };
index 50e10fc..47dd532 100644 (file)
@@ -29,15 +29,15 @@ public:
     SVGAnimatedColorAnimator(SVGAnimationElement&, SVGElement&);
 
 private:
-    std::unique_ptr<SVGAnimatedType> constructFromString(const String&) override;
-    std::unique_ptr<SVGAnimatedType> startAnimValAnimation(const SVGElementAnimatedPropertyList&) override { return nullptr; }
-    void stopAnimValAnimation(const SVGElementAnimatedPropertyList&) override { }
-    void resetAnimValToBaseVal(const SVGElementAnimatedPropertyList&, SVGAnimatedType&) override { }
-    void animValWillChange(const SVGElementAnimatedPropertyList&) override { }
-    void animValDidChange(const SVGElementAnimatedPropertyList&) override { }
-    void addAnimatedTypes(SVGAnimatedType*, SVGAnimatedType*) override;
-    void calculateAnimatedValue(float percentage, unsigned repeatCount, SVGAnimatedType*, SVGAnimatedType*, SVGAnimatedType*, SVGAnimatedType*) override;
-    float calculateDistance(const String& fromString, const String& toString) override;
+    std::unique_ptr<SVGAnimatedType> constructFromString(const String&) final;
+    std::unique_ptr<SVGAnimatedType> startAnimValAnimation(const SVGElementAnimatedPropertyList&) final { return nullptr; }
+    void stopAnimValAnimation(const SVGElementAnimatedPropertyList&) final { }
+    void resetAnimValToBaseVal(const SVGElementAnimatedPropertyList&, SVGAnimatedType&) final { }
+    void animValWillChange(const SVGElementAnimatedPropertyList&) final { }
+    void animValDidChange(const SVGElementAnimatedPropertyList&) final { }
+    void addAnimatedTypes(SVGAnimatedType*, SVGAnimatedType*) final;
+    void calculateAnimatedValue(float percentage, unsigned repeatCount, SVGAnimatedType*, SVGAnimatedType*, SVGAnimatedType*, SVGAnimatedType*) final;
+    float calculateDistance(const String& fromString, const String& toString) final;
 };
 
 } // namespace WebCore
index 0ddcc9e..3be4937 100644 (file)
@@ -36,14 +36,14 @@ public:
 private:
     SVGCircleElement(const QualifiedName&, Document&);
 
-    bool isValid() const override { return SVGTests::isValid(); }
+    bool isValid() const final { return SVGTests::isValid(); }
 
-    void parseAttribute(const QualifiedName&, const AtomicString&) override;
-    void svgAttributeChanged(const QualifiedName&) override;
+    void parseAttribute(const QualifiedName&, const AtomicString&) final;
+    void svgAttributeChanged(const QualifiedName&) final;
 
-    bool selfHasRelativeLengths() const override { return true; }
+    bool selfHasRelativeLengths() const final { return true; }
 
-    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) override;
+    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) final;
 
     BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGCircleElement)
         DECLARE_ANIMATED_LENGTH(Cx, cx)
index d1cef9b..4af5d61 100644 (file)
@@ -39,16 +39,16 @@ public:
 private:
     SVGClipPathElement(const QualifiedName&, Document&);
 
-    bool isValid() const override { return SVGTests::isValid(); }
-    bool supportsFocus() const override { return false; }
-    bool needsPendingResourceHandling() const override { return false; }
+    bool isValid() const final { return SVGTests::isValid(); }
+    bool supportsFocus() const final { return false; }
+    bool needsPendingResourceHandling() const final { return false; }
 
     static bool isSupportedAttribute(const QualifiedName&);
-    void parseAttribute(const QualifiedName&, const AtomicString&) override;
-    void svgAttributeChanged(const QualifiedName&) override;
-    void childrenChanged(const ChildChange&) override;
+    void parseAttribute(const QualifiedName&, const AtomicString&) final;
+    void svgAttributeChanged(const QualifiedName&) final;
+    void childrenChanged(const ChildChange&) final;
 
-    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) override;
+    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) final;
 
     BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGClipPathElement)
         DECLARE_ANIMATED_ENUMERATION(ClipPathUnits, clipPathUnits, SVGUnitTypes::SVGUnitType)
index c8e28e2..30dad91 100644 (file)
@@ -48,15 +48,15 @@ public:
 private:
     SVGCursorElement(const QualifiedName&, Document&);
 
-    bool isValid() const override { return SVGTests::isValid(); }
+    bool isValid() const final { return SVGTests::isValid(); }
 
     static bool isSupportedAttribute(const QualifiedName&);
-    void parseAttribute(const QualifiedName&, const AtomicString&) override;
-    void svgAttributeChanged(const QualifiedName&) override;
+    void parseAttribute(const QualifiedName&, const AtomicString&) final;
+    void svgAttributeChanged(const QualifiedName&) final;
 
-    bool rendererIsNeeded(const RenderStyle&) override { return false; }
+    bool rendererIsNeeded(const RenderStyle&) final { return false; }
 
-    void addSubresourceAttributeURLs(ListHashSet<URL>&) const override;
+    void addSubresourceAttributeURLs(ListHashSet<URL>&) const final;
 
     BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGCursorElement)
         DECLARE_ANIMATED_LENGTH(X, x)
@@ -66,9 +66,9 @@ private:
     END_DECLARE_ANIMATED_PROPERTIES
 
     // SVGTests
-    void synchronizeRequiredFeatures() override { SVGTests::synchronizeRequiredFeatures(this); }
-    void synchronizeRequiredExtensions() override { SVGTests::synchronizeRequiredExtensions(this); }
-    void synchronizeSystemLanguage() override { SVGTests::synchronizeSystemLanguage(this); }
+    void synchronizeRequiredFeatures() final { SVGTests::synchronizeRequiredFeatures(this); }
+    void synchronizeRequiredExtensions() final { SVGTests::synchronizeRequiredExtensions(this); }
+    void synchronizeSystemLanguage() final { SVGTests::synchronizeSystemLanguage(this); }
 
     HashSet<CSSCursorImageValue*> m_clients;
 };
index 015485f..3b68b18 100644 (file)
@@ -35,10 +35,10 @@ public:
 private:
     SVGDefsElement(const QualifiedName&, Document&);
 
-    bool isValid() const override;
-    bool supportsFocus() const override { return false; }
+    bool isValid() const final;
+    bool supportsFocus() const final { return false; }
 
-    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) override;
+    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) final;
 
     BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGDefsElement)
         DECLARE_ANIMATED_BOOLEAN_OVERRIDE(ExternalResourcesRequired, externalResourcesRequired)
index faaf5f7..bf64ece 100644 (file)
@@ -34,7 +34,7 @@ public:
 private:
     SVGDescElement(const QualifiedName&, Document&);
 
-    bool rendererIsNeeded(const RenderStyle&) override { return false; }
+    bool rendererIsNeeded(const RenderStyle&) final { return false; }
 };
 
 } // namespace WebCore
index 3883f3f..2bb1b2e 100644 (file)
@@ -36,14 +36,14 @@ public:
 private:
     SVGEllipseElement(const QualifiedName&, Document&);
     
-    bool isValid() const override { return SVGTests::isValid(); }
+    bool isValid() const final { return SVGTests::isValid(); }
 
-    void parseAttribute(const QualifiedName&, const AtomicString&) override;
-    void svgAttributeChanged(const QualifiedName&) override;
+    void parseAttribute(const QualifiedName&, const AtomicString&) final;
+    void svgAttributeChanged(const QualifiedName&) final;
 
-    bool selfHasRelativeLengths() const override { return true; };
+    bool selfHasRelativeLengths() const final { return true; }
 
-    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) override;
+    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) final;
 
     BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGEllipseElement)
         DECLARE_ANIMATED_LENGTH(Cx, cx)
index 2b7917d..1030566 100644 (file)
@@ -33,9 +33,9 @@ public:
 private:
     SVGFEMergeNodeElement(const QualifiedName&, Document&);
 
-    void parseAttribute(const QualifiedName&, const AtomicString&) override;
-    void svgAttributeChanged(const QualifiedName&) override;
-    bool rendererIsNeeded(const RenderStyle&) override { return false; }
+    void parseAttribute(const QualifiedName&, const AtomicString&) final;
+    void svgAttributeChanged(const QualifiedName&) final;
+    bool rendererIsNeeded(const RenderStyle&) final { return false; }
 
     BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGFEMergeNodeElement)
         DECLARE_ANIMATED_STRING(In1, in1)
index 6f871de..3f7412a 100644 (file)
@@ -46,17 +46,17 @@ public:
 private:
     SVGFilterElement(const QualifiedName&, Document&);
 
-    bool needsPendingResourceHandling() const override { return false; }
+    bool needsPendingResourceHandling() const final { return false; }
 
     static bool isSupportedAttribute(const QualifiedName&);
-    void parseAttribute(const QualifiedName&, const AtomicString&) override;
-    void svgAttributeChanged(const QualifiedName&) override;
-    void childrenChanged(const ChildChange&) override;
+    void parseAttribute(const QualifiedName&, const AtomicString&) final;
+    void svgAttributeChanged(const QualifiedName&) final;
+    void childrenChanged(const ChildChange&) final;
 
-    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) override;
-    bool childShouldCreateRenderer(const Node&) const override;
+    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) final;
+    bool childShouldCreateRenderer(const Node&) const final;
 
-    bool selfHasRelativeLengths() const override { return true; }
+    bool selfHasRelativeLengths() const final { return true; }
 
     static const AtomicString& filterResXIdentifier();
     static const AtomicString& filterResYIdentifier();
index 8f41174..3f932c2 100644 (file)
@@ -50,7 +50,7 @@ public:
 private:
     SVGFontElement(const QualifiedName&, Document&);
 
-    bool rendererIsNeeded(const RenderStyle&) override { return false; }
+    bool rendererIsNeeded(const RenderStyle&) final { return false; }
 
     BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGFontElement)
         DECLARE_ANIMATED_BOOLEAN_OVERRIDE(ExternalResourcesRequired, externalResourcesRequired)
index 95ab012..82dbf1b 100644 (file)
@@ -55,13 +55,13 @@ public:
 private:
     SVGFontFaceElement(const QualifiedName&, Document&);
 
-    void parseAttribute(const QualifiedName&, const AtomicString&) override;
+    void parseAttribute(const QualifiedName&, const AtomicString&) final;
 
-    void childrenChanged(const ChildChange&) override;
-    InsertionNotificationRequest insertedInto(ContainerNode&) override;
-    void removedFrom(ContainerNode&) override;
+    void childrenChanged(const ChildChange&) final;
+    InsertionNotificationRequest insertedInto(ContainerNode&) final;
+    void removedFrom(ContainerNode&) final;
 
-    bool rendererIsNeeded(const RenderStyle&) override { return false; }
+    bool rendererIsNeeded(const RenderStyle&) final { return false; }
 
     Ref<StyleRuleFontFace> m_fontFaceRule;
     SVGFontElement* m_fontElement;
index 534b887..e9db41e 100644 (file)
@@ -32,8 +32,8 @@ public:
 private:
     SVGFontFaceFormatElement(const QualifiedName&, Document&);
 
-    void childrenChanged(const ChildChange&) override;
-    bool rendererIsNeeded(const RenderStyle&) override { return false; }
+    void childrenChanged(const ChildChange&) final;
+    bool rendererIsNeeded(const RenderStyle&) final { return false; }
 };
 
 } // namespace WebCore
index 4f7e9ae..1a58a2c 100644 (file)
@@ -36,7 +36,7 @@ public:
 private:
     SVGFontFaceNameElement(const QualifiedName&, Document&);
 
-    bool rendererIsNeeded(const RenderStyle&) override { return false; }
+    bool rendererIsNeeded(const RenderStyle&) final { return false; }
 };
 
 } // namespace WebCore
index 432555e..b93fe88 100644 (file)
@@ -36,8 +36,8 @@ public:
 private:
     SVGFontFaceSrcElement(const QualifiedName&, Document&);
     
-    void childrenChanged(const ChildChange&) override;
-    bool rendererIsNeeded(const RenderStyle&) override { return false; }
+    void childrenChanged(const ChildChange&) final;
+    bool rendererIsNeeded(const RenderStyle&) final { return false; }
 };
 
 } // namespace WebCore
index c2daa86..2a61643 100644 (file)
@@ -40,10 +40,10 @@ public:
 private:
     SVGFontFaceUriElement(const QualifiedName&, Document&);
     
-    void parseAttribute(const QualifiedName&, const AtomicString&) override;
-    void childrenChanged(const ChildChange&) override;
-    InsertionNotificationRequest insertedInto(ContainerNode&) override;
-    bool rendererIsNeeded(const RenderStyle&) override { return false; }
+    void parseAttribute(const QualifiedName&, const AtomicString&) final;
+    void childrenChanged(const ChildChange&) final;
+    InsertionNotificationRequest insertedInto(ContainerNode&) final;
+    bool rendererIsNeeded(const RenderStyle&) final { return false; }
 
     void loadFont();
 
index a15b61e..1c02fcf 100644 (file)
@@ -37,16 +37,16 @@ public:
 private:
     SVGForeignObjectElement(const QualifiedName&, Document&);
 
-    bool isValid() const override { return SVGTests::isValid(); }
+    bool isValid() const final { return SVGTests::isValid(); }
     static bool isSupportedAttribute(const QualifiedName&);
-    void parseAttribute(const QualifiedName&, const AtomicString&) override;
-    void svgAttributeChanged(const QualifiedName&) override;
+    void parseAttribute(const QualifiedName&, const AtomicString&) final;
+    void svgAttributeChanged(const QualifiedName&) final;
 
-    bool rendererIsNeeded(const RenderStyle&) override;
-    bool childShouldCreateRenderer(const Node&) const override;
-    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) override;
+    bool rendererIsNeeded(const RenderStyle&) final;
+    bool childShouldCreateRenderer(const Node&) const final;
+    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) final;
 
-    bool selfHasRelativeLengths() const override { return true; }
+    bool selfHasRelativeLengths() const final { return true; }
 
     BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGForeignObjectElement)
         DECLARE_ANIMATED_LENGTH(X, x)
index ebcc345..4b287a8 100644 (file)
@@ -36,15 +36,15 @@ public:
 private:
     SVGGElement(const QualifiedName&, Document&);
 
-    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) override;
+    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) final;
 
-    bool isValid() const override { return SVGTests::isValid(); }
+    bool isValid() const final { return SVGTests::isValid(); }
 
     static bool isSupportedAttribute(const QualifiedName&);
-    void parseAttribute(const QualifiedName&, const AtomicString&) override;
-    void svgAttributeChanged(const QualifiedName&) override;
+    void parseAttribute(const QualifiedName&, const AtomicString&) final;
+    void svgAttributeChanged(const QualifiedName&) final;
 
-    bool rendererIsNeeded(const RenderStyle&) override;
+    bool rendererIsNeeded(const RenderStyle&) final;
 
     BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGGElement)
         DECLARE_ANIMATED_BOOLEAN_OVERRIDE(ExternalResourcesRequired, externalResourcesRequired)
index ce3f0ee..290d8d9 100644 (file)
@@ -37,7 +37,7 @@ public:
 private:
     SVGGlyphElement(const QualifiedName&, Document&);
 
-    bool rendererIsNeeded(const RenderStyle&) override { return false; }
+    bool rendererIsNeeded(const RenderStyle&) final { return false; }
 };
 
 } // namespace WebCore
index a79c6f1..a7c44e3 100644 (file)
@@ -32,7 +32,7 @@ public:
     static Ref<SVGGlyphRefElement> create(const QualifiedName&, Document&);
 
     bool hasValidGlyphElement(String& glyphName) const;
-    void parseAttribute(const QualifiedName&, const AtomicString&) override;
+    void parseAttribute(const QualifiedName&, const AtomicString&) final;
 
     // DOM interface
     const AtomicString& glyphRef() const;
@@ -49,7 +49,7 @@ public:
 private:
     SVGGlyphRefElement(const QualifiedName&, Document&);
 
-    bool rendererIsNeeded(const RenderStyle&) override { return false; }
+    bool rendererIsNeeded(const RenderStyle&) final { return false; }
 
     BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGGlyphRefElement)
         DECLARE_ANIMATED_STRING_OVERRIDE(Href, href)
index d4a7728..2324c30 100644 (file)
@@ -36,7 +36,7 @@ public:
 private:
     SVGHKernElement(const QualifiedName&, Document&);
 
-    bool rendererIsNeeded(const RenderStyle&) override { return false; }
+    bool rendererIsNeeded(const RenderStyle&) final { return false; }
 };
 
 } // namespace WebCore
index 67baca6..107f538 100644 (file)
@@ -42,24 +42,24 @@ public:
 private:
     SVGImageElement(const QualifiedName&, Document&);
     
-    bool isValid() const override { return SVGTests::isValid(); }
+    bool isValid() const final { return SVGTests::isValid(); }
 
     static bool isSupportedAttribute(const QualifiedName&);
-    void parseAttribute(const QualifiedName&, const AtomicString&) override;
-    void svgAttributeChanged(const QualifiedName&) override;
+    void parseAttribute(const QualifiedName&, const AtomicString&) final;
+    void svgAttributeChanged(const QualifiedName&) final;
 
-    void didAttachRenderers() override;
-    InsertionNotificationRequest insertedInto(ContainerNode&) override;
+    void didAttachRenderers() final;
+    InsertionNotificationRequest insertedInto(ContainerNode&) final;
 
-    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) override;
+    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) final;
 
-    const AtomicString& imageSourceURL() const override;
-    void addSubresourceAttributeURLs(ListHashSet<URL>&) const override;
+    const AtomicString& imageSourceURL() const final;
+    void addSubresourceAttributeURLs(ListHashSet<URL>&) const final;
 
-    bool haveLoadedRequiredResources() override;
+    bool haveLoadedRequiredResources() final;
 
-    bool selfHasRelativeLengths() const override { return true; }
-    void didMoveToNewDocument(Document* oldDocument) override;
+    bool selfHasRelativeLengths() const final { return true; }
+    void didMoveToNewDocument(Document* oldDocument) final;
 
     BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGImageElement)
         DECLARE_ANIMATED_LENGTH(X, x)
index f3ddb3c..dbdf22b 100644 (file)
@@ -36,15 +36,15 @@ public:
 private:
     SVGLineElement(const QualifiedName&, Document&);
     
-    bool isValid() const override { return SVGTests::isValid(); }
+    bool isValid() const final { return SVGTests::isValid(); }
 
     static bool isSupportedAttribute(const QualifiedName&);
-    void parseAttribute(const QualifiedName&, const AtomicString&) override;
-    void svgAttributeChanged(const QualifiedName&) override;
+    void parseAttribute(const QualifiedName&, const AtomicString&) final;
+    void svgAttributeChanged(const QualifiedName&) final;
 
-    bool supportsMarkers() const override { return true; }
+    bool supportsMarkers() const final { return true; }
 
-    bool selfHasRelativeLengths() const override;
+    bool selfHasRelativeLengths() const final;
 
     BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGLineElement)
         DECLARE_ANIMATED_LENGTH(X1, x1)
index 41b6fea..d2d6afb 100644 (file)
@@ -44,16 +44,16 @@ public:
 private:
     SVGMPathElement(const QualifiedName&, Document&);
 
-    void buildPendingResource() override;
+    void buildPendingResource() final;
     void clearResourceReferences();
-    InsertionNotificationRequest insertedInto(ContainerNode&) override;
-    void removedFrom(ContainerNode&) override;
+    InsertionNotificationRequest insertedInto(ContainerNode&) final;
+    void removedFrom(ContainerNode&) final;
 
-    void parseAttribute(const QualifiedName&, const AtomicString&) override;
-    void svgAttributeChanged(const QualifiedName&) override;
+    void parseAttribute(const QualifiedName&, const AtomicString&) final;
+    void svgAttributeChanged(const QualifiedName&) final;
 
-    bool rendererIsNeeded(const RenderStyle&) override { return false; }
-    void finishedInsertingSubtree() override;
+    bool rendererIsNeeded(const RenderStyle&) final { return false; }
+    void finishedInsertingSubtree() final;
 
     void notifyParentOfPathChange(ContainerNode*);
 
index 8f9d5ec..ab745de 100644 (file)
@@ -40,17 +40,17 @@ public:
 private:
     SVGMaskElement(const QualifiedName&, Document&);
 
-    bool isValid() const override { return SVGTests::isValid(); }
-    bool needsPendingResourceHandling() const override { return false; }
+    bool isValid() const final { return SVGTests::isValid(); }
+    bool needsPendingResourceHandling() const final { return false; }
 
     static bool isSupportedAttribute(const QualifiedName&);
-    void parseAttribute(const QualifiedName&, const AtomicString&) override;
-    void svgAttributeChanged(const QualifiedName&) override;
-    void childrenChanged(const ChildChange&) override;
+    void parseAttribute(const QualifiedName&, const AtomicString&) final;
+    void svgAttributeChanged(const QualifiedName&) final;
+    void childrenChanged(const ChildChange&) final;
 
-    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) override;
+    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) final;
 
-    bool selfHasRelativeLengths() const override { return true; }
+    bool selfHasRelativeLengths() const final { return true; }
 
     BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGMaskElement)
         DECLARE_ANIMATED_ENUMERATION(MaskUnits, maskUnits, SVGUnitTypes::SVGUnitType)
@@ -63,9 +63,9 @@ private:
     END_DECLARE_ANIMATED_PROPERTIES
 
     // SVGTests
-    void synchronizeRequiredFeatures() override { SVGTests::synchronizeRequiredFeatures(this); }
-    void synchronizeRequiredExtensions() override { SVGTests::synchronizeRequiredExtensions(this); }
-    void synchronizeSystemLanguage() override { SVGTests::synchronizeSystemLanguage(this); }
+    void synchronizeRequiredFeatures() final { SVGTests::synchronizeRequiredFeatures(this); }
+    void synchronizeRequiredExtensions() final { SVGTests::synchronizeRequiredExtensions(this); }
+    void synchronizeSystemLanguage() final { SVGTests::synchronizeSystemLanguage(this); }
 };
 
 }
index cabbea9..97135a2 100644 (file)
@@ -32,7 +32,7 @@ public:
 private:
     SVGMetadataElement(const QualifiedName&, Document&);
 
-    bool rendererIsNeeded(const RenderStyle&) override { return false; }
+    bool rendererIsNeeded(const RenderStyle&) final { return false; }
 };
 
 } // namespace WebCore
index d9a365b..d055247 100644 (file)
@@ -33,7 +33,7 @@ public:
 private:
     SVGMissingGlyphElement(const QualifiedName&, Document&);
 
-    bool rendererIsNeeded(const RenderStyle&) override { return false; }
+    bool rendererIsNeeded(const RenderStyle&) final { return false; }
 };
 
 } // namespace WebCore
index 2608bb9..7e241b7 100644 (file)
@@ -36,22 +36,22 @@ public:
     SVGPathBuilder(Path&);
 
 private:
-    void incrementPathSegmentCount() override { }
-    bool continueConsuming() override { return true; }
+    void incrementPathSegmentCount() final { }
+    bool continueConsuming() final { return true; }
 
     // Used in UnalteredParsing/NormalizedParsing modes.
-    void moveTo(const FloatPoint&, bool closed, PathCoordinateMode) override;
-    void lineTo(const FloatPoint&, PathCoordinateMode) override;
-    void curveToCubic(const FloatPoint&, const FloatPoint&, const FloatPoint&, PathCoordinateMode) override;
-    void closePath() override;
+    void moveTo(const FloatPoint&, bool closed, PathCoordinateMode) final;
+    void lineTo(const FloatPoint&, PathCoordinateMode) final;
+    void curveToCubic(const FloatPoint&, const FloatPoint&, const FloatPoint&, PathCoordinateMode) final;
+    void closePath() final;
 
     // Only used in UnalteredParsing mode.
-    void lineToHorizontal(float, PathCoordinateMode) override { ASSERT_NOT_REACHED(); }
-    void lineToVertical(float, PathCoordinateMode) override { ASSERT_NOT_REACHED(); }
-    void curveToCubicSmooth(const FloatPoint&, const FloatPoint&, PathCoordinateMode) override { ASSERT_NOT_REACHED(); }
-    void curveToQuadratic(const FloatPoint&, const FloatPoint&, PathCoordinateMode) override { ASSERT_NOT_REACHED(); }
-    void curveToQuadraticSmooth(const FloatPoint&, PathCoordinateMode) override { ASSERT_NOT_REACHED(); }
-    void arcTo(float, float, float, bool, bool, const FloatPoint&, PathCoordinateMode) override { ASSERT_NOT_REACHED(); }
+    void lineToHorizontal(float, PathCoordinateMode) final { ASSERT_NOT_REACHED(); }
+    void lineToVertical(float, PathCoordinateMode) final { ASSERT_NOT_REACHED(); }
+    void curveToCubicSmooth(const FloatPoint&, const FloatPoint&, PathCoordinateMode) final { ASSERT_NOT_REACHED(); }
+    void curveToQuadratic(const FloatPoint&, const FloatPoint&, PathCoordinateMode) final { ASSERT_NOT_REACHED(); }
+    void curveToQuadraticSmooth(const FloatPoint&, PathCoordinateMode) final { ASSERT_NOT_REACHED(); }
+    void arcTo(float, float, float, bool, bool, const FloatPoint&, PathCoordinateMode) final { ASSERT_NOT_REACHED(); }
 
     Path& m_path;
     FloatPoint m_current;
index 6fe3c50..7e54f45 100644 (file)
@@ -33,22 +33,22 @@ public:
     SVGPathByteStreamBuilder(SVGPathByteStream&);
 
 private:
-    void incrementPathSegmentCount() override { }
-    bool continueConsuming() override { return true; }
+    void incrementPathSegmentCount() final { }
+    bool continueConsuming() final { return true; }
 
     // Used in UnalteredParsing/NormalizedParsing modes.
-    void moveTo(const FloatPoint&, bool closed, PathCoordinateMode) override;
-    void lineTo(const FloatPoint&, PathCoordinateMode) override;
-    void curveToCubic(const FloatPoint&, const FloatPoint&, const FloatPoint&, PathCoordinateMode) override;
-    void closePath() override;
+    void moveTo(const FloatPoint&, bool closed, PathCoordinateMode) final;
+    void lineTo(const FloatPoint&, PathCoordinateMode) final;
+    void curveToCubic(const FloatPoint&, const FloatPoint&, const FloatPoint&, PathCoordinateMode) final;
+    void closePath() final;
 
     // Only used in UnalteredParsing mode.
-    void lineToHorizontal(float, PathCoordinateMode) override;
-    void lineToVertical(float, PathCoordinateMode) override;
-    void curveToCubicSmooth(const FloatPoint&, const FloatPoint&, PathCoordinateMode) override;
-    void curveToQuadratic(const FloatPoint&, const FloatPoint&, PathCoordinateMode) override;
-    void curveToQuadraticSmooth(const FloatPoint&, PathCoordinateMode) override;
-    void arcTo(float, float, float, bool largeArcFlag, bool sweepFlag, const FloatPoint&, PathCoordinateMode) override;
+    void lineToHorizontal(float, PathCoordinateMode) final;
+    void lineToVertical(float, PathCoordinateMode) final;
+    void curveToCubicSmooth(const FloatPoint&, const FloatPoint&, PathCoordinateMode) final;
+    void curveToQuadratic(const FloatPoint&, const FloatPoint&, PathCoordinateMode) final;
+    void curveToQuadraticSmooth(const FloatPoint&, PathCoordinateMode) final;
+    void arcTo(float, float, float, bool largeArcFlag, bool sweepFlag, const FloatPoint&, PathCoordinateMode) final;
 
     template<typename ByteType>
     void writeType(const ByteType& type)
index 7452348..f082392 100644 (file)
@@ -31,20 +31,20 @@ public:
     explicit SVGPathByteStreamSource(const SVGPathByteStream&);
 
 private:
-    bool hasMoreData() const override;
-    bool moveToNextToken() override { return true; }
-    bool parseSVGSegmentType(SVGPathSegType&) override;
-    SVGPathSegType nextCommand(SVGPathSegType) override;
-
-    bool parseMoveToSegment(FloatPoint&) override;
-    bool parseLineToSegment(FloatPoint&) override;
-    bool parseLineToHorizontalSegment(float&) override;
-    bool parseLineToVerticalSegment(float&) override;
-    bool parseCurveToCubicSegment(FloatPoint&, FloatPoint&, FloatPoint&) override;
-    bool parseCurveToCubicSmoothSegment(FloatPoint&, FloatPoint&) override;
-    bool parseCurveToQuadraticSegment(FloatPoint&, FloatPoint&) override;
-    bool parseCurveToQuadraticSmoothSegment(FloatPoint&) override;
-    bool parseArcToSegment(float&, float&, float&, bool&, bool&, FloatPoint&) override;
+    bool hasMoreData() const final;
+    bool moveToNextToken() final { return true; }
+    bool parseSVGSegmentType(SVGPathSegType&) final;
+    SVGPathSegType nextCommand(SVGPathSegType) final;
+
+    bool parseMoveToSegment(FloatPoint&) final;
+    bool parseLineToSegment(FloatPoint&) final;
+    bool parseLineToHorizontalSegment(float&) final;
+    bool parseLineToVerticalSegment(float&) final;
+    bool parseCurveToCubicSegment(FloatPoint&, FloatPoint&, FloatPoint&) final;
+    bool parseCurveToCubicSmoothSegment(FloatPoint&, FloatPoint&) final;
+    bool parseCurveToQuadraticSegment(FloatPoint&, FloatPoint&) final;
+    bool parseCurveToQuadraticSmoothSegment(FloatPoint&) final;
+    bool parseArcToSegment(float&, float&, float&, bool&, bool&, FloatPoint&) final;
 
 #if COMPILER(MSVC)
 #pragma warning(disable: 4701)
index 77d72cf..6fd6859 100644 (file)
@@ -91,7 +91,7 @@ public:
 
     void pathSegListChanged(SVGPathSegRole, ListModification = ListModificationUnknown);
 
-    FloatRect getBBox(StyleUpdateStrategy = AllowStyleUpdate) override;
+    FloatRect getBBox(StyleUpdateStrategy = AllowStyleUpdate) final;
 
     static const SVGPropertyInfo* dPropertyInfo();
 
@@ -101,17 +101,17 @@ public:
 
     void animatedPropertyWillBeDeleted();
 
-    size_t approximateMemoryCost() const override;
+    size_t approximateMemoryCost() const final;
 
 private:
     SVGPathElement(const QualifiedName&, Document&);
 
-    bool isValid() const override { return SVGTests::isValid(); }
+    bool isValid() const final { return SVGTests::isValid(); }
 
     static bool isSupportedAttribute(const QualifiedName&);
-    void parseAttribute(const QualifiedName&, const AtomicString&) override;
-    void svgAttributeChanged(const QualifiedName&) override;
-    bool supportsMarkers() const override { return true; }
+    void parseAttribute(const QualifiedName&, const AtomicString&) final;
+    void svgAttributeChanged(const QualifiedName&) final;
+    bool supportsMarkers() const final { return true; }
 
     // Custom 'd' property
     static void synchronizeD(SVGElement* contextElement);
@@ -122,10 +122,10 @@ private:
         DECLARE_ANIMATED_BOOLEAN_OVERRIDE(ExternalResourcesRequired, externalResourcesRequired)
     END_DECLARE_ANIMATED_PROPERTIES
 
-    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) override;
+    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) final;
 
-    Node::InsertionNotificationRequest insertedInto(ContainerNode&) override;
-    void removedFrom(ContainerNode&) override;
+    Node::InsertionNotificationRequest insertedInto(ContainerNode&) final;
+    void removedFrom(ContainerNode&) final;
 
     void invalidateMPathDependencies();
 
index c1ce862..76e58ec 100644 (file)
@@ -39,8 +39,8 @@ private:
     {
     }
 
-    unsigned short pathSegType() const override { return PATHSEG_ARC_ABS; }
-    String pathSegTypeAsLetter() const override { return "A"; }
+    unsigned short pathSegType() const final { return PATHSEG_ARC_ABS; }
+    String pathSegTypeAsLetter() const final { return "A"; }
 };
 
 } // namespace WebCore
index 7f66814..ab1ec1f 100644 (file)
@@ -39,8 +39,8 @@ private:
     {
     }
 
-    unsigned short pathSegType() const override { return PATHSEG_ARC_REL; }
-    String pathSegTypeAsLetter() const override { return "a"; }
+    unsigned short pathSegType() const final { return PATHSEG_ARC_REL; }
+    String pathSegTypeAsLetter() const final { return "a"; }
 };
 
 } // namespace WebCore
index d117feb..69cdfd5 100644 (file)
@@ -38,8 +38,8 @@ private:
     {
     }
 
-    unsigned short pathSegType() const override { return PATHSEG_CLOSEPATH; }
-    String pathSegTypeAsLetter() const override { return "Z"; }
+    unsigned short pathSegType() const final { return PATHSEG_CLOSEPATH; }
+    String pathSegTypeAsLetter() const final { return "Z"; }
 };
 
 } // namespace WebCore
index 9b525f0..65ab96a 100644 (file)
@@ -39,8 +39,8 @@ private:
     {
     }
 
-    unsigned short pathSegType() const override { return PATHSEG_CURVETO_CUBIC_ABS; }
-    String pathSegTypeAsLetter() const override { return "C"; }
+    unsigned short pathSegType() const final { return PATHSEG_CURVETO_CUBIC_ABS; }
+    String pathSegTypeAsLetter() const final { return "C"; }
 };
 
 } // namespace WebCore
index ce5c289..e101677 100644 (file)
@@ -39,8 +39,8 @@ private:
     {
     }
 
-    unsigned short pathSegType() const override { return PATHSEG_CURVETO_CUBIC_REL; }
-    String pathSegTypeAsLetter() const override { return "c"; }
+    unsigned short pathSegType() const final { return PATHSEG_CURVETO_CUBIC_REL; }
+    String pathSegTypeAsLetter() const final { return "c"; }
 };
 
 } // namespace WebCore
index 8f37106..fc13bfd 100644 (file)
@@ -39,8 +39,8 @@ private:
     {
     }
 
-    unsigned short pathSegType() const override { return PATHSEG_CURVETO_CUBIC_SMOOTH_ABS; }
-    String pathSegTypeAsLetter() const override { return "S"; }
+    unsigned short pathSegType() const final { return PATHSEG_CURVETO_CUBIC_SMOOTH_ABS; }
+    String pathSegTypeAsLetter() const final { return "S"; }
 };
 
 } // namespace WebCore
index a8fefc5..40c70fa 100644 (file)
@@ -39,8 +39,8 @@ private:
     {
     }
 
-    unsigned short pathSegType() const override { return PATHSEG_CURVETO_CUBIC_SMOOTH_REL; }
-    String pathSegTypeAsLetter() const override { return "s"; }
+    unsigned short pathSegType() const final { return PATHSEG_CURVETO_CUBIC_SMOOTH_REL; }
+    String pathSegTypeAsLetter() const final { return "s"; }
 };
 
 } // namespace WebCore
index f089420..4ac2dc8 100644 (file)
@@ -39,8 +39,8 @@ private:
     {
     }
 
-    unsigned short pathSegType() const override { return PATHSEG_CURVETO_QUADRATIC_ABS; }
-    String pathSegTypeAsLetter() const override { return "Q"; }
+    unsigned short pathSegType() const final { return PATHSEG_CURVETO_QUADRATIC_ABS; }
+    String pathSegTypeAsLetter() const final { return "Q"; }
 };
 
 } // namespace WebCore
index 744bf6a..bebbba8 100644 (file)
@@ -39,8 +39,8 @@ private:
     {
     }
 
-    unsigned short pathSegType() const override { return PATHSEG_CURVETO_QUADRATIC_REL; }
-    String pathSegTypeAsLetter() const override { return "q"; }
+    unsigned short pathSegType() const final { return PATHSEG_CURVETO_QUADRATIC_REL; }
+    String pathSegTypeAsLetter() const final { return "q"; }
 };
 
 } // namespace WebCore
index 9188ec2..19bb3e9 100644 (file)
@@ -39,8 +39,8 @@ private:
     {
     }
 
-    unsigned short pathSegType() const override { return PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS; }
-    String pathSegTypeAsLetter() const override { return "T"; }
+    unsigned short pathSegType() const final { return PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS; }
+    String pathSegTypeAsLetter() const final { return "T"; }
 };
 
 } // namespace WebCore
index f526444..f0cc53e 100644 (file)
@@ -39,8 +39,8 @@ private:
     {
     }
 
-    unsigned short pathSegType() const override { return PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL; }
-    String pathSegTypeAsLetter() const override { return "t"; }
+    unsigned short pathSegType() const final { return PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL; }
+    String pathSegTypeAsLetter() const final { return "t"; }
 };
 
 } // namespace WebCore
index a4872c4..0dcbbcf 100644 (file)
@@ -39,8 +39,8 @@ private:
     {
     }
 
-    unsigned short pathSegType() const override { return PATHSEG_LINETO_ABS; }
-    String pathSegTypeAsLetter() const override { return "L"; }
+    unsigned short pathSegType() const final { return PATHSEG_LINETO_ABS; }
+    String pathSegTypeAsLetter() const final { return "L"; }
 };
 
 } // namespace WebCore
index 96b7ca6..9eda849 100644 (file)
@@ -39,8 +39,8 @@ private:
     {
     }
 
-    unsigned short pathSegType() const override { return PATHSEG_LINETO_HORIZONTAL_ABS; }
-    String pathSegTypeAsLetter() const override { return "H"; }
+    unsigned short pathSegType() const final { return PATHSEG_LINETO_HORIZONTAL_ABS; }
+    String pathSegTypeAsLetter() const final { return "H"; }
 };
 
 } // namespace WebCore
index e1bb7e7..3d7d64a 100644 (file)
@@ -39,8 +39,8 @@ private:
     {
     }
 
-    unsigned short pathSegType() const override { return PATHSEG_LINETO_HORIZONTAL_REL; }
-    String pathSegTypeAsLetter() const override { return "h"; }
+    unsigned short pathSegType() const final { return PATHSEG_LINETO_HORIZONTAL_REL; }
+    String pathSegTypeAsLetter() const final { return "h"; }
 };
 
 } // namespace WebCore
index 867183d..6fd5066 100644 (file)
@@ -39,8 +39,8 @@ private:
     {
     }
 
-    unsigned short pathSegType() const override { return PATHSEG_LINETO_REL; }
-    String pathSegTypeAsLetter() const override { return "l"; }
+    unsigned short pathSegType() const final { return PATHSEG_LINETO_REL; }
+    String pathSegTypeAsLetter() const final { return "l"; }
 };
 
 } // namespace WebCore
index aab537e..5502e4d 100644 (file)
@@ -39,8 +39,8 @@ private:
     {
     }
 
-    unsigned short pathSegType() const override { return PATHSEG_LINETO_VERTICAL_ABS; }
-    String pathSegTypeAsLetter() const override { return "V"; }
+    unsigned short pathSegType() const final { return PATHSEG_LINETO_VERTICAL_ABS; }
+    String pathSegTypeAsLetter() const final { return "V"; }
 };
 
 } // namespace WebCore
index f594555..2d37a3c 100644 (file)
@@ -39,8 +39,8 @@ private:
     {
     }
 
-    unsigned short pathSegType() const override { return PATHSEG_LINETO_VERTICAL_REL; }
-    String pathSegTypeAsLetter() const override { return "v"; }
+    unsigned short pathSegType() const final { return PATHSEG_LINETO_VERTICAL_REL; }
+    String pathSegTypeAsLetter() const final { return "v"; }
 };
 
 } // namespace WebCore
index b150c00..80fb3eb 100644 (file)
@@ -37,22 +37,22 @@ public:
     SVGPathSegListBuilder(SVGPathElement&, SVGPathSegList&, SVGPathSegRole);
 
 private:
-    void incrementPathSegmentCount() override { }
-    bool continueConsuming() override { return true; }
+    void incrementPathSegmentCount() final { }
+    bool continueConsuming() final { return true; }
 
     // Used in UnalteredParsing/NormalizedParsing modes.
-    void moveTo(const FloatPoint&, bool closed, PathCoordinateMode) override;
-    void lineTo(const FloatPoint&, PathCoordinateMode) override;
-    void curveToCubic(const FloatPoint&, const FloatPoint&, const FloatPoint&, PathCoordinateMode) override;
-    void closePath() override;
+    void moveTo(const FloatPoint&, bool closed, PathCoordinateMode) final;
+    void lineTo(const FloatPoint&, PathCoordinateMode) final;
+    void curveToCubic(const FloatPoint&, const FloatPoint&, const FloatPoint&, PathCoordinateMode) final;
+    void closePath() final;
 
     // Only used in UnalteredParsing mode.
-    void lineToHorizontal(float, PathCoordinateMode) override;
-    void lineToVertical(float, PathCoordinateMode) override;
-    void curveToCubicSmooth(const FloatPoint&, const FloatPoint&, PathCoordinateMode) override;
-    void curveToQuadratic(const FloatPoint&, const FloatPoint&, PathCoordinateMode) override;
-    void curveToQuadraticSmooth(const FloatPoint&, PathCoordinateMode) override;
-    void arcTo(float, float, float, bool largeArcFlag, bool sweepFlag, const FloatPoint&, PathCoordinateMode) override;
+    void lineToHorizontal(float, PathCoordinateMode) final;
+    void lineToVertical(float, PathCoordinateMode) final;
+    void curveToCubicSmooth(const FloatPoint&, const FloatPoint&, PathCoordinateMode) final;
+    void curveToQuadratic(const FloatPoint&, const FloatPoint&, PathCoordinateMode) final;
+    void curveToQuadraticSmooth(const FloatPoint&, PathCoordinateMode) final;
+    void arcTo(float, float, float, bool largeArcFlag, bool sweepFlag, const FloatPoint&, PathCoordinateMode) final;
 
     SVGPathElement& m_pathElement;
     SVGPathSegList& m_pathSegList;
index e8d7e40..675b425 100644 (file)
@@ -33,20 +33,20 @@ public:
     explicit SVGPathSegListSource(const SVGPathSegList&);
 
 private:
-    bool hasMoreData() const override;
-    bool moveToNextToken() override { return true; }
-    bool parseSVGSegmentType(SVGPathSegType&) override;
-    SVGPathSegType nextCommand(SVGPathSegType) override;
-
-    bool parseMoveToSegment(FloatPoint&) override;
-    bool parseLineToSegment(FloatPoint&) override;
-    bool parseLineToHorizontalSegment(float&) override;
-    bool parseLineToVerticalSegment(float&) override;
-    bool parseCurveToCubicSegment(FloatPoint&, FloatPoint&, FloatPoint&) override;
-    bool parseCurveToCubicSmoothSegment(FloatPoint&, FloatPoint&) override;
-    bool parseCurveToQuadraticSegment(FloatPoint&, FloatPoint&) override;
-    bool parseCurveToQuadraticSmoothSegment(FloatPoint&) override;
-    bool parseArcToSegment(float&, float&, float&, bool&, bool&, FloatPoint&) override;
+    bool hasMoreData() const final;
+    bool moveToNextToken() final { return true; }
+    bool parseSVGSegmentType(SVGPathSegType&) final;
+    SVGPathSegType nextCommand(SVGPathSegType) final;
+
+    bool parseMoveToSegment(FloatPoint&) final;
+    bool parseLineToSegment(FloatPoint&) final;
+    bool parseLineToHorizontalSegment(float&) final;
+    bool parseLineToVerticalSegment(float&) final;
+    bool parseCurveToCubicSegment(FloatPoint&, FloatPoint&, FloatPoint&) final;
+    bool parseCurveToCubicSmoothSegment(FloatPoint&, FloatPoint&) final;
+    bool parseCurveToQuadraticSegment(FloatPoint&, FloatPoint&) final;
+    bool parseCurveToQuadraticSmoothSegment(FloatPoint&) final;
+    bool parseArcToSegment(float&, float&, float&, bool&, bool&, FloatPoint&) final;
 
     const SVGPathSegList& m_pathSegList;
     RefPtr<SVGPathSeg> m_segment;
index d9059ee..031063b 100644 (file)
@@ -39,8 +39,8 @@ private:
     {
     }
 
-    unsigned short pathSegType() const override { return PATHSEG_MOVETO_ABS; }
-    String pathSegTypeAsLetter() const override { return "M"; }
+    unsigned short pathSegType() const final { return PATHSEG_MOVETO_ABS; }
+    String pathSegTypeAsLetter() const final { return "M"; }
 };
 
 } // namespace WebCore
index 078b841..839ee9b 100644 (file)
@@ -39,8 +39,8 @@ private:
     {
     }
 
-    unsigned short pathSegType() const override { return PATHSEG_MOVETO_REL; }
-    String pathSegTypeAsLetter() const override { return "m"; }
+    unsigned short pathSegType() const final { return PATHSEG_MOVETO_REL; }
+    String pathSegTypeAsLetter() const final { return "m"; }
 };
 
 } // namespace WebCore
index 2f7a5ed..41a902e 100644 (file)
@@ -31,20 +31,20 @@ public:
     explicit SVGPathStringSource(const String&);
 
 private:
-    bool hasMoreData() const override;
-    bool moveToNextToken() override;
-    bool parseSVGSegmentType(SVGPathSegType&) override;
-    SVGPathSegType nextCommand(SVGPathSegType previousCommand) override;
+    bool hasMoreData() const final;
+    bool moveToNextToken() final;
+    bool parseSVGSegmentType(SVGPathSegType&) final;
+    SVGPathSegType nextCommand(SVGPathSegType previousCommand) final;
 
-    bool parseMoveToSegment(FloatPoint&) override;
-    bool parseLineToSegment(FloatPoint&) override;
-    bool parseLineToHorizontalSegment(float&) override;
-    bool parseLineToVerticalSegment(float&) override;
-    bool parseCurveToCubicSegment(FloatPoint&, FloatPoint&, FloatPoint&) override;
-    bool parseCurveToCubicSmoothSegment(FloatPoint&, FloatPoint&) override;
-    bool parseCurveToQuadraticSegment(FloatPoint&, FloatPoint&) override;
-    bool parseCurveToQuadraticSmoothSegment(FloatPoint&) override;
-    bool parseArcToSegment(float&, float&, float&, bool&, bool&, FloatPoint&) override;
+    bool parseMoveToSegment(FloatPoint&) final;
+    bool parseLineToSegment(FloatPoint&) final;
+    bool parseLineToHorizontalSegment(float&) final;
+    bool parseLineToVerticalSegment(float&) final;
+    bool parseCurveToCubicSegment(FloatPoint&, FloatPoint&, FloatPoint&) final;
+    bool parseCurveToCubicSmoothSegment(FloatPoint&, FloatPoint&) final;
+    bool parseCurveToQuadraticSegment(FloatPoint&, FloatPoint&) final;
+    bool parseCurveToQuadraticSmoothSegment(FloatPoint&) final;
+    bool parseArcToSegment(float&, float&, float&, bool&, bool&, FloatPoint&) final;
 
     String m_string;
     bool m_is8BitSource;
index efe4ab7..668343a 100644 (file)
@@ -37,24 +37,24 @@ public:
     float totalLength() const;
     SVGPoint currentPoint() const;
 
-    void incrementPathSegmentCount() override { ++m_segmentIndex; }
-    bool continueConsuming() override;
+    void incrementPathSegmentCount() final { ++m_segmentIndex; }
+    bool continueConsuming() final;
 
 private:
     // Used in UnalteredParsing/NormalizedParsing modes.
-    void moveTo(const FloatPoint&, bool closed, PathCoordinateMode) override;
-    void lineTo(const FloatPoint&, PathCoordinateMode) override;
-    void curveToCubic(const FloatPoint&, const FloatPoint&, const FloatPoint&, PathCoordinateMode) override;
-    void closePath() override;
+    void moveTo(const FloatPoint&, bool closed, PathCoordinateMode) final;
+    void lineTo(const FloatPoint&, PathCoordinateMode) final;
+    void curveToCubic(const FloatPoint&, const FloatPoint&, const FloatPoint&, PathCoordinateMode) final;
+    void closePath() final;
 
 private:
     // Not used for PathTraversalState.
-    void lineToHorizontal(float, PathCoordinateMode) override { ASSERT_NOT_REACHED(); }
-    void lineToVertical(float, PathCoordinateMode) override { ASSERT_NOT_REACHED(); }
-    void curveToCubicSmooth(const FloatPoint&, const FloatPoint&, PathCoordinateMode) override { ASSERT_NOT_REACHED(); }
-    void curveToQuadratic(const FloatPoint&, const FloatPoint&, PathCoordinateMode) override { ASSERT_NOT_REACHED(); }
-    void curveToQuadraticSmooth(const FloatPoint&, PathCoordinateMode) override { ASSERT_NOT_REACHED(); }
-    void arcTo(float, float, float, bool, bool, const FloatPoint&, PathCoordinateMode) override { ASSERT_NOT_REACHED(); }
+    void lineToHorizontal(float, PathCoordinateMode) final { ASSERT_NOT_REACHED(); }
+    void lineToVertical(float, PathCoordinateMode) final { ASSERT_NOT_REACHED(); }
+    void curveToCubicSmooth(const FloatPoint&, const FloatPoint&, PathCoordinateMode) final { ASSERT_NOT_REACHED(); }
+    void curveToQuadratic(const FloatPoint&, const FloatPoint&, PathCoordinateMode) final { ASSERT_NOT_REACHED(); }
+    void curveToQuadraticSmooth(const FloatPoint&, PathCoordinateMode) final { ASSERT_NOT_REACHED(); }
+    void arcTo(float, float, float, bool, bool, const FloatPoint&, PathCoordinateMode) final { ASSERT_NOT_REACHED(); }
 
     PathTraversalState& m_traversalState;
     unsigned m_segmentIndex { 0 };
index a786679..c10321a 100644 (file)
@@ -49,22 +49,22 @@ public:
 
     void collectPatternAttributes(PatternAttributes&) const;
 
-    AffineTransform localCoordinateSpaceTransform(SVGLocatable::CTMScope) const override;
+    AffineTransform localCoordinateSpaceTransform(SVGLocatable::CTMScope) const final;
 
 private:
     SVGPatternElement(const QualifiedName&, Document&);
     
-    bool isValid() const override { return SVGTests::isValid(); }
-    bool needsPendingResourceHandling() const override { return false; }
+    bool isValid() const final { return SVGTests::isValid(); }
+    bool needsPendingResourceHandling() const final { return false; }
 
     static bool isSupportedAttribute(const QualifiedName&);
-    void parseAttribute(const QualifiedName&, const AtomicString&) override;
-    void svgAttributeChanged(const QualifiedName&) override;
-    void childrenChanged(const ChildChange&) override;
+    void parseAttribute(const QualifiedName&, const AtomicString&) final;
+    void svgAttributeChanged(const QualifiedName&) final;
+    void childrenChanged(const ChildChange&) final;
 
-    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) override;
+    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) final;
 
-    bool selfHasRelativeLengths() const override { return true; }
+    bool selfHasRelativeLengths() const final { return true; }
 
     BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGPatternElement)
         DECLARE_ANIMATED_LENGTH(X, x)
@@ -81,9 +81,9 @@ private:
     END_DECLARE_ANIMATED_PROPERTIES
 
     // SVGTests
-    void synchronizeRequiredFeatures() override { SVGTests::synchronizeRequiredFeatures(this); }
-    void synchronizeRequiredExtensions() override { SVGTests::synchronizeRequiredExtensions(this); }
-    void synchronizeSystemLanguage() override { SVGTests::synchronizeSystemLanguage(this); }
+    void synchronizeRequiredFeatures() final { SVGTests::synchronizeRequiredFeatures(this); }
+    void synchronizeRequiredExtensions() final { SVGTests::synchronizeRequiredExtensions(this); }
+    void synchronizeSystemLanguage() final { SVGTests::synchronizeSystemLanguage(this); }
 };
 
 } // namespace WebCore
index bb248c3..8cbdfb4 100644 (file)
@@ -37,14 +37,14 @@ public:
 private:
     SVGRectElement(const QualifiedName&, Document&);
     
-    bool isValid() const override { return SVGTests::isValid(); }
+    bool isValid() const final { return SVGTests::isValid(); }
 
-    void parseAttribute(const QualifiedName&, const AtomicString&) override;
-    void svgAttributeChanged(const QualifiedName&) override;
+    void parseAttribute(const QualifiedName&, const AtomicString&) final;
+    void svgAttributeChanged(const QualifiedName&) final;
 
-    bool selfHasRelativeLengths() const override { return true; }
+    bool selfHasRelativeLengths() const final { return true; }
 
-    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) override;
+    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) final;
 
     BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGRectElement)
         DECLARE_ANIMATED_LENGTH(X, x)
index 1c218a0..e21d309 100644 (file)
@@ -40,42 +40,42 @@ public:
 private:
     SVGScriptElement(const QualifiedName&, Document&, bool wasInsertedByParser, bool alreadyStarted);
 
-    void parseAttribute(const QualifiedName&, const AtomicString&) override;
-    InsertionNotificationRequest insertedInto(ContainerNode&) override;
-    void finishedInsertingSubtree() override;
-    void childrenChanged(const ChildChange&) override;
+    void parseAttribute(const QualifiedName&, const AtomicString&) final;
+    InsertionNotificationRequest insertedInto(ContainerNode&) final;
+    void finishedInsertingSubtree() final;
+    void childrenChanged(const ChildChange&) final;
 
-    void svgAttributeChanged(const QualifiedName&) override;
-    bool isURLAttribute(const Attribute&) const override;
-    void finishParsingChildren() override;
+    void svgAttributeChanged(const QualifiedName&) final;
+    bool isURLAttribute(const Attribute&) const final;
+    void finishParsingChildren() final;
 
-    void addSubresourceAttributeURLs(ListHashSet<URL>&) const override;
+    void addSubresourceAttributeURLs(ListHashSet<URL>&) const final;
 
-    bool haveLoadedRequiredResources() override { return SVGExternalResourcesRequired::haveLoadedRequiredResources(); }
+    bool haveLoadedRequiredResources() final { return SVGExternalResourcesRequired::haveLoadedRequiredResources(); }
 
-    String sourceAttributeValue() const override;
-    String charsetAttributeValue() const override;
-    String typeAttributeValue() const override;
-    String languageAttributeValue() const override;
-    String forAttributeValue() const override;
-    String eventAttributeValue() const override;
-    bool asyncAttributeValue() const override;
-    bool deferAttributeValue() const override;
-    bool hasSourceAttribute() const override;
+    String sourceAttributeValue() const final;
+    String charsetAttributeValue() const final;
+    String typeAttributeValue() const final;
+    String languageAttributeValue() const final;
+    String forAttributeValue() const final;
+    String eventAttributeValue() const final;
+    bool asyncAttributeValue() const final;
+    bool deferAttributeValue() const final;
+    bool hasSourceAttribute() const final;
 
-    void dispatchLoadEvent() override { SVGExternalResourcesRequired::dispatchLoadEvent(this); }
+    void dispatchLoadEvent() final { SVGExternalResourcesRequired::dispatchLoadEvent(this); }
 
-    Ref<Element> cloneElementWithoutAttributesAndChildren(Document&) override;
-    bool rendererIsNeeded(const RenderStyle&) override { return false; }
+    Ref<Element> cloneElementWithoutAttributesAndChildren(Document&) final;
+    bool rendererIsNeeded(const RenderStyle&) final { return false; }
 
     // SVGExternalResourcesRequired
-    void setHaveFiredLoadEvent(bool haveFiredLoadEvent) override { ScriptElement::setHaveFiredLoadEvent(haveFiredLoadEvent); }
-    bool isParserInserted() const override { return ScriptElement::isParserInserted(); }
-    bool haveFiredLoadEvent() const override { return ScriptElement::haveFiredLoadEvent(); }
-    Timer* svgLoadEventTimer() override { return &m_svgLoadEventTimer; }
+    void setHaveFiredLoadEvent(bool haveFiredLoadEvent) final { ScriptElement::setHaveFiredLoadEvent(haveFiredLoadEvent); }
+    bool isParserInserted() const final { return ScriptElement::isParserInserted(); }
+    bool haveFiredLoadEvent() const final { return ScriptElement::haveFiredLoadEvent(); }
+    Timer* svgLoadEventTimer() final { return &m_svgLoadEventTimer; }
 
 #ifndef NDEBUG
-    bool filterOutAnimatableAttribute(const QualifiedName&) const override;
+    bool filterOutAnimatableAttribute(const QualifiedName&) const final;
 #endif
 
     BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGScriptElement)
index 480d4a9..fca4213 100644 (file)
@@ -35,13 +35,13 @@ public:
 private:
     SVGStopElement(const QualifiedName&, Document&);
 
-    void parseAttribute(const QualifiedName&, const AtomicString&) override;
-    void svgAttributeChanged(const QualifiedName&) override;
+    void parseAttribute(const QualifiedName&, const AtomicString&) final;
+    void svgAttributeChanged(const QualifiedName&) final;
 
-    bool isGradientStop() const override { return true; }
+    bool isGradientStop() const final { return true; }
 
-    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) override;
-    bool rendererIsNeeded(const RenderStyle&) override;
+    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) final;
+    bool rendererIsNeeded(const RenderStyle&) final;
 
     BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGStopElement)
         DECLARE_ANIMATED_NUMBER(Offset, offset)
index b57ae5d..c564755 100644 (file)
@@ -43,25 +43,25 @@ public:
     const AtomicString& media() const;
     void setMedia(const AtomicString&, ExceptionCode&);
 
-    String title() const override;
+    String title() const final;
     void setTitle(const AtomicString&, ExceptionCode&);
 
 private:
     SVGStyleElement(const QualifiedName&, Document&, bool createdByParser);
 
-    void parseAttribute(const QualifiedName&, const AtomicString&) override;
-    InsertionNotificationRequest insertedInto(ContainerNode&) override;
-    void removedFrom(ContainerNode&) override;
-    void childrenChanged(const ChildChange&) override;
+    void parseAttribute(const QualifiedName&, const AtomicString&) final;
+    InsertionNotificationRequest insertedInto(ContainerNode&) final;
+    void removedFrom(ContainerNode&) final;
+    void childrenChanged(const ChildChange&) final;
 
-    bool rendererIsNeeded(const RenderStyle&) override { return false; }
+    bool rendererIsNeeded(const RenderStyle&) final { return false; }
 
-    void finishParsingChildren() override;
+    void finishParsingChildren() final;
 
     virtual bool isLoading() const { return m_styleSheetOwner.isLoading(); }
-    bool sheetLoaded() override { return m_styleSheetOwner.sheetLoaded(*this); }
-    void startLoadingDynamicSheet() override { m_styleSheetOwner.startLoadingDynamicSheet(*this); }
-    Timer* svgLoadEventTimer() override { return &m_svgLoadEventTimer; }
+    bool sheetLoaded() final { return m_styleSheetOwner.sheetLoaded(*this); }
+    void startLoadingDynamicSheet() final { m_styleSheetOwner.startLoadingDynamicSheet(*this); }
+    Timer* svgLoadEventTimer() final { return &m_svgLoadEventTimer; }
 
     InlineStyleSheetOwner m_styleSheetOwner;
     Timer m_svgLoadEventTimer;
index 4210b80..ddc6d53 100644 (file)
@@ -35,10 +35,10 @@ public:
 private:
     SVGSwitchElement(const QualifiedName&, Document&);
     
-    bool isValid() const override { return SVGTests::isValid(); }
+    bool isValid() const final { return SVGTests::isValid(); }
 
-    bool childShouldCreateRenderer(const Node&) const override;
-    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) override;
+    bool childShouldCreateRenderer(const Node&) const final;
+    RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) final;
 
     BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGSwitchElement)
         DECLARE_ANIMATED_BOOLEAN_OVERRIDE(ExternalResourcesRequired, externalResourcesRequired)
index 5e414a8..655018d 100644 (file)
@@ -72,8 +72,8 @@ public:
 private:
     explicit SVGTRefTargetEventListener(SVGTRefElement& trefElement);
 
-    void handleEvent(ScriptExecutionContext*, Event*) override;
-    bool operator==(const EventListener&) const override;
+    void handleEvent(ScriptExecutionContext*, Event*) final;
+    bool operator==(const EventListener&) const final;
 
     SVGTRefElement& m_trefElement;
     RefPtr<Element> m_target;
index f616a3e..903eb43 100644 (file)
@@ -33,11 +33,11 @@ public:
 private:
     SVGTitleElement(const QualifiedName&, Document&);
 
-    InsertionNotificationRequest insertedInto(ContainerNode&) override;
-    void removedFrom(ContainerNode&) override;
-    void childrenChanged(const ChildChange&) override;
+    InsertionNotificationRequest insertedInto(ContainerNode&) final;
+    void removedFrom(ContainerNode&) final;
+    void childrenChanged(const ChildChange&) final;
 
-    bool rendererIsNeeded(const RenderStyle&) override { return false; }
+    bool rendererIsNeeded(const RenderStyle&) final { return false; }
 };
 
 } // namespace WebCore
index 42e9d99..aee947c 100644 (file)
@@ -1181,7 +1181,7 @@ private:
         m_current = destination;
     }
 
-    void moveTo(const FloatPoint& targetPoint, bool closed, PathCoordinateMode mode) override
+    void moveTo(const FloatPoint& targetPoint, bool closed, PathCoordinateMode mode) final
     {
         if (closed && !m_cffData.isEmpty())
             closePath();
@@ -1201,7 +1201,7 @@ private:
         m_cffData.append(rLineTo);
     }
 
-    void lineTo(const FloatPoint& targetPoint, PathCoordinateMode mode) override
+    void lineTo(const FloatPoint& targetPoint, PathCoordinateMode mode) final
     {
         FloatPoint scaledTargetPoint = FloatPoint(targetPoint.x() * m_unitsPerEmScalar, targetPoint.y() * m_unitsPerEmScalar);
         FloatPoint destination = mode == AbsoluteCoordinates ? scaledTargetPoint : m_current + scaledTargetPoint;
@@ -1209,7 +1209,7 @@ private:
         unscaledLineTo(destination);
     }
 
-    void curveToCubic(const FloatPoint& point1, const FloatPoint& point2, const FloatPoint& point3, PathCoordinateMode mode) override
+    void curveToCubic(const FloatPoint& point1, const FloatPoint& point2, const FloatPoint& point3, PathCoordinateMode mode) final
     {
         FloatPoint scaledPoint1 = FloatPoint(point1.x() * m_unitsPerEmScalar, point1.y() * m_unitsPerEmScalar);
         FloatPoint scaledPoint2 = FloatPoint(point2.x() * m_unitsPerEmScalar, point2.y() * m_unitsPerEmScalar);
@@ -1227,21 +1227,21 @@ private:
         m_cffData.append(rrCurveTo);
     }
 
-    void closePath() override
+    void closePath() final
     {
         if (m_current != m_startingPoint)
             unscaledLineTo(m_startingPoint);
     }
 
-    void incrementPathSegmentCount() override { }
-    bool continueConsuming() override { return true; }
+    void incrementPathSegmentCount() final { }
+    bool continueConsuming() final { return true; }
 
-    void lineToHorizontal(float, PathCoordinateMode) override { ASSERT_NOT_REACHED(); }
-    void lineToVertical(float, PathCoordinateMode) override { ASSERT_NOT_REACHED(); }
-    void curveToCubicSmooth(const FloatPoint&, const FloatPoint&, PathCoordinateMode) override { ASSERT_NOT_REACHED(); }
-    void curveToQuadratic(const FloatPoint&, const FloatPoint&, PathCoordinateMode) override { ASSERT_NOT_REACHED(); }
-    void curveToQuadraticSmooth(const FloatPoint&, PathCoordinateMode) override { ASSERT_NOT_REACHED(); }
-    void arcTo(float, float, float, bool, bool, const FloatPoint&, PathCoordinateMode) override { ASSERT_NOT_REACHED(); }
+    void lineToHorizontal(float, PathCoordinateMode) final { ASSERT_NOT_REACHED(); }
+    void lineToVertical(float, PathCoordinateMode) final { ASSERT_NOT_REACHED(); }
+    void curveToCubicSmooth(const FloatPoint&, const FloatPoint&, PathCoordinateMode) final { ASSERT_NOT_REACHED(); }
+    void curveToQuadratic(const FloatPoint&, const FloatPoint&, PathCoordinateMode) final { ASSERT_NOT_REACHED(); }
+    void curveToQuadraticSmooth(const FloatPoint&, PathCoordinateMode) final { ASSERT_NOT_REACHED(); }
+    void arcTo(float, float, float, bool, bool, const FloatPoint&, PathCoordinateMode) final { ASSERT_NOT_REACHED(); }
 
     Vector<char>& m_cffData;
     FloatPoint m_startingPoint;
index fec6e95..cd6bcb1 100644 (file)
@@ -49,7 +49,7 @@ private:
     {
     }
 
-    bool rendererIsNeeded(const RenderStyle&) override { return false; }
+    bool rendererIsNeeded(const RenderStyle&) final { return false; }
 };
 
 } // namespace WebCore
index 18d493f..7538f50 100644 (file)
@@ -35,7 +35,7 @@ public:
 private:
     SVGVKernElement(const QualifiedName&, Document&);
 
-    bool rendererIsNeeded(const RenderStyle&) override { return false; }
+    bool rendererIsNeeded(const RenderStyle&) final { return false; }
 };
 
 } // namespace WebCore
index 35d4a7f..18c1b0a 100644 (file)
@@ -50,9 +50,9 @@ private:
     SVGViewElement(const QualifiedName&, Document&);
 
     // FIXME: svgAttributeChanged missing.
-    void parseAttribute(const QualifiedName&, const AtomicString&) override;
+    void parseAttribute(const QualifiedName&, const AtomicString&) final;
 
-    bool rendererIsNeeded(const RenderStyle&) override { return false; }
+    bool rendererIsNeeded(const RenderStyle&) final { return false; }
 
     BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGViewElement)
         DECLARE_ANIMATED_BOOLEAN_OVERRIDE(ExternalResourcesRequired, externalResourcesRequired)
index bf76547..974ad18 100644 (file)
@@ -45,7 +45,7 @@ public:
 
     SVGPoint newTranslate() const;
 
-    EventInterface eventInterface() const override;
+    EventInterface eventInterface() const final;
 
 private:
     SVGZoomEvent();
index 8bed176..c409c0f 100644 (file)
@@ -77,7 +77,7 @@ public:
             : nullptr;
     }
 
-    bool operator==(const EventListener& other) const override;
+    bool operator==(const EventListener& other) const final;
     
     void disconnectAnimation()
     {
@@ -92,7 +92,7 @@ private:
     {
     }
 
-    void handleEvent(ScriptExecutionContext*, Event*) override;
+    void handleEvent(ScriptExecutionContext*, Event*) final;
 
     SVGSMILElement* m_animation;
     SVGSMILElement::Condition* m_condition;
index 17d9072..9919a88 100644 (file)
@@ -51,22 +51,22 @@ public:
     RenderBox* embeddedContentBox() const;
     FrameView* frameView() const;
 
-    bool isSVGImage() const override { return true; }
-    FloatSize size() const override { return m_intrinsicSize; }
+    bool isSVGImage() const final { return true; }
+    FloatSize size() const final { return m_intrinsicSize; }
 
     void setURL(const URL& url) { m_url = url; }
 
-    bool hasSingleSecurityOrigin() const override;
+    bool hasSingleSecurityOrigin() const final;
 
-    bool hasRelativeWidth() const override;
-    bool hasRelativeHeight() const override;
+    bool hasRelativeWidth() const final;
+    bool hasRelativeHeight() const final;
 
-    void startAnimation(CatchUpAnimation = CatchUp) override;
-    void stopAnimation() override;
-    void resetAnimation() override;
+    void startAnimation(CatchUpAnimation = CatchUp) final;
+    void stopAnimation() final;
+    void resetAnimation() final;
 
 #if USE(CAIRO)
-    NativeImagePtr nativeImageForCurrentFrame() override;
+    NativeImagePtr nativeImageForCurrentFrame() final;
 #endif
 
 private:
@@ -75,26 +75,26 @@ private:
 
     virtual ~SVGImage();
 
-    String filenameExtension() const override;
+    String filenameExtension() const final;
 
-    void setContainerSize(const FloatSize&) override;
+    void setContainerSize(const FloatSize&) final;
     IntSize containerSize() const;
-    bool usesContainerSize() const override { return true; }
-    void computeIntrinsicDimensions(Length& intrinsicWidth, Length& intrinsicHeight, FloatSize& intrinsicRatio) override;
+    bool usesContainerSize() const final { return true; }
+    void computeIntrinsicDimensions(Length& intrinsicWidth, Length& intrinsicHeight, FloatSize& intrinsicRatio) final;
 
     void reportApproximateMemoryCost() const;
-    bool dataChanged(bool allDataReceived) override;
+    bool dataChanged(bool allDataReceived) final;
 
     // FIXME: SVGImages will be unable to prune because this function is not implemented yet.
-    void destroyDecodedData(bool) override { }
+    void destroyDecodedData(bool) final { }
 
     // FIXME: Implement this to be less conservative.
-    bool currentFrameKnownToBeOpaque() override { return false; }
+    bool currentFrameKnownToBeOpaque() final { return false; }
 
-    void dump(TextStream&) const override;
+    void dump(TextStream&) const final;
 
     SVGImage(ImageObserver&, const URL&);
-    void draw(GraphicsContext&, const FloatRect& fromRect, const FloatRect& toRect, CompositeOperator, BlendMode, ImageOrientationDescription) override;
+    void draw(GraphicsContext&, const FloatRect& fromRect, const FloatRect& toRect, CompositeOperator, BlendMode, ImageOrientationDescription) final;
     void drawForContainer(GraphicsContext&, const FloatSize, float, const FloatRect&, const FloatRect&, CompositeOperator, BlendMode);
     void drawPatternForContainer(GraphicsContext&, const FloatSize& containerSize, float zoom, const FloatRect& srcRect, const AffineTransform&, const FloatPoint& phase, const FloatSize& spacing,
         CompositeOperator, const FloatRect&, BlendMode);
index 6794c72..fe6f2e4 100644 (file)
@@ -41,16 +41,16 @@ public:
     {
     }
     
-    bool isSVGImageChromeClient() const override { return true; }
+    bool isSVGImageChromeClient() const final { return true; }
     SVGImage* image() const { return m_image; }
     
 private:
-    void chromeDestroyed() override
+    void chromeDestroyed() final
     {
         m_image = nullptr;
     }
     
-    void invalidateContentsAndRootView(const IntRect& r) override
+    void invalidateContentsAndRootView(const IntRect& r) final
     {
         // If m_image->m_page is null, we're being destructed, don't fire changedInRect() in that case.
         if (m_image && m_image->imageObserver() && m_image->m_page)
index d224fc4..8fa087d 100644 (file)
@@ -42,28 +42,28 @@ public:
         return adoptRef(*new SVGImageForContainer(image, containerSize, zoom));
     }
 
-    bool isSVGImage() const override { return true; }
+    bool isSVGImage() const final { return true; }
 
-    FloatSize size() const override;
+    FloatSize size() const final;
 
     void setURL(const URL& url) { m_image->setURL(url); }
 
-    bool usesContainerSize() const override { return m_image->usesContainerSize(); }
-    bool hasRelativeWidth() const override { return m_image->hasRelativeWidth(); }
-    bool hasRelativeHeight() const override { return m_image->hasRelativeHeight(); }
-    void computeIntrinsicDimensions(Length& intrinsicWidth, Length& intrinsicHeight, FloatSize& intrinsicRatio) override
+    bool usesContainerSize() const final { return m_image->usesContainerSize(); }
+    bool hasRelativeWidth() const final { return m_image->hasRelativeWidth(); }
+    bool hasRelativeHeight() const final { return m_image->hasRelativeHeight(); }
+    void computeIntrinsicDimensions(Length& intrinsicWidth, Length& intrinsicHeight, FloatSize& intrinsicRatio) final
     {
         m_image->computeIntrinsicDimensions(intrinsicWidth, intrinsicHeight, intrinsicRatio);
     }
 
-    void draw(GraphicsContext&, const FloatRect&, const FloatRect&, CompositeOperator, BlendMode, ImageOrientationDescription) override;
+    void draw(GraphicsContext&, const FloatRect&, const FloatRect&, CompositeOperator, BlendMode, ImageOrientationDescription) final;
 
-    void drawPattern(GraphicsContext&, const FloatRect&, const AffineTransform&, const FloatPoint&, const FloatSize&, CompositeOperator, const FloatRect&, BlendMode) override;
+    void drawPattern(GraphicsContext&, const FloatRect&, const AffineTransform&, const FloatPoint&, const FloatSize&, CompositeOperator, const FloatRect&, BlendMode) final;
 
     // FIXME: Implement this to be less conservative.
-    bool currentFrameKnownToBeOpaque() override { return false; }
+    bool currentFrameKnownToBeOpaque() final { return false; }
 
-    NativeImagePtr nativeImageForCurrentFrame() override;
+    NativeImagePtr nativeImageForCurrentFrame() final;
 
 private:
     SVGImageForContainer(SVGImage* image, const FloatSize& containerSize, float zoom)
@@ -73,7 +73,7 @@ private:
     {
     }
 
-    void destroyDecodedData(bool /*destroyAll*/ = true) override { }
+    void destroyDecodedData(bool /*destroyAll*/ = true) final { }
 
     SVGImage* m_image;
     const FloatSize m_containerSize;
index 54fe9ff..dfdfc20 100644 (file)
@@ -37,14 +37,14 @@ public:
     static Ref<FEImage> createWithImage(Filter&, RefPtr<Image>, const SVGPreserveAspectRatio&);
     static Ref<FEImage> createWithIRIReference(Filter&, Document&, const String&, const SVGPreserveAspectRatio&);
 
-    void platformApplySoftware() override;
-    void dump() override;
+    void platformApplySoftware() final;
+    void dump() final;
 
-    void determineAbsolutePaintRect() override;
+    void determineAbsolutePaintRect() final;
 
-    FilterEffectType filterEffectType() const override { return FilterEffectTypeImage; }
+    FilterEffectType filterEffectType() const final { return FilterEffectTypeImage; }
 
-    TextStream& externalRepresentation(TextStream&, int indention) const override;
+    TextStream& externalRepresentation(TextStream&, int indention) const final;
     
 private:
     virtual ~FEImage() { }
index 9bb555f..07b223d 100644 (file)
@@ -38,12 +38,12 @@ public:
     static Ref<SVGFilter> create(const AffineTransform&, const FloatRect&, const FloatRect&, const FloatRect&, bool);
 
     FloatRect filterRegionInUserSpace() const { return m_filterRegion; }
-    FloatRect filterRegion() const override { return m_absoluteFilterRegion; }
+    FloatRect filterRegion() const final { return m_absoluteFilterRegion; }
 
-    float applyHorizontalScale(float value) const override;
-    float applyVerticalScale(float value) const override;
+    float applyHorizontalScale(float value) const final;
+    float applyVerticalScale(float value) const final;
 
-    FloatRect sourceImageRect() const override { return m_absoluteSourceDrawingRegion; }
+    FloatRect sourceImageRect() const final { return m_absoluteSourceDrawingRegion; }
     FloatRect targetBoundingBox() const { return m_targetBoundingBox; }
 
     bool isSVGFilter() const final { return true; }
index 4f0dcd0..b883437 100644 (file)
@@ -29,7 +29,7 @@ namespace WebCore {
 template<typename EnumType>
 class SVGAnimatedEnumerationPropertyTearOff final : public SVGAnimatedStaticPropertyTearOff<unsigned> {
 public:
-    const unsigned& baseVal() override
+    const unsigned& baseVal() final
     {
         const unsigned& baseVal = SVGAnimatedStaticPropertyTearOff::baseVal();
 
@@ -39,7 +39,7 @@ public:
         return baseVal;
     }
 
-    const unsigned& animVal() override
+    const unsigned& animVal() final
     {
         const unsigned& animVal = SVGAnimatedStaticPropertyTearOff::animVal();
 
@@ -49,7 +49,7 @@ public:
         return animVal;
     }
 
-    void setBaseVal(const unsigned& property, ExceptionCode& ec) override
+    void setBaseVal(const unsigned& property, ExceptionCode& ec) final
     {
         // All SVG enumeration values, that are allowed to be set via SVG DOM start with 1, 0 corresponds to unknown and is not settable through SVG DOM.
         if (!property || property > SVGIDLEnumLimits<EnumType>::highestExposedEnumValue()) {
index 6bb2b1d..5e5270f 100644 (file)
@@ -31,7 +31,7 @@ namespace WebCore {
 
 class SVGAnimatedPathSegListPropertyTearOff final : public SVGAnimatedListPropertyTearOff<SVGPathSegList> {
 public:
-    RefPtr<ListProperty> baseVal() override
+    RefPtr<ListProperty> baseVal() final
     {
         if (m_baseVal)
             return m_baseVal;
@@ -41,7 +41,7 @@ public:
         return WTFMove(property);
     }
 
-    RefPtr<ListProperty> animVal() override
+    RefPtr<ListProperty> animVal() final
     {
         if (m_animVal)
             return m_animVal;
index 55df33c..64e4ae4 100644 (file)
@@ -52,9 +52,9 @@ public:
         return WTFMove(property);
     }
 
-    bool isAnimating() const override { return m_animatedProperty; }
+    bool isAnimating() const final { return m_animatedProperty; }
 
-    void propertyWillBeDeleted(const SVGProperty& property) override
+    void propertyWillBeDeleted(const SVGProperty& property) final
     {
         if (&property == m_baseVal)
             m_baseVal = nullptr;
index 0ef3139..feed16d 100644 (file)
@@ -28,7 +28,7 @@ namespace WebCore {
 
 class SVGAnimatedTransformListPropertyTearOff final : public SVGAnimatedListPropertyTearOff<SVGTransformList> {
 public:
-    RefPtr<ListProperty> baseVal() override
+    RefPtr<ListProperty> baseVal() final
     {
         if (m_baseVal)
             return m_baseVal;
@@ -38,7 +38,7 @@ public:
         return WTFMove(property);
     }
 
-    RefPtr<ListProperty> animVal() override
+    RefPtr<ListProperty> animVal() final
     {
         if (m_animVal)
             return m_animVal;
index 3de1942..a7c7688 100644 (file)
@@ -38,11 +38,11 @@ public:
         return result;
     }
 
-    SVGMatrix& propertyReference() override { return m_parent->propertyReference().svgMatrix(); }
+    SVGMatrix& propertyReference() final { return m_parent->propertyReference().svgMatrix(); }
 
-    void setValue(SVGMatrix& value) override { m_parent->propertyReference().setMatrix(value); }
+    void setValue(SVGMatrix& value) final { m_parent->propertyReference().setMatrix(value); }
 
-    void commitChange() override
+    void commitChange() final
     {
         m_parent->propertyReference().updateSVGMatrix();
         m_parent->commitChange();
index f16a8c4..1d2a4a9 100644 (file)
@@ -127,7 +127,7 @@ private:
 
     using Base::m_role;
 
-    bool isReadOnly() const override
+    bool isReadOnly() const final
     {
         if (m_role == AnimValRole)
             return true;
@@ -136,20 +136,20 @@ private:
         return false;
     }
 
-    void commitChange() override
+    void commitChange() final
     {
         ASSERT(m_values);
         m_values->commitChange(m_animatedProperty->contextElement(), ListModificationUnknown);
     }
 
-    void commitChange(ListModification listModification) override
+    void commitChange(ListModification listModification) final
     {
         ASSERT(m_values);
         m_values->commitChange(m_animatedProperty->contextElement(), listModification);
     }
 
-    bool processIncomingListItemValue(const ListItemType& newItem, unsigned* indexToModify) override;
-    bool processIncomingListItemWrapper(RefPtr<ListItemTearOff>&, unsigned*) override
+    bool processIncomingListItemValue(const ListItemType& newItem, unsigned* indexToModify) final;
+    bool processIncomingListItemWrapper(RefPtr<ListItemTearOff>&, unsigned*) final
     {
         ASSERT_NOT_REACHED();
         return true;