Clean up virtual functions in html/
authorcdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 29 Oct 2014 15:09:57 +0000 (15:09 +0000)
committercdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 29 Oct 2014 15:09:57 +0000 (15:09 +0000)
https://bugs.webkit.org/show_bug.cgi?id=138166

Reviewed by Andreas Kling.

Clean up virtual functions in html/ by:
- Making virtual functions final when possible
- Making classes final when possible
- Using 'override' when appropriate
- Explicitly marking functions / destructors as virtual when they are
  inherently virtual
- Dropping virtual destructors when the class does not have subclasses
  and mark the class as final, to get rid of unnecessary vtables
- Making isXXX() virtual functions private on XXX classes to avoid
  unnecessary type checks
- De-virtualizing some functions that do not need to be virtual
- Dropping final for virtual functions in classes already marked as
  final

No new tests, no behavior change.

* html/ButtonInputType.h:
* html/CheckboxInputType.h:
* html/ColorInputType.h:
* html/DOMSettableTokenList.h:
* html/DateInputType.h:
* html/DateTimeInputType.h:
* html/DateTimeLocalInputType.h:
* html/EmailInputType.h:
* html/FTPDirectoryDocument.h:
* html/HTMLAnchorElement.h:
* html/HTMLDetailsElement.cpp:
* html/HTMLFormControlElement.h:
* html/HTMLFormControlsCollection.h:
* html/HTMLFrameElement.h:
* html/HTMLFrameElementBase.h:
* html/HTMLFrameOwnerElement.h:
* html/HTMLInputElement.h:
* html/HTMLMarqueeElement.h:
* html/HTMLMediaElement.h:
* html/HTMLMediaSession.h:
(WebCore::HTMLMediaSession::requiresPlaybackTargetRouteMonitoring): Deleted.
* html/HTMLMeterElement.h:
* html/HTMLNameCollection.h:
* html/HTMLObjectElement.h:
* html/HTMLOptGroupElement.h:
* html/HTMLOptionElement.h:
* html/HTMLSpanElement.h:
* html/HTMLStyleElement.h:
* html/HTMLSummaryElement.cpp:
* html/HTMLSummaryElement.h:
* html/HTMLUnknownElement.h:
* html/HTMLVideoElement.h:
* html/HiddenInputType.h:
* html/ImageInputType.h:
* html/MediaKeyEvent.h:
* html/MonthInputType.h:
* html/NumberInputType.h:
* html/PasswordInputType.h:
* html/PublicURLManager.h:
* html/RadioInputType.h:
* html/ResetInputType.h:
* html/SubmitInputType.h:
* html/TelephoneInputType.h:
* html/TextInputType.h:
* html/TimeInputType.h:
* html/URLInputType.h:
* html/WeekInputType.h:
* html/canvas/ANGLEInstancedArrays.h:
* html/canvas/CanvasRenderingContext2D.h:
* html/canvas/DOMPath.h:
* html/canvas/EXTShaderTextureLOD.h:
* html/canvas/EXTTextureFilterAnisotropic.h:
* html/canvas/OESElementIndexUint.h:
* html/canvas/OESStandardDerivatives.h:
* html/canvas/OESTextureFloat.h:
* html/canvas/OESTextureFloatLinear.h:
* html/canvas/OESTextureHalfFloat.h:
* html/canvas/OESTextureHalfFloatLinear.h:
* html/canvas/OESVertexArrayObject.h:
* html/canvas/WebGLBuffer.h:
* html/canvas/WebGLCompressedTextureATC.h:
* html/canvas/WebGLCompressedTexturePVRTC.h:
* html/canvas/WebGLCompressedTextureS3TC.h:
* html/canvas/WebGLContextAttributes.h:
* html/canvas/WebGLContextEvent.h:
* html/canvas/WebGLDebugRendererInfo.h:
* html/canvas/WebGLDebugShaders.h:
* html/canvas/WebGLDepthTexture.h:
* html/canvas/WebGLDrawBuffers.h:
* html/canvas/WebGLFramebuffer.h:
(WebCore::WebGLFramebuffer::isFramebuffer): Deleted.
* html/canvas/WebGLLoseContext.h:
* html/canvas/WebGLProgram.h:
* html/canvas/WebGLRenderbuffer.h:
* html/canvas/WebGLRenderingContext.h:
* html/canvas/WebGLShader.h:
* html/canvas/WebGLSharedObject.h:
(WebCore::WebGLSharedObject::isFramebuffer): Deleted.
* html/canvas/WebGLTexture.h:
* html/canvas/WebGLVertexArrayObjectOES.h:
(WebCore::WebGLVertexArrayObjectOES::isVertexArray): Deleted.
* html/shadow/ImageControlsRootElement.h:
* html/shadow/InsertionPoint.h:
* html/shadow/MediaControlElementTypes.h:
* html/shadow/MediaControlElements.h:
* html/shadow/MediaControls.h:
* html/shadow/MediaControlsApple.h:
* html/shadow/SpinButtonElement.h:
* html/track/AudioTrack.h:
* html/track/AudioTrackList.h:
* html/track/DataCue.h:
(WebCore::DataCue::cueType): Deleted.
* html/track/InbandDataTextTrack.h:
* html/track/InbandGenericTextTrack.h:
* html/track/InbandTextTrack.h:
* html/track/InbandWebVTTTextTrack.h:
* html/track/LoadableTextTrack.h:
* html/track/TextTrackList.h:
* html/track/TrackEvent.h:
* html/track/VTTCue.h:
(WebCore::VTTCueBox::setFontSizeFromCaptionUserPrefs):
* html/track/VTTRegion.h:
* html/track/VideoTrack.h:
* html/track/VideoTrackList.h:
* html/track/WebVTTParser.h:
(WebCore::WebVTTCueData::~WebVTTCueData): Deleted.

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

100 files changed:
Source/WebCore/ChangeLog
Source/WebCore/html/ButtonInputType.h
Source/WebCore/html/CheckboxInputType.h
Source/WebCore/html/ColorInputType.h
Source/WebCore/html/DOMSettableTokenList.h
Source/WebCore/html/DateInputType.h
Source/WebCore/html/DateTimeInputType.h
Source/WebCore/html/DateTimeLocalInputType.h
Source/WebCore/html/EmailInputType.h
Source/WebCore/html/FTPDirectoryDocument.h
Source/WebCore/html/HTMLAnchorElement.h
Source/WebCore/html/HTMLDetailsElement.cpp
Source/WebCore/html/HTMLFormControlElement.h
Source/WebCore/html/HTMLFormControlsCollection.h
Source/WebCore/html/HTMLFrameElement.h
Source/WebCore/html/HTMLFrameElementBase.h
Source/WebCore/html/HTMLFrameOwnerElement.h
Source/WebCore/html/HTMLInputElement.h
Source/WebCore/html/HTMLMarqueeElement.h
Source/WebCore/html/HTMLMediaElement.h
Source/WebCore/html/HTMLMediaSession.h
Source/WebCore/html/HTMLMeterElement.h
Source/WebCore/html/HTMLNameCollection.h
Source/WebCore/html/HTMLObjectElement.h
Source/WebCore/html/HTMLOptGroupElement.h
Source/WebCore/html/HTMLOptionElement.h
Source/WebCore/html/HTMLSpanElement.h
Source/WebCore/html/HTMLStyleElement.h
Source/WebCore/html/HTMLSummaryElement.cpp
Source/WebCore/html/HTMLSummaryElement.h
Source/WebCore/html/HTMLUnknownElement.h
Source/WebCore/html/HTMLVideoElement.h
Source/WebCore/html/HiddenInputType.h
Source/WebCore/html/ImageInputType.h
Source/WebCore/html/MediaKeyEvent.h
Source/WebCore/html/MonthInputType.h
Source/WebCore/html/NumberInputType.h
Source/WebCore/html/PasswordInputType.h
Source/WebCore/html/PublicURLManager.h
Source/WebCore/html/RadioInputType.h
Source/WebCore/html/ResetInputType.h
Source/WebCore/html/SubmitInputType.h
Source/WebCore/html/TelephoneInputType.h
Source/WebCore/html/TextInputType.h
Source/WebCore/html/TimeInputType.h
Source/WebCore/html/URLInputType.h
Source/WebCore/html/WeekInputType.h
Source/WebCore/html/canvas/ANGLEInstancedArrays.h
Source/WebCore/html/canvas/CanvasRenderingContext2D.h
Source/WebCore/html/canvas/DOMPath.h
Source/WebCore/html/canvas/EXTShaderTextureLOD.h
Source/WebCore/html/canvas/EXTTextureFilterAnisotropic.h
Source/WebCore/html/canvas/OESElementIndexUint.h
Source/WebCore/html/canvas/OESStandardDerivatives.h
Source/WebCore/html/canvas/OESTextureFloat.h
Source/WebCore/html/canvas/OESTextureFloatLinear.h
Source/WebCore/html/canvas/OESTextureHalfFloat.h
Source/WebCore/html/canvas/OESTextureHalfFloatLinear.h
Source/WebCore/html/canvas/OESVertexArrayObject.h
Source/WebCore/html/canvas/WebGLBuffer.h
Source/WebCore/html/canvas/WebGLCompressedTextureATC.h
Source/WebCore/html/canvas/WebGLCompressedTexturePVRTC.h
Source/WebCore/html/canvas/WebGLCompressedTextureS3TC.h
Source/WebCore/html/canvas/WebGLContextAttributes.h
Source/WebCore/html/canvas/WebGLContextEvent.h
Source/WebCore/html/canvas/WebGLDebugRendererInfo.h
Source/WebCore/html/canvas/WebGLDebugShaders.h
Source/WebCore/html/canvas/WebGLDepthTexture.h
Source/WebCore/html/canvas/WebGLDrawBuffers.h
Source/WebCore/html/canvas/WebGLFramebuffer.h
Source/WebCore/html/canvas/WebGLLoseContext.h
Source/WebCore/html/canvas/WebGLProgram.h
Source/WebCore/html/canvas/WebGLRenderbuffer.h
Source/WebCore/html/canvas/WebGLRenderingContext.h
Source/WebCore/html/canvas/WebGLShader.h
Source/WebCore/html/canvas/WebGLSharedObject.h
Source/WebCore/html/canvas/WebGLTexture.h
Source/WebCore/html/canvas/WebGLVertexArrayObjectOES.h
Source/WebCore/html/shadow/ImageControlsRootElement.h
Source/WebCore/html/shadow/InsertionPoint.h
Source/WebCore/html/shadow/MediaControlElementTypes.h
Source/WebCore/html/shadow/MediaControlElements.h
Source/WebCore/html/shadow/MediaControls.h
Source/WebCore/html/shadow/MediaControlsApple.h
Source/WebCore/html/shadow/SpinButtonElement.h
Source/WebCore/html/track/AudioTrack.h
Source/WebCore/html/track/AudioTrackList.h
Source/WebCore/html/track/DataCue.h
Source/WebCore/html/track/InbandDataTextTrack.h
Source/WebCore/html/track/InbandGenericTextTrack.h
Source/WebCore/html/track/InbandTextTrack.h
Source/WebCore/html/track/InbandWebVTTTextTrack.h
Source/WebCore/html/track/LoadableTextTrack.h
Source/WebCore/html/track/TextTrackList.h
Source/WebCore/html/track/TrackEvent.h
Source/WebCore/html/track/VTTCue.h
Source/WebCore/html/track/VTTRegion.h
Source/WebCore/html/track/VideoTrack.h
Source/WebCore/html/track/VideoTrackList.h
Source/WebCore/html/track/WebVTTParser.h

index c78c34f406fdce0f7ea61f7b803ac27a5d662097..dd8ea118f297088c37a343d0aae6e8b6a04177b2 100644 (file)
@@ -1,3 +1,133 @@
+2014-10-29  Chris Dumez  <cdumez@apple.com>
+
+        Clean up virtual functions in html/
+        https://bugs.webkit.org/show_bug.cgi?id=138166
+
+        Reviewed by Andreas Kling.
+
+        Clean up virtual functions in html/ by:
+        - Making virtual functions final when possible
+        - Making classes final when possible
+        - Using 'override' when appropriate
+        - Explicitly marking functions / destructors as virtual when they are
+          inherently virtual
+        - Dropping virtual destructors when the class does not have subclasses
+          and mark the class as final, to get rid of unnecessary vtables
+        - Making isXXX() virtual functions private on XXX classes to avoid
+          unnecessary type checks
+        - De-virtualizing some functions that do not need to be virtual
+        - Dropping final for virtual functions in classes already marked as
+          final
+
+        No new tests, no behavior change.
+
+        * html/ButtonInputType.h:
+        * html/CheckboxInputType.h:
+        * html/ColorInputType.h:
+        * html/DOMSettableTokenList.h:
+        * html/DateInputType.h:
+        * html/DateTimeInputType.h:
+        * html/DateTimeLocalInputType.h:
+        * html/EmailInputType.h:
+        * html/FTPDirectoryDocument.h:
+        * html/HTMLAnchorElement.h:
+        * html/HTMLDetailsElement.cpp:
+        * html/HTMLFormControlElement.h:
+        * html/HTMLFormControlsCollection.h:
+        * html/HTMLFrameElement.h:
+        * html/HTMLFrameElementBase.h:
+        * html/HTMLFrameOwnerElement.h:
+        * html/HTMLInputElement.h:
+        * html/HTMLMarqueeElement.h:
+        * html/HTMLMediaElement.h:
+        * html/HTMLMediaSession.h:
+        (WebCore::HTMLMediaSession::requiresPlaybackTargetRouteMonitoring): Deleted.
+        * html/HTMLMeterElement.h:
+        * html/HTMLNameCollection.h:
+        * html/HTMLObjectElement.h:
+        * html/HTMLOptGroupElement.h:
+        * html/HTMLOptionElement.h:
+        * html/HTMLSpanElement.h:
+        * html/HTMLStyleElement.h:
+        * html/HTMLSummaryElement.cpp:
+        * html/HTMLSummaryElement.h:
+        * html/HTMLUnknownElement.h:
+        * html/HTMLVideoElement.h:
+        * html/HiddenInputType.h:
+        * html/ImageInputType.h:
+        * html/MediaKeyEvent.h:
+        * html/MonthInputType.h:
+        * html/NumberInputType.h:
+        * html/PasswordInputType.h:
+        * html/PublicURLManager.h:
+        * html/RadioInputType.h:
+        * html/ResetInputType.h:
+        * html/SubmitInputType.h:
+        * html/TelephoneInputType.h:
+        * html/TextInputType.h:
+        * html/TimeInputType.h:
+        * html/URLInputType.h:
+        * html/WeekInputType.h:
+        * html/canvas/ANGLEInstancedArrays.h:
+        * html/canvas/CanvasRenderingContext2D.h:
+        * html/canvas/DOMPath.h:
+        * html/canvas/EXTShaderTextureLOD.h:
+        * html/canvas/EXTTextureFilterAnisotropic.h:
+        * html/canvas/OESElementIndexUint.h:
+        * html/canvas/OESStandardDerivatives.h:
+        * html/canvas/OESTextureFloat.h:
+        * html/canvas/OESTextureFloatLinear.h:
+        * html/canvas/OESTextureHalfFloat.h:
+        * html/canvas/OESTextureHalfFloatLinear.h:
+        * html/canvas/OESVertexArrayObject.h:
+        * html/canvas/WebGLBuffer.h:
+        * html/canvas/WebGLCompressedTextureATC.h:
+        * html/canvas/WebGLCompressedTexturePVRTC.h:
+        * html/canvas/WebGLCompressedTextureS3TC.h:
+        * html/canvas/WebGLContextAttributes.h:
+        * html/canvas/WebGLContextEvent.h:
+        * html/canvas/WebGLDebugRendererInfo.h:
+        * html/canvas/WebGLDebugShaders.h:
+        * html/canvas/WebGLDepthTexture.h:
+        * html/canvas/WebGLDrawBuffers.h:
+        * html/canvas/WebGLFramebuffer.h:
+        (WebCore::WebGLFramebuffer::isFramebuffer): Deleted.
+        * html/canvas/WebGLLoseContext.h:
+        * html/canvas/WebGLProgram.h:
+        * html/canvas/WebGLRenderbuffer.h:
+        * html/canvas/WebGLRenderingContext.h:
+        * html/canvas/WebGLShader.h:
+        * html/canvas/WebGLSharedObject.h:
+        (WebCore::WebGLSharedObject::isFramebuffer): Deleted.
+        * html/canvas/WebGLTexture.h:
+        * html/canvas/WebGLVertexArrayObjectOES.h:
+        (WebCore::WebGLVertexArrayObjectOES::isVertexArray): Deleted.
+        * html/shadow/ImageControlsRootElement.h:
+        * html/shadow/InsertionPoint.h:
+        * html/shadow/MediaControlElementTypes.h:
+        * html/shadow/MediaControlElements.h:
+        * html/shadow/MediaControls.h:
+        * html/shadow/MediaControlsApple.h:
+        * html/shadow/SpinButtonElement.h:
+        * html/track/AudioTrack.h:
+        * html/track/AudioTrackList.h:
+        * html/track/DataCue.h:
+        (WebCore::DataCue::cueType): Deleted.
+        * html/track/InbandDataTextTrack.h:
+        * html/track/InbandGenericTextTrack.h:
+        * html/track/InbandTextTrack.h:
+        * html/track/InbandWebVTTTextTrack.h:
+        * html/track/LoadableTextTrack.h:
+        * html/track/TextTrackList.h:
+        * html/track/TrackEvent.h:
+        * html/track/VTTCue.h:
+        (WebCore::VTTCueBox::setFontSizeFromCaptionUserPrefs):
+        * html/track/VTTRegion.h:
+        * html/track/VideoTrack.h:
+        * html/track/VideoTrackList.h:
+        * html/track/WebVTTParser.h:
+        (WebCore::WebVTTCueData::~WebVTTCueData): Deleted.
+
 2014-10-17  Sergio Villar Senin  <svillar@igalia.com>
 
         ASSERTION FAILED: growthShare > 0 in WebCore::RenderGrid::distributeSpaceToTracks
index bd405bae9a7bcae7e96bed41afdcc04a10feb210..1dea03344635a05dccf52204a61876e93304c292 100644 (file)
@@ -35,7 +35,7 @@
 
 namespace WebCore {
 
-class ButtonInputType : public BaseButtonInputType {
+class ButtonInputType final : public BaseButtonInputType {
 public:
     explicit ButtonInputType(HTMLInputElement& element) : BaseButtonInputType(element) { }
 
index 5a9a2065033b401b208d4de060647774fdc04abc..854ce3e1b03e86486152ae6e1c6fcd45a2a9ff0c 100644 (file)
@@ -35,7 +35,7 @@
 
 namespace WebCore {
 
-class CheckboxInputType : public BaseCheckableInputType {
+class CheckboxInputType final : public BaseCheckableInputType {
 public:
     explicit CheckboxInputType(HTMLInputElement& element) : BaseCheckableInputType(element) { }
 
index 2726d9ad6b454b15739a6944b1327971eccadb4e..02f90ba2f77bc6e11c48b7740f4f80992a3b49bf 100644 (file)
@@ -37,7 +37,7 @@
 
 namespace WebCore {
 
-class ColorInputType : public BaseClickableWithKeyInputType, public ColorChooserClient {
+class ColorInputType final : public BaseClickableWithKeyInputType, public ColorChooserClient {
 public:
     explicit ColorInputType(HTMLInputElement& element) : BaseClickableWithKeyInputType(element) { }
     virtual ~ColorInputType();
index 9d3dee6bedbfa8cf99a57b922062c71853b4b3c4..08ddf2cc93bcfcf16172bf1ebdcca926f4e81da9 100644 (file)
@@ -35,22 +35,22 @@ namespace WebCore {
 
 typedef int ExceptionCode;
 
-class DOMSettableTokenList : public DOMTokenList, public RefCounted<DOMSettableTokenList> {
+class DOMSettableTokenList final : public DOMTokenList, public RefCounted<DOMSettableTokenList> {
     WTF_MAKE_FAST_ALLOCATED;
 public:
     static PassRefPtr<DOMSettableTokenList> create();
 
-    virtual void ref() override final;
-    virtual void deref() override final;
+    virtual void ref() override;
+    virtual void deref() override;
 
-    virtual unsigned length() const override final;
-    virtual const AtomicString item(unsigned index) const override final;
+    virtual unsigned length() const override;
+    virtual const AtomicString item(unsigned index) const override;
 
-    virtual AtomicString value() const override final;
-    virtual void setValue(const AtomicString&) override final;
+    virtual AtomicString value() const override;
+    virtual void setValue(const AtomicString&) override;
 
 private:
-    virtual bool containsInternal(const AtomicString&) const override final;
+    virtual bool containsInternal(const AtomicString&) const override;
 
     AtomicString m_value;
     SpaceSplitString m_tokens;
index 88e0aa30204be54e7f81e0920a45786b41712b7c..8ca01f5c6c207676ff98225c1451b8408649c5b9 100644 (file)
@@ -36,7 +36,7 @@
 
 namespace WebCore {
 
-class DateInputType : public BaseChooserOnlyDateAndTimeInputType {
+class DateInputType final : public BaseChooserOnlyDateAndTimeInputType {
 public:
     explicit DateInputType(HTMLInputElement&);
 
index f5f741087f0c877436806d1a2b3a5bec28d9faf1..28b511e1a72cc6ceda6438edd97203b09cf5a1be 100644 (file)
@@ -37,7 +37,7 @@
 
 namespace WebCore {
 
-class DateTimeInputType : public BaseChooserOnlyDateAndTimeInputType {
+class DateTimeInputType final : public BaseChooserOnlyDateAndTimeInputType {
 public:
     explicit DateTimeInputType(HTMLInputElement& element) : BaseDateTimeInputType(element) { }
 
index d8a53b4433a9314263685faa1b6642efc2c553c0..6d4626cb55161fd96853259bdf17c5acf9851c92 100644 (file)
@@ -36,7 +36,7 @@
 
 namespace WebCore {
 
-class DateTimeLocalInputType : public BaseChooserOnlyDateAndTimeInputType {
+class DateTimeLocalInputType final : public BaseChooserOnlyDateAndTimeInputType {
 public:
     explicit DateTimeLocalInputType(HTMLInputElement& element) : BaseChooserOnlyDateAndTimeInputType(element) { }
 
index 20b40dd0ef51c7d3892aa354230f964887e3e022..45818cc029c557038bdec4ca22f6845be3674712 100644 (file)
@@ -35,7 +35,7 @@
 
 namespace WebCore {
 
-class EmailInputType : public BaseTextInputType {
+class EmailInputType final : public BaseTextInputType {
 public:
     explicit EmailInputType(HTMLInputElement& element) : BaseTextInputType(element) { }
 
index 211dc6c9131ec89cea3b28e6db5ddacd02fc267e..6d78cf6d8e079bee49dbf4bf5e7394f1723b2c2c 100644 (file)
@@ -31,7 +31,7 @@ namespace WebCore {
     
 class DOMImplementation;
     
-class FTPDirectoryDocument : public HTMLDocument {
+class FTPDirectoryDocument final : public HTMLDocument {
 public:
     static PassRefPtr<FTPDirectoryDocument> create(Frame* frame, const URL& url)
     {
index 30915d37d2982bb045d53995050edc61ff03c42a..9a885c40c70e66d5225d53b6312e26503e98df83 100644 (file)
@@ -96,7 +96,7 @@ public:
 
     bool isLiveLink() const;
 
-    virtual bool willRespondToMouseClickEvents() override;
+    virtual bool willRespondToMouseClickEvents() override final;
 
     bool hasRel(uint32_t relation) const;
     
@@ -114,14 +114,14 @@ private:
     virtual bool supportsFocus() const override;
     virtual bool isMouseFocusable() const override;
     virtual bool isKeyboardFocusable(KeyboardEvent*) const override;
-    virtual void defaultEventHandler(Event*) override;
+    virtual void defaultEventHandler(Event*) override final;
     virtual void setActive(bool active = true, bool pause = false) override final;
-    virtual void accessKeyAction(bool sendMouseEvents) override;
-    virtual bool isURLAttribute(const Attribute&) const override;
-    virtual bool canStartSelection() const override;
+    virtual void accessKeyAction(bool sendMouseEvents) override final;
+    virtual bool isURLAttribute(const Attribute&) const override final;
+    virtual bool canStartSelection() const override final;
     virtual String target() const override;
     virtual short tabIndex() const override final;
-    virtual bool draggable() const override;
+    virtual bool draggable() const override final;
 
     void sendPings(const URL& destinationURL);
 
index 26fa14ad67534049835de6934e71f0c9a34bb668..23e561cfbbc506983966f3806ed214198cb9e07d 100644 (file)
@@ -40,7 +40,7 @@ static const AtomicString& summaryQuerySelector()
     return selector;
 };
 
-class DetailsContentElement : public InsertionPoint {
+class DetailsContentElement final : public InsertionPoint {
 public:
     static PassRefPtr<DetailsContentElement> create(Document&);
 
@@ -63,7 +63,7 @@ PassRefPtr<DetailsContentElement> DetailsContentElement::create(Document& docume
     return adoptRef(new DetailsContentElement(document));
 }
 
-class DetailsSummaryElement : public InsertionPoint {
+class DetailsSummaryElement final : public InsertionPoint {
 public:
     static PassRefPtr<DetailsSummaryElement> create(Document&);
 
index e7ae3eca72348bb0186d1d0862a50455dbb6635d..0025d0d2f1b50bc35855fdd6dee47ed6d0049ac6 100644 (file)
@@ -150,7 +150,7 @@ private:
     virtual void refFormAssociatedElement() override { ref(); }
     virtual void derefFormAssociatedElement() override { deref(); }
 
-    virtual bool isFormControlElement() const override { return true; }
+    virtual bool isFormControlElement() const override final { return true; }
     virtual bool alwaysCreateUserAgentShadowRoot() const override { return true; }
 
     virtual short tabIndex() const override final;
index 30a731e47d3fface58bfec006e96d198ae096f0c..e56aa4ddf6d5bfc6bf5918acf417923b3bb511bc 100644 (file)
@@ -35,7 +35,7 @@ class QualifiedName;
 // This class is just a big hack to find form elements even in malformed HTML elements.
 // The famous <table><tr><form><td> problem.
 
-class HTMLFormControlsCollection : public HTMLCollection {
+class HTMLFormControlsCollection final : public HTMLCollection {
 public:
     static PassRef<HTMLFormControlsCollection> create(ContainerNode&, CollectionType);
 
index 6e4fb0fc96bef67b779b6a7bb9bc1d1f486eea97..b28e764631404f4729791519d8ba58a56997cc5f 100644 (file)
@@ -46,10 +46,6 @@ private:
     
     virtual void parseAttribute(const QualifiedName&, const AtomicString&) override;
 
-#if ENABLE(FULLSCREEN_API)
-    virtual bool allowFullScreen() const { return false; }
-#endif
-
     bool m_frameBorder;
     bool m_frameBorderSet;
 };
index 3ca7ab13e316daf6f5ccf1d67dce8f03b0c7b3a2..9854534977bfc637ef4d526357bc636506e02ca6 100644 (file)
@@ -35,7 +35,7 @@ public:
     URL location() const;
     void setLocation(const String&);
 
-    virtual ScrollbarMode scrollingMode() const override { return m_scrolling; }
+    virtual ScrollbarMode scrollingMode() const override final { return m_scrolling; }
     
     int marginWidth() const { return m_marginWidth; }
     int marginHeight() const { return m_marginHeight; }
@@ -43,7 +43,7 @@ public:
     int width();
     int height();
 
-    virtual bool canContainRangeEndPoint() const override { return false; }
+    virtual bool canContainRangeEndPoint() const override final { return false; }
 
 protected:
     HTMLFrameElementBase(const QualifiedName&, Document&);
@@ -51,18 +51,18 @@ protected:
     bool isURLAllowed() const;
 
     virtual void parseAttribute(const QualifiedName&, const AtomicString&) override;
-    virtual InsertionNotificationRequest insertedInto(ContainerNode&) override;
-    virtual void didNotifySubtreeInsertions(ContainerNode*) override;
+    virtual InsertionNotificationRequest insertedInto(ContainerNode&) override final;
+    virtual void didNotifySubtreeInsertions(ContainerNode*) override final;
     virtual void didAttachRenderers() override;
 
 private:
-    virtual bool supportsFocus() const override;
-    virtual void setFocus(bool) override;
+    virtual bool supportsFocus() const override final;
+    virtual void setFocus(bool) override final;
     
-    virtual bool isURLAttribute(const Attribute&) const override;
-    virtual bool isHTMLContentAttribute(const Attribute&) const override;
+    virtual bool isURLAttribute(const Attribute&) const override final;
+    virtual bool isHTMLContentAttribute(const Attribute&) const override final;
 
-    virtual bool isFrameElementBase() const override { return true; }
+    virtual bool isFrameElementBase() const override final { return true; }
 
     void setNameAndOpenURL();
     void openURL(LockHistory = LockHistory::Yes, LockBackForwardList = LockBackForwardList::Yes);
index 9c3b27e8d4af40d7c2e0d57f502a8c8818a8d6a4..01fa7002163ad4bb6061a4d11f98931b96a8795b 100644 (file)
@@ -63,7 +63,7 @@ protected:
 
 private:
     virtual bool isKeyboardFocusable(KeyboardEvent*) const override;
-    virtual bool isFrameOwnerElement() const override { return true; }
+    virtual bool isFrameOwnerElement() const override final { return true; }
 
     Frame* m_contentFrame;
     SandboxFlags m_sandboxFlags;
index d7a65cd6d316025bf8ced97d93da5093b7991e8d..26b55e4f4e0541878e469df5e9d3ee062dda15fe 100644 (file)
@@ -68,7 +68,7 @@ public:
 
     DEFINE_ATTRIBUTE_EVENT_LISTENER(webkitspeechchange);
 
-    virtual HTMLInputElement* toInputElement() override { return this; }
+    virtual HTMLInputElement* toInputElement() override final { return this; }
 
     WEBCORE_EXPORT virtual bool shouldAutocomplete() const override;
 
index 9639e963624224b8838d9b2307597657428305e7..47f831c0cdc2f023f5bc4b642aefcb58290b2d22 100644 (file)
@@ -39,7 +39,7 @@ public:
     // DOM Functions
 
     void start();
-    void stop() override;
+    virtual void stop() override;
     
     int scrollAmount() const;
     void setScrollAmount(int, ExceptionCode&);
index 8d93cf3fa129bd39b532d18559a9904742e7c50f..e76e46f7571dc269a4d5523db529c1bab928a4fe 100644 (file)
@@ -470,7 +470,7 @@ protected:
     DisplayMode displayMode() const { return m_displayMode; }
     virtual void setDisplayMode(DisplayMode mode) { m_displayMode = mode; }
     
-    virtual bool isMediaElement() const override { return true; }
+    virtual bool isMediaElement() const override final { return true; }
 
 #if ENABLE(VIDEO_TRACK)
     bool ignoreTrackDisplayUpdateRequests() const { return m_ignoreTrackDisplayUpdate > 0 || !m_textTracks || !m_cueTree.size(); }
index c907ec781f11d017743b52cf014e06e55ee06116..31d7d341f6875bf9c21f00cff29b9c85f2b209d0 100644 (file)
@@ -36,7 +36,7 @@ namespace WebCore {
 class HTMLMediaElement;
 class SourceBuffer;
 
-class HTMLMediaSession : public MediaSession {
+class HTMLMediaSession final : public MediaSession {
 public:
     static std::unique_ptr<HTMLMediaSession> create(MediaSessionClient&);
 
@@ -88,7 +88,7 @@ public:
 #endif
 
 private:
-    virtual bool requiresPlaybackTargetRouteMonitoring() const { return m_hasPlaybackTargetAvailabilityListeners; }
+    virtual bool requiresPlaybackTargetRouteMonitoring() const override { return m_hasPlaybackTargetAvailabilityListeners; }
 
     BehaviorRestrictions m_restrictions;
     bool m_hasPlaybackTargetAvailabilityListeners;
index a28cb4496e6b0e0a6feb949a64511622ee300e57..a9bc9462089c4ba290d95ae8b64e71fbc768c518 100644 (file)
@@ -70,7 +70,6 @@ private:
 
     virtual bool supportLabels() const override { return true; }
 
-    virtual bool recalcWillValidate() const { return false; }
     virtual RenderPtr<RenderElement> createElementRenderer(PassRef<RenderStyle>) override;
     virtual bool childShouldCreateRenderer(const Node&) const override;
     virtual void parseAttribute(const QualifiedName&, const AtomicString&) override;
index 0914c543cb28fab4e6db555c4445789fd0989013..29f647ffe5ed426ccb8d73647273718cc6f2eaea 100644 (file)
@@ -33,7 +33,7 @@ class Document;
 
 class HTMLNameCollection : public HTMLCollection {
 public:
-    ~HTMLNameCollection();
+    virtual ~HTMLNameCollection();
 
     Document& document() { return downcast<Document>(ownerNode()); }
 
index 7b4bbbf97038d2c962d3c4c919ccd05f7297e5a6..03a6bbeccb83a519d20053eb967c43e8b6d0d27c 100644 (file)
@@ -88,9 +88,9 @@ private:
     virtual void derefFormAssociatedElement() override { deref(); }
     virtual HTMLFormElement* virtualForm() const override;
 
-    virtual FormNamedItem* asFormNamedItem() override final { return this; }
-    virtual HTMLObjectElement& asHTMLElement() override final { return *this; }
-    virtual const HTMLObjectElement& asHTMLElement() const override final { return *this; }
+    virtual FormNamedItem* asFormNamedItem() override { return this; }
+    virtual HTMLObjectElement& asHTMLElement() override { return *this; }
+    virtual const HTMLObjectElement& asHTMLElement() const override { return *this; }
 
     virtual bool isFormControlElement() const override { return false; }
 
index 57a3742975c3db1367ff82882a307640362f904c..cb9d9c065fe798c03de72480a7cb32495f44adf8 100644 (file)
@@ -42,7 +42,7 @@ public:
 private:
     HTMLOptGroupElement(const QualifiedName&, Document&);
 
-    virtual const AtomicString& formControlType() const;
+    const AtomicString& formControlType() const;
     virtual bool isFocusable() const override;
     virtual void parseAttribute(const QualifiedName&, const AtomicString&) override;
     virtual bool rendererIsNeeded(const RenderStyle&) override { return false; }
index 654ef1183808c4936940e8b61ee3e3949b48add0..9a6c20b16d0084025f08d02738358ebd4480b544 100644 (file)
@@ -39,7 +39,7 @@ public:
     static PassRefPtr<HTMLOptionElement> createForJSConstructor(Document&, const String& data, const String& value,
        bool defaultSelected, bool selected, ExceptionCode&);
 
-    WEBCORE_EXPORT virtual String text() const;
+    WEBCORE_EXPORT String text() const;
     void setText(const String&, ExceptionCode&);
 
     int index() const;
index 2e70bf9af2e59657b78c18c40efdbdcb4277ba4e..57332339258f63abd88663738f537ef4745725ce 100644 (file)
@@ -30,7 +30,7 @@
 
 namespace WebCore {
 
-class HTMLSpanElement : public HTMLElement {
+class HTMLSpanElement final : public HTMLElement {
 public:
     static PassRefPtr<HTMLSpanElement> create(const QualifiedName&, Document&);
 
index 91f0b7cd58d46688becf64f4700500043e23b876..4b552e032d1598615d087646035f9144ce6710b8 100644 (file)
@@ -58,7 +58,7 @@ private:
 
     virtual void finishParsingChildren() override;
 
-    virtual bool isLoading() const { return m_styleSheetOwner.isLoading(); }
+    bool isLoading() const { return m_styleSheetOwner.isLoading(); }
     virtual bool sheetLoaded() override { return m_styleSheetOwner.sheetLoaded(document()); }
     virtual void notifyLoadedSheetAndAllCriticalSubresources(bool errorOccurred) override;
     virtual void startLoadingDynamicSheet() override { m_styleSheetOwner.startLoadingDynamicSheet(document()); }
index 753b41ce190d807c16e151eb99cd6347be7184e9..fb3973a9e694526b0a64791c82ea9c7d24c5d58c 100644 (file)
@@ -36,7 +36,7 @@ namespace WebCore {
 
 using namespace HTMLNames;
 
-class SummaryContentElement : public InsertionPoint {
+class SummaryContentElement final : public InsertionPoint {
 public:
     static PassRefPtr<SummaryContentElement> create(Document&);
 
index bc2284209927e6493fcd2ddb224fa0fbb7d92925..0db8abe8cdce3d979e1d7504c8f4f94feea1d92d 100644 (file)
@@ -43,7 +43,7 @@ private:
     virtual void didAddUserAgentShadowRoot(ShadowRoot*) override;
     HTMLDetailsElement* detailsElement() const;
 
-    bool supportsFocus() const override;
+    virtual bool supportsFocus() const override;
 };
 
 }
index 3315e68ea0084cb728a3645608a5fa0fcc7378f4..b4c59256637901aa9ef904af483e7595d0702989 100644 (file)
@@ -41,13 +41,13 @@ public:
         return adoptRef(new HTMLUnknownElement(tagName, document));
     }
 
-    virtual bool isHTMLUnknownElement() const override { return true; }
-
 private:
     HTMLUnknownElement(const QualifiedName& tagName, Document& document)
         : HTMLElement(tagName, document, CreateHTMLElement)
     {
     }
+
+    virtual bool isHTMLUnknownElement() const override { return true; }
 };
 
 } // namespace
index 9c80e4b0a666ed57dbdb075546f66cce8d49e3ae..7af3742e15b2fecf2e4759e830c88d05640d64de 100644 (file)
@@ -92,7 +92,7 @@ private:
     virtual bool isURLAttribute(const Attribute&) const override;
     virtual const AtomicString& imageSourceURL() const override;
 
-    virtual bool hasAvailableVideoFrame() const;
+    bool hasAvailableVideoFrame() const;
     virtual void updateDisplayState() override;
     virtual void didMoveToNewDocument(Document* oldDocument) override;
     virtual void setDisplayMode(DisplayMode) override;
index 29208e0ad8c81db84477d26854155cdf5e08044d..cd01e0006ff0de0b3347e1d9bac1a37aba32d327 100644 (file)
@@ -35,7 +35,7 @@
 
 namespace WebCore {
 
-class HiddenInputType : public InputType {
+class HiddenInputType final : public InputType {
 public:
     explicit HiddenInputType(HTMLInputElement& element) : InputType(element) { }
 
index a3c2f8549f6d29aba39c27378ccd9ba231ef6138..e6ef5c5731edce419a0966374ec6331da50ecde4 100644 (file)
@@ -38,7 +38,7 @@
 
 namespace WebCore {
 
-class ImageInputType : public BaseButtonInputType {
+class ImageInputType final : public BaseButtonInputType {
 public:
     explicit ImageInputType(HTMLInputElement&);
 
index a61f31f3d7f8596f4640a9b99108f898c85ef35c..80aef0c04a015fbe02c870b7250adff2e8237871 100644 (file)
@@ -45,7 +45,7 @@ struct MediaKeyEventInit : public EventInit {
     unsigned short systemCode;
 };
 
-class MediaKeyEvent : public Event {
+class MediaKeyEvent final : public Event {
 public:
     virtual ~MediaKeyEvent();
 
index cb869faec5bc4bd80ee4d5202d502a745477aaaf..a4e25acd1f9bfbe2c666970871a90678590e7bba 100644 (file)
@@ -36,7 +36,7 @@
 
 namespace WebCore {
 
-class MonthInputType : public BaseChooserOnlyDateAndTimeInputType {
+class MonthInputType final : public BaseChooserOnlyDateAndTimeInputType {
 public:
     explicit MonthInputType(HTMLInputElement& element) : BaseChooserOnlyDateAndTimeInputType(element) { }
 
index d39b91fb5a7cc65dda47efe5433b9787fc57f163..9de9fb5aada379d61451152505298dfcb599a568 100644 (file)
@@ -35,7 +35,7 @@
 
 namespace WebCore {
 
-class NumberInputType : public TextFieldInputType {
+class NumberInputType final : public TextFieldInputType {
 public:
     explicit NumberInputType(HTMLInputElement& element) : TextFieldInputType(element) { }
 
index d1e27015e9b271c4d45fce0d1d3932b6ee6b7792..f8046db1dea8bb524f0b179b72881b62b1223ec0 100644 (file)
@@ -35,7 +35,7 @@
 
 namespace WebCore {
 
-class PasswordInputType : public BaseTextInputType {
+class PasswordInputType final : public BaseTextInputType {
 public:
     explicit PasswordInputType(HTMLInputElement& element) : BaseTextInputType(element) { }
 
index 6c512497cd4e644e94f1c548afda27befaf0be8a..a627f567161f75c1f07c8b1d443efe1907096972 100644 (file)
@@ -40,7 +40,7 @@ class SecurityOrigin;
 class URLRegistry;
 class URLRegistrable;
 
-class PublicURLManager : public ActiveDOMObject {
+class PublicURLManager final : public ActiveDOMObject {
     WTF_MAKE_FAST_ALLOCATED;
 public:
     explicit PublicURLManager(ScriptExecutionContext*);
index 39104747ff2d73c380d7141cc16272dd5e45191e..796a2f0882588746d498ae87f146edc4aaa87764 100644 (file)
@@ -35,7 +35,7 @@
 
 namespace WebCore {
 
-class RadioInputType : public BaseCheckableInputType {
+class RadioInputType final : public BaseCheckableInputType {
 public:
     explicit RadioInputType(HTMLInputElement& element) : BaseCheckableInputType(element) { }
 
index 7c0266b5e5d58fa641eb868fbe691257a87ec4d7..05e35395e8bfc82b965e66cea6bb3888c70bd1fe 100644 (file)
@@ -35,7 +35,7 @@
 
 namespace WebCore {
 
-class ResetInputType : public BaseButtonInputType {
+class ResetInputType final : public BaseButtonInputType {
 public:
     explicit ResetInputType(HTMLInputElement& element) : BaseButtonInputType(element) { }
 
index c5da55518c755d6f1a9e9f6beba6d7370c549e4c..68f78b6636e73373b3a93f24f2cec5a9048b0ee8 100644 (file)
@@ -35,7 +35,7 @@
 
 namespace WebCore {
 
-class SubmitInputType : public BaseButtonInputType {
+class SubmitInputType final : public BaseButtonInputType {
 public:
     explicit SubmitInputType(HTMLInputElement& element) : BaseButtonInputType(element) { }
 
index cdd7c2e0aae87c3202760b1da354c19d29a9dffa..c56467146187c8b43441d38125480eefa1bb67ec 100644 (file)
@@ -35,7 +35,7 @@
 
 namespace WebCore {
 
-class TelephoneInputType : public BaseTextInputType {
+class TelephoneInputType final : public BaseTextInputType {
 public:
     explicit TelephoneInputType(HTMLInputElement& element) : BaseTextInputType(element) { }
 
index d419e8a4e9d4864b27bf204963e67d90d2ef3c16..abc5f48a835678fbb81f854ffcfa942add219585 100644 (file)
@@ -35,7 +35,7 @@
 
 namespace WebCore {
 
-class TextInputType : public BaseTextInputType {
+class TextInputType final : public BaseTextInputType {
 public:
     explicit TextInputType(HTMLInputElement& element) : BaseTextInputType(element) { }
 
index 4b1e01afd92d59c2676e882cb6f656b176ae0868..1f1462af947aa280a48f5d1b435de2e6c8313bdb 100644 (file)
@@ -36,7 +36,7 @@
 
 namespace WebCore {
 
-class TimeInputType : public BaseChooserOnlyDateAndTimeInputType {
+class TimeInputType final : public BaseChooserOnlyDateAndTimeInputType {
 public:
     explicit TimeInputType(HTMLInputElement&);
 
index eae3caf332032938d78f57167816110dfc73eab8..6b9b864230b900813376f33d4aa05dad64ede3a4 100644 (file)
@@ -35,7 +35,7 @@
 
 namespace WebCore {
 
-class URLInputType : public BaseTextInputType {
+class URLInputType final : public BaseTextInputType {
 public:
     explicit URLInputType(HTMLInputElement& element) : BaseTextInputType(element) { }
 
index 3dfddfd2233e8ff7fb17abb71b117a8b66f02933..4ea6c56cb0f1d161435fa25664bd213202a8de5b 100644 (file)
@@ -36,7 +36,7 @@
 
 namespace WebCore {
 
-class WeekInputType : public BaseChooserOnlyDateAndTimeInputType {
+class WeekInputType final : public BaseChooserOnlyDateAndTimeInputType {
 public:
     explicit WeekInputType(HTMLInputElement& element) : BaseChooserOnlyDateAndTimeInputType(element) { }
 
index 23b4e623fc4e43a89ab3d7986faf20582c54bb57..7d04086425c8c3c5a773204b84745992e8eb1e69 100644 (file)
@@ -32,7 +32,7 @@ namespace WebCore {
 
 class WebGLRenderingContext;
 
-class ANGLEInstancedArrays : public WebGLExtension {
+class ANGLEInstancedArrays final : public WebGLExtension {
 public:
     explicit ANGLEInstancedArrays(WebGLRenderingContext*);
     virtual ~ANGLEInstancedArrays();
index 4c2fa6335b03596acca73566451ff489164d31ae..6b29b2c97b95c0172f9edb3924846d87077096b6 100644 (file)
@@ -57,7 +57,7 @@ class TextMetrics;
 
 typedef int ExceptionCode;
 
-class CanvasRenderingContext2D : public CanvasRenderingContext, public CanvasPathMethods {
+class CanvasRenderingContext2D final : public CanvasRenderingContext, public CanvasPathMethods {
 public:
     CanvasRenderingContext2D(HTMLCanvasElement*, bool usesCSSCompatibilityParseMode, bool usesDashboardCompatibilityMode);
     virtual ~CanvasRenderingContext2D();
@@ -235,7 +235,7 @@ private:
         LTR
     };
 
-    struct State : FontSelectorClient {
+    struct State final : FontSelectorClient {
         State();
         virtual ~State();
 
index 6b8d35f437fbfcc56db72be040fac4124fe6d21f..6af8e3678e897221e82acafa4d5b95137462989d 100644 (file)
@@ -36,7 +36,7 @@
 
 namespace WebCore {
 
-class DOMPath : public RefCounted<DOMPath>, public CanvasPathMethods {
+class DOMPath final : public RefCounted<DOMPath>, public CanvasPathMethods {
     WTF_MAKE_FAST_ALLOCATED;
 public:
     static PassRefPtr<DOMPath> create() { return adoptRef(new DOMPath); }
index 88d911a7b45322199ed79924e789ca4fb9f6605b..6cdcfb5c8456c0263cb22cf107fa4c8f46ac0086 100644 (file)
@@ -30,7 +30,7 @@
 
 namespace WebCore {
 
-class EXTShaderTextureLOD : public WebGLExtension {
+class EXTShaderTextureLOD final : public WebGLExtension {
 public:
     explicit EXTShaderTextureLOD(WebGLRenderingContext*);
     virtual ~EXTShaderTextureLOD();
index 833c81d4434409fbc315aaabca40d2fada7cc4b2..b0449108948281b1042937ea44a9045605d9344c 100644 (file)
@@ -30,7 +30,7 @@
 
 namespace WebCore {
 
-class EXTTextureFilterAnisotropic : public WebGLExtension {
+class EXTTextureFilterAnisotropic final : public WebGLExtension {
 public:
     explicit EXTTextureFilterAnisotropic(WebGLRenderingContext*);
     virtual ~EXTTextureFilterAnisotropic();
index 64fd6c6712bf57b0ba7bd07a0161469c05429d97..08ee1440ad9e98e3e2703102a661e832dc1e9827 100644 (file)
@@ -30,7 +30,7 @@
 
 namespace WebCore {
 
-class OESElementIndexUint : public WebGLExtension {
+class OESElementIndexUint final : public WebGLExtension {
 public:
     explicit OESElementIndexUint(WebGLRenderingContext*);
     virtual ~OESElementIndexUint();
index b0a401a031d1a948222beb55fe2dfea067c39967..3bef8ca98355513e41e8d1b1bf3d3198db036537 100644 (file)
@@ -30,7 +30,7 @@
 
 namespace WebCore {
 
-class OESStandardDerivatives : public WebGLExtension {
+class OESStandardDerivatives final : public WebGLExtension {
 public:
     explicit OESStandardDerivatives(WebGLRenderingContext*);
     virtual ~OESStandardDerivatives();
index ee6f9568d08a01edffde50ccc1059f2ce80b4240..dc6fbe239d7b66a770c1b0ccaa9ebb6ecad0f01d 100644 (file)
@@ -30,7 +30,7 @@
 
 namespace WebCore {
 
-class OESTextureFloat : public WebGLExtension {
+class OESTextureFloat final : public WebGLExtension {
 public:
     OESTextureFloat(WebGLRenderingContext*);
     virtual ~OESTextureFloat();
index 0158ff14841ff2c0df4f442e8fb4a026796c0872..10117e11bc43213143b7242f4a60cee7364bdc51 100644 (file)
@@ -30,7 +30,7 @@
 
 namespace WebCore {
 
-class OESTextureFloatLinear : public WebGLExtension {
+class OESTextureFloatLinear final : public WebGLExtension {
 public:
     explicit OESTextureFloatLinear(WebGLRenderingContext*);
     virtual ~OESTextureFloatLinear();
index bb42b5c3e203cddac518f7e6c85ecde4f65fa79f..8649dae31507be424c81f18fc551bc846bc9887b 100644 (file)
@@ -30,7 +30,7 @@
 
 namespace WebCore {
 
-class OESTextureHalfFloat : public WebGLExtension {
+class OESTextureHalfFloat final : public WebGLExtension {
 public:
     OESTextureHalfFloat(WebGLRenderingContext*);
     virtual ~OESTextureHalfFloat();
index bb9485d33de7ecc14621fdd0d237f1acaa156648..9b6fe4ab418cce26ffa5e46d5f1643bfa886a3d2 100644 (file)
@@ -30,7 +30,7 @@
 
 namespace WebCore {
 
-class OESTextureHalfFloatLinear : public WebGLExtension {
+class OESTextureHalfFloatLinear final : public WebGLExtension {
 public:
     OESTextureHalfFloatLinear(WebGLRenderingContext*);
     virtual ~OESTextureHalfFloatLinear();
index aa4cd29faa2b67e6d8b993c8439a4051740edbac..63ee6a1fab65c295765c23a2990b860d3d5edac0 100644 (file)
@@ -36,7 +36,7 @@ class WebGLVertexArrayObjectOES;
 
 typedef int ExceptionCode;
 
-class OESVertexArrayObject : public WebGLExtension {
+class OESVertexArrayObject final : public WebGLExtension {
 public:
     OESVertexArrayObject(WebGLRenderingContext*);
     virtual ~OESVertexArrayObject();
index 3a9692b829a1988ed18835eb1cae36283cbed131..d9be87cddf1ce29360971042df461effeb1055cf 100644 (file)
@@ -37,7 +37,7 @@ class ArrayBufferView;
 
 namespace WebCore {
 
-class WebGLBuffer : public WebGLSharedObject {
+class WebGLBuffer final : public WebGLSharedObject {
 public:
     virtual ~WebGLBuffer();
 
index 3f10c3b447aee7feaa6df5638d4f66f16c9a71ed..6cf673366e166292e2c241f1bb5319c6b859c9d3 100644 (file)
@@ -32,7 +32,7 @@ namespace WebCore {
 
 class WebGLTexture;
 
-class WebGLCompressedTextureATC : public WebGLExtension {
+class WebGLCompressedTextureATC final : public WebGLExtension {
 public:
     explicit WebGLCompressedTextureATC(WebGLRenderingContext*);
     virtual ~WebGLCompressedTextureATC();
index b8e727194cb6a1b820cb57aea239429961fb31e3..99edf6056a5da01915e75cc1454e3ef20f8c4804 100644 (file)
@@ -30,7 +30,7 @@
 
 namespace WebCore {
 
-class WebGLCompressedTexturePVRTC : public WebGLExtension {
+class WebGLCompressedTexturePVRTC final : public WebGLExtension {
 public:
     explicit WebGLCompressedTexturePVRTC(WebGLRenderingContext*);
     virtual ~WebGLCompressedTexturePVRTC();
index c9255615218e86bdd4435a9ccb21b4e31cd471ca..f5f76785518c6c550d708e4007244c71f7ac9e55 100644 (file)
@@ -32,7 +32,7 @@ namespace WebCore {
 
 class WebGLTexture;
 
-class WebGLCompressedTextureS3TC : public WebGLExtension {
+class WebGLCompressedTextureS3TC final : public WebGLExtension {
 public:
     explicit WebGLCompressedTextureS3TC(WebGLRenderingContext*);
     virtual ~WebGLCompressedTextureS3TC();
index 5391a2b7d056d76bd0d3f8e8f36a8dbe8bd779bb..8d2233c73068f8622dcf4f4acd07f40a2e409dca 100644 (file)
@@ -33,7 +33,7 @@
 
 namespace WebCore {
 
-class WebGLContextAttributes : public CanvasContextAttributes {
+class WebGLContextAttributes final : public CanvasContextAttributes {
   public:
     virtual ~WebGLContextAttributes();
 
index fa1ebfbc807576eb7ecd4274510f6e88b72d7028..d7529f08e2f8f2c39def1f0c88b687212c9af223 100644 (file)
@@ -36,7 +36,7 @@ struct WebGLContextEventInit : public EventInit {
     String statusMessage;
 };
 
-class WebGLContextEvent : public Event {
+class WebGLContextEvent final : public Event {
 public:
     static PassRefPtr<WebGLContextEvent> create()
     {
index d5e4f0e39b84d5eb1d1e5c67edcfe02fd06549fe..1136f64e64209e71cc3254825ab3dc5e34df886e 100644 (file)
@@ -30,7 +30,7 @@
 
 namespace WebCore {
 
-class WebGLDebugRendererInfo : public WebGLExtension {
+class WebGLDebugRendererInfo final : public WebGLExtension {
 public:
     enum EnumType {
         UNMASKED_VENDOR_WEBGL = 0x9245,
index bf924306d1f0b21210e1f80382cb2516827135da..5b03fbff711abfc42742c93ee85a3189e9ae4c1f 100644 (file)
@@ -34,7 +34,7 @@ class WebGLShader;
 
 typedef int ExceptionCode;
 
-class WebGLDebugShaders : public WebGLExtension {
+class WebGLDebugShaders final : public WebGLExtension {
 public:
     explicit WebGLDebugShaders(WebGLRenderingContext*);
     virtual ~WebGLDebugShaders();
index 72711b013a5f938378daa6e79f566477dcd53062..e2aff3347c1521f142604891a703e1eb260ebe8a 100644 (file)
@@ -30,7 +30,7 @@
 
 namespace WebCore {
 
-class WebGLDepthTexture : public WebGLExtension {
+class WebGLDepthTexture final : public WebGLExtension {
 public:
     explicit WebGLDepthTexture(WebGLRenderingContext*);
     virtual ~WebGLDepthTexture();
index 1e1815c8ee7c21f6c2208837ca06579c283fc55d..a2bed45520ebf6eee359d85977e1b4ee7d9502da 100644 (file)
@@ -30,7 +30,7 @@
 
 namespace WebCore {
 
-class WebGLDrawBuffers : public WebGLExtension {
+class WebGLDrawBuffers final : public WebGLExtension {
 public:
     explicit WebGLDrawBuffers(WebGLRenderingContext*);
     virtual ~WebGLDrawBuffers();
index 1a36a8b679d3258bb372ccbb84fce2fbee487e7c..e7501efccdba4bf5bdab23d923dbe51634a2ba39 100644 (file)
@@ -37,7 +37,7 @@ namespace WebCore {
 class WebGLRenderbuffer;
 class WebGLTexture;
 
-class WebGLFramebuffer : public WebGLContextObject {
+class WebGLFramebuffer final : public WebGLContextObject {
 public:
     class WebGLAttachment : public RefCounted<WebGLAttachment> {
     public:
@@ -106,8 +106,6 @@ protected:
     virtual void deleteObjectImpl(GraphicsContext3D*, Platform3DObject) override;
 
 private:
-    virtual bool isFramebuffer() const { return true; }
-
     WebGLAttachment* getAttachment(GC3Denum) const;
 
     // Return false if framebuffer is incomplete.
index cfc3814c371f086c9675477eb53e40619e99a3db..659409adebbeb703a5e38a2a999e2ec12970c104 100644 (file)
@@ -32,7 +32,7 @@ namespace WebCore {
 
 class WebGLRenderingContext;
 
-class WebGLLoseContext : public WebGLExtension {
+class WebGLLoseContext final : public WebGLExtension {
 public:
     explicit WebGLLoseContext(WebGLRenderingContext*);
     virtual ~WebGLLoseContext();
index 6549dddf9bebe0db187865fa8555328a80240773..90c50804c50f6b94a46fd3b4518348f78c2e8522 100644 (file)
@@ -35,7 +35,7 @@
 
 namespace WebCore {
 
-class WebGLProgram : public WebGLSharedObject {
+class WebGLProgram final : public WebGLSharedObject {
 public:
     virtual ~WebGLProgram();
 
index f4f3f5ad56108e5ebbfd7ce7032b5af7f9224b65..d850cb613a88d646d802b83e46a47a412fdbf5b4 100644 (file)
@@ -33,7 +33,7 @@
 
 namespace WebCore {
 
-class WebGLRenderbuffer : public WebGLSharedObject {
+class WebGLRenderbuffer final : public WebGLSharedObject {
 public:
     virtual ~WebGLRenderbuffer();
 
index 340980c88964d7108204340f5ae365ee7bc4b195..50ae42cfacd6815022f01b46ab8d979b4412ac75 100644 (file)
@@ -82,7 +82,7 @@ class WebGLVertexArrayObjectOES;
 
 typedef int ExceptionCode;
 
-class WebGLRenderingContext : public CanvasRenderingContext, public ActiveDOMObject {
+class WebGLRenderingContext final : public CanvasRenderingContext, public ActiveDOMObject {
 public:
     static std::unique_ptr<WebGLRenderingContext> create(HTMLCanvasElement*, WebGLContextAttributes*);
     virtual ~WebGLRenderingContext();
@@ -320,7 +320,7 @@ public:
 
     void markLayerComposited();
     virtual void paintRenderingResultsToCanvas() override;
-    virtual PassRefPtr<ImageData> paintRenderingResultsToImageData();
+    PassRefPtr<ImageData> paintRenderingResultsToImageData();
 
     void removeSharedObject(WebGLSharedObject*);
     void removeContextObject(WebGLContextObject*);
index 7e21f6a8c54220ec2fe2c94bd085404c5538217c..ddf5b17a833fdba17d2f9f299b5c94000a420792 100644 (file)
@@ -32,7 +32,7 @@
 
 namespace WebCore {
 
-class WebGLShader : public WebGLSharedObject {
+class WebGLShader final : public WebGLSharedObject {
 public:
     virtual ~WebGLShader();
 
index 86b4548f8d37b2165315ee4d81df75735d2eb62e..97edfb1803deb779b1a3ca14b5a5da176cd62403 100644 (file)
@@ -43,7 +43,6 @@ public:
     WebGLContextGroup* contextGroup() const { return m_contextGroup; }
 
     virtual bool isBuffer() const { return false; }
-    virtual bool isFramebuffer() const { return false; }
     virtual bool isProgram() const { return false; }
     virtual bool isRenderbuffer() const { return false; }
     virtual bool isShader() const { return false; }
index 889d6d5509e37f9c9d5a577430ad4d243ffb30e5..64a3792a7b5ea6bc6d98867284ddfbc2b572acf6 100644 (file)
@@ -33,7 +33,7 @@
 
 namespace WebCore {
 
-class WebGLTexture : public WebGLSharedObject {
+class WebGLTexture final : public WebGLSharedObject {
 public:
 
     enum TextureExtensionFlag {
@@ -81,12 +81,11 @@ public:
 
     static GC3Dint computeLevelCount(GC3Dsizei width, GC3Dsizei height);
 
-protected:
+private:
     WebGLTexture(WebGLRenderingContext*);
 
     virtual void deleteObjectImpl(GraphicsContext3D*, Platform3DObject) override;
 
-private:
     class LevelInfo {
     public:
         LevelInfo()
index 3c6361cf741d278dd3da3cd8da607c87e533fdbb..b01e9f32f2bc5db0d3f9cb84f5fdfaed17170a95 100644 (file)
@@ -33,7 +33,7 @@
 
 namespace WebCore {
 
-class WebGLVertexArrayObjectOES : public WebGLContextObject {
+class WebGLVertexArrayObjectOES final : public WebGLContextObject {
 public:
     enum VaoType {
         VaoTypeDefault,
@@ -92,8 +92,6 @@ private:
     WebGLVertexArrayObjectOES(WebGLRenderingContext*, VaoType);
 
     virtual void deleteObjectImpl(GraphicsContext3D*, Platform3DObject) override;
-
-    virtual bool isVertexArray() const { return true; }
     
     VaoType m_type;
     bool m_hasEverBeenBound;
index 001e982eeb453c2b40c4aa11602fcff4782bcb99..a0c9cd5baa5b912bd565eb583b7591a92b4cc51b 100644 (file)
@@ -44,7 +44,7 @@ protected:
     explicit ImageControlsRootElement(Document&);
 
 private:
-    virtual bool isImageControlsRootElement() const override { return true; }
+    virtual bool isImageControlsRootElement() const override final { return true; }
 };
 
 } // namespace WebCore
index 594a5cc1449fc71209ee5d9e3d74bdbfaf8a3c3e..c63b728873e0a8e775a0b11ab2228ee7fb215cf7 100644 (file)
@@ -68,9 +68,9 @@ protected:
     virtual void childrenChanged(const ChildChange&) override;
     virtual InsertionNotificationRequest insertedInto(ContainerNode&) override;
     virtual void removedFrom(ContainerNode&) override;
-    virtual bool isInsertionPointNode() const override { return true; }
 
 private:
+    virtual bool isInsertionPointNode() const override final { return true; }
 
     bool m_hasDistribution;
 };
index a35b450ab65cb2aa29a43c00a9d589243de4422d..00f04a37ee37191880c5a8b5e7d70e5c713a5ba7 100644 (file)
@@ -109,18 +109,20 @@ private:
 
 class MediaControlDivElement : public HTMLDivElement, public MediaControlElement {
 protected:
-    virtual bool isMediaControlElement() const override { return MediaControlElement::isMediaControlElement(); }
     explicit MediaControlDivElement(Document&, MediaControlElementType);
+
+private:
+    virtual bool isMediaControlElement() const override final { return MediaControlElement::isMediaControlElement(); }
 };
 
 // ----------------------------
 
 class MediaControlInputElement : public HTMLInputElement, public MediaControlElement {
 protected:
-    virtual bool isMediaControlElement() const override { return MediaControlElement::isMediaControlElement(); }
     explicit MediaControlInputElement(Document&, MediaControlElementType);
 
 private:
+    virtual bool isMediaControlElement() const override final { return MediaControlElement::isMediaControlElement(); }
     virtual void updateDisplayType() { }
 };
 
index 1a32d6f525e0a35c0a6b8bb7269107692b828f9f..1474aa47d1be4f802fdb3e0be5658b396b8a50e6 100644 (file)
@@ -101,7 +101,7 @@ private:
 
 // ----------------------------
 
-class MediaControlTimelineContainerElement : public MediaControlDivElement {
+class MediaControlTimelineContainerElement final : public MediaControlDivElement {
 public:
     static PassRefPtr<MediaControlTimelineContainerElement> create(Document&);
 
@@ -115,7 +115,7 @@ private:
 
 // ----------------------------
 
-class MediaControlVolumeSliderContainerElement : public MediaControlDivElement {
+class MediaControlVolumeSliderContainerElement final : public MediaControlDivElement {
 public:
     static PassRefPtr<MediaControlVolumeSliderContainerElement> create(Document&);
 
@@ -133,7 +133,7 @@ private:
 
 // ----------------------------
 
-class MediaControlStatusDisplayElement : public MediaControlDivElement {
+class MediaControlStatusDisplayElement final : public MediaControlDivElement {
 public:
     static PassRefPtr<MediaControlStatusDisplayElement> create(Document&);
 
@@ -209,7 +209,7 @@ private:
 
 // ----------------------------
 
-class MediaControlSeekForwardButtonElement : public MediaControlSeekButtonElement {
+class MediaControlSeekForwardButtonElement final : public MediaControlSeekButtonElement {
 public:
     static PassRefPtr<MediaControlSeekForwardButtonElement> create(Document&);
 
@@ -221,7 +221,7 @@ private:
 
 // ----------------------------
 
-class MediaControlSeekBackButtonElement : public MediaControlSeekButtonElement {
+class MediaControlSeekBackButtonElement final : public MediaControlSeekButtonElement {
 public:
     static PassRefPtr<MediaControlSeekBackButtonElement> create(Document&);
 
@@ -233,7 +233,7 @@ private:
 
 // ----------------------------
 
-class MediaControlRewindButtonElement : public MediaControlInputElement {
+class MediaControlRewindButtonElement final : public MediaControlInputElement {
 public:
     static PassRefPtr<MediaControlRewindButtonElement> create(Document&);
 
@@ -249,7 +249,7 @@ private:
 
 // ----------------------------
 
-class MediaControlReturnToRealtimeButtonElement : public MediaControlInputElement {
+class MediaControlReturnToRealtimeButtonElement final : public MediaControlInputElement {
 public:
     static PassRefPtr<MediaControlReturnToRealtimeButtonElement> create(Document&);
 
@@ -358,7 +358,7 @@ public:
     virtual bool willRespondToMouseClickEvents() override { return true; }
 #endif
 
-    virtual void setIsFullscreen(bool);
+    void setIsFullscreen(bool);
 
 private:
     explicit MediaControlFullscreenButtonElement(Document&);
@@ -377,7 +377,7 @@ private:
 };
 // ----------------------------
 
-class MediaControlFullscreenVolumeSliderElement : public MediaControlVolumeSliderElement {
+class MediaControlFullscreenVolumeSliderElement final : public MediaControlVolumeSliderElement {
 public:
     static PassRefPtr<MediaControlFullscreenVolumeSliderElement> create(Document&);
 
@@ -387,7 +387,7 @@ private:
 
 // ----------------------------
 
-class MediaControlFullscreenVolumeMinButtonElement : public MediaControlInputElement {
+class MediaControlFullscreenVolumeMinButtonElement final : public MediaControlInputElement {
 public:
     static PassRefPtr<MediaControlFullscreenVolumeMinButtonElement> create(Document&);
 
@@ -402,7 +402,7 @@ private:
 
 // ----------------------------
 
-class MediaControlFullscreenVolumeMaxButtonElement : public MediaControlInputElement {
+class MediaControlFullscreenVolumeMaxButtonElement final : public MediaControlInputElement {
 public:
     static PassRefPtr<MediaControlFullscreenVolumeMaxButtonElement> create(Document&);
 
index ad2160567dc850f29b463b2948977d8d20632f1c..6e17e35b4365fb0da4adfb92f3b72ef8a57f0c3e 100644 (file)
@@ -142,7 +142,7 @@ protected:
     bool m_isMouseOverControls;
 
 private:
-    virtual bool isMediaControls() const override { return true; }
+    virtual bool isMediaControls() const override final { return true; }
 };
 
 inline MediaControls* toMediaControls(Node* node)
index 492df2bf1e8ed103553eb1ff4f51244c78f4a88f..d2da6277090de099ee04e2d576fb728bfced32cc 100644 (file)
@@ -59,7 +59,7 @@ private:
     MediaControlsApple* m_mediaControls;
 };
 
-class MediaControlsApple : public MediaControls {
+class MediaControlsApple final : public MediaControls {
 public:
     static PassRefPtr<MediaControlsApple> createControls(Document&);
 
index 3ec19dc32959498c1894584ad04fd234dcafac31..1139601e2e0297a16cea6ccaa3cd13f211f05bde 100644 (file)
@@ -56,7 +56,7 @@ public:
     // implementation, e.g. during event handling.
     static PassRefPtr<SpinButtonElement> create(Document&, SpinButtonOwner&);
     UpDownState upDownState() const { return m_upDownState; }
-    virtual void releaseCapture();
+    void releaseCapture();
     void removeSpinButtonOwner() { m_spinButtonOwner = 0; }
 
     void step(int amount);
index 0602295d662358943d453cf90650dc413f5d5555..95ce0f05b3b666b5f264ebf076b71fb694ab575f 100644 (file)
@@ -45,7 +45,7 @@ public:
     virtual void audioTrackEnabledChanged(AudioTrack*) = 0;
 };
 
-class AudioTrack : public TrackBase, public AudioTrackPrivateClient {
+class AudioTrack final : public TrackBase, public AudioTrackPrivateClient {
 public:
     static PassRefPtr<AudioTrack> create(AudioTrackClient* client, PassRefPtr<AudioTrackPrivate> trackPrivate)
     {
@@ -62,9 +62,9 @@ public:
     virtual const AtomicString& defaultKindKeyword() const override { return emptyAtom; }
 
     virtual bool enabled() const override { return m_enabled; }
-    virtual void setEnabled(const bool);
+    void setEnabled(const bool);
 
-    virtual void clearClient() override { m_client = 0; }
+    virtual void clearClient() override { m_client = nullptr; }
     AudioTrackClient* client() const { return m_client; }
 
     size_t inbandTrackIndex();
index 88baeaf088a6d3f254345c3785d8a2e99cc533b3..956b04a28f60fab75a7ab147b9be8a83791b25ef 100644 (file)
@@ -34,7 +34,7 @@ namespace WebCore {
 
 class AudioTrack;
 
-class AudioTrackList : public TrackListBase {
+class AudioTrackList final : public TrackListBase {
 public:
     static PassRefPtr<AudioTrackList> create(HTMLMediaElement* owner, ScriptExecutionContext* context)
     {
index 2b6728779e12d8854562d82e66791dc516020232..f8a0d7aac245173d90cfda4edc098060bdc50551 100644 (file)
@@ -43,7 +43,7 @@ namespace WebCore {
 
 class ScriptExecutionContext;
 
-class DataCue : public TextTrackCue {
+class DataCue final : public TextTrackCue {
 public:
     static PassRefPtr<DataCue> create(ScriptExecutionContext& context, const MediaTime& start, const MediaTime& end, ArrayBuffer* data, ExceptionCode& ec)
     {
@@ -73,7 +73,7 @@ public:
 #endif
 
     virtual ~DataCue();
-    virtual CueType cueType() const { return Data; }
+    virtual CueType cueType() const override { return Data; }
 
     PassRefPtr<ArrayBuffer> data() const;
     void setData(ArrayBuffer*, ExceptionCode&);
index 1166e4b9d280898ce5b8f84e7e3803ad8c1967ee..45b9c64697a1ab5139411521c9fe60bdc6ddeb5b 100644 (file)
@@ -42,7 +42,7 @@ class InbandTextTrackPrivate;
 class SerializedPlatformRepresentation;
 #endif
 
-class InbandDataTextTrack : public InbandTextTrack {
+class InbandDataTextTrack final : public InbandTextTrack {
 public:
     static PassRefPtr<InbandDataTextTrack> create(ScriptExecutionContext*, TextTrackClient*, PassRefPtr<InbandTextTrackPrivate>);
     virtual ~InbandDataTextTrack();
index d01fa83de6b73da6a5108e5b232b7d95712af20f..d79a85b29f6eb02da736167d46e7cfec2997afbc 100644 (file)
@@ -39,10 +39,10 @@ class Document;
 class InbandTextTrackPrivate;
 class TextTrackCue;
 
-class GenericTextTrackCueMap {
+class GenericTextTrackCueMap final {
 public:
     GenericTextTrackCueMap();
-    virtual ~GenericTextTrackCueMap();
+    ~GenericTextTrackCueMap();
 
     void add(GenericCueData*, TextTrackCueGeneric*);
 
@@ -60,7 +60,7 @@ private:
     CueDataToCueMap m_dataToCueMap;
 };
 
-class InbandGenericTextTrack : public InbandTextTrack, private WebVTTParserClient {
+class InbandGenericTextTrack final : public InbandTextTrack, private WebVTTParserClient {
 public:
     static PassRefPtr<InbandGenericTextTrack> create(ScriptExecutionContext*, TextTrackClient*, PassRefPtr<InbandTextTrackPrivate>);
     virtual ~InbandGenericTextTrack();
index 067302a45a6d18d6ac2d44b86c1a03c33897d218..0a1e403a36e3f9601e38bbe322373fc1a5faacb4 100644 (file)
@@ -53,8 +53,6 @@ public:
 
     void setPrivate(PassRefPtr<InbandTextTrackPrivate>);
 
-    virtual bool isInband() const override { return true; }
-
 protected:
     InbandTextTrack(ScriptExecutionContext*, TextTrackClient*, PassRefPtr<InbandTextTrackPrivate>);
 
@@ -64,7 +62,7 @@ protected:
     RefPtr<InbandTextTrackPrivate> m_private;
 
 private:
-
+    virtual bool isInband() const override final { return true; }
     virtual void idChanged(TrackPrivateBase*, const AtomicString&) override;
     virtual void labelChanged(TrackPrivateBase*, const AtomicString&) override;
     virtual void languageChanged(TrackPrivateBase*, const AtomicString&) override;
index abbbdd85efdc8991299b4d5e391f12c0712e48f5..0bd8bce883a8ceb65ce5f169fcbe5cc6a311799b 100644 (file)
@@ -35,7 +35,7 @@
 
 namespace WebCore {
 
-class InbandWebVTTTextTrack : public InbandTextTrack, private WebVTTParserClient {
+class InbandWebVTTTextTrack final : public InbandTextTrack, private WebVTTParserClient {
 public:
     static PassRefPtr<InbandTextTrack> create(ScriptExecutionContext*, TextTrackClient*, PassRefPtr<InbandTextTrackPrivate>);
     virtual ~InbandWebVTTTextTrack();
index b112b0ff5e7625030d950166ffe1ea9dbb67c3d2..06e3feaf96a098b8a0de15092dd8aed11efb6230 100644 (file)
@@ -38,7 +38,7 @@ namespace WebCore {
 class HTMLTrackElement;
 class LoadableTextTrack;
 
-class LoadableTextTrack : public TextTrack, private TextTrackLoaderClient {
+class LoadableTextTrack final : public TextTrack, private TextTrackLoaderClient {
 public:
     static PassRefPtr<LoadableTextTrack> create(HTMLTrackElement* track, const String& kind, const String& label, const String& language)
     {
@@ -65,7 +65,7 @@ private:
     virtual void newCuesAvailable(TextTrackLoader*) override;
     virtual void cueLoadingCompleted(TextTrackLoader*, bool loadingFailed) override;
 #if ENABLE(WEBVTT_REGIONS)
-    virtual void newRegionsAvailable(TextTrackLoader*);
+    virtual void newRegionsAvailable(TextTrackLoader*) override;
 #endif
 
     LoadableTextTrack(HTMLTrackElement*, const String& kind, const String& label, const String& language);
index 817788d93965d5096fb8c22119526eaabc56e268..562ad128c88f7e96ebd27557a73f27dc9de14d10 100644 (file)
@@ -34,7 +34,7 @@ namespace WebCore {
 
 class TextTrack;
 
-class TextTrackList : public TrackListBase {
+class TextTrackList final : public TrackListBase {
 public:
     static PassRefPtr<TextTrackList> create(HTMLMediaElement* element, ScriptExecutionContext* context)
     {
index b199b3fd1935eaf63a453532e79414680b70abd8..aae7d8242a88130497b9ab2caa95b3e7f4a7e958 100644 (file)
@@ -39,7 +39,7 @@ struct TrackEventInit : public EventInit {
     RefPtr<TrackBase> track;
 };
 
-class TrackEvent : public Event {
+class TrackEvent final : public Event {
 public:
     virtual ~TrackEvent();
 
index 422fa8404305fc60ff1e2320af8b5440398a5fe8..8c2a194afb88bf56f60229fb13c631a788d7e3f2 100644 (file)
@@ -59,12 +59,12 @@ public:
     virtual void applyCSSProperties(const IntSize& videoSize);
 
     static const AtomicString& vttCueBoxShadowPseudoId();
-    virtual void setFontSizeFromCaptionUserPrefs(int fontSize) { m_fontSizeFromCaptionUserPrefs = fontSize; }
+    void setFontSizeFromCaptionUserPrefs(int fontSize) { m_fontSizeFromCaptionUserPrefs = fontSize; }
 
 protected:
     VTTCueBox(Document&, VTTCue&);
 
-    virtual RenderPtr<RenderElement> createElementRenderer(PassRef<RenderStyle>) override;
+    virtual RenderPtr<RenderElement> createElementRenderer(PassRef<RenderStyle>) override final;
 
     VTTCue& m_cue;
     int m_fontSizeFromCaptionUserPrefs;
index db965abf95134fb8d27fdba336b12fea9ac137da..e162f52b572649884d962cba51dd77231429ee56 100644 (file)
@@ -46,7 +46,7 @@ class HTMLDivElement;
 class VTTCueBox;
 class VTTScanner;
 
-class VTTRegion : public RefCounted<VTTRegion>, public ContextDestructionObserver {
+class VTTRegion final : public RefCounted<VTTRegion>, public ContextDestructionObserver {
 public:
     static PassRefPtr<VTTRegion> create(ScriptExecutionContext& context)
     {
index 27a51022190c4a838ed035a0cec4a817028f0cce..80c21c610372b0667b886e92bfb0c42d3c4b4cf9 100644 (file)
@@ -46,7 +46,7 @@ public:
     virtual void videoTrackSelectedChanged(VideoTrack*) = 0;
 };
 
-class VideoTrack : public TrackBase, public VideoTrackPrivateClient {
+class VideoTrack final : public TrackBase, public VideoTrackPrivateClient {
 public:
     static PassRefPtr<VideoTrack> create(VideoTrackClient* client, PassRefPtr<VideoTrackPrivate> trackPrivate)
     {
index 62193b5d5646cb7cff2c917e77a47e82173dbde7..c7b27c173d5a7eff9620180e926bd08127368bbe 100644 (file)
@@ -34,13 +34,13 @@ namespace WebCore {
 
 class VideoTrack;
 
-class VideoTrackList : public TrackListBase {
+class VideoTrackList final : public TrackListBase {
 public:
     static PassRefPtr<VideoTrackList> create(HTMLMediaElement* owner, ScriptExecutionContext* context)
     {
         return adoptRef(new VideoTrackList(owner, context));
     }
-    ~VideoTrackList();
+    virtual ~VideoTrackList();
 
     VideoTrack* getTrackById(const AtomicString&) const;
     long selectedIndex() const;
index b06938ce6c736cf517b0181e4c5a81dd8ec981fa..c347ae0eeaf4996d391bc7850f8e00966685c44f 100644 (file)
@@ -64,11 +64,11 @@ public:
     virtual void fileFailedToParse() = 0;
 };
 
-class WebVTTCueData : public RefCounted<WebVTTCueData> {
+class WebVTTCueData final : public RefCounted<WebVTTCueData> {
 public:
 
     static PassRefPtr<WebVTTCueData> create() { return adoptRef(new WebVTTCueData()); }
-    virtual ~WebVTTCueData() { }
+    ~WebVTTCueData() { }
 
     MediaTime startTime() const { return m_startTime; }
     void setStartTime(const MediaTime& startTime) { m_startTime = startTime; }