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)
commitdbe144dc61a6a7ea8a30179f6324225619789249
tree99b153b47c328d360474fdc3d5dd902176be28f6
parent5bd5352477ec143c4ba884a63ff4be37024920a7
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.

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