Diff
Modified: trunk/Source/WebCore/ChangeLog (233649 => 233650)
--- trunk/Source/WebCore/ChangeLog 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/ChangeLog 2018-07-09 19:08:41 UTC (rev 233650)
@@ -1,3 +1,167 @@
+2018-07-09 Yusuke Suzuki <[email protected]>
+
+ [WebCore] Annotate classes with WTF_MAKE_FAST_ALLOCATED as much as possible
+ https://bugs.webkit.org/show_bug.cgi?id=187474
+
+ Reviewed by Mark Lam.
+
+ When opening cnn.com, debugger says that so many objects in WebCore are allocated
+ from system allocator. This patch attempts to annotate these found classes with
+ WTF_MAKE_FAST_ALLOCATED.
+
+ We also annotate WebAudio classes with `final` to make WebAudio class hierarchy solid.
+
+ No behavior change.
+
+ * Modules/indexeddb/IDBIndex.h:
+ * Modules/indexeddb/IDBObjectStore.h:
+ * Modules/indexeddb/client/IDBConnectionProxy.h:
+ * Modules/mediastream/UserMediaController.h:
+ * Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.h:
+ * Modules/webaudio/AsyncAudioDecoder.h:
+ * Modules/webaudio/AudioListener.h:
+ (WebCore::AudioListener::create): Deleted.
+ (WebCore::AudioListener::setPosition): Deleted.
+ (WebCore::AudioListener::position const): Deleted.
+ (WebCore::AudioListener::setOrientation): Deleted.
+ (WebCore::AudioListener::orientation const): Deleted.
+ (WebCore::AudioListener::setUpVector): Deleted.
+ (WebCore::AudioListener::upVector const): Deleted.
+ (WebCore::AudioListener::setVelocity): Deleted.
+ (WebCore::AudioListener::velocity const): Deleted.
+ (WebCore::AudioListener::setDopplerFactor): Deleted.
+ (WebCore::AudioListener::dopplerFactor const): Deleted.
+ (WebCore::AudioListener::setSpeedOfSound): Deleted.
+ (WebCore::AudioListener::speedOfSound const): Deleted.
+ * Modules/webaudio/AudioNode.h:
+ * Modules/webaudio/AudioNodeInput.h:
+ (WebCore::AudioNodeInput::node const): Deleted.
+ * Modules/webaudio/AudioNodeOutput.h:
+ * Modules/webaudio/AudioParam.h:
+ (WebCore::AudioParam::create): Deleted.
+ (WebCore::AudioParam::name const): Deleted.
+ (WebCore::AudioParam::minValue const): Deleted.
+ (WebCore::AudioParam::maxValue const): Deleted.
+ (WebCore::AudioParam::defaultValue const): Deleted.
+ (WebCore::AudioParam::units const): Deleted.
+ (WebCore::AudioParam::resetSmoothedValue): Deleted.
+ (WebCore::AudioParam::setSmoothingConstant): Deleted.
+ (WebCore::AudioParam::setValueAtTime): Deleted.
+ (WebCore::AudioParam::linearRampToValueAtTime): Deleted.
+ (WebCore::AudioParam::exponentialRampToValueAtTime): Deleted.
+ (WebCore::AudioParam::setTargetAtTime): Deleted.
+ (WebCore::AudioParam::setValueCurveAtTime): Deleted.
+ (WebCore::AudioParam::cancelScheduledValues): Deleted.
+ (WebCore::AudioParam::hasSampleAccurateValues): Deleted.
+ (WebCore::AudioParam::AudioParam): Deleted.
+ * Modules/webaudio/AudioParamTimeline.h:
+ * Modules/webaudio/AudioProcessingEvent.h:
+ (WebCore::AudioProcessingEvent::create): Deleted.
+ (WebCore::AudioProcessingEvent::createForBindings): Deleted.
+ (WebCore::AudioProcessingEvent::inputBuffer): Deleted.
+ (WebCore::AudioProcessingEvent::outputBuffer): Deleted.
+ (WebCore::AudioProcessingEvent::playbackTime const): Deleted.
+ * Modules/webaudio/BiquadDSPKernel.h:
+ (WebCore::BiquadDSPKernel::BiquadDSPKernel): Deleted.
+ (WebCore::BiquadDSPKernel::biquadProcessor): Deleted.
+ * Modules/webaudio/BiquadFilterNode.h:
+ (WebCore::BiquadFilterNode::create): Deleted.
+ (WebCore::BiquadFilterNode::frequency): Deleted.
+ (WebCore::BiquadFilterNode::q): Deleted.
+ (WebCore::BiquadFilterNode::gain): Deleted.
+ (WebCore::BiquadFilterNode::detune): Deleted.
+ (WebCore::BiquadFilterNode::biquadProcessor): Deleted.
+ * Modules/webaudio/BiquadProcessor.h:
+ (WebCore::BiquadProcessor::filterCoefficientsDirty const): Deleted.
+ (WebCore::BiquadProcessor::hasSampleAccurateValues const): Deleted.
+ (WebCore::BiquadProcessor::parameter1): Deleted.
+ (WebCore::BiquadProcessor::parameter2): Deleted.
+ (WebCore::BiquadProcessor::parameter3): Deleted.
+ (WebCore::BiquadProcessor::parameter4): Deleted.
+ (WebCore::BiquadProcessor::type const): Deleted.
+ * Modules/webaudio/ChannelMergerNode.h:
+ * Modules/webaudio/ChannelSplitterNode.h:
+ * Modules/webaudio/DelayDSPKernel.h:
+ (WebCore::DelayDSPKernel::maxDelayTime const): Deleted.
+ (WebCore::DelayDSPKernel::setDelayFrames): Deleted.
+ (WebCore::DelayDSPKernel::delayProcessor): Deleted.
+ * Modules/webaudio/DelayNode.h:
+ * Modules/webaudio/DelayProcessor.h:
+ (WebCore::DelayProcessor::delayTime const): Deleted.
+ (WebCore::DelayProcessor::maxDelayTime): Deleted.
+ * Modules/webaudio/DynamicsCompressorNode.h:
+ (WebCore::DynamicsCompressorNode::create): Deleted.
+ (WebCore::DynamicsCompressorNode::threshold): Deleted.
+ (WebCore::DynamicsCompressorNode::knee): Deleted.
+ (WebCore::DynamicsCompressorNode::ratio): Deleted.
+ (WebCore::DynamicsCompressorNode::attack): Deleted.
+ (WebCore::DynamicsCompressorNode::release): Deleted.
+ (WebCore::DynamicsCompressorNode::reduction): Deleted.
+ * Modules/webaudio/GainNode.h:
+ (WebCore::GainNode::create): Deleted.
+ (WebCore::GainNode::gain): Deleted.
+ * Modules/webaudio/MediaElementAudioSourceNode.h:
+ (WebCore::MediaElementAudioSourceNode::mediaElement): Deleted.
+ * Modules/webaudio/MediaStreamAudioDestinationNode.h:
+ (WebCore::MediaStreamAudioDestinationNode::stream): Deleted.
+ * Modules/webaudio/MediaStreamAudioSourceNode.h:
+ (WebCore::MediaStreamAudioSourceNode::mediaStream): Deleted.
+ * Modules/webaudio/OfflineAudioCompletionEvent.h:
+ (WebCore::OfflineAudioCompletionEvent::renderedBuffer): Deleted.
+ * Modules/webaudio/OfflineAudioDestinationNode.h:
+ (WebCore::OfflineAudioDestinationNode::create): Deleted.
+ * Modules/webaudio/PannerNode.h:
+ (WebCore::PannerNode::create): Deleted.
+ (WebCore::PannerNode::panningModel const): Deleted.
+ (WebCore::PannerNode::position const): Deleted.
+ (WebCore::PannerNode::setPosition): Deleted.
+ (WebCore::PannerNode::orientation const): Deleted.
+ (WebCore::PannerNode::setOrientation): Deleted.
+ (WebCore::PannerNode::velocity const): Deleted.
+ (WebCore::PannerNode::setVelocity): Deleted.
+ (WebCore::PannerNode::refDistance): Deleted.
+ (WebCore::PannerNode::setRefDistance): Deleted.
+ (WebCore::PannerNode::maxDistance): Deleted.
+ (WebCore::PannerNode::setMaxDistance): Deleted.
+ (WebCore::PannerNode::rolloffFactor): Deleted.
+ (WebCore::PannerNode::setRolloffFactor): Deleted.
+ (WebCore::PannerNode::coneInnerAngle const): Deleted.
+ (WebCore::PannerNode::setConeInnerAngle): Deleted.
+ (WebCore::PannerNode::coneOuterAngle const): Deleted.
+ (WebCore::PannerNode::setConeOuterAngle): Deleted.
+ (WebCore::PannerNode::coneOuterGain const): Deleted.
+ (WebCore::PannerNode::setConeOuterGain): Deleted.
+ (WebCore::PannerNode::distanceGain): Deleted.
+ (WebCore::PannerNode::coneGain): Deleted.
+ * Modules/webaudio/PeriodicWave.h:
+ (WebCore::PeriodicWave::rateScale const): Deleted.
+ (WebCore::PeriodicWave::periodicWaveSize const): Deleted.
+ (WebCore::PeriodicWave::sampleRate const): Deleted.
+ (WebCore::PeriodicWave::numberOfRanges const): Deleted.
+ * Modules/webaudio/RealtimeAnalyser.h:
+ * Modules/webaudio/ScriptProcessorNode.h:
+ (WebCore::ScriptProcessorNode::bufferSize const): Deleted.
+ (WebCore::ScriptProcessorNode::doubleBufferIndex const): Deleted.
+ (WebCore::ScriptProcessorNode::swapBuffers): Deleted.
+ * Modules/webaudio/WaveShaperDSPKernel.h:
+ (WebCore::WaveShaperDSPKernel::waveShaperProcessor): Deleted.
+ * Modules/webaudio/WaveShaperProcessor.h:
+ (WebCore::WaveShaperProcessor::curve): Deleted.
+ (WebCore::WaveShaperProcessor::oversample const): Deleted.
+ * dom/MessagePort.h:
+ * html/FormAssociatedElement.h:
+ * loader/LinkPreloadResourceClients.h:
+ * page/WheelEventDeltaFilter.h:
+ * page/mac/WheelEventDeltaFilterMac.h:
+ * platform/RemoteCommandListener.h:
+ * platform/audio/AudioDSPKernel.h:
+ * platform/audio/AudioProcessor.h:
+ * platform/audio/PlatformMediaSession.h:
+ * platform/graphics/avfoundation/objc/VideoFullscreenLayerManagerObjC.h:
+ * platform/mediastream/libwebrtc/LibWebRTCAudioModule.h:
+ * platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.h:
+ * workers/service/ServiceWorkerContainer.h:
+
2018-07-09 Simon Fraser <[email protected]>
Shrink RenderSVGShape
Modified: trunk/Source/WebCore/Modules/indexeddb/IDBIndex.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/indexeddb/IDBIndex.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBIndex.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -42,6 +42,8 @@
struct IDBKeyRangeData;
class IDBIndex final : private ActiveDOMObject {
+ WTF_MAKE_NONCOPYABLE(IDBIndex);
+ WTF_MAKE_FAST_ALLOCATED;
public:
IDBIndex(ScriptExecutionContext&, const IDBIndexInfo&, IDBObjectStore&);
Modified: trunk/Source/WebCore/Modules/indexeddb/IDBObjectStore.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/indexeddb/IDBObjectStore.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBObjectStore.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -55,6 +55,8 @@
}
class IDBObjectStore final : public ActiveDOMObject {
+ WTF_MAKE_NONCOPYABLE(IDBObjectStore);
+ WTF_MAKE_FAST_ALLOCATED;
public:
IDBObjectStore(ScriptExecutionContext&, const IDBObjectStoreInfo&, IDBTransaction&);
~IDBObjectStore();
Modified: trunk/Source/WebCore/Modules/indexeddb/client/IDBConnectionProxy.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/indexeddb/client/IDBConnectionProxy.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/indexeddb/client/IDBConnectionProxy.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -58,6 +58,8 @@
class IDBConnectionToServer;
class IDBConnectionProxy {
+ WTF_MAKE_NONCOPYABLE(IDBConnectionProxy);
+ WTF_MAKE_FAST_ALLOCATED;
public:
IDBConnectionProxy(IDBConnectionToServer&);
Modified: trunk/Source/WebCore/Modules/mediastream/UserMediaController.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/mediastream/UserMediaController.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/mediastream/UserMediaController.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -35,6 +35,7 @@
class UserMediaRequest;
class UserMediaController : public Supplement<Page> {
+ WTF_MAKE_FAST_ALLOCATED;
public:
explicit UserMediaController(UserMediaClient*);
~UserMediaController();
Modified: trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -46,6 +46,7 @@
class RealtimeOutgoingVideoSource;
class LibWebRTCPeerConnectionBackend final : public PeerConnectionBackend {
+ WTF_MAKE_FAST_ALLOCATED;
public:
LibWebRTCPeerConnectionBackend(RTCPeerConnection&, LibWebRTCProvider&);
~LibWebRTCPeerConnectionBackend();
Modified: trunk/Source/WebCore/Modules/webaudio/AsyncAudioDecoder.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/AsyncAudioDecoder.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/AsyncAudioDecoder.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -54,6 +54,7 @@
private:
class DecodingTask {
WTF_MAKE_NONCOPYABLE(DecodingTask);
+ WTF_MAKE_FAST_ALLOCATED;
public:
DecodingTask(Ref<JSC::ArrayBuffer>&& audioData, float sampleRate, RefPtr<AudioBufferCallback>&& successCallback, RefPtr<AudioBufferCallback>&& errorCallback);
void decode();
Modified: trunk/Source/WebCore/Modules/webaudio/AudioListener.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/AudioListener.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/AudioListener.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -36,7 +36,7 @@
// AudioListener maintains the state of the listener in the audio scene as defined in the OpenAL specification.
-class AudioListener : public RefCounted<AudioListener> {
+class AudioListener final : public RefCounted<AudioListener> {
public:
static Ref<AudioListener> create()
{
Modified: trunk/Source/WebCore/Modules/webaudio/AudioNode.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/AudioNode.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/AudioNode.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -45,6 +45,8 @@
// Most processing nodes such as filters will have one input and one output, although multiple inputs and outputs are possible.
class AudioNode : public EventTargetWithInlineData {
+ WTF_MAKE_NONCOPYABLE(AudioNode);
+ WTF_MAKE_FAST_ALLOCATED;
public:
enum { ProcessingSizeInFrames = 128 };
Modified: trunk/Source/WebCore/Modules/webaudio/AudioNodeInput.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/AudioNodeInput.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/AudioNodeInput.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -38,7 +38,9 @@
// In the case of multiple connections, the input will act as a unity-gain summing junction, mixing all the outputs.
// The number of channels of the input's bus is the maximum of the number of channels of all its connections.
-class AudioNodeInput : public AudioSummingJunction {
+class AudioNodeInput final : public AudioSummingJunction {
+ WTF_MAKE_NONCOPYABLE(AudioNodeInput);
+ WTF_MAKE_FAST_ALLOCATED;
public:
explicit AudioNodeInput(AudioNode*);
Modified: trunk/Source/WebCore/Modules/webaudio/AudioNodeOutput.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/AudioNodeOutput.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/AudioNodeOutput.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -39,6 +39,8 @@
// It may be connected to one or more AudioNodeInputs.
class AudioNodeOutput {
+ WTF_MAKE_NONCOPYABLE(AudioNodeOutput);
+ WTF_MAKE_FAST_ALLOCATED;
public:
// It's OK to pass 0 for numberOfChannels in which case setNumberOfChannels() must be called later on.
AudioNodeOutput(AudioNode*, unsigned numberOfChannels);
Modified: trunk/Source/WebCore/Modules/webaudio/AudioParam.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/AudioParam.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/AudioParam.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -40,7 +40,7 @@
class AudioNodeOutput;
-class AudioParam : public AudioSummingJunction, public RefCounted<AudioParam> {
+class AudioParam final : public AudioSummingJunction, public RefCounted<AudioParam> {
public:
static const double DefaultSmoothingConstant;
static const double SnapThreshold;
Modified: trunk/Source/WebCore/Modules/webaudio/AudioParamTimeline.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/AudioParamTimeline.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/AudioParamTimeline.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -36,6 +36,8 @@
namespace WebCore {
class AudioParamTimeline {
+ WTF_MAKE_NONCOPYABLE(AudioParamTimeline);
+ WTF_MAKE_FAST_ALLOCATED;
public:
AudioParamTimeline()
{
Modified: trunk/Source/WebCore/Modules/webaudio/AudioProcessingEvent.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/AudioProcessingEvent.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/AudioProcessingEvent.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -32,7 +32,7 @@
class AudioBuffer;
-class AudioProcessingEvent : public Event {
+class AudioProcessingEvent final : public Event {
public:
static Ref<AudioProcessingEvent> create(RefPtr<AudioBuffer>&& inputBuffer, RefPtr<AudioBuffer>&& outputBuffer, double playbackTime)
{
Modified: trunk/Source/WebCore/Modules/webaudio/BiquadDSPKernel.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/BiquadDSPKernel.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/BiquadDSPKernel.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -34,7 +34,7 @@
// BiquadDSPKernel is an AudioDSPKernel and is responsible for filtering one channel of a BiquadProcessor using a Biquad object.
-class BiquadDSPKernel : public AudioDSPKernel {
+class BiquadDSPKernel final : public AudioDSPKernel {
public:
explicit BiquadDSPKernel(BiquadProcessor* processor)
: AudioDSPKernel(processor)
Modified: trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -31,7 +31,7 @@
class AudioParam;
-class BiquadFilterNode : public AudioBasicProcessorNode {
+class BiquadFilterNode final : public AudioBasicProcessorNode {
public:
static Ref<BiquadFilterNode> create(AudioContext& context, float sampleRate)
{
Modified: trunk/Source/WebCore/Modules/webaudio/BiquadProcessor.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/BiquadProcessor.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/BiquadProcessor.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -47,7 +47,7 @@
Allpass
};
-class BiquadProcessor : public AudioDSPKernelProcessor {
+class BiquadProcessor final : public AudioDSPKernelProcessor {
public:
BiquadProcessor(AudioContext&, float sampleRate, size_t numberOfChannels, bool autoInitialize);
Modified: trunk/Source/WebCore/Modules/webaudio/ChannelMergerNode.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/ChannelMergerNode.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/ChannelMergerNode.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -34,7 +34,7 @@
class AudioContext;
-class ChannelMergerNode : public AudioNode {
+class ChannelMergerNode final : public AudioNode {
public:
static RefPtr<ChannelMergerNode> create(AudioContext&, float sampleRate, unsigned numberOfInputs);
Modified: trunk/Source/WebCore/Modules/webaudio/ChannelSplitterNode.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/ChannelSplitterNode.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/ChannelSplitterNode.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -30,7 +30,7 @@
class AudioContext;
-class ChannelSplitterNode : public AudioNode {
+class ChannelSplitterNode final : public AudioNode {
public:
static RefPtr<ChannelSplitterNode> create(AudioContext&, float sampleRate, unsigned numberOfOutputs);
Modified: trunk/Source/WebCore/Modules/webaudio/DelayDSPKernel.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/DelayDSPKernel.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/DelayDSPKernel.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -32,7 +32,7 @@
class DelayProcessor;
-class DelayDSPKernel : public AudioDSPKernel {
+class DelayDSPKernel final : public AudioDSPKernel {
public:
explicit DelayDSPKernel(DelayProcessor*);
DelayDSPKernel(double maxDelayTime, float sampleRate);
Modified: trunk/Source/WebCore/Modules/webaudio/DelayNode.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/DelayNode.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/DelayNode.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -28,7 +28,7 @@
namespace WebCore {
-class DelayNode : public AudioBasicProcessorNode {
+class DelayNode final : public AudioBasicProcessorNode {
public:
static ExceptionOr<Ref<DelayNode>> create(AudioContext&, float sampleRate, double maxDelayTime);
Modified: trunk/Source/WebCore/Modules/webaudio/DelayProcessor.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/DelayProcessor.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/DelayProcessor.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -33,7 +33,7 @@
class AudioDSPKernel;
-class DelayProcessor : public AudioDSPKernelProcessor {
+class DelayProcessor final : public AudioDSPKernelProcessor {
public:
DelayProcessor(AudioContext&, float sampleRate, unsigned numberOfChannels, double maxDelayTime);
virtual ~DelayProcessor();
Modified: trunk/Source/WebCore/Modules/webaudio/DynamicsCompressorNode.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/DynamicsCompressorNode.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/DynamicsCompressorNode.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -32,7 +32,7 @@
class DynamicsCompressor;
-class DynamicsCompressorNode : public AudioNode {
+class DynamicsCompressorNode final : public AudioNode {
public:
static Ref<DynamicsCompressorNode> create(AudioContext& context, float sampleRate)
{
Modified: trunk/Source/WebCore/Modules/webaudio/GainNode.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/GainNode.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/GainNode.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -35,7 +35,7 @@
// GainNode is an AudioNode with one input and one output which applies a gain (volume) change to the audio signal.
// De-zippering (smoothing) is applied when the gain value is changed dynamically.
-class GainNode : public AudioNode {
+class GainNode final : public AudioNode {
public:
static Ref<GainNode> create(AudioContext& context, float sampleRate)
{
Modified: trunk/Source/WebCore/Modules/webaudio/MediaElementAudioSourceNode.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/MediaElementAudioSourceNode.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/MediaElementAudioSourceNode.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -37,7 +37,7 @@
class AudioContext;
-class MediaElementAudioSourceNode : public AudioNode, public AudioSourceProviderClient {
+class MediaElementAudioSourceNode final : public AudioNode, public AudioSourceProviderClient {
public:
static Ref<MediaElementAudioSourceNode> create(AudioContext&, HTMLMediaElement&);
Modified: trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioDestinationNode.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioDestinationNode.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioDestinationNode.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -35,7 +35,7 @@
class AudioContext;
class MediaStreamAudioSource;
-class MediaStreamAudioDestinationNode : public AudioBasicInspectorNode {
+class MediaStreamAudioDestinationNode final : public AudioBasicInspectorNode {
public:
static Ref<MediaStreamAudioDestinationNode> create(AudioContext&, size_t numberOfChannels);
Modified: trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioSourceNode.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioSourceNode.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioSourceNode.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -37,7 +37,7 @@
class AudioContext;
class MultiChannelResampler;
-class MediaStreamAudioSourceNode : public AudioNode, public AudioSourceProviderClient {
+class MediaStreamAudioSourceNode final : public AudioNode, public AudioSourceProviderClient {
public:
static Ref<MediaStreamAudioSourceNode> create(AudioContext&, MediaStream&, MediaStreamTrack&);
Modified: trunk/Source/WebCore/Modules/webaudio/OfflineAudioCompletionEvent.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/OfflineAudioCompletionEvent.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/OfflineAudioCompletionEvent.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -30,7 +30,7 @@
namespace WebCore {
-class OfflineAudioCompletionEvent : public Event {
+class OfflineAudioCompletionEvent final : public Event {
public:
static Ref<OfflineAudioCompletionEvent> create(RefPtr<AudioBuffer>&& renderedBuffer);
Modified: trunk/Source/WebCore/Modules/webaudio/OfflineAudioDestinationNode.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/OfflineAudioDestinationNode.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/OfflineAudioDestinationNode.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -34,7 +34,7 @@
class AudioBus;
class AudioContext;
-class OfflineAudioDestinationNode : public AudioDestinationNode {
+class OfflineAudioDestinationNode final : public AudioDestinationNode {
public:
static Ref<OfflineAudioDestinationNode> create(AudioContext& context, AudioBuffer* renderTarget)
{
Modified: trunk/Source/WebCore/Modules/webaudio/PannerNode.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/PannerNode.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/PannerNode.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -47,7 +47,7 @@
// A cone effect will attenuate the gain as the orientation moves away from the listener.
// All of these effects follow the OpenAL specification very closely.
-class PannerNode : public AudioNode {
+class PannerNode final : public AudioNode {
public:
static Ref<PannerNode> create(AudioContext& context, float sampleRate)
{
Modified: trunk/Source/WebCore/Modules/webaudio/PeriodicWave.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/PeriodicWave.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/PeriodicWave.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -36,7 +36,7 @@
namespace WebCore {
-class PeriodicWave : public RefCounted<PeriodicWave> {
+class PeriodicWave final : public RefCounted<PeriodicWave> {
public:
static Ref<PeriodicWave> createSine(float sampleRate);
static Ref<PeriodicWave> createSquare(float sampleRate);
Modified: trunk/Source/WebCore/Modules/webaudio/RealtimeAnalyser.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/RealtimeAnalyser.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/RealtimeAnalyser.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -38,6 +38,7 @@
class RealtimeAnalyser {
WTF_MAKE_NONCOPYABLE(RealtimeAnalyser);
+ WTF_MAKE_FAST_ALLOCATED;
public:
RealtimeAnalyser();
virtual ~RealtimeAnalyser();
Modified: trunk/Source/WebCore/Modules/webaudio/ScriptProcessorNode.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/ScriptProcessorNode.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/ScriptProcessorNode.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -44,7 +44,7 @@
// The "onaudioprocess" attribute is an event listener which will get called periodically with an AudioProcessingEvent which has
// AudioBuffers for each input and output.
-class ScriptProcessorNode : public AudioNode {
+class ScriptProcessorNode final : public AudioNode {
public:
// bufferSize must be one of the following values: 256, 512, 1024, 2048, 4096, 8192, 16384.
// This value controls how frequently the onaudioprocess event handler is called and how many sample-frames need to be processed each call.
Modified: trunk/Source/WebCore/Modules/webaudio/WaveShaperDSPKernel.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/WaveShaperDSPKernel.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/WaveShaperDSPKernel.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -35,7 +35,7 @@
// WaveShaperDSPKernel is an AudioDSPKernel and is responsible for non-linear distortion on one channel.
-class WaveShaperDSPKernel : public AudioDSPKernel {
+class WaveShaperDSPKernel final : public AudioDSPKernel {
public:
explicit WaveShaperDSPKernel(WaveShaperProcessor*);
Modified: trunk/Source/WebCore/Modules/webaudio/WaveShaperProcessor.h (233649 => 233650)
--- trunk/Source/WebCore/Modules/webaudio/WaveShaperProcessor.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/Modules/webaudio/WaveShaperProcessor.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -36,7 +36,7 @@
// WaveShaperProcessor is an AudioDSPKernelProcessor which uses WaveShaperDSPKernel objects to implement non-linear distortion effects.
-class WaveShaperProcessor : public AudioDSPKernelProcessor {
+class WaveShaperProcessor final : public AudioDSPKernelProcessor {
public:
enum OverSampleType {
OverSampleNone,
Modified: trunk/Source/WebCore/dom/MessagePort.h (233649 => 233650)
--- trunk/Source/WebCore/dom/MessagePort.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/dom/MessagePort.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -45,6 +45,8 @@
class Frame;
class MessagePort final : public ActiveDOMObject, public EventTargetWithInlineData, public CanMakeWeakPtr<MessagePort> {
+ WTF_MAKE_NONCOPYABLE(MessagePort);
+ WTF_MAKE_FAST_ALLOCATED;
public:
static Ref<MessagePort> create(ScriptExecutionContext&, const MessagePortIdentifier& local, const MessagePortIdentifier& remote);
virtual ~MessagePort();
Modified: trunk/Source/WebCore/html/FormAssociatedElement.h (233649 => 233650)
--- trunk/Source/WebCore/html/FormAssociatedElement.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/html/FormAssociatedElement.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -38,6 +38,8 @@
class ValidityState;
class FormAssociatedElement : public FormNamedItem {
+ WTF_MAKE_NONCOPYABLE(FormAssociatedElement);
+ WTF_MAKE_FAST_ALLOCATED;
public:
virtual ~FormAssociatedElement();
Modified: trunk/Source/WebCore/loader/LinkPreloadResourceClients.h (233649 => 233650)
--- trunk/Source/WebCore/loader/LinkPreloadResourceClients.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/loader/LinkPreloadResourceClients.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -77,6 +77,7 @@
};
class LinkPreloadDefaultResourceClient : public LinkPreloadResourceClient, CachedResourceClient {
+ WTF_MAKE_FAST_ALLOCATED;
public:
LinkPreloadDefaultResourceClient(LinkLoader& loader, CachedResource& resource)
: LinkPreloadResourceClient(loader, resource)
@@ -91,6 +92,7 @@
};
class LinkPreloadStyleResourceClient : public LinkPreloadResourceClient, public CachedStyleSheetClient {
+ WTF_MAKE_FAST_ALLOCATED;
public:
LinkPreloadStyleResourceClient(LinkLoader& loader, CachedCSSStyleSheet& resource)
: LinkPreloadResourceClient(loader, resource)
@@ -111,6 +113,7 @@
};
class LinkPreloadImageResourceClient : public LinkPreloadResourceClient, public CachedImageClient {
+ WTF_MAKE_FAST_ALLOCATED;
public:
LinkPreloadImageResourceClient(LinkLoader& loader, CachedImage& resource)
: LinkPreloadResourceClient(loader, static_cast<CachedResource&>(resource))
@@ -125,6 +128,7 @@
};
class LinkPreloadFontResourceClient : public LinkPreloadResourceClient, public CachedFontClient {
+ WTF_MAKE_FAST_ALLOCATED;
public:
LinkPreloadFontResourceClient(LinkLoader& loader, CachedFont& resource)
: LinkPreloadResourceClient(loader, resource)
@@ -144,6 +148,7 @@
};
class LinkPreloadRawResourceClient : public LinkPreloadResourceClient, public CachedRawResourceClient {
+ WTF_MAKE_FAST_ALLOCATED;
public:
LinkPreloadRawResourceClient(LinkLoader& loader, CachedRawResource& resource)
: LinkPreloadResourceClient(loader, resource)
Modified: trunk/Source/WebCore/page/WheelEventDeltaFilter.h (233649 => 233650)
--- trunk/Source/WebCore/page/WheelEventDeltaFilter.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/page/WheelEventDeltaFilter.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -56,6 +56,7 @@
};
class BasicWheelEventDeltaFilter final : public WheelEventDeltaFilter {
+ WTF_MAKE_FAST_ALLOCATED;
public:
BasicWheelEventDeltaFilter();
void updateFromDelta(const FloatSize&) override;
Modified: trunk/Source/WebCore/page/mac/WheelEventDeltaFilterMac.h (233649 => 233650)
--- trunk/Source/WebCore/page/mac/WheelEventDeltaFilterMac.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/page/mac/WheelEventDeltaFilterMac.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -35,6 +35,7 @@
namespace WebCore {
class WheelEventDeltaFilterMac final : public WheelEventDeltaFilter {
+ WTF_MAKE_FAST_ALLOCATED;
public:
WheelEventDeltaFilterMac();
Modified: trunk/Source/WebCore/platform/RemoteCommandListener.h (233649 => 233650)
--- trunk/Source/WebCore/platform/RemoteCommandListener.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/platform/RemoteCommandListener.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -39,6 +39,7 @@
};
class RemoteCommandListener {
+ WTF_MAKE_FAST_ALLOCATED;
public:
WEBCORE_EXPORT static std::unique_ptr<RemoteCommandListener> create(RemoteCommandListenerClient&);
RemoteCommandListener(RemoteCommandListenerClient& client) : m_client(client) { }
Modified: trunk/Source/WebCore/platform/audio/AudioDSPKernel.h (233649 => 233650)
--- trunk/Source/WebCore/platform/audio/AudioDSPKernel.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/platform/audio/AudioDSPKernel.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -38,6 +38,8 @@
// AudioDSPKernel does the processing for one channel of an AudioDSPKernelProcessor.
class AudioDSPKernel {
+ WTF_MAKE_NONCOPYABLE(AudioDSPKernel);
+ WTF_MAKE_FAST_ALLOCATED;
public:
AudioDSPKernel(AudioDSPKernelProcessor* kernelProcessor)
: m_kernelProcessor(kernelProcessor)
Modified: trunk/Source/WebCore/platform/audio/AudioProcessor.h (233649 => 233650)
--- trunk/Source/WebCore/platform/audio/AudioProcessor.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/platform/audio/AudioProcessor.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -40,6 +40,8 @@
// or as the processor for a basic (one input - one output) AudioNode.
class AudioProcessor {
+ WTF_MAKE_NONCOPYABLE(AudioProcessor);
+ WTF_MAKE_FAST_ALLOCATED;
public:
AudioProcessor(float sampleRate, unsigned numberOfChannels)
: m_initialized(false)
Modified: trunk/Source/WebCore/platform/audio/PlatformMediaSession.h (233649 => 233650)
--- trunk/Source/WebCore/platform/audio/PlatformMediaSession.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/platform/audio/PlatformMediaSession.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -49,6 +49,7 @@
, private LoggerHelper
#endif
{
+ WTF_MAKE_FAST_ALLOCATED;
public:
static std::unique_ptr<PlatformMediaSession> create(PlatformMediaSessionClient&);
Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/VideoFullscreenLayerManagerObjC.h (233649 => 233650)
--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/VideoFullscreenLayerManagerObjC.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/VideoFullscreenLayerManagerObjC.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -36,6 +36,7 @@
namespace WebCore {
class VideoFullscreenLayerManagerObjC final : public VideoFullscreenLayerManager {
+ WTF_MAKE_FAST_ALLOCATED;
public:
VideoFullscreenLayerManagerObjC();
Modified: trunk/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCAudioModule.h (233649 => 233650)
--- trunk/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCAudioModule.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCAudioModule.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -36,6 +36,7 @@
// LibWebRTCAudioModule is pulling streamed data to ensure audio data is passed to the audio track.
class LibWebRTCAudioModule final : public webrtc::AudioDeviceModule, private rtc::MessageHandler {
+ WTF_MAKE_FAST_ALLOCATED;
public:
LibWebRTCAudioModule();
Modified: trunk/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.h (233649 => 233650)
--- trunk/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -35,6 +35,7 @@
namespace WebCore {
class WEBCORE_EXPORT LibWebRTCProviderCocoa : public LibWebRTCProvider {
+ WTF_MAKE_FAST_ALLOCATED;
public:
LibWebRTCProviderCocoa() = default;
~LibWebRTCProviderCocoa();
Modified: trunk/Source/WebCore/workers/service/ServiceWorkerContainer.h (233649 => 233650)
--- trunk/Source/WebCore/workers/service/ServiceWorkerContainer.h 2018-07-09 18:42:25 UTC (rev 233649)
+++ trunk/Source/WebCore/workers/service/ServiceWorkerContainer.h 2018-07-09 19:08:41 UTC (rev 233650)
@@ -49,6 +49,8 @@
enum class WorkerType;
class ServiceWorkerContainer final : public EventTargetWithInlineData, public ActiveDOMObject, public ServiceWorkerJobClient {
+ WTF_MAKE_NONCOPYABLE(ServiceWorkerContainer);
+ WTF_MAKE_FAST_ALLOCATED;
public:
ServiceWorkerContainer(ScriptExecutionContext&, NavigatorBase&);
~ServiceWorkerContainer();