[WTF] Add makeUnique<T>, which ensures T is fast-allocated, WTF_MAKE_FAST_ALLOCATED...
authorysuzuki@apple.com <ysuzuki@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 16 Aug 2019 06:53:36 +0000 (06:53 +0000)
committerysuzuki@apple.com <ysuzuki@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 16 Aug 2019 06:53:36 +0000 (06:53 +0000)
https://bugs.webkit.org/show_bug.cgi?id=200620

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Three patches including this one were originally one patch. I split it into three pieces to make roll-out easy.
This part, we annotate classes / structs with WTF_MAKE_FAST_ALLOCATED and WTF_MAKE_STRUCT_FAST_ALLOCATED if
they are allocated from std::make_unique. The second patch will switch `std::make_unique` to `WTF::makeUnique` and
the third patch will insert a static_assert that makeUnique-allocated class T is FastMalloc-ed.
One insight from this patch is that we tend to forget adding WTF_MAKE_STRUCT_FAST_ALLOCATED if it is just a data struct.

* debugger/Debugger.h:
* inspector/scripts/codegen/objc_generator_templates.py:
* inspector/scripts/tests/all/expected/definitions-with-mac-platform.json-result:
* inspector/scripts/tests/generic/expected/commands-with-async-attribute.json-result:
* inspector/scripts/tests/generic/expected/commands-with-optional-call-return-parameters.json-result:
* inspector/scripts/tests/generic/expected/definitions-with-mac-platform.json-result:
* inspector/scripts/tests/generic/expected/domain-availability.json-result:
* inspector/scripts/tests/generic/expected/domains-with-varying-command-sizes.json-result:
* inspector/scripts/tests/generic/expected/enum-values.json-result:
* inspector/scripts/tests/generic/expected/events-with-optional-parameters.json-result:
* inspector/scripts/tests/generic/expected/generate-domains-with-feature-guards.json-result:
* inspector/scripts/tests/generic/expected/same-type-id-different-domain.json-result:
* inspector/scripts/tests/generic/expected/shadowed-optional-type-setters.json-result:
* inspector/scripts/tests/generic/expected/should-strip-comments.json-result:
* inspector/scripts/tests/generic/expected/type-declaration-aliased-primitive-type.json-result:
* inspector/scripts/tests/generic/expected/type-declaration-array-type.json-result:
* inspector/scripts/tests/generic/expected/type-declaration-enum-type.json-result:
* inspector/scripts/tests/generic/expected/type-declaration-object-type.json-result:
* inspector/scripts/tests/generic/expected/type-requiring-runtime-casts.json-result:
* inspector/scripts/tests/generic/expected/type-with-open-parameters.json-result:
* inspector/scripts/tests/generic/expected/version.json-result:
* inspector/scripts/tests/ios/expected/definitions-with-mac-platform.json-result:
* inspector/scripts/tests/mac/expected/definitions-with-mac-platform.json-result:

Source/WebCore:

* Modules/encryptedmedia/legacy/LegacyCDM.h:
(WebCore::LegacyCDM::keySystem const): Deleted.
(WebCore::LegacyCDM::client const): Deleted.
(WebCore::LegacyCDM::setClient): Deleted.
* Modules/encryptedmedia/legacy/LegacyCDMPrivate.h:
* Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.h:
* Modules/webaudio/AsyncAudioDecoder.h:
(WebCore::AsyncAudioDecoder::DecodingTask::audioData): Deleted.
(WebCore::AsyncAudioDecoder::DecodingTask::sampleRate const): Deleted.
(WebCore::AsyncAudioDecoder::DecodingTask::successCallback): Deleted.
(WebCore::AsyncAudioDecoder::DecodingTask::errorCallback): Deleted.
(WebCore::AsyncAudioDecoder::DecodingTask::audioBuffer): Deleted.
* Modules/webauthn/AuthenticatorCoordinator.h:
* Modules/webdatabase/SQLStatement.h:
(WebCore::SQLStatement::hasStatementCallback const): Deleted.
(WebCore::SQLStatement::hasStatementErrorCallback const): Deleted.
* Modules/webgpu/WHLSL/AST/WHLSLVariableDeclaration.h:
* Modules/webgpu/WHLSL/Metal/WHLSLEntryPointScaffolding.h:
* Modules/webgpu/WHLSL/WHLSLResolvingType.h:
* bindings/js/DOMPromiseProxy.h:
* bindings/js/GCController.h:
* bridge/jsc/BridgeJSC.h:
* contentextensions/ContentExtensionsBackend.h:
* dom/FullscreenManager.h:
(WebCore::FullscreenManager::document): Deleted.
(WebCore::FullscreenManager::document const): Deleted.
(WebCore::FullscreenManager::topDocument const): Deleted.
(WebCore::FullscreenManager::page const): Deleted.
(WebCore::FullscreenManager::frame const): Deleted.
(WebCore::FullscreenManager::documentElement const): Deleted.
(WebCore::FullscreenManager::hasLivingRenderTree const): Deleted.
(WebCore::FullscreenManager::pageCacheState const): Deleted.
(WebCore::FullscreenManager::scheduleFullStyleRebuild): Deleted.
(WebCore::FullscreenManager::fullscreenElement const): Deleted.
(WebCore::FullscreenManager::isFullscreen const): Deleted.
(WebCore::FullscreenManager::isFullscreenKeyboardInputAllowed const): Deleted.
(WebCore::FullscreenManager::currentFullscreenElement const): Deleted.
* dom/Microtasks.h:
(WebCore::MicrotaskQueue::vm const): Deleted.
* editing/CompositeEditCommand.h:
* editing/mac/AlternativeTextUIController.h:
* html/HTMLMediaElement.h:
* inspector/InspectorFrontendClientLocal.h:
* inspector/agents/WebHeapAgent.cpp:
* layout/displaytree/DisplayRun.h:
* layout/inlineformatting/InlineItem.h:
* layout/inlineformatting/InlineLine.h:
* layout/tableformatting/TableGrid.h:
* loader/FrameLoader.h:
(WebCore::FrameLoader::frame const): Deleted.
(WebCore::FrameLoader::policyChecker const): Deleted.
(WebCore::FrameLoader::history const): Deleted.
(WebCore::FrameLoader::notifier const): Deleted.
(WebCore::FrameLoader::subframeLoader const): Deleted.
(WebCore::FrameLoader::mixedContentChecker const): Deleted.
(WebCore::FrameLoader::urlSelected): Deleted.
(WebCore::FrameLoader::reload): Deleted.
(WebCore::FrameLoader::requestedHistoryItem const): Deleted.
(WebCore::FrameLoader::documentLoader const): Deleted.
(WebCore::FrameLoader::policyDocumentLoader const): Deleted.
(WebCore::FrameLoader::provisionalDocumentLoader const): Deleted.
(WebCore::FrameLoader::state const): Deleted.
(WebCore::FrameLoader::shouldReportResourceTimingToParentFrame const): Deleted.
(WebCore::FrameLoader::client const): Deleted.
(WebCore::FrameLoader::forceSandboxFlags): Deleted.
(WebCore::FrameLoader::hasOpenedFrames const): Deleted.
(WebCore::FrameLoader::setLoadsSynchronously): Deleted.
(WebCore::FrameLoader::loadsSynchronously const): Deleted.
(WebCore::FrameLoader::stateMachine): Deleted.
(WebCore::FrameLoader::quickRedirectComing const): Deleted.
(WebCore::FrameLoader::pageDismissalEventBeingDispatched const): Deleted.
(WebCore::FrameLoader::previousURL const): Deleted.
(WebCore::FrameLoader::setOverrideCachePolicyForTesting): Deleted.
(WebCore::FrameLoader::setOverrideResourceLoadPriorityForTesting): Deleted.
(WebCore::FrameLoader::setStrictRawResourceValidationPolicyDisabledForTesting): Deleted.
(WebCore::FrameLoader::isStrictRawResourceValidationPolicyDisabledForTesting): Deleted.
(WebCore::FrameLoader::provisionalLoadErrorBeingHandledURL const): Deleted.
(WebCore::FrameLoader::setProvisionalLoadErrorBeingHandledURL): Deleted.
(WebCore::FrameLoader::isReloadingFromOrigin const): Deleted.
(WebCore::FrameLoader::setAlwaysAllowLocalWebarchive): Deleted.
(WebCore::FrameLoader::alwaysAllowLocalWebarchive const): Deleted.
(WebCore::FrameLoader::loadWithDocumentLoader): Deleted.
(WebCore::FrameLoader::loadWithNavigationAction): Deleted.
(WebCore::FrameLoader::shouldTreatCurrentLoadAsContinuingLoad const): Deleted.
* loader/NavigationDisabler.h:
* loader/NavigationScheduler.h:
* loader/cache/CachedResource.h:
* loader/cache/CachedSVGDocumentReference.h:
(WebCore::CachedSVGDocumentReference::loadRequested const): Deleted.
(WebCore::CachedSVGDocumentReference::document): Deleted.
* loader/ios/PreviewLoader.h:
* page/CaptionUserPreferences.h:
* page/PrewarmInformation.h:
* page/ResizeObserver.h:
* page/SuspendableTimer.h:
* page/csp/ContentSecurityPolicyDirective.h:
* page/ios/ContentChangeObserver.h:
* page/ios/DOMTimerHoldingTank.h:
* page/linux/ResourceUsageOverlayLinux.cpp:
* page/mac/TextIndicatorWindow.h:
* page/scrolling/ScrollSnapOffsetsInfo.h:
* page/scrolling/ScrollingMomentumCalculator.h:
* platform/CPUMonitor.h:
* platform/FileMonitor.h:
* platform/ScrollAnimation.h:
* platform/SuddenTermination.h:
* platform/audio/AudioBus.h:
(WebCore::AudioBus::numberOfChannels const): Deleted.
(WebCore::AudioBus::channel): Deleted.
(WebCore::AudioBus::channel const): Deleted.
(WebCore::AudioBus::length const): Deleted.
(WebCore::AudioBus::sampleRate const): Deleted.
(WebCore::AudioBus::setSampleRate): Deleted.
(WebCore::AudioBus::reset): Deleted.
(WebCore::AudioBus::AudioBus): Deleted.
* platform/audio/AudioChannel.h:
(WebCore::AudioChannel::AudioChannel): Deleted.
(WebCore::AudioChannel::set): Deleted.
(WebCore::AudioChannel::length const): Deleted.
(WebCore::AudioChannel::mutableData): Deleted.
(WebCore::AudioChannel::data const): Deleted.
(WebCore::AudioChannel::zero): Deleted.
(WebCore::AudioChannel::clearSilentFlag): Deleted.
(WebCore::AudioChannel::isSilent const): Deleted.
* platform/audio/AudioFIFO.h:
(WebCore::AudioFIFO::framesInFifo const): Deleted.
(WebCore::AudioFIFO::updateIndex): Deleted.
* platform/audio/AudioPullFIFO.h:
* platform/audio/AudioResampler.h:
(WebCore::AudioResampler::rate const): Deleted.
* platform/audio/AudioResamplerKernel.h:
* platform/audio/AudioSession.cpp:
* platform/audio/AudioSession.h:
(WebCore::AudioSession::isActive const): Deleted.
* platform/audio/Biquad.h:
* platform/audio/Cone.h:
(WebCore::ConeEffect::setInnerAngle): Deleted.
(WebCore::ConeEffect::innerAngle const): Deleted.
(WebCore::ConeEffect::setOuterAngle): Deleted.
(WebCore::ConeEffect::outerAngle const): Deleted.
(WebCore::ConeEffect::setOuterGain): Deleted.
(WebCore::ConeEffect::outerGain const): Deleted.
* platform/audio/DenormalDisabler.h:
(WebCore::DenormalDisabler::DenormalDisabler): Deleted.
(WebCore::DenormalDisabler::~DenormalDisabler): Deleted.
(WebCore::DenormalDisabler::flushDenormalFloatToZero): Deleted.
(WebCore::DenormalDisabler::getCSR): Deleted.
(WebCore::DenormalDisabler::setCSR): Deleted.
* platform/audio/DirectConvolver.h:
* platform/audio/Distance.h:
(WebCore::DistanceEffect::model): Deleted.
(WebCore::DistanceEffect::setModel): Deleted.
(WebCore::DistanceEffect::setRefDistance): Deleted.
(WebCore::DistanceEffect::setMaxDistance): Deleted.
(WebCore::DistanceEffect::setRolloffFactor): Deleted.
(WebCore::DistanceEffect::refDistance const): Deleted.
(WebCore::DistanceEffect::maxDistance const): Deleted.
(WebCore::DistanceEffect::rolloffFactor const): Deleted.
* platform/audio/DownSampler.h:
* platform/audio/DynamicsCompressor.h:
(WebCore::DynamicsCompressor::sampleRate const): Deleted.
(WebCore::DynamicsCompressor::nyquist const): Deleted.
(WebCore::DynamicsCompressor::tailTime const): Deleted.
(WebCore::DynamicsCompressor::latencyTime const): Deleted.
* platform/audio/DynamicsCompressorKernel.h:
(WebCore::DynamicsCompressorKernel::latencyFrames const): Deleted.
(WebCore::DynamicsCompressorKernel::sampleRate const): Deleted.
(WebCore::DynamicsCompressorKernel::meteringGain const): Deleted.
* platform/audio/EqualPowerPanner.h:
* platform/audio/FFTConvolver.h:
(WebCore::FFTConvolver::fftSize const): Deleted.
* platform/audio/HRTFDatabase.h:
(WebCore::HRTFDatabase::numberOfAzimuths): Deleted.
(WebCore::HRTFDatabase::sampleRate const): Deleted.
* platform/audio/HRTFElevation.h:
(WebCore::HRTFElevation::HRTFElevation): Deleted.
(WebCore::HRTFElevation::kernelListL): Deleted.
(WebCore::HRTFElevation::kernelListR): Deleted.
(WebCore::HRTFElevation::elevationAngle const): Deleted.
(WebCore::HRTFElevation::numberOfAzimuths const): Deleted.
(WebCore::HRTFElevation::sampleRate const): Deleted.
* platform/audio/HRTFPanner.h:
(WebCore::HRTFPanner::fftSize const): Deleted.
(WebCore::HRTFPanner::sampleRate const): Deleted.
* platform/audio/MultiChannelResampler.h:
* platform/audio/PlatformAudioData.h:
* platform/audio/Reverb.h:
(WebCore::Reverb::impulseResponseLength const): Deleted.
* platform/audio/ReverbAccumulationBuffer.h:
(WebCore::ReverbAccumulationBuffer::readIndex const): Deleted.
(WebCore::ReverbAccumulationBuffer::readTimeFrame const): Deleted.
* platform/audio/ReverbConvolver.h:
(WebCore::ReverbConvolver::impulseResponseLength const): Deleted.
(WebCore::ReverbConvolver::inputBuffer): Deleted.
(WebCore::ReverbConvolver::useBackgroundThreads const): Deleted.
* platform/audio/ReverbConvolverStage.h:
(WebCore::ReverbConvolverStage::inputReadIndex const): Deleted.
* platform/audio/ReverbInputBuffer.h:
(WebCore::ReverbInputBuffer::writeIndex const): Deleted.
* platform/audio/SincResampler.h:
* platform/audio/UpSampler.h:
* platform/audio/ZeroPole.h:
(WebCore::ZeroPole::ZeroPole): Deleted.
(WebCore::ZeroPole::reset): Deleted.
(WebCore::ZeroPole::setZero): Deleted.
(WebCore::ZeroPole::setPole): Deleted.
(WebCore::ZeroPole::zero const): Deleted.
(WebCore::ZeroPole::pole const): Deleted.
* platform/audio/cocoa/WebAudioBufferList.h:
(WebCore::WebAudioBufferList::list const): Deleted.
(WebCore::WebAudioBufferList::operator AudioBufferList& const): Deleted.
(WebCore::WebAudioBufferList::kind const): Deleted.
* platform/audio/ios/AudioSessionIOS.mm:
* platform/audio/mac/CARingBuffer.h:
* platform/encryptedmedia/clearkey/CDMClearKey.h:
* platform/gamepad/mac/HIDGamepad.h:
* platform/graphics/FloatPoint.h:
* platform/graphics/Font.h:
* platform/graphics/GraphicsContext.h:
* platform/graphics/GraphicsContext3DPrivate.h:
* platform/graphics/GraphicsContextImpl.h:
* platform/graphics/GraphicsLayer.cpp:
* platform/graphics/LegacyCDMSession.h:
* platform/graphics/Region.h:
* platform/graphics/VelocityData.h:
* platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.h:
* platform/graphics/avfoundation/CDMFairPlayStreaming.h:
* platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.h:
* platform/graphics/avfoundation/ISOFairPlayStreamingPsshBox.h:
* platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.h:
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
* platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
* platform/graphics/ca/GraphicsLayerCA.h:
* platform/graphics/cairo/FontCustomPlatformData.h:
* platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
* platform/graphics/cairo/PlatformContextCairo.h:
* platform/graphics/cocoa/GraphicsContext3DCocoa.mm:
* platform/graphics/cv/ImageRotationSessionVT.h:
(WebCore::ImageRotationSessionVT::RotationProperties::isIdentity const): Deleted.
(WebCore::ImageRotationSessionVT::transform const): Deleted.
(WebCore::ImageRotationSessionVT::rotationProperties const): Deleted.
(WebCore::ImageRotationSessionVT::size): Deleted.
(WebCore::ImageRotationSessionVT::rotatedSize): Deleted.
* platform/graphics/cv/PixelBufferConformerCV.h:
* platform/graphics/cv/TextureCacheCV.h:
* platform/graphics/cv/VideoTextureCopierCV.h:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
* platform/graphics/gstreamer/VideoTextureCopierGStreamer.h:
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
* platform/graphics/holepunch/MediaPlayerPrivateHolePunch.h:
* platform/graphics/iso/ISOBox.h:
* platform/graphics/iso/ISOOriginalFormatBox.h:
* platform/graphics/iso/ISOProtectionSchemeInfoBox.h:
* platform/graphics/iso/ISOSchemeInformationBox.h:
* platform/graphics/iso/ISOSchemeTypeBox.h:
* platform/graphics/iso/ISOTrackEncryptionBox.h:
* platform/graphics/iso/ISOVTTCue.cpp:
(WebCore::ISOStringBox::contents): Deleted.
* platform/graphics/iso/ISOVTTCue.h:
(WebCore::ISOWebVTTCue::boxTypeName): Deleted.
(WebCore::ISOWebVTTCue::presentationTime const): Deleted.
(WebCore::ISOWebVTTCue::duration const): Deleted.
(WebCore::ISOWebVTTCue::sourceID const): Deleted.
(WebCore::ISOWebVTTCue::id const): Deleted.
(WebCore::ISOWebVTTCue::originalStartTime const): Deleted.
(WebCore::ISOWebVTTCue::settings const): Deleted.
(WebCore::ISOWebVTTCue::cueText const): Deleted.
* platform/graphics/nicosia/NicosiaPaintingOperation.h:
* platform/graphics/nicosia/texmap/NicosiaBackingStoreTextureMapperImpl.h:
* platform/graphics/nicosia/texmap/NicosiaCompositionLayerTextureMapperImpl.h:
* platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.h:
* platform/graphics/nicosia/texmap/NicosiaGC3DLayer.h:
* platform/graphics/nicosia/texmap/NicosiaImageBackingTextureMapperImpl.h:
* platform/graphics/opengl/Extensions3DOpenGLCommon.h:
* platform/graphics/texmap/TextureMapperGC3DPlatformLayer.h:
* platform/graphics/texmap/coordinated/Tile.h:
* platform/graphics/win/FontCustomPlatformData.h:
* platform/graphics/win/FullScreenController.cpp:
* platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
* platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
* platform/graphics/win/PlatformContextDirect2D.h:
* platform/graphics/win/WKCAImageQueue.cpp:
* platform/gtk/PasteboardHelper.cpp:
* platform/ios/LegacyTileGrid.h:
* platform/mediarecorder/MediaRecorderPrivateAVFImpl.h:
* platform/mediastream/gstreamer/GStreamerAudioData.h:
(WebCore::GStreamerAudioData::GStreamerAudioData): Deleted.
(WebCore::GStreamerAudioData::getSample): Deleted.
(WebCore::GStreamerAudioData::getAudioInfo): Deleted.
(WebCore::GStreamerAudioData::kind const): Deleted.
* platform/mediastream/gstreamer/GStreamerCapturer.h:
* platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:
* platform/mediastream/libwebrtc/GStreamerVideoDecoderFactory.h:
* platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp:
* platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.h:
* platform/mediastream/libwebrtc/LibWebRTCDTMFSenderBackend.h:
* platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
* platform/mediastream/libwebrtc/LibWebRTCProvider.h:
* platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.h:
* platform/mock/MediaPlaybackTargetPickerMock.h:
* platform/mock/RTCDataChannelHandlerMock.h:
* platform/network/ResourceErrorBase.h:
* platform/network/curl/CookieJarDB.h:
* platform/network/curl/CurlCacheEntry.h:
* platform/network/curl/CurlContext.h:
* platform/network/curl/CurlMultipartHandle.h:
* platform/network/curl/CurlRequestScheduler.h:
* platform/network/curl/CurlSSLVerifier.h:
* platform/network/ios/PreviewConverter.h:
* platform/network/soup/NetworkStorageSessionSoup.cpp:
* platform/vr/openvr/VRPlatformDisplayOpenVR.h:
* platform/vr/openvr/VRPlatformManagerOpenVR.h:
* rendering/HitTestResult.h:
* rendering/LayerOverlapMap.cpp:
* rendering/RenderLayerCompositor.h:
* rendering/svg/RenderSVGResourceMasker.h:
* replay/UserInputBridge.h:
* svg/graphics/filters/SVGFilterBuilder.h:
* svg/properties/SVGAttributeAnimator.h:
* svg/properties/SVGDecoratedProperty.h:
* svg/properties/SVGPropertyAnimatorFactory.h:
* testing/InternalSettings.cpp:
* testing/LegacyMockCDM.cpp:
* testing/LegacyMockCDM.h:
* testing/MockCDMFactory.h:
* workers/WorkerEventQueue.cpp:
* workers/WorkerEventQueue.h:
* workers/service/ServiceWorkerContainer.h:
* worklets/PaintWorkletGlobalScope.h:
* xml/XMLErrors.h:
* xml/parser/XMLDocumentParserLibxml2.cpp:

Source/WebDriver:

* glib/SessionHostGlib.cpp:

Source/WebKit:

* NetworkProcess/AdClickAttributionManager.h:
* NetworkProcess/Classifier/ResourceLoadStatisticsPersistentStorage.h:
* NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:
* NetworkProcess/Cookies/WebCookieManager.h:
* NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.h:
* NetworkProcess/NetworkHTTPSUpgradeChecker.h:
* NetworkProcess/NetworkProcess.cpp:
* NetworkProcess/NetworkSession.h:
* NetworkProcess/NetworkSocketChannel.h:
* NetworkProcess/WebSocketTask.h:
* NetworkProcess/cache/PrefetchCache.h:
* NetworkProcess/cocoa/WebSocketTaskCocoa.h:
* NetworkProcess/soup/WebKitSoupRequestInputStream.cpp:
* NetworkProcess/soup/WebSocketTaskSoup.h:
* NetworkProcess/webrtc/LibWebRTCSocketClient.h:
* NetworkProcess/webrtc/NetworkMDNSRegister.cpp:
* Platform/Module.h:
* PluginProcess/PluginControllerProxy.h:
* Shared/ApplePay/WebPaymentCoordinatorProxy.h:
* Shared/Authentication/AuthenticationManager.h:
* Shared/Cocoa/SandboxExtensionCocoa.mm:
* Shared/Plugins/NPObjectMessageReceiver.h:
* Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h:
* UIProcess/API/APIAutomationClient.h:
* UIProcess/API/APIAutomationSessionClient.h:
* UIProcess/API/APIContextMenuClient.h:
* UIProcess/API/APICustomProtocolManagerClient.h:
* UIProcess/API/APIDiagnosticLoggingClient.h:
* UIProcess/API/APIDownloadClient.h:
* UIProcess/API/APIFindClient.h:
* UIProcess/API/APIFindMatchesClient.h:
* UIProcess/API/APIFormClient.h:
* UIProcess/API/APIFullscreenClient.h:
* UIProcess/API/APIGeolocationProvider.h:
* UIProcess/API/APIHistoryClient.h:
* UIProcess/API/APIIconDatabaseClient.h:
* UIProcess/API/APIIconLoadingClient.h:
* UIProcess/API/APIInjectedBundleClient.h:
* UIProcess/API/APILegacyContextHistoryClient.h:
* UIProcess/API/APILoaderClient.h:
* UIProcess/API/APINavigationClient.h:
* UIProcess/API/APIPolicyClient.h:
* UIProcess/API/APIUIClient.h:
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageStateClient):
* UIProcess/API/Cocoa/WKUserContentController.mm:
* UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.mm:
* UIProcess/API/glib/IconDatabase.h:
* UIProcess/API/glib/WebKitAutomationSession.cpp:
* UIProcess/API/glib/WebKitIconLoadingClient.cpp:
* UIProcess/API/glib/WebKitNotificationProvider.h:
* UIProcess/API/glib/WebKitUserContentManager.cpp:
* UIProcess/API/glib/WebKitWebContext.cpp:
* UIProcess/API/glib/WebKitWebView.cpp:
* UIProcess/API/gtk/WebKitRemoteInspectorProtocolHandler.cpp:
* UIProcess/API/gtk/WebKitWebInspector.cpp:
* UIProcess/API/mac/WKView.mm:
(-[WKView maybeInstallIconLoadingClient]):
* UIProcess/API/wpe/APIViewClient.h:
* UIProcess/API/wpe/ScrollGestureController.h:
* UIProcess/ApplicationStateTracker.h:
* UIProcess/Cocoa/AutomationSessionClient.h:
* UIProcess/Cocoa/IconLoadingDelegate.h:
* UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
* UIProcess/Cocoa/UserMediaCaptureManagerProxy.h:
* UIProcess/DrawingAreaProxy.h:
* UIProcess/HighPerformanceGraphicsUsageSampler.h:
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/PageClient.h:
* UIProcess/PerActivityStateCPUUsageSampler.h:
* UIProcess/RemoteLayerTree/RemoteLayerTreeScrollingPerformanceData.h:
* UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:
* UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.h:
* UIProcess/SystemPreviewController.h:
* UIProcess/UserMediaPermissionRequestManagerProxy.h:
* UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h:
* UIProcess/WebNavigationState.h:
* UIProcess/WebPageInjectedBundleClient.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebsiteData/WebsiteDataStoreClient.h:
* UIProcess/gtk/DragAndDropHandler.h:
* UIProcess/ios/EditableImageController.h:
* UIProcess/ios/InputViewUpdateDeferrer.h:
* UIProcess/ios/SmartMagnificationController.h:
* UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
* UIProcess/mac/WKFullScreenWindowController.mm:
* UIProcess/mac/WKTextFinderClient.mm:
* WebProcess/ApplePay/WebPaymentCoordinator.h:
* WebProcess/Geolocation/GeolocationPermissionRequestManager.h:
* WebProcess/Geolocation/WebGeolocationManager.h:
* WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
* WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:
* WebProcess/InjectedBundle/API/glib/DOM/DOMObjectCache.cpp:
* WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp:
* WebProcess/MediaCache/WebMediaKeyStorageManager.h:
* WebProcess/MediaStream/UserMediaPermissionRequestManager.h:
* WebProcess/Network/webrtc/LibWebRTCProvider.cpp:
* WebProcess/Network/webrtc/LibWebRTCResolver.h:
* WebProcess/Notifications/WebNotificationManager.h:
* WebProcess/Plugins/Netscape/NetscapePlugin.h:
* WebProcess/Plugins/Netscape/x11/NetscapePluginX11.h:
* WebProcess/Plugins/PluginController.h:
* WebProcess/Storage/WebSWOriginTable.h:
* WebProcess/WebCoreSupport/WebAlternativeTextClient.h:
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebCoreSupport/WebContextMenuClient.h:
* WebProcess/WebCoreSupport/WebDragClient.h:
* WebProcess/WebCoreSupport/WebEditorClient.h:
* WebProcess/WebCoreSupport/WebGeolocationClient.h:
* WebProcess/WebCoreSupport/WebInspectorClient.h:
* WebProcess/WebCoreSupport/WebMessagePortChannelProvider.h:
* WebProcess/WebCoreSupport/WebNotificationClient.h:
* WebProcess/WebCoreSupport/WebPlugInClient.h:
* WebProcess/WebCoreSupport/WebProgressTrackerClient.h:
* WebProcess/WebCoreSupport/WebSpeechSynthesisClient.h:
* WebProcess/WebCoreSupport/WebUserMediaClient.h:
* WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.h:
* WebProcess/WebPage/FindController.h:
* WebProcess/WebPage/ViewGestureGeometryCollector.h:
* WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
* WebProcess/WebPage/ios/FindIndicatorOverlayClientIOS.h:
* WebProcess/WebProcess.h:
* WebProcess/cocoa/UserMediaCaptureManager.h:

Source/WebKitLegacy/ios:

* WebCoreSupport/WebChromeClientIOS.h:
* WebCoreSupport/WebFixedPositionContent.mm:

Source/WebKitLegacy/mac:

* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
* Plugins/WebNetscapePluginEventHandlerCocoa.h:
* Storage/WebDatabaseManagerClient.mm:
* WebCoreSupport/WebAlternativeTextClient.h:
* WebCoreSupport/WebCachedFramePlatformData.h:
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebContextMenuClient.h:
* WebCoreSupport/WebDragClient.h:
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebGeolocationClient.h:
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebNotificationClient.h:
* WebCoreSupport/WebSelectionServiceController.h:
* WebView/WebMediaPlaybackTargetPicker.h:

Source/WebKitLegacy/win:

* FullscreenVideoController.cpp:
* FullscreenVideoController.h:
* Plugins/PluginMessageThrottlerWin.h:
* WebCachedFramePlatformData.h:
* WebCoreSupport/AcceleratedCompositingContext.h:
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebContextMenuClient.h:
* WebCoreSupport/WebDesktopNotificationsDelegate.h:
* WebCoreSupport/WebDragClient.h:
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebFrameLoaderClient.cpp:
* WebCoreSupport/WebGeolocationClient.h:
* WebCoreSupport/WebInspectorClient.h:
* WebDatabaseManager.cpp:
* WebKitQuartzCoreAdditions/CAD3DRenderer.h:
* WebNodeHighlight.h:
* WebNotificationCenter.cpp:
* WebNotificationCenter.h:

Tools:

* DumpRenderTree/AccessibilityController.h:
* DumpRenderTree/GCController.h:
* DumpRenderTree/win/DRTDataObject.cpp:
* DumpRenderTree/win/DRTDataObject.h:
* DumpRenderTree/win/DRTDesktopNotificationPresenter.h:
* DumpRenderTree/win/DRTDropSource.h:
* DumpRenderTree/win/DraggingInfo.h:
* DumpRenderTree/win/EditingDelegate.h:
* DumpRenderTree/win/EventSender.cpp:
* DumpRenderTree/win/FrameLoadDelegate.h:
* DumpRenderTree/win/HistoryDelegate.h:
* DumpRenderTree/win/MD5.h:
* DumpRenderTree/win/PolicyDelegate.h:
* DumpRenderTree/win/ResourceLoadDelegate.h:
* DumpRenderTree/win/TextInputController.h:
* DumpRenderTree/win/UIDelegate.cpp:
* DumpRenderTree/win/UIDelegate.h:
* TestRunnerShared/UIScriptContext/UIScriptContext.h:
* TestRunnerShared/cocoa/ClassMethodSwizzler.h:
* TestRunnerShared/cocoa/InstanceMethodSwizzler.h:
* TestWebKitAPI/Counters.h:
* TestWebKitAPI/PlatformWebView.h:
* TestWebKitAPI/Tests/WTF/Expected.cpp:
* TestWebKitAPI/Tests/WTF/HashMap.cpp:
(TestWebKitAPI::DerefObserver::ref):
(TestWebKitAPI::DerefObserver::deref):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/HashSet.cpp:
(TestWebKitAPI::DerefObserver::ref):
(TestWebKitAPI::DerefObserver::deref):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/UniqueRef.cpp:
* TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
* TestWebKitAPI/Tests/WebCore/CalculationValue.cpp:
* TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp:
* TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.h:
* TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.h:
* WebKitTestRunner/EventSenderProxy.h:
* WebKitTestRunner/GeolocationProviderMock.h:
* WebKitTestRunner/InjectedBundle/AccessibilityController.h:
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
* WebKitTestRunner/PlatformWebView.h:
* WebKitTestRunner/TestInvocation.h:

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

407 files changed:
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/debugger/Debugger.h
Source/JavaScriptCore/inspector/scripts/codegen/objc_generator_templates.py
Source/JavaScriptCore/inspector/scripts/tests/all/expected/definitions-with-mac-platform.json-result
Source/JavaScriptCore/inspector/scripts/tests/generic/expected/commands-with-async-attribute.json-result
Source/JavaScriptCore/inspector/scripts/tests/generic/expected/commands-with-optional-call-return-parameters.json-result
Source/JavaScriptCore/inspector/scripts/tests/generic/expected/definitions-with-mac-platform.json-result
Source/JavaScriptCore/inspector/scripts/tests/generic/expected/domain-availability.json-result
Source/JavaScriptCore/inspector/scripts/tests/generic/expected/domains-with-varying-command-sizes.json-result
Source/JavaScriptCore/inspector/scripts/tests/generic/expected/enum-values.json-result
Source/JavaScriptCore/inspector/scripts/tests/generic/expected/events-with-optional-parameters.json-result
Source/JavaScriptCore/inspector/scripts/tests/generic/expected/generate-domains-with-feature-guards.json-result
Source/JavaScriptCore/inspector/scripts/tests/generic/expected/same-type-id-different-domain.json-result
Source/JavaScriptCore/inspector/scripts/tests/generic/expected/shadowed-optional-type-setters.json-result
Source/JavaScriptCore/inspector/scripts/tests/generic/expected/should-strip-comments.json-result
Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-declaration-aliased-primitive-type.json-result
Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-declaration-array-type.json-result
Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-declaration-enum-type.json-result
Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-declaration-object-type.json-result
Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-requiring-runtime-casts.json-result
Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-with-open-parameters.json-result
Source/JavaScriptCore/inspector/scripts/tests/generic/expected/version.json-result
Source/JavaScriptCore/inspector/scripts/tests/ios/expected/definitions-with-mac-platform.json-result
Source/JavaScriptCore/inspector/scripts/tests/mac/expected/definitions-with-mac-platform.json-result
Source/WebCore/ChangeLog
Source/WebCore/Modules/encryptedmedia/legacy/LegacyCDM.h
Source/WebCore/Modules/encryptedmedia/legacy/LegacyCDMPrivate.h
Source/WebCore/Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.h
Source/WebCore/Modules/webaudio/AsyncAudioDecoder.h
Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.h
Source/WebCore/Modules/webdatabase/SQLStatement.h
Source/WebCore/Modules/webgpu/WHLSL/AST/WHLSLVariableDeclaration.h
Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLEntryPointScaffolding.h
Source/WebCore/Modules/webgpu/WHLSL/WHLSLResolvingType.h
Source/WebCore/bindings/js/DOMPromiseProxy.h
Source/WebCore/bindings/js/GCController.h
Source/WebCore/bridge/jsc/BridgeJSC.h
Source/WebCore/contentextensions/ContentExtensionsBackend.h
Source/WebCore/dom/FullscreenManager.h
Source/WebCore/dom/Microtasks.h
Source/WebCore/editing/CompositeEditCommand.h
Source/WebCore/editing/mac/AlternativeTextUIController.h
Source/WebCore/html/HTMLMediaElement.h
Source/WebCore/inspector/InspectorFrontendClientLocal.h
Source/WebCore/inspector/agents/WebHeapAgent.cpp
Source/WebCore/layout/displaytree/DisplayRun.h
Source/WebCore/layout/inlineformatting/InlineItem.h
Source/WebCore/layout/inlineformatting/InlineLine.h
Source/WebCore/layout/tableformatting/TableGrid.h
Source/WebCore/loader/FrameLoader.h
Source/WebCore/loader/NavigationDisabler.h
Source/WebCore/loader/NavigationScheduler.h
Source/WebCore/loader/cache/CachedResource.h
Source/WebCore/loader/cache/CachedSVGDocumentReference.h
Source/WebCore/loader/ios/PreviewLoader.h
Source/WebCore/page/CaptionUserPreferences.h
Source/WebCore/page/PrewarmInformation.h
Source/WebCore/page/ResizeObserver.h
Source/WebCore/page/SuspendableTimer.h
Source/WebCore/page/csp/ContentSecurityPolicyDirective.h
Source/WebCore/page/ios/ContentChangeObserver.h
Source/WebCore/page/ios/DOMTimerHoldingTank.h
Source/WebCore/page/linux/ResourceUsageOverlayLinux.cpp
Source/WebCore/page/mac/TextIndicatorWindow.h
Source/WebCore/page/scrolling/ScrollSnapOffsetsInfo.h
Source/WebCore/page/scrolling/ScrollingMomentumCalculator.h
Source/WebCore/platform/CPUMonitor.h
Source/WebCore/platform/FileMonitor.h
Source/WebCore/platform/ScrollAnimation.h
Source/WebCore/platform/SuddenTermination.h
Source/WebCore/platform/audio/AudioBus.h
Source/WebCore/platform/audio/AudioChannel.h
Source/WebCore/platform/audio/AudioFIFO.h
Source/WebCore/platform/audio/AudioPullFIFO.h
Source/WebCore/platform/audio/AudioResampler.h
Source/WebCore/platform/audio/AudioResamplerKernel.h
Source/WebCore/platform/audio/AudioSession.cpp
Source/WebCore/platform/audio/AudioSession.h
Source/WebCore/platform/audio/Biquad.h
Source/WebCore/platform/audio/Cone.h
Source/WebCore/platform/audio/DenormalDisabler.h
Source/WebCore/platform/audio/DirectConvolver.h
Source/WebCore/platform/audio/Distance.h
Source/WebCore/platform/audio/DownSampler.h
Source/WebCore/platform/audio/DynamicsCompressor.h
Source/WebCore/platform/audio/DynamicsCompressorKernel.h
Source/WebCore/platform/audio/EqualPowerPanner.h
Source/WebCore/platform/audio/FFTConvolver.h
Source/WebCore/platform/audio/HRTFDatabase.h
Source/WebCore/platform/audio/HRTFElevation.h
Source/WebCore/platform/audio/HRTFPanner.h
Source/WebCore/platform/audio/MultiChannelResampler.h
Source/WebCore/platform/audio/PlatformAudioData.h
Source/WebCore/platform/audio/Reverb.h
Source/WebCore/platform/audio/ReverbAccumulationBuffer.h
Source/WebCore/platform/audio/ReverbConvolver.h
Source/WebCore/platform/audio/ReverbConvolverStage.h
Source/WebCore/platform/audio/ReverbInputBuffer.h
Source/WebCore/platform/audio/SincResampler.h
Source/WebCore/platform/audio/UpSampler.h
Source/WebCore/platform/audio/ZeroPole.h
Source/WebCore/platform/audio/cocoa/WebAudioBufferList.h
Source/WebCore/platform/audio/ios/AudioSessionIOS.mm
Source/WebCore/platform/audio/mac/CARingBuffer.h
Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.h
Source/WebCore/platform/gamepad/mac/HIDGamepad.h
Source/WebCore/platform/graphics/FloatPoint.h
Source/WebCore/platform/graphics/Font.h
Source/WebCore/platform/graphics/GraphicsContext.h
Source/WebCore/platform/graphics/GraphicsContext3DPrivate.h
Source/WebCore/platform/graphics/GraphicsContextImpl.h
Source/WebCore/platform/graphics/GraphicsLayer.cpp
Source/WebCore/platform/graphics/LegacyCDMSession.h
Source/WebCore/platform/graphics/Region.h
Source/WebCore/platform/graphics/VelocityData.h
Source/WebCore/platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.h
Source/WebCore/platform/graphics/avfoundation/CDMFairPlayStreaming.h
Source/WebCore/platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.h
Source/WebCore/platform/graphics/avfoundation/ISOFairPlayStreamingPsshBox.h
Source/WebCore/platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.h
Source/WebCore/platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp
Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h
Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h
Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h
Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h
Source/WebCore/platform/graphics/cairo/FontCustomPlatformData.h
Source/WebCore/platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h
Source/WebCore/platform/graphics/cairo/PlatformContextCairo.h
Source/WebCore/platform/graphics/cocoa/GraphicsContext3DCocoa.mm
Source/WebCore/platform/graphics/cv/ImageRotationSessionVT.h
Source/WebCore/platform/graphics/cv/PixelBufferConformerCV.h
Source/WebCore/platform/graphics/cv/TextureCacheCV.h
Source/WebCore/platform/graphics/cv/VideoTextureCopierCV.h
Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp
Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h
Source/WebCore/platform/graphics/gstreamer/VideoTextureCopierGStreamer.h
Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
Source/WebCore/platform/graphics/holepunch/MediaPlayerPrivateHolePunch.h
Source/WebCore/platform/graphics/iso/ISOBox.h
Source/WebCore/platform/graphics/iso/ISOOriginalFormatBox.h
Source/WebCore/platform/graphics/iso/ISOProtectionSchemeInfoBox.h
Source/WebCore/platform/graphics/iso/ISOSchemeInformationBox.h
Source/WebCore/platform/graphics/iso/ISOSchemeTypeBox.h
Source/WebCore/platform/graphics/iso/ISOTrackEncryptionBox.h
Source/WebCore/platform/graphics/iso/ISOVTTCue.cpp
Source/WebCore/platform/graphics/iso/ISOVTTCue.h
Source/WebCore/platform/graphics/nicosia/NicosiaPaintingOperation.h
Source/WebCore/platform/graphics/nicosia/texmap/NicosiaBackingStoreTextureMapperImpl.h
Source/WebCore/platform/graphics/nicosia/texmap/NicosiaCompositionLayerTextureMapperImpl.h
Source/WebCore/platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.h
Source/WebCore/platform/graphics/nicosia/texmap/NicosiaGC3DLayer.h
Source/WebCore/platform/graphics/nicosia/texmap/NicosiaImageBackingTextureMapperImpl.h
Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.h
Source/WebCore/platform/graphics/texmap/TextureMapperGC3DPlatformLayer.h
Source/WebCore/platform/graphics/texmap/coordinated/Tile.h
Source/WebCore/platform/graphics/win/FontCustomPlatformData.h
Source/WebCore/platform/graphics/win/FullScreenController.cpp
Source/WebCore/platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h
Source/WebCore/platform/graphics/win/MediaPlayerPrivateMediaFoundation.h
Source/WebCore/platform/graphics/win/PlatformContextDirect2D.h
Source/WebCore/platform/graphics/win/WKCAImageQueue.cpp
Source/WebCore/platform/gtk/PasteboardHelper.cpp
Source/WebCore/platform/ios/LegacyTileGrid.h
Source/WebCore/platform/mediarecorder/MediaRecorderPrivateAVFImpl.h
Source/WebCore/platform/mediastream/gstreamer/GStreamerAudioData.h
Source/WebCore/platform/mediastream/gstreamer/GStreamerCapturer.h
Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp
Source/WebCore/platform/mediastream/libwebrtc/GStreamerVideoDecoderFactory.h
Source/WebCore/platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp
Source/WebCore/platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.h
Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCDTMFSenderBackend.h
Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp
Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.h
Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.h
Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.h
Source/WebCore/platform/mock/RTCDataChannelHandlerMock.h
Source/WebCore/platform/network/ResourceErrorBase.h
Source/WebCore/platform/network/curl/CookieJarDB.h
Source/WebCore/platform/network/curl/CurlCacheEntry.h
Source/WebCore/platform/network/curl/CurlContext.h
Source/WebCore/platform/network/curl/CurlMultipartHandle.h
Source/WebCore/platform/network/curl/CurlRequestScheduler.h
Source/WebCore/platform/network/curl/CurlSSLVerifier.h
Source/WebCore/platform/network/ios/PreviewConverter.h
Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp
Source/WebCore/platform/vr/openvr/VRPlatformDisplayOpenVR.h
Source/WebCore/platform/vr/openvr/VRPlatformManagerOpenVR.h
Source/WebCore/rendering/HitTestResult.h
Source/WebCore/rendering/LayerOverlapMap.cpp
Source/WebCore/rendering/RenderLayerCompositor.h
Source/WebCore/rendering/svg/RenderSVGResourceMasker.h
Source/WebCore/replay/UserInputBridge.h
Source/WebCore/svg/graphics/filters/SVGFilterBuilder.h
Source/WebCore/svg/properties/SVGAttributeAnimator.h
Source/WebCore/svg/properties/SVGDecoratedProperty.h
Source/WebCore/svg/properties/SVGPropertyAnimatorFactory.h
Source/WebCore/testing/InternalSettings.cpp
Source/WebCore/testing/LegacyMockCDM.cpp
Source/WebCore/testing/LegacyMockCDM.h
Source/WebCore/testing/MockCDMFactory.h
Source/WebCore/workers/WorkerEventQueue.cpp
Source/WebCore/workers/WorkerEventQueue.h
Source/WebCore/workers/service/ServiceWorkerContainer.h
Source/WebCore/worklets/PaintWorkletGlobalScope.h
Source/WebCore/xml/XMLErrors.h
Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp
Source/WebDriver/ChangeLog
Source/WebDriver/glib/SessionHostGlib.cpp
Source/WebKit/ChangeLog
Source/WebKit/NetworkProcess/AdClickAttributionManager.h
Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsPersistentStorage.h
Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.h
Source/WebKit/NetworkProcess/Cookies/WebCookieManager.h
Source/WebKit/NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.h
Source/WebKit/NetworkProcess/NetworkHTTPSUpgradeChecker.h
Source/WebKit/NetworkProcess/NetworkProcess.cpp
Source/WebKit/NetworkProcess/NetworkSession.h
Source/WebKit/NetworkProcess/NetworkSocketChannel.h
Source/WebKit/NetworkProcess/WebSocketTask.h
Source/WebKit/NetworkProcess/cache/PrefetchCache.h
Source/WebKit/NetworkProcess/cocoa/WebSocketTaskCocoa.h
Source/WebKit/NetworkProcess/soup/WebKitSoupRequestInputStream.cpp
Source/WebKit/NetworkProcess/soup/WebSocketTaskSoup.h
Source/WebKit/NetworkProcess/webrtc/LibWebRTCSocketClient.h
Source/WebKit/NetworkProcess/webrtc/NetworkMDNSRegister.cpp
Source/WebKit/Platform/Module.h
Source/WebKit/PluginProcess/PluginControllerProxy.h
Source/WebKit/Shared/ApplePay/WebPaymentCoordinatorProxy.h
Source/WebKit/Shared/Authentication/AuthenticationManager.h
Source/WebKit/Shared/Cocoa/SandboxExtensionCocoa.mm
Source/WebKit/Shared/Plugins/NPObjectMessageReceiver.h
Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h
Source/WebKit/UIProcess/API/APIAutomationClient.h
Source/WebKit/UIProcess/API/APIAutomationSessionClient.h
Source/WebKit/UIProcess/API/APIContextMenuClient.h
Source/WebKit/UIProcess/API/APICustomProtocolManagerClient.h
Source/WebKit/UIProcess/API/APIDiagnosticLoggingClient.h
Source/WebKit/UIProcess/API/APIDownloadClient.h
Source/WebKit/UIProcess/API/APIFindClient.h
Source/WebKit/UIProcess/API/APIFindMatchesClient.h
Source/WebKit/UIProcess/API/APIFormClient.h
Source/WebKit/UIProcess/API/APIFullscreenClient.h
Source/WebKit/UIProcess/API/APIGeolocationProvider.h
Source/WebKit/UIProcess/API/APIHistoryClient.h
Source/WebKit/UIProcess/API/APIIconDatabaseClient.h
Source/WebKit/UIProcess/API/APIIconLoadingClient.h
Source/WebKit/UIProcess/API/APIInjectedBundleClient.h
Source/WebKit/UIProcess/API/APILegacyContextHistoryClient.h
Source/WebKit/UIProcess/API/APILoaderClient.h
Source/WebKit/UIProcess/API/APINavigationClient.h
Source/WebKit/UIProcess/API/APIPolicyClient.h
Source/WebKit/UIProcess/API/APIUIClient.h
Source/WebKit/UIProcess/API/C/WKPage.cpp
Source/WebKit/UIProcess/API/Cocoa/WKUserContentController.mm
Source/WebKit/UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.mm
Source/WebKit/UIProcess/API/glib/IconDatabase.h
Source/WebKit/UIProcess/API/glib/WebKitAutomationSession.cpp
Source/WebKit/UIProcess/API/glib/WebKitIconLoadingClient.cpp
Source/WebKit/UIProcess/API/glib/WebKitNotificationProvider.h
Source/WebKit/UIProcess/API/glib/WebKitUserContentManager.cpp
Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp
Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp
Source/WebKit/UIProcess/API/gtk/WebKitRemoteInspectorProtocolHandler.cpp
Source/WebKit/UIProcess/API/gtk/WebKitWebInspector.cpp
Source/WebKit/UIProcess/API/mac/WKView.mm
Source/WebKit/UIProcess/API/wpe/APIViewClient.h
Source/WebKit/UIProcess/API/wpe/ScrollGestureController.h
Source/WebKit/UIProcess/ApplicationStateTracker.h
Source/WebKit/UIProcess/Cocoa/AutomationSessionClient.h
Source/WebKit/UIProcess/Cocoa/IconLoadingDelegate.h
Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp
Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.h
Source/WebKit/UIProcess/DrawingAreaProxy.h
Source/WebKit/UIProcess/HighPerformanceGraphicsUsageSampler.h
Source/WebKit/UIProcess/Network/NetworkProcessProxy.h
Source/WebKit/UIProcess/PageClient.h
Source/WebKit/UIProcess/PerActivityStateCPUUsageSampler.h
Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeScrollingPerformanceData.h
Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h
Source/WebKit/UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.h
Source/WebKit/UIProcess/SystemPreviewController.h
Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.h
Source/WebKit/UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h
Source/WebKit/UIProcess/WebNavigationState.h
Source/WebKit/UIProcess/WebPageInjectedBundleClient.h
Source/WebKit/UIProcess/WebPageProxy.h
Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreClient.h
Source/WebKit/UIProcess/gtk/DragAndDropHandler.h
Source/WebKit/UIProcess/ios/EditableImageController.h
Source/WebKit/UIProcess/ios/InputViewUpdateDeferrer.h
Source/WebKit/UIProcess/ios/SmartMagnificationController.h
Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenViewController.mm
Source/WebKit/UIProcess/mac/WKFullScreenWindowController.mm
Source/WebKit/UIProcess/mac/WKTextFinderClient.mm
Source/WebKit/WebProcess/ApplePay/WebPaymentCoordinator.h
Source/WebKit/WebProcess/Geolocation/GeolocationPermissionRequestManager.h
Source/WebKit/WebProcess/Geolocation/WebGeolocationManager.h
Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp
Source/WebKit/WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm
Source/WebKit/WebProcess/InjectedBundle/API/glib/DOM/DOMObjectCache.cpp
Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp
Source/WebKit/WebProcess/MediaCache/WebMediaKeyStorageManager.h
Source/WebKit/WebProcess/MediaStream/UserMediaPermissionRequestManager.h
Source/WebKit/WebProcess/Network/webrtc/LibWebRTCProvider.cpp
Source/WebKit/WebProcess/Network/webrtc/LibWebRTCResolver.h
Source/WebKit/WebProcess/Notifications/WebNotificationManager.h
Source/WebKit/WebProcess/Plugins/Netscape/NetscapePlugin.h
Source/WebKit/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.h
Source/WebKit/WebProcess/Plugins/PluginController.h
Source/WebKit/WebProcess/Storage/WebSWOriginTable.h
Source/WebKit/WebProcess/WebCoreSupport/WebAlternativeTextClient.h
Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h
Source/WebKit/WebProcess/WebCoreSupport/WebContextMenuClient.h
Source/WebKit/WebProcess/WebCoreSupport/WebDragClient.h
Source/WebKit/WebProcess/WebCoreSupport/WebEditorClient.h
Source/WebKit/WebProcess/WebCoreSupport/WebGeolocationClient.h
Source/WebKit/WebProcess/WebCoreSupport/WebInspectorClient.h
Source/WebKit/WebProcess/WebCoreSupport/WebMessagePortChannelProvider.h
Source/WebKit/WebProcess/WebCoreSupport/WebNotificationClient.h
Source/WebKit/WebProcess/WebCoreSupport/WebPlugInClient.h
Source/WebKit/WebProcess/WebCoreSupport/WebProgressTrackerClient.h
Source/WebKit/WebProcess/WebCoreSupport/WebSpeechSynthesisClient.h
Source/WebKit/WebProcess/WebCoreSupport/WebUserMediaClient.h
Source/WebKit/WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.h
Source/WebKit/WebProcess/WebPage/FindController.h
Source/WebKit/WebProcess/WebPage/ViewGestureGeometryCollector.h
Source/WebKit/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp
Source/WebKit/WebProcess/WebPage/ios/FindIndicatorOverlayClientIOS.h
Source/WebKit/WebProcess/WebProcess.h
Source/WebKit/WebProcess/cocoa/UserMediaCaptureManager.h
Source/WebKitLegacy/ios/ChangeLog
Source/WebKitLegacy/ios/WebCoreSupport/WebChromeClientIOS.h
Source/WebKitLegacy/ios/WebCoreSupport/WebFixedPositionContent.mm
Source/WebKitLegacy/mac/ChangeLog
Source/WebKitLegacy/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h
Source/WebKitLegacy/mac/Plugins/Hosted/WebHostedNetscapePluginView.mm
Source/WebKitLegacy/mac/Plugins/WebNetscapePluginEventHandlerCocoa.h
Source/WebKitLegacy/mac/Storage/WebDatabaseManagerClient.mm
Source/WebKitLegacy/mac/WebCoreSupport/WebAlternativeTextClient.h
Source/WebKitLegacy/mac/WebCoreSupport/WebCachedFramePlatformData.h
Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.h
Source/WebKitLegacy/mac/WebCoreSupport/WebContextMenuClient.h
Source/WebKitLegacy/mac/WebCoreSupport/WebDragClient.h
Source/WebKitLegacy/mac/WebCoreSupport/WebEditorClient.h
Source/WebKitLegacy/mac/WebCoreSupport/WebGeolocationClient.h
Source/WebKitLegacy/mac/WebCoreSupport/WebInspectorClient.h
Source/WebKitLegacy/mac/WebCoreSupport/WebNotificationClient.h
Source/WebKitLegacy/mac/WebCoreSupport/WebSelectionServiceController.h
Source/WebKitLegacy/mac/WebView/WebMediaPlaybackTargetPicker.h
Source/WebKitLegacy/win/ChangeLog
Source/WebKitLegacy/win/FullscreenVideoController.cpp
Source/WebKitLegacy/win/FullscreenVideoController.h
Source/WebKitLegacy/win/Plugins/PluginMessageThrottlerWin.h
Source/WebKitLegacy/win/WebCachedFramePlatformData.h
Source/WebKitLegacy/win/WebCoreSupport/AcceleratedCompositingContext.h
Source/WebKitLegacy/win/WebCoreSupport/WebChromeClient.h
Source/WebKitLegacy/win/WebCoreSupport/WebContextMenuClient.h
Source/WebKitLegacy/win/WebCoreSupport/WebDesktopNotificationsDelegate.h
Source/WebKitLegacy/win/WebCoreSupport/WebDragClient.h
Source/WebKitLegacy/win/WebCoreSupport/WebEditorClient.h
Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp
Source/WebKitLegacy/win/WebCoreSupport/WebGeolocationClient.h
Source/WebKitLegacy/win/WebCoreSupport/WebInspectorClient.h
Source/WebKitLegacy/win/WebDatabaseManager.cpp
Source/WebKitLegacy/win/WebKitQuartzCoreAdditions/CAD3DRenderer.h
Source/WebKitLegacy/win/WebNodeHighlight.h
Source/WebKitLegacy/win/WebNotificationCenter.cpp
Source/WebKitLegacy/win/WebNotificationCenter.h
Tools/ChangeLog
Tools/DumpRenderTree/AccessibilityController.h
Tools/DumpRenderTree/GCController.h
Tools/DumpRenderTree/win/DRTDataObject.cpp
Tools/DumpRenderTree/win/DRTDataObject.h
Tools/DumpRenderTree/win/DRTDesktopNotificationPresenter.h
Tools/DumpRenderTree/win/DRTDropSource.h
Tools/DumpRenderTree/win/DraggingInfo.h
Tools/DumpRenderTree/win/EditingDelegate.h
Tools/DumpRenderTree/win/EventSender.cpp
Tools/DumpRenderTree/win/FrameLoadDelegate.h
Tools/DumpRenderTree/win/HistoryDelegate.h
Tools/DumpRenderTree/win/MD5.h
Tools/DumpRenderTree/win/PolicyDelegate.h
Tools/DumpRenderTree/win/ResourceLoadDelegate.h
Tools/DumpRenderTree/win/TextInputController.h
Tools/DumpRenderTree/win/UIDelegate.cpp
Tools/DumpRenderTree/win/UIDelegate.h
Tools/TestRunnerShared/UIScriptContext/UIScriptContext.h
Tools/TestRunnerShared/cocoa/ClassMethodSwizzler.h
Tools/TestRunnerShared/cocoa/InstanceMethodSwizzler.h
Tools/TestWebKitAPI/Counters.h
Tools/TestWebKitAPI/PlatformWebView.h
Tools/TestWebKitAPI/Tests/WTF/Expected.cpp
Tools/TestWebKitAPI/Tests/WTF/HashMap.cpp
Tools/TestWebKitAPI/Tests/WTF/HashSet.cpp
Tools/TestWebKitAPI/Tests/WTF/UniqueRef.cpp
Tools/TestWebKitAPI/Tests/WTF/WeakPtr.cpp
Tools/TestWebKitAPI/Tests/WebCore/CalculationValue.cpp
Tools/TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp
Tools/TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.h
Tools/TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.h
Tools/WebKitTestRunner/EventSenderProxy.h
Tools/WebKitTestRunner/GeolocationProviderMock.h
Tools/WebKitTestRunner/InjectedBundle/AccessibilityController.h
Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp
Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.h
Tools/WebKitTestRunner/PlatformWebView.h
Tools/WebKitTestRunner/TestInvocation.h

index 93d1ffd..a8db389 100644 (file)
@@ -1,3 +1,40 @@
+2019-08-15  Yusuke Suzuki  <ysuzuki@apple.com>
+
+        [WTF] Add makeUnique<T>, which ensures T is fast-allocated, WTF_MAKE_FAST_ALLOCATED annotation part
+        https://bugs.webkit.org/show_bug.cgi?id=200620
+
+        Reviewed by Geoffrey Garen.
+
+        Three patches including this one were originally one patch. I split it into three pieces to make roll-out easy.
+        This part, we annotate classes / structs with WTF_MAKE_FAST_ALLOCATED and WTF_MAKE_STRUCT_FAST_ALLOCATED if
+        they are allocated from std::make_unique. The second patch will switch `std::make_unique` to `WTF::makeUnique` and
+        the third patch will insert a static_assert that makeUnique-allocated class T is FastMalloc-ed.
+        One insight from this patch is that we tend to forget adding WTF_MAKE_STRUCT_FAST_ALLOCATED if it is just a data struct.
+
+        * debugger/Debugger.h:
+        * inspector/scripts/codegen/objc_generator_templates.py:
+        * inspector/scripts/tests/all/expected/definitions-with-mac-platform.json-result:
+        * inspector/scripts/tests/generic/expected/commands-with-async-attribute.json-result:
+        * inspector/scripts/tests/generic/expected/commands-with-optional-call-return-parameters.json-result:
+        * inspector/scripts/tests/generic/expected/definitions-with-mac-platform.json-result:
+        * inspector/scripts/tests/generic/expected/domain-availability.json-result:
+        * inspector/scripts/tests/generic/expected/domains-with-varying-command-sizes.json-result:
+        * inspector/scripts/tests/generic/expected/enum-values.json-result:
+        * inspector/scripts/tests/generic/expected/events-with-optional-parameters.json-result:
+        * inspector/scripts/tests/generic/expected/generate-domains-with-feature-guards.json-result:
+        * inspector/scripts/tests/generic/expected/same-type-id-different-domain.json-result:
+        * inspector/scripts/tests/generic/expected/shadowed-optional-type-setters.json-result:
+        * inspector/scripts/tests/generic/expected/should-strip-comments.json-result:
+        * inspector/scripts/tests/generic/expected/type-declaration-aliased-primitive-type.json-result:
+        * inspector/scripts/tests/generic/expected/type-declaration-array-type.json-result:
+        * inspector/scripts/tests/generic/expected/type-declaration-enum-type.json-result:
+        * inspector/scripts/tests/generic/expected/type-declaration-object-type.json-result:
+        * inspector/scripts/tests/generic/expected/type-requiring-runtime-casts.json-result:
+        * inspector/scripts/tests/generic/expected/type-with-open-parameters.json-result:
+        * inspector/scripts/tests/generic/expected/version.json-result:
+        * inspector/scripts/tests/ios/expected/definitions-with-mac-platform.json-result:
+        * inspector/scripts/tests/mac/expected/definitions-with-mac-platform.json-result:
+
 2019-08-15  Brent Fulgham  <bfulgham@apple.com>
 
         [FTW] Enable CoreFoundation use if building for Apple target
index bcd72ea..ebabb59 100644 (file)
@@ -44,6 +44,7 @@ class VM;
 typedef ExecState CallFrame;
 
 class JS_EXPORT_PRIVATE Debugger {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     Debugger(VM&);
     virtual ~Debugger();
index 66f9fd2..35fe4ab 100755 (executable)
@@ -102,6 +102,7 @@ ${commandDeclarations}
 
     BackendDispatcherHeaderDomainHandlerObjCDeclaration = (
     """class ObjCInspector${domainName}BackendDispatcher final : public Alternate${domainName}BackendDispatcher {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     ObjCInspector${domainName}BackendDispatcher(id<${objcPrefix}${domainName}DomainHandler> handler) { m_delegate = handler; }
 ${commandDeclarations}
index 8842c9e..a18e82d 100644 (file)
@@ -585,6 +585,7 @@ namespace Inspector {
 
 
 class ObjCInspectorNetworkBackendDispatcher final : public AlternateNetworkBackendDispatcher {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     ObjCInspectorNetworkBackendDispatcher(id<TestProtocolNetworkDomainHandler> handler) { m_delegate = handler; }
     virtual void loadResource(long requestId) override;
@@ -928,6 +929,8 @@ __attribute__((visibility ("default")))
 @end
 
 
+#import <WebInspector/RWIProtocolBuildCompatibilityObjects.h>
+
 ### End File: TestProtocol.h
 
 ### Begin File: TestProtocolInternal.h
index a714fb1..2241df6 100644 (file)
@@ -861,6 +861,7 @@ namespace Inspector {
 
 
 class ObjCInspectorDatabaseBackendDispatcher final : public AlternateDatabaseBackendDispatcher {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     ObjCInspectorDatabaseBackendDispatcher(id<TestProtocolDatabaseDomainHandler> handler) { m_delegate = handler; }
     virtual void executeSQLSyncOptionalReturnValues(long requestId, int in_databaseId, const String& in_query) override;
@@ -1346,6 +1347,8 @@ __attribute__((visibility ("default")))
 
 
 
+#import <WebInspector/RWIProtocolBuildCompatibilityObjects.h>
+
 ### End File: TestProtocol.h
 
 ### Begin File: TestProtocolInternal.h
index 53bd553..49e0b45 100644 (file)
@@ -776,6 +776,7 @@ namespace Inspector {
 
 
 class ObjCInspectorDatabaseBackendDispatcher final : public AlternateDatabaseBackendDispatcher {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     ObjCInspectorDatabaseBackendDispatcher(id<TestProtocolDatabaseDomainHandler> handler) { m_delegate = handler; }
     virtual void executeAllOptionalParameters(long requestId, const JSON::Array* in_columnNames, const String* in_notes, const double* in_timestamp, const JSON::Object* in_values, const JSON::Value* in_payload, const int* in_databaseId, const JSON::Object* in_sqlError, const String* in_screenColor, const JSON::Array* in_alternateColors, const String* in_printColor) override;
@@ -1223,6 +1224,8 @@ __attribute__((visibility ("default")))
 
 
 
+#import <WebInspector/RWIProtocolBuildCompatibilityObjects.h>
+
 ### End File: TestProtocol.h
 
 ### Begin File: TestProtocolInternal.h
index 678c6aa..e91735c 100644 (file)
@@ -573,6 +573,7 @@ namespace Inspector {
 
 
 class ObjCInspectorDomainABackendDispatcher final : public AlternateDomainABackendDispatcher {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     ObjCInspectorDomainABackendDispatcher(id<TestProtocolDomainADomainHandler> handler) { m_delegate = handler; }
     virtual void enable(long requestId) override;
@@ -581,6 +582,7 @@ private:
 };
 
 class ObjCInspectorDomainBBackendDispatcher final : public AlternateDomainBBackendDispatcher {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     ObjCInspectorDomainBBackendDispatcher(id<TestProtocolDomainBDomainHandler> handler) { m_delegate = handler; }
     virtual void enable(long requestId) override;
@@ -918,6 +920,8 @@ typedef NS_ENUM(NSInteger, TestProtocolPlatform) {
 
 
 
+#import <WebInspector/RWIProtocolBuildCompatibilityObjects.h>
+
 ### End File: TestProtocol.h
 
 ### Begin File: TestProtocolInternal.h
index f6c5edc..bb5294a 100644 (file)
@@ -740,6 +740,7 @@ namespace Inspector {
 
 
 class ObjCInspectorNetwork1BackendDispatcher final : public AlternateNetwork1BackendDispatcher {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     ObjCInspectorNetwork1BackendDispatcher(id<TestProtocolNetwork1DomainHandler> handler) { m_delegate = handler; }
     virtual void loadResource1(long requestId) override;
@@ -748,6 +749,7 @@ private:
 };
 
 class ObjCInspectorNetwork3BackendDispatcher final : public AlternateNetwork3BackendDispatcher {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     ObjCInspectorNetwork3BackendDispatcher(id<TestProtocolNetwork3DomainHandler> handler) { m_delegate = handler; }
     virtual void loadResource1(long requestId) override;
@@ -1181,6 +1183,8 @@ typedef NS_ENUM(NSInteger, TestProtocolPlatform) {
 
 
 
+#import <WebInspector/RWIProtocolBuildCompatibilityObjects.h>
+
 ### End File: TestProtocol.h
 
 ### Begin File: TestProtocolInternal.h
index ec0c10b..c0b3cc9 100644 (file)
@@ -627,6 +627,7 @@ namespace Inspector {
 
 
 class ObjCInspectorCommandDomainBackendDispatcher final : public AlternateCommandDomainBackendDispatcher {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     ObjCInspectorCommandDomainBackendDispatcher(id<TestProtocolCommandDomainDomainHandler> handler) { m_delegate = handler; }
     virtual void commandWithEnumReturnValue(long requestId) override;
@@ -973,6 +974,8 @@ __attribute__((visibility ("default")))
 @end
 
 
+#import <WebInspector/RWIProtocolBuildCompatibilityObjects.h>
+
 ### End File: TestProtocol.h
 
 ### Begin File: TestProtocolInternal.h
index 30e82c5..31dbc8c 100644 (file)
@@ -609,6 +609,7 @@ namespace Inspector {
 
 #if PLATFORM(WEB_COMMANDS)
 class ObjCInspectorNetwork1BackendDispatcher final : public AlternateNetwork1BackendDispatcher {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     ObjCInspectorNetwork1BackendDispatcher(id<TestProtocolNetwork1DomainHandler> handler) { m_delegate = handler; }
     virtual void loadResource(long requestId) override;
@@ -955,6 +956,8 @@ __attribute__((visibility ("default")))
 @end
 
 
+#import <WebInspector/RWIProtocolBuildCompatibilityObjects.h>
+
 ### End File: TestProtocol.h
 
 ### Begin File: TestProtocolInternal.h
index 302b7e4..965531d 100644 (file)
@@ -673,6 +673,8 @@ typedef NS_ENUM(NSInteger, TestProtocolPlatform) {
 
 
 
+#import <WebInspector/RWIProtocolBuildCompatibilityObjects.h>
+
 ### End File: TestProtocol.h
 
 ### Begin File: TestProtocolInternal.h
index 8842c9e..a18e82d 100644 (file)
@@ -585,6 +585,7 @@ namespace Inspector {
 
 
 class ObjCInspectorNetworkBackendDispatcher final : public AlternateNetworkBackendDispatcher {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     ObjCInspectorNetworkBackendDispatcher(id<TestProtocolNetworkDomainHandler> handler) { m_delegate = handler; }
     virtual void loadResource(long requestId) override;
@@ -928,6 +929,8 @@ __attribute__((visibility ("default")))
 @end
 
 
+#import <WebInspector/RWIProtocolBuildCompatibilityObjects.h>
+
 ### End File: TestProtocol.h
 
 ### Begin File: TestProtocolInternal.h
index 2abc69d..9c56557 100644 (file)
@@ -1,3 +1,345 @@
+2019-08-15  Yusuke Suzuki  <ysuzuki@apple.com>
+
+        [WTF] Add makeUnique<T>, which ensures T is fast-allocated, WTF_MAKE_FAST_ALLOCATED annotation part
+        https://bugs.webkit.org/show_bug.cgi?id=200620
+
+        Reviewed by Geoffrey Garen.
+
+        * Modules/encryptedmedia/legacy/LegacyCDM.h:
+        (WebCore::LegacyCDM::keySystem const): Deleted.
+        (WebCore::LegacyCDM::client const): Deleted.
+        (WebCore::LegacyCDM::setClient): Deleted.
+        * Modules/encryptedmedia/legacy/LegacyCDMPrivate.h:
+        * Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.h:
+        * Modules/webaudio/AsyncAudioDecoder.h:
+        (WebCore::AsyncAudioDecoder::DecodingTask::audioData): Deleted.
+        (WebCore::AsyncAudioDecoder::DecodingTask::sampleRate const): Deleted.
+        (WebCore::AsyncAudioDecoder::DecodingTask::successCallback): Deleted.
+        (WebCore::AsyncAudioDecoder::DecodingTask::errorCallback): Deleted.
+        (WebCore::AsyncAudioDecoder::DecodingTask::audioBuffer): Deleted.
+        * Modules/webauthn/AuthenticatorCoordinator.h:
+        * Modules/webdatabase/SQLStatement.h:
+        (WebCore::SQLStatement::hasStatementCallback const): Deleted.
+        (WebCore::SQLStatement::hasStatementErrorCallback const): Deleted.
+        * Modules/webgpu/WHLSL/AST/WHLSLVariableDeclaration.h:
+        * Modules/webgpu/WHLSL/Metal/WHLSLEntryPointScaffolding.h:
+        * Modules/webgpu/WHLSL/WHLSLResolvingType.h:
+        * bindings/js/DOMPromiseProxy.h:
+        * bindings/js/GCController.h:
+        * bridge/jsc/BridgeJSC.h:
+        * contentextensions/ContentExtensionsBackend.h:
+        * dom/FullscreenManager.h:
+        (WebCore::FullscreenManager::document): Deleted.
+        (WebCore::FullscreenManager::document const): Deleted.
+        (WebCore::FullscreenManager::topDocument const): Deleted.
+        (WebCore::FullscreenManager::page const): Deleted.
+        (WebCore::FullscreenManager::frame const): Deleted.
+        (WebCore::FullscreenManager::documentElement const): Deleted.
+        (WebCore::FullscreenManager::hasLivingRenderTree const): Deleted.
+        (WebCore::FullscreenManager::pageCacheState const): Deleted.
+        (WebCore::FullscreenManager::scheduleFullStyleRebuild): Deleted.
+        (WebCore::FullscreenManager::fullscreenElement const): Deleted.
+        (WebCore::FullscreenManager::isFullscreen const): Deleted.
+        (WebCore::FullscreenManager::isFullscreenKeyboardInputAllowed const): Deleted.
+        (WebCore::FullscreenManager::currentFullscreenElement const): Deleted.
+        * dom/Microtasks.h:
+        (WebCore::MicrotaskQueue::vm const): Deleted.
+        * editing/CompositeEditCommand.h:
+        * editing/mac/AlternativeTextUIController.h:
+        * html/HTMLMediaElement.h:
+        * inspector/InspectorFrontendClientLocal.h:
+        * inspector/agents/WebHeapAgent.cpp:
+        * layout/displaytree/DisplayRun.h:
+        * layout/inlineformatting/InlineItem.h:
+        * layout/inlineformatting/InlineLine.h:
+        * layout/tableformatting/TableGrid.h:
+        * loader/FrameLoader.h:
+        (WebCore::FrameLoader::frame const): Deleted.
+        (WebCore::FrameLoader::policyChecker const): Deleted.
+        (WebCore::FrameLoader::history const): Deleted.
+        (WebCore::FrameLoader::notifier const): Deleted.
+        (WebCore::FrameLoader::subframeLoader const): Deleted.
+        (WebCore::FrameLoader::mixedContentChecker const): Deleted.
+        (WebCore::FrameLoader::urlSelected): Deleted.
+        (WebCore::FrameLoader::reload): Deleted.
+        (WebCore::FrameLoader::requestedHistoryItem const): Deleted.
+        (WebCore::FrameLoader::documentLoader const): Deleted.
+        (WebCore::FrameLoader::policyDocumentLoader const): Deleted.
+        (WebCore::FrameLoader::provisionalDocumentLoader const): Deleted.
+        (WebCore::FrameLoader::state const): Deleted.
+        (WebCore::FrameLoader::shouldReportResourceTimingToParentFrame const): Deleted.
+        (WebCore::FrameLoader::client const): Deleted.
+        (WebCore::FrameLoader::forceSandboxFlags): Deleted.
+        (WebCore::FrameLoader::hasOpenedFrames const): Deleted.
+        (WebCore::FrameLoader::setLoadsSynchronously): Deleted.
+        (WebCore::FrameLoader::loadsSynchronously const): Deleted.
+        (WebCore::FrameLoader::stateMachine): Deleted.
+        (WebCore::FrameLoader::quickRedirectComing const): Deleted.
+        (WebCore::FrameLoader::pageDismissalEventBeingDispatched const): Deleted.
+        (WebCore::FrameLoader::previousURL const): Deleted.
+        (WebCore::FrameLoader::setOverrideCachePolicyForTesting): Deleted.
+        (WebCore::FrameLoader::setOverrideResourceLoadPriorityForTesting): Deleted.
+        (WebCore::FrameLoader::setStrictRawResourceValidationPolicyDisabledForTesting): Deleted.
+        (WebCore::FrameLoader::isStrictRawResourceValidationPolicyDisabledForTesting): Deleted.
+        (WebCore::FrameLoader::provisionalLoadErrorBeingHandledURL const): Deleted.
+        (WebCore::FrameLoader::setProvisionalLoadErrorBeingHandledURL): Deleted.
+        (WebCore::FrameLoader::isReloadingFromOrigin const): Deleted.
+        (WebCore::FrameLoader::setAlwaysAllowLocalWebarchive): Deleted.
+        (WebCore::FrameLoader::alwaysAllowLocalWebarchive const): Deleted.
+        (WebCore::FrameLoader::loadWithDocumentLoader): Deleted.
+        (WebCore::FrameLoader::loadWithNavigationAction): Deleted.
+        (WebCore::FrameLoader::shouldTreatCurrentLoadAsContinuingLoad const): Deleted.
+        * loader/NavigationDisabler.h:
+        * loader/NavigationScheduler.h:
+        * loader/cache/CachedResource.h:
+        * loader/cache/CachedSVGDocumentReference.h:
+        (WebCore::CachedSVGDocumentReference::loadRequested const): Deleted.
+        (WebCore::CachedSVGDocumentReference::document): Deleted.
+        * loader/ios/PreviewLoader.h:
+        * page/CaptionUserPreferences.h:
+        * page/PrewarmInformation.h:
+        * page/ResizeObserver.h:
+        * page/SuspendableTimer.h:
+        * page/csp/ContentSecurityPolicyDirective.h:
+        * page/ios/ContentChangeObserver.h:
+        * page/ios/DOMTimerHoldingTank.h:
+        * page/linux/ResourceUsageOverlayLinux.cpp:
+        * page/mac/TextIndicatorWindow.h:
+        * page/scrolling/ScrollSnapOffsetsInfo.h:
+        * page/scrolling/ScrollingMomentumCalculator.h:
+        * platform/CPUMonitor.h:
+        * platform/FileMonitor.h:
+        * platform/ScrollAnimation.h:
+        * platform/SuddenTermination.h:
+        * platform/audio/AudioBus.h:
+        (WebCore::AudioBus::numberOfChannels const): Deleted.
+        (WebCore::AudioBus::channel): Deleted.
+        (WebCore::AudioBus::channel const): Deleted.
+        (WebCore::AudioBus::length const): Deleted.
+        (WebCore::AudioBus::sampleRate const): Deleted.
+        (WebCore::AudioBus::setSampleRate): Deleted.
+        (WebCore::AudioBus::reset): Deleted.
+        (WebCore::AudioBus::AudioBus): Deleted.
+        * platform/audio/AudioChannel.h:
+        (WebCore::AudioChannel::AudioChannel): Deleted.
+        (WebCore::AudioChannel::set): Deleted.
+        (WebCore::AudioChannel::length const): Deleted.
+        (WebCore::AudioChannel::mutableData): Deleted.
+        (WebCore::AudioChannel::data const): Deleted.
+        (WebCore::AudioChannel::zero): Deleted.
+        (WebCore::AudioChannel::clearSilentFlag): Deleted.
+        (WebCore::AudioChannel::isSilent const): Deleted.
+        * platform/audio/AudioFIFO.h:
+        (WebCore::AudioFIFO::framesInFifo const): Deleted.
+        (WebCore::AudioFIFO::updateIndex): Deleted.
+        * platform/audio/AudioPullFIFO.h:
+        * platform/audio/AudioResampler.h:
+        (WebCore::AudioResampler::rate const): Deleted.
+        * platform/audio/AudioResamplerKernel.h:
+        * platform/audio/AudioSession.cpp:
+        * platform/audio/AudioSession.h:
+        (WebCore::AudioSession::isActive const): Deleted.
+        * platform/audio/Biquad.h:
+        * platform/audio/Cone.h:
+        (WebCore::ConeEffect::setInnerAngle): Deleted.
+        (WebCore::ConeEffect::innerAngle const): Deleted.
+        (WebCore::ConeEffect::setOuterAngle): Deleted.
+        (WebCore::ConeEffect::outerAngle const): Deleted.
+        (WebCore::ConeEffect::setOuterGain): Deleted.
+        (WebCore::ConeEffect::outerGain const): Deleted.
+        * platform/audio/DenormalDisabler.h:
+        (WebCore::DenormalDisabler::DenormalDisabler): Deleted.
+        (WebCore::DenormalDisabler::~DenormalDisabler): Deleted.
+        (WebCore::DenormalDisabler::flushDenormalFloatToZero): Deleted.
+        (WebCore::DenormalDisabler::getCSR): Deleted.
+        (WebCore::DenormalDisabler::setCSR): Deleted.
+        * platform/audio/DirectConvolver.h:
+        * platform/audio/Distance.h:
+        (WebCore::DistanceEffect::model): Deleted.
+        (WebCore::DistanceEffect::setModel): Deleted.
+        (WebCore::DistanceEffect::setRefDistance): Deleted.
+        (WebCore::DistanceEffect::setMaxDistance): Deleted.
+        (WebCore::DistanceEffect::setRolloffFactor): Deleted.
+        (WebCore::DistanceEffect::refDistance const): Deleted.
+        (WebCore::DistanceEffect::maxDistance const): Deleted.
+        (WebCore::DistanceEffect::rolloffFactor const): Deleted.
+        * platform/audio/DownSampler.h:
+        * platform/audio/DynamicsCompressor.h:
+        (WebCore::DynamicsCompressor::sampleRate const): Deleted.
+        (WebCore::DynamicsCompressor::nyquist const): Deleted.
+        (WebCore::DynamicsCompressor::tailTime const): Deleted.
+        (WebCore::DynamicsCompressor::latencyTime const): Deleted.
+        * platform/audio/DynamicsCompressorKernel.h:
+        (WebCore::DynamicsCompressorKernel::latencyFrames const): Deleted.
+        (WebCore::DynamicsCompressorKernel::sampleRate const): Deleted.
+        (WebCore::DynamicsCompressorKernel::meteringGain const): Deleted.
+        * platform/audio/EqualPowerPanner.h:
+        * platform/audio/FFTConvolver.h:
+        (WebCore::FFTConvolver::fftSize const): Deleted.
+        * platform/audio/HRTFDatabase.h:
+        (WebCore::HRTFDatabase::numberOfAzimuths): Deleted.
+        (WebCore::HRTFDatabase::sampleRate const): Deleted.
+        * platform/audio/HRTFElevation.h:
+        (WebCore::HRTFElevation::HRTFElevation): Deleted.
+        (WebCore::HRTFElevation::kernelListL): Deleted.
+        (WebCore::HRTFElevation::kernelListR): Deleted.
+        (WebCore::HRTFElevation::elevationAngle const): Deleted.
+        (WebCore::HRTFElevation::numberOfAzimuths const): Deleted.
+        (WebCore::HRTFElevation::sampleRate const): Deleted.
+        * platform/audio/HRTFPanner.h:
+        (WebCore::HRTFPanner::fftSize const): Deleted.
+        (WebCore::HRTFPanner::sampleRate const): Deleted.
+        * platform/audio/MultiChannelResampler.h:
+        * platform/audio/PlatformAudioData.h:
+        * platform/audio/Reverb.h:
+        (WebCore::Reverb::impulseResponseLength const): Deleted.
+        * platform/audio/ReverbAccumulationBuffer.h:
+        (WebCore::ReverbAccumulationBuffer::readIndex const): Deleted.
+        (WebCore::ReverbAccumulationBuffer::readTimeFrame const): Deleted.
+        * platform/audio/ReverbConvolver.h:
+        (WebCore::ReverbConvolver::impulseResponseLength const): Deleted.
+        (WebCore::ReverbConvolver::inputBuffer): Deleted.
+        (WebCore::ReverbConvolver::useBackgroundThreads const): Deleted.
+        * platform/audio/ReverbConvolverStage.h:
+        (WebCore::ReverbConvolverStage::inputReadIndex const): Deleted.
+        * platform/audio/ReverbInputBuffer.h:
+        (WebCore::ReverbInputBuffer::writeIndex const): Deleted.
+        * platform/audio/SincResampler.h:
+        * platform/audio/UpSampler.h:
+        * platform/audio/ZeroPole.h:
+        (WebCore::ZeroPole::ZeroPole): Deleted.
+        (WebCore::ZeroPole::reset): Deleted.
+        (WebCore::ZeroPole::setZero): Deleted.
+        (WebCore::ZeroPole::setPole): Deleted.
+        (WebCore::ZeroPole::zero const): Deleted.
+        (WebCore::ZeroPole::pole const): Deleted.
+        * platform/audio/cocoa/WebAudioBufferList.h:
+        (WebCore::WebAudioBufferList::list const): Deleted.
+        (WebCore::WebAudioBufferList::operator AudioBufferList& const): Deleted.
+        (WebCore::WebAudioBufferList::kind const): Deleted.
+        * platform/audio/ios/AudioSessionIOS.mm:
+        * platform/audio/mac/CARingBuffer.h:
+        * platform/encryptedmedia/clearkey/CDMClearKey.h:
+        * platform/gamepad/mac/HIDGamepad.h:
+        * platform/graphics/FloatPoint.h:
+        * platform/graphics/Font.h:
+        * platform/graphics/GraphicsContext.h:
+        * platform/graphics/GraphicsContext3DPrivate.h:
+        * platform/graphics/GraphicsContextImpl.h:
+        * platform/graphics/GraphicsLayer.cpp:
+        * platform/graphics/LegacyCDMSession.h:
+        * platform/graphics/Region.h:
+        * platform/graphics/VelocityData.h:
+        * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.h:
+        * platform/graphics/avfoundation/CDMFairPlayStreaming.h:
+        * platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.h:
+        * platform/graphics/avfoundation/ISOFairPlayStreamingPsshBox.h:
+        * platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.h:
+        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
+        * platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h:
+        * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
+        * platform/graphics/ca/GraphicsLayerCA.h:
+        * platform/graphics/cairo/FontCustomPlatformData.h:
+        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
+        * platform/graphics/cairo/PlatformContextCairo.h:
+        * platform/graphics/cocoa/GraphicsContext3DCocoa.mm:
+        * platform/graphics/cv/ImageRotationSessionVT.h:
+        (WebCore::ImageRotationSessionVT::RotationProperties::isIdentity const): Deleted.
+        (WebCore::ImageRotationSessionVT::transform const): Deleted.
+        (WebCore::ImageRotationSessionVT::rotationProperties const): Deleted.
+        (WebCore::ImageRotationSessionVT::size): Deleted.
+        (WebCore::ImageRotationSessionVT::rotatedSize): Deleted.
+        * platform/graphics/cv/PixelBufferConformerCV.h:
+        * platform/graphics/cv/TextureCacheCV.h:
+        * platform/graphics/cv/VideoTextureCopierCV.h:
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
+        * platform/graphics/gstreamer/VideoTextureCopierGStreamer.h:
+        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
+        * platform/graphics/holepunch/MediaPlayerPrivateHolePunch.h:
+        * platform/graphics/iso/ISOBox.h:
+        * platform/graphics/iso/ISOOriginalFormatBox.h:
+        * platform/graphics/iso/ISOProtectionSchemeInfoBox.h:
+        * platform/graphics/iso/ISOSchemeInformationBox.h:
+        * platform/graphics/iso/ISOSchemeTypeBox.h:
+        * platform/graphics/iso/ISOTrackEncryptionBox.h:
+        * platform/graphics/iso/ISOVTTCue.cpp:
+        (WebCore::ISOStringBox::contents): Deleted.
+        * platform/graphics/iso/ISOVTTCue.h:
+        (WebCore::ISOWebVTTCue::boxTypeName): Deleted.
+        (WebCore::ISOWebVTTCue::presentationTime const): Deleted.
+        (WebCore::ISOWebVTTCue::duration const): Deleted.
+        (WebCore::ISOWebVTTCue::sourceID const): Deleted.
+        (WebCore::ISOWebVTTCue::id const): Deleted.
+        (WebCore::ISOWebVTTCue::originalStartTime const): Deleted.
+        (WebCore::ISOWebVTTCue::settings const): Deleted.
+        (WebCore::ISOWebVTTCue::cueText const): Deleted.
+        * platform/graphics/nicosia/NicosiaPaintingOperation.h:
+        * platform/graphics/nicosia/texmap/NicosiaBackingStoreTextureMapperImpl.h:
+        * platform/graphics/nicosia/texmap/NicosiaCompositionLayerTextureMapperImpl.h:
+        * platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.h:
+        * platform/graphics/nicosia/texmap/NicosiaGC3DLayer.h:
+        * platform/graphics/nicosia/texmap/NicosiaImageBackingTextureMapperImpl.h:
+        * platform/graphics/opengl/Extensions3DOpenGLCommon.h:
+        * platform/graphics/texmap/TextureMapperGC3DPlatformLayer.h:
+        * platform/graphics/texmap/coordinated/Tile.h:
+        * platform/graphics/win/FontCustomPlatformData.h:
+        * platform/graphics/win/FullScreenController.cpp:
+        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
+        * platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
+        * platform/graphics/win/PlatformContextDirect2D.h:
+        * platform/graphics/win/WKCAImageQueue.cpp:
+        * platform/gtk/PasteboardHelper.cpp:
+        * platform/ios/LegacyTileGrid.h:
+        * platform/mediarecorder/MediaRecorderPrivateAVFImpl.h:
+        * platform/mediastream/gstreamer/GStreamerAudioData.h:
+        (WebCore::GStreamerAudioData::GStreamerAudioData): Deleted.
+        (WebCore::GStreamerAudioData::getSample): Deleted.
+        (WebCore::GStreamerAudioData::getAudioInfo): Deleted.
+        (WebCore::GStreamerAudioData::kind const): Deleted.
+        * platform/mediastream/gstreamer/GStreamerCapturer.h:
+        * platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:
+        * platform/mediastream/libwebrtc/GStreamerVideoDecoderFactory.h:
+        * platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp:
+        * platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.h:
+        * platform/mediastream/libwebrtc/LibWebRTCDTMFSenderBackend.h:
+        * platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
+        * platform/mediastream/libwebrtc/LibWebRTCProvider.h:
+        * platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.h:
+        * platform/mock/MediaPlaybackTargetPickerMock.h:
+        * platform/mock/RTCDataChannelHandlerMock.h:
+        * platform/network/ResourceErrorBase.h:
+        * platform/network/curl/CookieJarDB.h:
+        * platform/network/curl/CurlCacheEntry.h:
+        * platform/network/curl/CurlContext.h:
+        * platform/network/curl/CurlMultipartHandle.h:
+        * platform/network/curl/CurlRequestScheduler.h:
+        * platform/network/curl/CurlSSLVerifier.h:
+        * platform/network/ios/PreviewConverter.h:
+        * platform/network/soup/NetworkStorageSessionSoup.cpp:
+        * platform/vr/openvr/VRPlatformDisplayOpenVR.h:
+        * platform/vr/openvr/VRPlatformManagerOpenVR.h:
+        * rendering/HitTestResult.h:
+        * rendering/LayerOverlapMap.cpp:
+        * rendering/RenderLayerCompositor.h:
+        * rendering/svg/RenderSVGResourceMasker.h:
+        * replay/UserInputBridge.h:
+        * svg/graphics/filters/SVGFilterBuilder.h:
+        * svg/properties/SVGAttributeAnimator.h:
+        * svg/properties/SVGDecoratedProperty.h:
+        * svg/properties/SVGPropertyAnimatorFactory.h:
+        * testing/InternalSettings.cpp:
+        * testing/LegacyMockCDM.cpp:
+        * testing/LegacyMockCDM.h:
+        * testing/MockCDMFactory.h:
+        * workers/WorkerEventQueue.cpp:
+        * workers/WorkerEventQueue.h:
+        * workers/service/ServiceWorkerContainer.h:
+        * worklets/PaintWorkletGlobalScope.h:
+        * xml/XMLErrors.h:
+        * xml/parser/XMLDocumentParserLibxml2.cpp:
+
 2019-08-15  Zalan Bujtas  <zalan@apple.com>
 
         [ContentChangeObserver] Rename contentVisibilityDidChange to elementDidBecomeVisible
index 458ec53..fb5da1f 100644 (file)
@@ -50,7 +50,8 @@ public:
     virtual RefPtr<MediaPlayer> cdmMediaPlayer(const LegacyCDM*) const = 0;
 };
 
-class LegacyCDM {
+class LegacyCDM final {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     explicit LegacyCDM(const String& keySystem);
 
index 0a8d54e..f249707 100644 (file)
@@ -35,6 +35,7 @@ class LegacyCDMSession;
 class LegacyCDMSessionClient;
 
 class CDMPrivateInterface {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     CDMPrivateInterface() = default;
     virtual ~CDMPrivateInterface() = default;
index 2f7b035..bc777f0 100644 (file)
@@ -33,7 +33,8 @@
 
 namespace WebCore {
 
-class CDMSessionClearKey : public LegacyCDMSession {
+class CDMSessionClearKey final : public LegacyCDMSession {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     CDMSessionClearKey(LegacyCDMSessionClient*);
     virtual ~CDMSessionClearKey();
index bc00eb9..cf9269c 100644 (file)
@@ -42,7 +42,8 @@ class AudioBufferCallback;
 // AsyncAudioDecoder asynchronously decodes audio file data from an ArrayBuffer in a worker thread.
 // Upon successful decoding, a completion callback will be invoked with the decoded PCM data in an AudioBuffer.
 
-class AsyncAudioDecoder {
+class AsyncAudioDecoder final {
+    WTF_MAKE_FAST_ALLOCATED;
     WTF_MAKE_NONCOPYABLE(AsyncAudioDecoder);
 public:
     AsyncAudioDecoder();
index b1c49db..0b8b849 100644 (file)
@@ -43,7 +43,8 @@ struct PublicKeyCredentialRequestOptions;
 
 using CredentialPromise = DOMPromiseDeferred<IDLNullable<IDLInterface<BasicCredential>>>;
 
-class AuthenticatorCoordinator {
+class AuthenticatorCoordinator final {
+    WTF_MAKE_FAST_ALLOCATED;
     WTF_MAKE_NONCOPYABLE(AuthenticatorCoordinator);
 public:
     WEBCORE_EXPORT explicit AuthenticatorCoordinator(std::unique_ptr<AuthenticatorCoordinatorClient>&&);
index 85f1b63..514c53a 100644 (file)
@@ -43,7 +43,8 @@ class SQLError;
 class SQLResultSet;
 class SQLTransactionBackend;
 
-class SQLStatement {
+class SQLStatement final {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     SQLStatement(Database&, const String&, Vector<SQLValue>&&, RefPtr<SQLStatementCallback>&&, RefPtr<SQLStatementErrorCallback>&&, int permissions);
     ~SQLStatement();
index e92daa1..3d02813 100644 (file)
@@ -48,6 +48,7 @@ class VariableDeclaration final {
 // Final because we made the destructor non-virtual.
 public:
     struct RareData {
+        WTF_MAKE_STRUCT_FAST_ALLOCATED;
         RareData(Qualifiers&& qualifiersArgument, std::unique_ptr<Semantic>&& semanticArgument)
             : qualifiers(WTFMove(qualifiersArgument))
             , semantic(WTFMove(semanticArgument))
index 0e31ffb..cbcc484 100644 (file)
@@ -50,6 +50,7 @@ namespace Metal {
 class TypeNamer;
 
 class EntryPointScaffolding {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     virtual ~EntryPointScaffolding() = default;
 
index 559ce8b..45700ce 100644 (file)
@@ -74,6 +74,7 @@ private:
 // It exists so we can make sure that the default constructor does the right thing.
 // FIXME: https://bugs.webkit.org/show_bug.cgi?id=198158 This wrapper might not be necessary.
 class ResolvingType {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     ResolvingType()
         : m_inner(RefPtr<ResolvableTypeReference>())
index 7da46a6..621b890 100644 (file)
@@ -60,6 +60,7 @@ private:
 
 template<>
 class DOMPromiseProxy<IDLVoid> {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     DOMPromiseProxy() = default;
     ~DOMPromiseProxy() = default;
@@ -84,6 +85,7 @@ private:
 // FontFace and FontFaceSet.
 template<typename IDLType>
 class DOMPromiseProxyWithResolveCallback {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     using ResolveCallback = WTF::Function<typename IDLType::ParameterType ()>;
 
index 0ce4595..6cedd76 100644 (file)
@@ -33,6 +33,7 @@
 namespace WebCore {
 
 class GCController {
+    WTF_MAKE_FAST_ALLOCATED;
     WTF_MAKE_NONCOPYABLE(GCController);
     friend class WTF::NeverDestroyed<GCController>;
 public:
index f2f6208..04cddcd 100644 (file)
@@ -49,6 +49,7 @@ class RootObject;
 class RuntimeObject;
 
 class Field {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     virtual JSValue valueFromInstance(ExecState*, const Instance*) const = 0;
     virtual bool setValueToInstance(ExecState*, const Instance*, JSValue) const = 0;
index 8c7e3f7..77feb60 100644 (file)
@@ -49,6 +49,7 @@ struct ResourceLoadInfo;
 // 1) It stores the rules for each content extension.
 // 2) It provides APIs for the WebCore interfaces to use those rules efficiently.
 class ContentExtensionsBackend {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     // - Rule management interface. This can be used by upper layer.
 
index edd9ca2..21c99a4 100644 (file)
@@ -41,7 +41,8 @@ class RenderFullScreen;
 class RenderTreeBuilder;
 class RenderStyle;
 
-class FullscreenManager {
+class FullscreenManager final {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     FullscreenManager(Document&);
     ~FullscreenManager();
index b631841..a9f2eb9 100644 (file)
@@ -35,6 +35,7 @@ class MicrotaskQueue;
 class ScriptExecutionContext;
 
 class Microtask {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     virtual ~Microtask()
     {
@@ -52,7 +53,6 @@ protected:
 };
 
 class VoidMicrotask final : public Microtask {
-    WTF_MAKE_FAST_ALLOCATED;
 public:
     explicit VoidMicrotask(Function<void()>&& function)
         : m_function(WTFMove(function))
@@ -69,7 +69,8 @@ private:
     Function<void()> m_function;
 };
 
-class MicrotaskQueue {
+class MicrotaskQueue final {
+    WTF_MAKE_FAST_ALLOCATED;
     friend NeverDestroyed<MicrotaskQueue>;
     friend class Microtask;
 public:
index dda490b..4268196 100644 (file)
@@ -41,6 +41,7 @@ class StyledElement;
 class Text;
 
 class AccessibilityUndoReplacedText {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     AccessibilityUndoReplacedText() { }
     void configureRangeDeletedByReapplyWithStartingSelection(const VisibleSelection&);
index 2577d5a..29c5a8d 100644 (file)
@@ -37,6 +37,7 @@ OBJC_CLASS NSView;
 namespace WebCore {
 
 class AlternativeTextUIController {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     AlternativeTextUIController() { }
     // Returns a context ID.
@@ -52,6 +53,7 @@ private:
     void dismissAlternatives();
 
     class AlernativeTextContextController {
+        WTF_MAKE_FAST_ALLOCATED;
     public:
         AlernativeTextContextController() { }
         uint64_t addAlternatives(const RetainPtr<NSTextAlternatives>&);
index 6124541..2c6ec05 100644 (file)
@@ -990,6 +990,7 @@ private:
     RefPtr<MediaError> m_error;
 
     struct PendingSeek {
+        WTF_MAKE_STRUCT_FAST_ALLOCATED;
         PendingSeek(const MediaTime& now, const MediaTime& targetTime, const MediaTime& negativeTolerance, const MediaTime& positiveTolerance)
             : now(now)
             , targetTime(targetTime)
index 28ee727..6c1b51a 100644 (file)
@@ -50,6 +50,7 @@ class InspectorFrontendClientLocal : public InspectorFrontendClient {
     WTF_MAKE_FAST_ALLOCATED;
 public:
     class WEBCORE_EXPORT Settings {
+        WTF_MAKE_FAST_ALLOCATED;
     public:
         Settings() = default;
         virtual ~Settings() = default;
index bb5d1be..cafeab9 100644 (file)
@@ -40,7 +40,8 @@ struct GarbageCollectionData {
     Seconds endTime;
 };
 
-class SendGarbageCollectionEventsTask {
+class SendGarbageCollectionEventsTask final {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     SendGarbageCollectionEventsTask(WebHeapAgent&);
     void addGarbageCollection(GarbageCollectionData&&);
index 7ae3b40..7991627 100644 (file)
@@ -36,7 +36,9 @@ namespace WebCore {
 namespace Display {
 
 struct Run {
+    WTF_MAKE_STRUCT_FAST_ALLOCATED;
     struct TextContext {
+        WTF_MAKE_STRUCT_FAST_ALLOCATED;
     public:
         TextContext(unsigned position, unsigned length);
 
index b0013b6..7906196 100644 (file)
@@ -34,6 +34,7 @@ namespace WebCore {
 namespace Layout {
 
 class InlineItem : public CanMakeWeakPtr<InlineItem> {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     enum class Type { Text, HardLineBreak, Box, Float, ContainerStart, ContainerEnd };
     InlineItem(const Box& layoutBox, Type);
index faf0547..737a07b 100644 (file)
@@ -52,8 +52,10 @@ public:
     Line(const LayoutState&, const InitialConstraints&, SkipVerticalAligment);
 
     class Content {
+        WTF_MAKE_FAST_ALLOCATED;
     public:
         struct Run {
+            WTF_MAKE_STRUCT_FAST_ALLOCATED;
             struct TextContext {
                 unsigned start { 0 };
                 unsigned length { 0 };
index bbb2736..a468519 100644 (file)
@@ -49,6 +49,7 @@ public:
     using SlotPosition = IntPoint;
     using CellSize = IntSize;
     struct CellInfo : public CanMakeWeakPtr<CellInfo> {
+        WTF_MAKE_STRUCT_FAST_ALLOCATED;
         CellInfo(const Box& tableCellBox, SlotPosition, CellSize);
 
         const Box& tableCellBox;
@@ -60,6 +61,7 @@ public:
 
     using SlotLogicalSize = LayoutSize;
     struct SlotInfo {
+        WTF_MAKE_STRUCT_FAST_ALLOCATED;
         SlotInfo() = default;
         SlotInfo(CellInfo&);
 
index 8e3a46b..30a6ff6 100644 (file)
@@ -95,7 +95,8 @@ WEBCORE_EXPORT bool isReload(FrameLoadType);
 
 using ContentPolicyDecisionFunction = WTF::Function<void(PolicyAction, PolicyCheckIdentifier)>;
 
-class FrameLoader {
+class FrameLoader final {
+    WTF_MAKE_FAST_ALLOCATED;
     WTF_MAKE_NONCOPYABLE(FrameLoader);
 public:
     FrameLoader(Frame&, FrameLoaderClient&);
index 02cc7d1..8ae4b31 100644 (file)
@@ -30,6 +30,7 @@
 namespace WebCore {
 
 class NavigationDisabler {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     NavigationDisabler(Frame* frame)
         : m_frame(frame)
index a2ddace..97c23b1 100644 (file)
@@ -46,6 +46,7 @@ class SecurityOrigin;
 enum class NewLoadInProgress : bool { No, Yes };
     
 class NavigationScheduler {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     explicit NavigationScheduler(Frame&);
     ~NavigationScheduler();
index 229a142..2ffe2b4 100644 (file)
@@ -381,9 +381,7 @@ private:
 };
 
 class CachedResource::Callback {
-#if !COMPILER(MSVC)
     WTF_MAKE_FAST_ALLOCATED;
-#endif
 public:
     Callback(CachedResource&, CachedResourceClient&);
 
index 70cb1af..22ae72d 100644 (file)
@@ -35,7 +35,8 @@ class CachedSVGDocument;
 class CachedResourceLoader;
 struct ResourceLoaderOptions;
 
-class CachedSVGDocumentReference : public CachedSVGDocumentClient {
+class CachedSVGDocumentReference final : public CachedSVGDocumentClient {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     CachedSVGDocumentReference(const String&);
 
index 618e942..1503d78 100644 (file)
@@ -39,6 +39,7 @@ class ResourceResponse;
 class SharedBuffer;
 
 class PreviewLoader {
+    WTF_MAKE_FAST_ALLOCATED;
     WTF_MAKE_NONCOPYABLE(PreviewLoader);
 public:
     static std::unique_ptr<PreviewLoader> create(ResourceLoader&, const ResourceResponse&);
index e6adb67..613e789 100644 (file)
@@ -40,6 +40,7 @@ class TextTrackList;
 struct MediaSelectionOption;
 
 class CaptionUserPreferences {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     CaptionUserPreferences(PageGroup&);
     virtual ~CaptionUserPreferences();
index 99a4372..16bcf04 100644 (file)
@@ -32,6 +32,7 @@
 namespace WebCore {
 
 struct WEBCORE_EXPORT PrewarmInformation {
+    WTF_MAKE_STRUCT_FAST_ALLOCATED;
     FontCache::PrewarmInformation fontCache;
 
     template<class Encoder> void encode(Encoder&) const;
index 95b1c8b..eeebf9b 100644 (file)
@@ -40,6 +40,7 @@ class Document;
 class Element;
 
 struct ResizeObserverData {
+    WTF_MAKE_STRUCT_FAST_ALLOCATED;
     Vector<WeakPtr<ResizeObserver>> observers;
 };
 
index 5584434..3c3d49e 100644 (file)
@@ -34,6 +34,7 @@
 namespace WebCore {
 
 class SuspendableTimer : private TimerBase, public ActiveDOMObject {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     explicit SuspendableTimer(ScriptExecutionContext&);
     virtual ~SuspendableTimer();
index a8f1d4f..bbd9189 100644 (file)
@@ -33,6 +33,7 @@ namespace WebCore {
 class ContentSecurityPolicyDirectiveList;
 
 class ContentSecurityPolicyDirective {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     ContentSecurityPolicyDirective(const ContentSecurityPolicyDirectiveList& directiveList, const String& name, const String& value)
         : m_name(name)
index 80980ac..b571589 100644 (file)
@@ -44,6 +44,7 @@ class DOMTimer;
 class Element;
 
 class ContentChangeObserver : public CanMakeWeakPtr<ContentChangeObserver> {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     ContentChangeObserver(Document&);
 
index b62184f..bbf7945 100644 (file)
@@ -35,6 +35,7 @@ namespace WebCore {
 class DOMTimer;
 
 class DOMTimerHoldingTank {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     DOMTimerHoldingTank();
     ~DOMTimerHoldingTank();
index 4fdf756..8b87bca 100644 (file)
@@ -70,6 +70,7 @@ static String gcTimerString(MonotonicTime timerFireDate, MonotonicTime now)
 static const float gFontSize = 14;
 
 class ResourceUsageOverlayPainter final : public GraphicsLayerClient {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     ResourceUsageOverlayPainter(ResourceUsageOverlay& overlay)
         : m_overlay(overlay)
index dcdd950..6475ce5 100644 (file)
@@ -52,6 +52,7 @@ enum class TextIndicatorWindowDismissalAnimation : uint8_t {
 #if PLATFORM(MAC)
 
 class TextIndicatorWindow {
+    WTF_MAKE_FAST_ALLOCATED;
     WTF_MAKE_NONCOPYABLE(TextIndicatorWindow);
 
 public:
index 63bd963..3ab6406 100644 (file)
@@ -37,6 +37,7 @@ struct ScrollOffsetRange {
 
 template <typename T>
 struct ScrollSnapOffsetsInfo {
+    WTF_MAKE_STRUCT_FAST_ALLOCATED;
     Vector<T> horizontalSnapOffsets;
     Vector<T> verticalSnapOffsets;
 
index be99d0e..21c311c 100644 (file)
@@ -39,6 +39,7 @@ class FloatPoint;
 class FloatSize;
 
 class ScrollingMomentumCalculator {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     ScrollingMomentumCalculator(const FloatSize& viewportSize, const FloatSize& contentSize, const FloatPoint& initialOffset, const FloatSize& initialDelta, const FloatSize& initialVelocity);
     static std::unique_ptr<ScrollingMomentumCalculator> create(const FloatSize& viewportSize, const FloatSize& contentSize, const FloatPoint& initialOffset, const FloatSize& initialDelta, const FloatSize& initialVelocity);
index 71e43d3..088df54 100644 (file)
@@ -33,6 +33,7 @@
 namespace WebCore {
 
 class CPUMonitor {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     using ExceededCPULimitHandler = WTF::Function<void(double)>;
     WEBCORE_EXPORT CPUMonitor(Seconds checkInterval, ExceededCPULimitHandler&&);
index e60f771..6b288e1 100644 (file)
@@ -42,6 +42,7 @@
 namespace WebCore {
 
 class FileMonitor {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     enum class FileChangeType { Modification, Removal };
 
index 2e5f63b..b7c1d24 100644 (file)
@@ -34,6 +34,7 @@ class FloatPoint;
 class ScrollableArea;
 
 class ScrollAnimation {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     virtual ~ScrollAnimation() { };
     virtual bool scroll(ScrollbarOrientation, ScrollGranularity, float /* step */, float /* multiplier */) { return true; };
index 72b0045..0d74b16 100644 (file)
@@ -42,6 +42,7 @@ namespace WebCore {
 #endif
 
     class SuddenTerminationDisabler {
+        WTF_MAKE_FAST_ALLOCATED;
         WTF_MAKE_NONCOPYABLE(SuddenTerminationDisabler);
     public:
         SuddenTerminationDisabler()
index 2173dc9..bbb3d2a 100644 (file)
@@ -40,7 +40,7 @@ namespace WebCore {
 // An AudioBus represents a collection of one or more AudioChannels.
 // The data layout is "planar" as opposed to "interleaved".
 // An AudioBus with one channel is mono, an AudioBus with two channels is stereo, etc.
-class AudioBus : public ThreadSafeRefCounted<AudioBus> {
+class AudioBus final : public ThreadSafeRefCounted<AudioBus> {
     WTF_MAKE_NONCOPYABLE(AudioBus);
 public:
     enum {
index bbc1357..847e52a 100644 (file)
@@ -37,7 +37,8 @@ namespace WebCore {
 
 // An AudioChannel represents a buffer of non-interleaved floating-point audio samples.
 // The PCM samples are normally assumed to be in a nominal range -1.0 -> +1.0
-class AudioChannel {
+class AudioChannel final {
+    WTF_MAKE_FAST_ALLOCATED;
     WTF_MAKE_NONCOPYABLE(AudioChannel);
 public:
     // Memory can be externally referenced, or can be internally allocated with an AudioFloatArray.
index 75c9abd..0f438dd 100644 (file)
@@ -33,7 +33,8 @@
 
 namespace WebCore {
 
-class AudioFIFO {
+class AudioFIFO final {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     // Create a FIFO large enough to hold |fifoLength| frames of data of |numberOfChannels| channels.
     AudioFIFO(unsigned numberOfChannels, size_t fifoLength);
index bfbe983..d748fa4 100644 (file)
@@ -41,7 +41,8 @@ namespace WebCore {
 // the FIFO will ask the provider for more data when necessary to fulfill a request. Contrast this
 // with a "push" FIFO, where the sender pushes data to the FIFO which will itself push the data to
 // the receiver when the FIFO is full.
-class AudioPullFIFO {
+class AudioPullFIFO final {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     // Create a FIFO that gets data from |provider|. The FIFO will be large enough to hold
     // |fifoLength| frames of data of |numberOfChannels| channels. The AudioSourceProvider will be
index d11fa93..2016baf 100644 (file)
@@ -37,7 +37,8 @@ namespace WebCore {
 // The audio stream may be single or multi-channel.
 // The default constructor defaults to single-channel (mono).
 
-class AudioResampler {
+class AudioResampler final {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     AudioResampler();
     AudioResampler(unsigned numberOfChannels);
index 99d877b..8ac2baa 100644 (file)
@@ -34,7 +34,9 @@ class AudioResampler;
 // AudioResamplerKernel does resampling on a single mono channel.
 // It uses a simple linear interpolation for good performance.
 
-class AudioResamplerKernel {
+class AudioResamplerKernel final {
+    WTF_MAKE_FAST_ALLOCATED;
+    WTF_MAKE_NONCOPYABLE(AudioResamplerKernel);
 public:
     AudioResamplerKernel(AudioResampler*);
 
index 5c1bf2a..b5fb580 100644 (file)
@@ -50,6 +50,7 @@ bool AudioSession::tryToSetActive(bool active)
 
 #if !PLATFORM(COCOA)
 class AudioSessionPrivate {
+    WTF_MAKE_FAST_ALLOCATED;
 };
 
 AudioSession::AudioSession()
index 17da81b..e700822 100644 (file)
@@ -44,7 +44,8 @@ enum class RouteSharingPolicy : uint8_t {
     LongFormVideo
 };
 
-class AudioSession {
+class AudioSession final {
+    WTF_MAKE_FAST_ALLOCATED;
     WTF_MAKE_NONCOPYABLE(AudioSession);
 public:
     WEBCORE_EXPORT static AudioSession& sharedSession();
index bb721a2..713494c 100644 (file)
@@ -41,6 +41,7 @@ namespace WebCore {
 //    lowpass, highpass, shelving, parameteric, notch, allpass, ...
 
 class Biquad final {
+    WTF_MAKE_FAST_ALLOCATED;
 public:   
     Biquad();
     ~Biquad();
index d81c05d..a7aca3a 100644 (file)
@@ -35,7 +35,8 @@ namespace WebCore {
 
 // Cone gain is defined according to the OpenAL specification
 
-class ConeEffect {
+class ConeEffect final {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     ConeEffect();
 
index 6e9f4e0..e0b3efd 100644 (file)
@@ -41,7 +41,8 @@ namespace WebCore {
 #endif
 
 #ifdef HAVE_DENORMAL
-class DenormalDisabler {
+class DenormalDisabler final {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     DenormalDisabler()
             : m_savedCSR(0)
@@ -103,7 +104,8 @@ private:
 
 #else
 // FIXME: add implementations for other architectures and compilers
-class DenormalDisabler {
+class DenormalDisabler final {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     DenormalDisabler() { }
 
index 6f2faf4..5c8d866 100644 (file)
 #define DirectConvolver_h
 
 #include "AudioArray.h"
+#include <wtf/Noncopyable.h>
 
 namespace WebCore {
 
-class DirectConvolver {
+class DirectConvolver final {
+    WTF_MAKE_FAST_ALLOCATED;
+    WTF_MAKE_NONCOPYABLE(DirectConvolver);
 public:
     explicit DirectConvolver(size_t inputBlockSize);
 
index 91d349b..b3eb779 100644 (file)
@@ -40,7 +40,8 @@ enum class DistanceModelType {
     Exponential
 };
 
-class DistanceEffect {
+class DistanceEffect final {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     DistanceEffect();
 
index f4b4201..9570b89 100644 (file)
@@ -36,7 +36,7 @@ namespace WebCore {
 
 // DownSampler down-samples the source stream by a factor of 2x.
 
-class DownSampler {
+class DownSampler final {
     WTF_MAKE_FAST_ALLOCATED;
 public:
     explicit DownSampler(size_t inputBlockSize);
index ef8c093..822c931 100644 (file)
@@ -43,8 +43,9 @@ class AudioBus;
 // of the loudest parts of the signal and raises the volume of the softest parts,
 // making the sound richer, fuller, and more controlled.
 
-class DynamicsCompressor {
+class DynamicsCompressor final {
     WTF_MAKE_FAST_ALLOCATED;
+    WTF_MAKE_NONCOPYABLE(DynamicsCompressor);
 public:
     enum {
         ParamThreshold,
@@ -95,9 +96,10 @@ protected:
     float m_lastAnchor;
     float m_lastFilterStageGain;
 
-    typedef struct {
+    struct ZeroPoleFilterPack4 {
+        WTF_MAKE_STRUCT_FAST_ALLOCATED;
         ZeroPole filters[4];
-    } ZeroPoleFilterPack4;
+    };
 
     // Per-channel emphasis filters.
     Vector<std::unique_ptr<ZeroPoleFilterPack4>> m_preFilterPacks;
index b7bcea2..e11f47b 100644 (file)
@@ -35,7 +35,8 @@
 
 namespace WebCore {
 
-class DynamicsCompressorKernel {
+class DynamicsCompressorKernel final {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     explicit DynamicsCompressorKernel(float sampleRate, unsigned numberOfChannels);
 
index 8cf5991..4e463b1 100644 (file)
@@ -31,7 +31,7 @@ namespace WebCore {
 
 // Common type of stereo panner as found in normal audio mixing equipment.
 
-class EqualPowerPanner : public Panner {
+class EqualPowerPanner final : public Panner {
 public:
     explicit EqualPowerPanner(float sampleRate);
 
index 4542b6f..386227f 100644 (file)
@@ -34,7 +34,9 @@
 
 namespace WebCore {
 
-class FFTConvolver {
+class FFTConvolver final {
+    WTF_MAKE_FAST_ALLOCATED;
+    WTF_MAKE_NONCOPYABLE(FFTConvolver);
 public:
     // fftSize must be a power of two
     FFTConvolver(size_t fftSize);
index 757bcfa..a519349 100644 (file)
@@ -39,7 +39,7 @@ namespace WebCore {
 
 class HRTFKernel;
 
-class HRTFDatabase {
+class HRTFDatabase final {
     WTF_MAKE_FAST_ALLOCATED;
     WTF_MAKE_NONCOPYABLE(HRTFDatabase);
 public:
index 2a95904..ef752c3 100644 (file)
@@ -39,7 +39,8 @@ namespace WebCore {
 
 // HRTFElevation contains all of the HRTFKernels (one left ear and one right ear per azimuth angle) for a particular elevation.
 
-class HRTFElevation {
+class HRTFElevation final {
+    WTF_MAKE_FAST_ALLOCATED;
     WTF_MAKE_NONCOPYABLE(HRTFElevation);
 public:
     HRTFElevation(std::unique_ptr<HRTFKernelList> kernelListL, std::unique_ptr<HRTFKernelList> kernelListR, int elevation, float sampleRate)
index bf5eefa..caaa441 100644 (file)
@@ -32,7 +32,7 @@
 
 namespace WebCore {
 
-class HRTFPanner : public Panner {
+class HRTFPanner final : public Panner {
 public:
     explicit HRTFPanner(float sampleRate, HRTFDatabaseLoader*);
     virtual ~HRTFPanner();
index 4417547..6146e92 100644 (file)
@@ -37,7 +37,7 @@ namespace WebCore {
 
 class AudioBus;
     
-class MultiChannelResampler {
+class MultiChannelResampler final {
     WTF_MAKE_FAST_ALLOCATED;
 public:   
     explicit MultiChannelResampler(double scaleFactor, unsigned numberOfChannels);
index cda72e8..4635a67 100644 (file)
@@ -28,6 +28,7 @@
 namespace WebCore {
 
 class PlatformAudioData {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     virtual ~PlatformAudioData() = default;
 
index 3e2576b..234e31d 100644 (file)
@@ -38,7 +38,7 @@ class AudioBus;
     
 // Multi-channel convolution reverb with channel matrixing - one or more ReverbConvolver objects are used internally.
 
-class Reverb {
+class Reverb final {
     WTF_MAKE_FAST_ALLOCATED;
 public:
     enum { MaxFrameSize = 256 };
index 512b6ad..a62835f 100644 (file)
@@ -36,7 +36,8 @@ namespace WebCore {
 // ReverbAccumulationBuffer is a circular delay buffer with one client reading from it and multiple clients
 // writing/accumulating to it at different delay offsets from the read position.  The read operation will zero the memory
 // just read from the buffer, so it will be ready for accumulation the next time around.
-class ReverbAccumulationBuffer {
+class ReverbAccumulationBuffer final {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     explicit ReverbAccumulationBuffer(size_t length);
 
index 5b819e1..3200b45 100644 (file)
@@ -43,8 +43,9 @@ namespace WebCore {
 
 class AudioChannel;
 
-class ReverbConvolver {
+class ReverbConvolver final {
     WTF_MAKE_FAST_ALLOCATED;
+    WTF_MAKE_NONCOPYABLE(ReverbConvolver);
 public:
     // maxFFTSize can be adjusted (from say 2048 to 32768) depending on how much precision is necessary.
     // For certain tweaky de-convolving applications the phase errors add up quickly and lead to non-sensical results with
index a049097..3c03be3 100644 (file)
@@ -42,7 +42,7 @@ class DirectConvolver;
     
 // A ReverbConvolverStage represents the convolution associated with a sub-section of a large impulse response.
 // It incorporates a delay line to account for the offset of the sub-section within the larger impulse response.
-class ReverbConvolverStage {
+class ReverbConvolverStage final {
     WTF_MAKE_FAST_ALLOCATED;
 public:
     // renderPhase is useful to know so that we can manipulate the pre versus post delay so that stages will perform
index bb06e4e..af9ed00 100644 (file)
@@ -34,7 +34,8 @@
 namespace WebCore {
 
 // ReverbInputBuffer is used to buffer input samples for deferred processing by the background threads.
-class ReverbInputBuffer {
+class ReverbInputBuffer final {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     explicit ReverbInputBuffer(size_t length);
 
index 2fcd89f..c132f5d 100644 (file)
@@ -36,7 +36,8 @@ namespace WebCore {
 
 // SincResampler is a high-quality sample-rate converter.
 
-class SincResampler {
+class SincResampler final {
+    WTF_MAKE_FAST_ALLOCATED;
 public:   
     // scaleFactor == sourceSampleRate / destinationSampleRate
     // kernelSize can be adjusted for quality (higher is better)
index 266bcaf..675ee4a 100644 (file)
@@ -36,7 +36,7 @@ namespace WebCore {
 
 // UpSampler up-samples the source stream by a factor of 2x.
 
-class UpSampler {
+class UpSampler final {
     WTF_MAKE_FAST_ALLOCATED;
 public:
     explicit UpSampler(size_t inputBlockSize);
index 831de90..02ffacd 100644 (file)
@@ -33,7 +33,8 @@ namespace WebCore {
 
 // ZeroPole is a simple filter with one zero and one pole.
 
-class ZeroPole {
+class ZeroPole final {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     ZeroPole()
         : m_zero(0)
index 86b65a2..8a7e7a0 100644 (file)
@@ -39,7 +39,7 @@ namespace WebCore {
 
 class CAAudioStreamDescription;
 
-class WebAudioBufferList : public PlatformAudioData {
+class WebAudioBufferList final : public PlatformAudioData {
 public:
     WebAudioBufferList(const CAAudioStreamDescription&);
     WEBCORE_EXPORT WebAudioBufferList(const CAAudioStreamDescription&, uint32_t sampleCount);
index dc6c8bc..4e2a888 100644 (file)
@@ -59,6 +59,7 @@ static const char* categoryName(AudioSession::CategoryType category)
 #endif
 
 class AudioSessionPrivate {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     AudioSessionPrivate(AudioSession*);
     AudioSession::CategoryType m_categoryOverride;
index 18a26ab..04acefc 100644 (file)
@@ -39,6 +39,7 @@ typedef struct AudioBufferList AudioBufferList;
 namespace WebCore {
 
 class CARingBufferStorage {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     virtual ~CARingBufferStorage() = default;
     virtual void allocate(size_t) = 0;
@@ -46,7 +47,7 @@ public:
     virtual void* data() = 0;
 };
 
-class CARingBufferStorageVector : public CARingBufferStorage {
+class CARingBufferStorageVector final : public CARingBufferStorage {
 public:
     ~CARingBufferStorageVector() = default;
 
index d47304c..0b91064 100644 (file)
@@ -40,6 +40,7 @@
 namespace WebCore {
 
 class CDMFactoryClearKey final : public CDMFactory {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     static CDMFactoryClearKey& singleton();
 
@@ -54,6 +55,7 @@ private:
 };
 
 class CDMPrivateClearKey final : public CDMPrivate {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     CDMPrivateClearKey();
     virtual ~CDMPrivateClearKey();
index 15f04c7..a25234f 100644 (file)
@@ -36,6 +36,7 @@
 namespace WebCore {
 
 struct HIDGamepadElement {
+    WTF_MAKE_STRUCT_FAST_ALLOCATED;
     HIDGamepadElement(double theMin, double theMax, IOHIDElementRef element)
         : min(theMin)
         , max(theMax)
index 720453d..cefd8d4 100644 (file)
@@ -63,6 +63,7 @@ class IntPoint;
 class IntSize;
 
 class FloatPoint {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     FloatPoint() { }
     FloatPoint(float x, float y) : m_x(x), m_y(y) { }
index 5527e74..6e84e6a 100644 (file)
@@ -264,9 +264,7 @@ private:
 #endif
 
     struct DerivedFonts {
-#if !COMPILER(MSVC)
-        WTF_MAKE_FAST_ALLOCATED;
-#endif
+        WTF_MAKE_STRUCT_FAST_ALLOCATED;
     public:
 
         RefPtr<Font> smallCapsFont;
index 408cfb7..447d7e3 100644 (file)
@@ -557,6 +557,7 @@ public:
     bool shouldIncludeChildWindows() const;
 
     class WindowsBitmap {
+        WTF_MAKE_FAST_ALLOCATED;
         WTF_MAKE_NONCOPYABLE(WindowsBitmap);
     public:
         WindowsBitmap(HDC, const IntSize&);
index 1b42286..e33f8fb 100644 (file)
@@ -28,6 +28,7 @@ namespace WebCore {
 class BitmapTextureGL;
 
 class GraphicsContext3DPrivate {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     GraphicsContext3DPrivate(GraphicsContext3D*, GraphicsContext3D::RenderStyle);
     ~GraphicsContext3DPrivate();
index 0bad4e7..b873194 100644 (file)
@@ -30,6 +30,7 @@
 namespace WebCore {
 
 class GraphicsContextImpl {
+    WTF_MAKE_FAST_ALLOCATED;
     WTF_MAKE_NONCOPYABLE(GraphicsContextImpl);
 public:
     GraphicsContextImpl(GraphicsContext&, const FloatRect& initialClip, const AffineTransform&);
index 94aac1d..aae3a30 100644 (file)
@@ -112,7 +112,7 @@ bool GraphicsLayer::supportsContentsTiling()
 #endif
 
 // Singleton client used for layers on which clearClient has been called.
-class EmptyGraphicsLayerClient : public GraphicsLayerClient {
+class EmptyGraphicsLayerClient final : public GraphicsLayerClient {
     WTF_MAKE_FAST_ALLOCATED;
 public:
     static EmptyGraphicsLayerClient& singleton();
index be76760..25e79a6 100644 (file)
@@ -33,6 +33,7 @@
 namespace WebCore {
 
 class LegacyCDMSessionClient {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     virtual ~LegacyCDMSessionClient() = default;
     virtual void sendMessage(Uint8Array*, String destinationURL) = 0;
index 79633fd..40f96bf 100644 (file)
@@ -91,6 +91,7 @@ private:
     };
 
     class Shape {
+        WTF_MAKE_FAST_ALLOCATED;
     public:
         Shape() = default;
         Shape(const IntRect&);
index 7aeb759..6a06cc6 100644 (file)
@@ -65,6 +65,7 @@ struct VelocityData  {
 WEBCORE_EXPORT TextStream& operator<<(TextStream&, const VelocityData&);
 
 class HistoricalVelocityData {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     HistoricalVelocityData() = default;
 
index a9ecd32..99dddd8 100644 (file)
@@ -44,6 +44,7 @@ namespace WebCore {
 class MediaSelectionOptionAVFObjC;
 
 class AVTrackPrivateAVFObjCImpl {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     explicit AVTrackPrivateAVFObjCImpl(AVPlayerItemTrack*);
     explicit AVTrackPrivateAVFObjCImpl(AVAssetTrack*);
index 8918e80..5386969 100644 (file)
@@ -35,6 +35,7 @@ namespace WebCore {
 struct FourCC;
 
 class CDMFactoryFairPlayStreaming final : public CDMFactory {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     static CDMFactoryFairPlayStreaming& singleton();
 
@@ -49,6 +50,7 @@ private:
 };
 
 class CDMPrivateFairPlayStreaming final : public CDMPrivate {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     CDMPrivateFairPlayStreaming();
     virtual ~CDMPrivateFairPlayStreaming();
index 4a50eb4..d81bca3 100644 (file)
@@ -37,6 +37,7 @@ class LegacyCDM;
 class CDMSessionMediaSourceAVFObjC;
 
 class CDMPrivateMediaSourceAVFObjC : public CDMPrivateInterface {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     explicit CDMPrivateMediaSourceAVFObjC(LegacyCDM* cdm)
         : m_cdm(cdm)
index e460148..147c379 100644 (file)
@@ -30,7 +30,7 @@
 
 namespace WebCore {
 
-class WEBCORE_EXPORT ISOFairPlayStreamingInfoBox : public ISOFullBox {
+class WEBCORE_EXPORT ISOFairPlayStreamingInfoBox final : public ISOFullBox {
 public:
     static FourCC boxTypeName() { return "fpsi"; }
 
@@ -42,7 +42,7 @@ private:
     FourCC m_scheme;
 };
 
-class WEBCORE_EXPORT ISOFairPlayStreamingKeyRequestInfoBox : public ISOFullBox {
+class WEBCORE_EXPORT ISOFairPlayStreamingKeyRequestInfoBox final : public ISOFullBox {
 public:
     static FourCC boxTypeName() { return "fkri"; }
 
@@ -55,7 +55,7 @@ private:
     KeyID m_keyID;
 };
 
-class WEBCORE_EXPORT ISOFairPlayStreamingKeyAssetIdBox : public ISOBox {
+class WEBCORE_EXPORT ISOFairPlayStreamingKeyAssetIdBox final : public ISOBox {
 public:
     static FourCC boxTypeName() { return "fkai"; }
     const Vector<uint8_t> data() const { return m_data; }
@@ -66,7 +66,7 @@ private:
     Vector<uint8_t> m_data;
 };
 
-class WEBCORE_EXPORT ISOFairPlayStreamingKeyContextBox : public ISOBox {
+class WEBCORE_EXPORT ISOFairPlayStreamingKeyContextBox final : public ISOBox {
 public:
     static FourCC boxTypeName() { return "fkcx"; }
     const Vector<uint8_t> data() const { return m_data; }
@@ -77,7 +77,7 @@ private:
     Vector<uint8_t> m_data;
 };
 
-class WEBCORE_EXPORT ISOFairPlayStreamingKeyVersionListBox : public ISOBox {
+class WEBCORE_EXPORT ISOFairPlayStreamingKeyVersionListBox final : public ISOBox {
 public:
     static FourCC boxTypeName() { return "fkvl"; }
     const Vector<uint8_t> versions() const { return m_versions; }
@@ -88,7 +88,7 @@ private:
     Vector<uint8_t> m_versions;
 };
 
-class WEBCORE_EXPORT ISOFairPlayStreamingKeyRequestBox : public ISOBox {
+class WEBCORE_EXPORT ISOFairPlayStreamingKeyRequestBox final : public ISOBox {
 public:
     static FourCC boxTypeName() { return "fpsk"; }
 
@@ -106,7 +106,7 @@ private:
     Optional<ISOFairPlayStreamingKeyVersionListBox> m_versionList;
 };
 
-class WEBCORE_EXPORT ISOFairPlayStreamingInitDataBox : public ISOBox {
+class WEBCORE_EXPORT ISOFairPlayStreamingInitDataBox final : public ISOBox {
 public:
     static FourCC boxTypeName() { return "fpsd"; }
 
@@ -120,7 +120,7 @@ private:
     Vector<ISOFairPlayStreamingKeyRequestBox> m_requests;
 };
 
-class WEBCORE_EXPORT ISOFairPlayStreamingPsshBox : public ISOProtectionSystemSpecificHeaderBox {
+class WEBCORE_EXPORT ISOFairPlayStreamingPsshBox final : public ISOProtectionSystemSpecificHeaderBox {
 public:
     static const Vector<uint8_t>& fairPlaySystemID();
 
index 7608a01..d6167b8 100644 (file)
@@ -38,6 +38,7 @@ namespace WebCore {
 class MediaPlayerPrivateAVFoundationCF;
 
 class CDMSessionAVFoundationCF final : public LegacyCDMSession {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     CDMSessionAVFoundationCF(MediaPlayerPrivateAVFoundationCF& parent, LegacyCDMSessionClient*);
 
index af0a7cc..c2c8ae6 100644 (file)
@@ -98,6 +98,7 @@ using namespace PAL;
 class LayerClient;
 
 class AVFWrapper {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     AVFWrapper(MediaPlayerPrivateAVFoundationCF*);
     ~AVFWrapper();
@@ -213,6 +214,7 @@ private:
 uintptr_t AVFWrapper::s_nextAVFWrapperObjectID;
 
 class LayerClient : public PlatformCALayerClient {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     LayerClient(AVFWrapper* parent) : m_parent(parent) { }
     virtual ~LayerClient() { m_parent = 0; }
@@ -1641,6 +1643,7 @@ void AVFWrapper::periodicTimeObserverCallback(AVCFPlayerRef, CMTime cmTime, void
 }
 
 struct NotificationCallbackData {
+    WTF_MAKE_STRUCT_FAST_ALLOCATED;
     RetainPtr<CFStringRef> m_propertyName;
     void* m_context;
 
@@ -1785,6 +1788,7 @@ void AVFWrapper::seekToTime(const MediaTime& time, const MediaTime& negativeTole
 
 #if HAVE(AVFOUNDATION_MEDIA_SELECTION_GROUP) && HAVE(AVFOUNDATION_LEGIBLE_OUTPUT_SUPPORT)
 struct LegibleOutputData {
+    WTF_MAKE_STRUCT_FAST_ALLOCATED;
     RetainPtr<CFArrayRef> m_attributedStrings;
     RetainPtr<CFArrayRef> m_samples;
     MediaTime m_time;
@@ -1841,6 +1845,7 @@ void AVFWrapper::legibleOutputCallback(void* context, AVCFPlayerItemLegibleOutpu
 
 #if HAVE(AVFOUNDATION_LOADER_DELEGATE)
 struct LoadRequestData {
+    WTF_MAKE_STRUCT_FAST_ALLOCATED;
     RetainPtr<AVCFAssetResourceLoadingRequestRef> m_request;
     void* m_context;
 
index 22aafec..5d8e250 100644 (file)
@@ -39,7 +39,8 @@ namespace WebCore {
 
 class MediaPlayerPrivateAVFoundationObjC;
 
-class CDMSessionAVFoundationObjC : public LegacyCDMSession, public CanMakeWeakPtr<CDMSessionAVFoundationObjC> {
+class CDMSessionAVFoundationObjC final : public LegacyCDMSession, public CanMakeWeakPtr<CDMSessionAVFoundationObjC> {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     CDMSessionAVFoundationObjC(MediaPlayerPrivateAVFoundationObjC* parent, LegacyCDMSessionClient*);
     virtual ~CDMSessionAVFoundationObjC();
index 24b2a17..39ea8e5 100644 (file)
@@ -42,6 +42,7 @@ namespace WebCore {
 class CDMPrivateMediaSourceAVFObjC;
 
 class CDMSessionMediaSourceAVFObjC : public LegacyCDMSession, public SourceBufferPrivateAVFObjCErrorClient, public CanMakeWeakPtr<CDMSessionMediaSourceAVFObjC> {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     CDMSessionMediaSourceAVFObjC(CDMPrivateMediaSourceAVFObjC&, LegacyCDMSessionClient*);
     virtual ~CDMSessionMediaSourceAVFObjC();
index 7396e5b..a1dd0f9 100644 (file)
@@ -268,6 +268,7 @@ private:
     friend class MediaSourcePrivateAVFObjC;
 
     struct PendingSeek {
+        WTF_MAKE_STRUCT_FAST_ALLOCATED;
         PendingSeek(const MediaTime& targetTime, const MediaTime& negativeThreshold, const MediaTime& positiveThreshold)
             : targetTime(targetTime)
             , negativeThreshold(negativeThreshold)
index 3ac4c1e..c4b2c9c 100644 (file)
@@ -157,6 +157,7 @@ public:
     FloatSize pixelAlignmentOffset() const override { return m_pixelAlignmentOffset; }
 
     struct CommitState {
+        WTF_MAKE_STRUCT_FAST_ALLOCATED;
         unsigned treeDepth { 0 };
         unsigned totalBackdropFilterArea { 0 };
         bool ancestorHadChanges { false };
@@ -309,6 +310,7 @@ private:
     typedef unsigned ComputeVisibleRectFlags;
     
     struct VisibleAndCoverageRects {
+        WTF_MAKE_STRUCT_FAST_ALLOCATED;
         FloatRect visibleRect;
         FloatRect coverageRect;
         TransformationMatrix animatingTransform;
@@ -328,6 +330,7 @@ private:
 
     // Used to track the path down the tree for replica layers.
     struct ReplicaState {
+        WTF_MAKE_STRUCT_FAST_ALLOCATED;
         static const size_t maxReplicaDepth = 16;
         enum ReplicaBranchType { ChildBranch = 0, ReplicaBranch = 1 };
         ReplicaState(ReplicaBranchType firstBranch)
@@ -579,6 +582,7 @@ private:
 
     // References to clones of our layers, for replicated layers.
     struct LayerClones {
+        WTF_MAKE_STRUCT_FAST_ALLOCATED;
         LayerMap primaryLayerClones;
         LayerMap structuralLayerClones;
         LayerMap contentsLayerClones;
@@ -608,6 +612,7 @@ private:
     typedef HashMap<String, Vector<AnimationProcessingAction>> AnimationsToProcessMap;
     typedef HashMap<String, Vector<LayerPropertyAnimation>> AnimationsMap;
     struct LayerAnimations {
+        WTF_MAKE_STRUCT_FAST_ALLOCATED;
         Vector<LayerPropertyAnimation> uncomittedAnimations;
         AnimationsToProcessMap animationsToProcess;
         AnimationsMap runningAnimations;
index c31cc6e..18f3405 100644 (file)
@@ -41,6 +41,7 @@ template <typename T> class FontTaggedSettings;
 typedef FontTaggedSettings<int> FontFeatureSettings;
 
 struct FontCustomPlatformData {
+    WTF_MAKE_FAST_ALLOCATED;
     WTF_MAKE_NONCOPYABLE(FontCustomPlatformData);
 public:
     FontCustomPlatformData(FT_Face, SharedBuffer&);
index 99e183c..083725d 100644 (file)
@@ -45,6 +45,7 @@
 namespace WebCore {
 
 class GraphicsContextPlatformPrivate {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     GraphicsContextPlatformPrivate(PlatformContextCairo& platformContext)
         : platformContext(platformContext)
index 80ec725..99c82e2 100644 (file)
@@ -48,6 +48,7 @@ struct ShadowState;
 // code from the platform-independent GraphicsContext.
 
 class PlatformContextCairo {
+    WTF_MAKE_FAST_ALLOCATED;
     WTF_MAKE_NONCOPYABLE(PlatformContextCairo);
 public:
     PlatformContextCairo(cairo_t*);
index feeacd4..4a07ac0 100644 (file)
@@ -92,6 +92,7 @@ static const unsigned statusCheckThreshold = 5;
 // FIXME: This class is currently empty on Mac, but will get populated as
 // the restructuring in https://bugs.webkit.org/show_bug.cgi?id=66903 is done
 class GraphicsContext3DPrivate {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     GraphicsContext3DPrivate(GraphicsContext3D*) { }
     
index adc97ad..6001bb7 100644 (file)
@@ -36,7 +36,8 @@ typedef struct __CVPixelBufferPool* CVPixelBufferPoolRef;
 
 namespace WebCore {
 
-class ImageRotationSessionVT {
+class ImageRotationSessionVT final {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     struct RotationProperties {
         bool flipX { false };
index dd13569..cd5b6fc 100644 (file)
@@ -36,6 +36,7 @@ typedef struct __CVBuffer *CVPixelBufferRef;
 namespace WebCore {
 
 class PixelBufferConformerCV {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     PixelBufferConformerCV(CFDictionaryRef attributes);
     RetainPtr<CVPixelBufferRef> convert(CVPixelBufferRef);
index 81ab2f9..c9ff419 100644 (file)
@@ -44,6 +44,7 @@ namespace WebCore {
 class GraphicsContext3D;
 
 class TextureCacheCV : public CanMakeWeakPtr<TextureCacheCV> {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     static std::unique_ptr<TextureCacheCV> create(GraphicsContext3D&);
 
index 43a96dc..9d392ea 100644 (file)
@@ -40,6 +40,7 @@ namespace WebCore {
 class TextureCacheCV;
 
 class VideoTextureCopierCV {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     VideoTextureCopierCV(GraphicsContext3D&);
     ~VideoTextureCopierCV();
index c578eee..ce8734e 100644 (file)
@@ -1125,6 +1125,7 @@ static void setRectangleToVideoSink(GstElement* videoSink, const IntRect& rect)
 }
 
 class GStreamerHolePunchClient : public TextureMapperPlatformLayerBuffer::HolePunchClient {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     GStreamerHolePunchClient(GRefPtr<GstElement>&& videoSink) : m_videoSink(WTFMove(videoSink)) { };
     void setVideoRectangle(const IntRect& rect) final { setRectangleToVideoSink(m_videoSink.get(), rect); }
index 7ae7ece..e2604c4 100644 (file)
@@ -97,7 +97,7 @@ class MediaPlayerPrivateGStreamerBase : public MediaPlayerPrivateInterface, publ
 #endif
 #endif
 {
-
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     static void initializeDebugCategory();
 
index 51fd9b2..5c56ec3 100644 (file)
@@ -33,6 +33,7 @@ class TextureMapperShaderProgram;
 class ImageOrientation;
 
 class VideoTextureCopierGStreamer {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     enum class ColorConversion {
         ConvertBGRAToRGBA,
index 973f4d4..743dcc5 100644 (file)
@@ -50,6 +50,7 @@ using namespace WebCore;
 #define LOW_QUEUE_FACTOR_THRESHOLD 0.2
 
 class CachedResourceStreamingClient final : public PlatformMediaResourceClient {
+    WTF_MAKE_FAST_ALLOCATED;
     WTF_MAKE_NONCOPYABLE(CachedResourceStreamingClient);
 public:
     CachedResourceStreamingClient(WebKitWebSrc*, ResourceRequest&&);
index f0d04d4..239c4f7 100644 (file)
@@ -44,7 +44,7 @@ class MediaPlayerPrivateHolePunch : public MediaPlayerPrivateInterface, public C
     , public PlatformLayer
 #endif
 {
-
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     MediaPlayerPrivateHolePunch(MediaPlayer*);
     ~MediaPlayerPrivateHolePunch();
index e1a3a86..ecf8969 100644 (file)
@@ -36,6 +36,7 @@ class DataView;
 namespace WebCore {
 
 class WEBCORE_EXPORT ISOBox {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     virtual ~ISOBox() = default;
 
index 70bb861..1883ba4 100644 (file)
@@ -29,7 +29,7 @@
 
 namespace WebCore {
 
-class WEBCORE_EXPORT ISOOriginalFormatBox : public ISOBox {
+class WEBCORE_EXPORT ISOOriginalFormatBox final : public ISOBox {
 public:
     static FourCC boxTypeName() { return "frma"; }
 
index f37b762..8e5673e 100644 (file)
@@ -32,7 +32,7 @@ namespace WebCore {
 class ISOSchemeTypeBox;
 class ISOSchemeInformationBox;
 
-class WEBCORE_EXPORT ISOProtectionSchemeInfoBox : public ISOBox {
+class WEBCORE_EXPORT ISOProtectionSchemeInfoBox final : public ISOBox {
 public:
     static FourCC boxTypeName() { return "sinf"; }
 
index 9edb187..e8ec0c4 100644 (file)
@@ -29,7 +29,7 @@
 
 namespace WebCore {
 
-class WEBCORE_EXPORT ISOSchemeInformationBox : public ISOBox {
+class WEBCORE_EXPORT ISOSchemeInformationBox final : public ISOBox {
 public:
     static FourCC boxTypeName() { return "schi"; }
 
index 6196103..4b8f263 100644 (file)
@@ -29,7 +29,7 @@
 
 namespace WebCore {
 
-class WEBCORE_EXPORT ISOSchemeTypeBox : public ISOFullBox {
+class WEBCORE_EXPORT ISOSchemeTypeBox final : public ISOFullBox {
 public:
     static FourCC boxTypeName() { return "schm"; }
 
index f4efe28..47fa497 100644 (file)
@@ -29,7 +29,7 @@
 
 namespace WebCore {
 
-class WEBCORE_EXPORT ISOTrackEncryptionBox : public ISOFullBox {
+class WEBCORE_EXPORT ISOTrackEncryptionBox final : public ISOFullBox {
 public:
     static FourCC boxTypeName() { return "tenc"; }
 
index 9ec4089..4b516ee 100644 (file)
@@ -35,7 +35,7 @@ using JSC::DataView;
 
 namespace WebCore {
 
-class ISOStringBox : public ISOBox {
+class ISOStringBox final : public ISOBox {
 public:
     const String& contents() { return m_contents; }
 
index a6160b6..ae23bef 100644 (file)
@@ -38,7 +38,7 @@ namespace WebCore {
 // N bytes : CueTimeBox : box : optional
 // N bytes : CueSettingsBox : box : optional
 // N bytes : CuePayloadBox : box : required
-class ISOWebVTTCue : public ISOBox {
+class ISOWebVTTCue final : public ISOBox {
 public:
     ISOWebVTTCue(const MediaTime& presentationTime, const MediaTime& duration);
 
index 83f7766..6f215b2 100644 (file)
@@ -40,6 +40,7 @@ namespace Nicosia {
 struct PaintingOperationReplay { };
 
 struct PaintingOperation {
+    WTF_MAKE_STRUCT_FAST_ALLOCATED;
     virtual ~PaintingOperation() = default;
     virtual void execute(PaintingOperationReplay&) = 0;
     virtual void dump(WTF::TextStream&) = 0;
index ead4977..d436f20 100644 (file)
@@ -41,6 +41,7 @@
 namespace Nicosia {
 
 class BackingStoreTextureMapperImpl final : public BackingStore::Impl, public WebCore::TiledBackingStoreClient {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     static Factory createFactory();
 
index 6555bfb..530a675 100644 (file)
@@ -40,6 +40,7 @@ class TextureMapperLayer;
 namespace Nicosia {
 
 class CompositionLayerTextureMapperImpl final : public CompositionLayer::Impl {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     static Factory createFactory();
 
index ef96a60..b0105b7 100644 (file)
@@ -41,6 +41,7 @@ class TextureMapperPlatformLayerProxy;
 namespace Nicosia {
 
 class ContentLayerTextureMapperImpl final : public ContentLayer::Impl {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     class Client {
     public:
index 32db9dd..9f5445b 100644 (file)
@@ -41,6 +41,7 @@ class GLContext;
 namespace Nicosia {
 
 class GC3DLayer : public ContentLayerTextureMapperImpl::Client {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     GC3DLayer(WebCore::GraphicsContext3D&, WebCore::GraphicsContext3D::RenderStyle);
     virtual ~GC3DLayer();
index 1a623af..49b1e9b 100644 (file)
@@ -42,6 +42,7 @@ class Image;
 namespace Nicosia {
 
 class ImageBackingTextureMapperImpl final : public ImageBacking::Impl {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     static Factory createFactory();
 
index 7c614fb..1472179 100644 (file)
@@ -35,6 +35,7 @@
 namespace WebCore {
 
 class Extensions3DOpenGLCommon : public Extensions3D {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     virtual ~Extensions3DOpenGLCommon();
 
index 8b60214..e6f09c8 100644 (file)
@@ -32,6 +32,7 @@ class GLContext;
 class TextureMapperPlatformLayerProxy;
 
 class TextureMapperGC3DPlatformLayer : public PlatformLayer {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     TextureMapperGC3DPlatformLayer(GraphicsContext3D&, GraphicsContext3D::RenderStyle);
     virtual ~TextureMapperGC3DPlatformLayer();
index 2c24e08..fbc245b 100644 (file)
@@ -37,6 +37,7 @@ namespace WebCore {
 class TiledBackingStore;
 
 class Tile {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     typedef IntPoint Coordinate;
 
index 1904490..eab806e 100644 (file)
@@ -41,6 +41,7 @@ template <typename T> class FontTaggedSettings;
 typedef FontTaggedSettings<int> FontFeatureSettings;
 
 struct FontCustomPlatformData {
+    WTF_MAKE_FAST_ALLOCATED;
     WTF_MAKE_NONCOPYABLE(FontCustomPlatformData);
 public:
     FontCustomPlatformData(HANDLE fontReference, const String& name)
index b953550..1e491c1 100644 (file)
@@ -43,6 +43,7 @@ namespace WebCore {
 static const int kFullScreenAnimationDuration = 500; // milliseconds 
 
 class FullScreenController::Private : public MediaPlayerPrivateFullscreenClient  {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     Private(FullScreenController* controller, FullScreenControllerClient* client) 
         : m_controller(controller)
index e066310..d28538a 100644 (file)
@@ -48,6 +48,7 @@ protected:
 };
 
 class MediaPlayerPrivateFullscreenWindow {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     MediaPlayerPrivateFullscreenWindow(MediaPlayerPrivateFullscreenClient*);
     ~MediaPlayerPrivateFullscreenWindow();
index 90e9b72..a216611 100644 (file)
@@ -47,6 +47,7 @@
 namespace WebCore {
 
 class MediaPlayerPrivateMediaFoundation final : public MediaPlayerPrivateInterface, public CanMakeWeakPtr<MediaPlayerPrivateMediaFoundation> {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     explicit MediaPlayerPrivateMediaFoundation(MediaPlayer*);
     ~MediaPlayerPrivateMediaFoundation();
@@ -168,6 +169,7 @@ private:
     };
 
     class AsyncCallback : public IMFAsyncCallback, public MediaPlayerListener {
+        WTF_MAKE_FAST_ALLOCATED;
     public:
         AsyncCallback(MediaPlayerPrivateMediaFoundation*, bool event);
         ~AsyncCallback();
@@ -191,6 +193,7 @@ private:
     typedef Deque<COMPtr<IMFSample>> VideoSampleList;
 
     class VideoSamplePool {
+        WTF_MAKE_FAST_ALLOCATED;
     public:
         VideoSamplePool() = default;
         virtual ~VideoSamplePool() = default;
@@ -212,6 +215,7 @@ private:
     class Direct3DPresenter;
 
     class VideoScheduler {
+        WTF_MAKE_FAST_ALLOCATED;
     public:
         VideoScheduler() = default;
         virtual ~VideoScheduler() = default;
@@ -257,6 +261,7 @@ private:
     };
 
     class Direct3DPresenter {
+        WTF_MAKE_FAST_ALLOCATED;
     public:
         Direct3DPresenter();
         ~Direct3DPresenter();
@@ -319,6 +324,7 @@ private:
         , public IMFVideoDisplayControl
         , public IMFAsyncCallback
         , public MediaPlayerListener {
+        WTF_MAKE_FAST_ALLOCATED;
     public:
         CustomVideoPresenter(MediaPlayerPrivateMediaFoundation*);
         ~CustomVideoPresenter();
index 6fbe2b5..190540e 100644 (file)
@@ -45,6 +45,7 @@ struct ShadowState;
 }
 
 class PlatformContextDirect2D {
+    WTF_MAKE_FAST_ALLOCATED;
     WTF_MAKE_NONCOPYABLE(PlatformContextDirect2D);
 public:
     PlatformContextDirect2D(ID2D1RenderTarget*);
index 337faf3..8c0eb24 100644 (file)
@@ -32,6 +32,7 @@
 namespace WebCore {
 
 class WKCAImageQueuePrivate {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     RetainPtr<CAImageQueueRef> m_imageQueue;
 };
index 490371a..04e96ab 100644 (file)
@@ -266,6 +266,7 @@ Vector<GdkAtom> PasteboardHelper::dropAtomsForContext(GtkWidget* widget, GdkDrag
 static SelectionData* settingClipboardSelection;
 
 struct ClipboardSetData {
+    WTF_MAKE_STRUCT_FAST_ALLOCATED;
     ClipboardSetData(SelectionData& selection, WTF::Function<void()>&& selectionClearedCallback)
         : selectionData(selection)
         , selectionClearedCallback(WTFMove(selectionClearedCallback))
index 6647ec3..30ef9fc 100644 (file)
@@ -46,6 +46,7 @@ namespace WebCore {
 class LegacyTileGridTile;
 
 class LegacyTileGrid {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     typedef IntPoint TileIndex;
 
index d4adb15..a22f571 100644 (file)
@@ -34,6 +34,7 @@ namespace WebCore {
 class MediaStreamPrivate;
 
 class MediaRecorderPrivateAVFImpl final : public MediaRecorderPrivate {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     static std::unique_ptr<MediaRecorderPrivateAVFImpl> create(const MediaStreamPrivate&);
 
index 953f3a8..3415492 100644 (file)
@@ -29,7 +29,7 @@
 #include <gst/audio/audio.h>
 
 namespace WebCore {
-class GStreamerAudioData : public PlatformAudioData {
+class GStreamerAudioData final : public PlatformAudioData {
 public:
     GStreamerAudioData(GRefPtr<GstSample>&& sample, GstAudioInfo info)
         : m_sample(WTFMove(sample))
index bbe5ae7..f92a6a9 100644 (file)
@@ -32,6 +32,7 @@
 namespace WebCore {
 
 class GStreamerCapturer {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     GStreamerCapturer(GStreamerCaptureDevice, GRefPtr<GstCaps>);
     GStreamerCapturer(const char* sourceFactory, GRefPtr<GstCaps>);
index 7f392bf..d5dfc38 100644 (file)
@@ -107,6 +107,7 @@ GstStream* webkitMediaStreamNew(MediaStreamTrackPrivate* track)
 
 class WebKitMediaStreamTrackObserver
     : public MediaStreamTrackPrivate::Observer {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     virtual ~WebKitMediaStreamTrackObserver() { };
     WebKitMediaStreamTrackObserver(WebKitMediaStreamSrc* src)
@@ -143,6 +144,7 @@ private:
 
 class WebKitMediaStreamObserver
     : public MediaStreamPrivate::Observer {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     virtual ~WebKitMediaStreamObserver() { };
     WebKitMediaStreamObserver(WebKitMediaStreamSrc* src)
index e4d508e..efda29b 100644 (file)
@@ -30,6 +30,7 @@
 namespace WebCore {
 
 class GStreamerVideoDecoderFactory : public webrtc::VideoDecoderFactory {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     GStreamerVideoDecoderFactory();
     static bool newSource(String trackId, GstElement *source);
index 6995c60..cd0e6cd 100644 (file)
@@ -60,6 +60,7 @@ GST_DEBUG_CATEGORY(webkit_webrtcenc_debug);
 namespace WebCore {
 
 class GStreamerVideoEncoder : public webrtc::VideoEncoder {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     GStreamerVideoEncoder(const webrtc::SdpVideoFormat&)
         : m_firstFramePts(GST_CLOCK_TIME_NONE)
index 796a20f..1483a2b 100644 (file)
@@ -28,6 +28,7 @@
 namespace WebCore {
 
 class GStreamerVideoEncoderFactory final : public webrtc::VideoEncoderFactory {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     GStreamerVideoEncoderFactory();
 
index dc6f8f3..4a061fc 100644 (file)
@@ -40,6 +40,7 @@ ALLOW_UNUSED_PARAMETERS_END
 namespace WebCore {
 
 class LibWebRTCDTMFSenderBackend final : public RTCDTMFSenderBackend, private webrtc::DtmfSenderObserverInterface, public CanMakeWeakPtr<LibWebRTCDTMFSenderBackend> {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     explicit LibWebRTCDTMFSenderBackend(rtc::scoped_refptr<webrtc::DtmfSenderInterface>&&);
     ~LibWebRTCDTMFSenderBackend();
index 207ab78..6911c6f 100644 (file)
@@ -79,6 +79,7 @@ static inline rtc::SocketAddress prepareSocketAddress(const rtc::SocketAddress&
 }
 
 class BasicPacketSocketFactory : public rtc::BasicPacketSocketFactory {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     explicit BasicPacketSocketFactory(rtc::Thread& networkThread)
         : m_socketFactory(makeUniqueRef<rtc::BasicPacketSocketFactory>(&networkThread))
index bdf0900..7aa8de2 100644 (file)
@@ -64,6 +64,7 @@ struct RTCRtpCapabilities;
 enum class MDNSRegisterError { NotImplemented, BadParameter, DNSSD, Internal, Timeout };
 
 class WEBCORE_EXPORT LibWebRTCProvider {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     static UniqueRef<LibWebRTCProvider> create();
 
index 772a395..d3c3839 100644 (file)
@@ -37,7 +37,6 @@ class VideoEncoderFactory;
 namespace WebCore {
 
 class WEBCORE_EXPORT LibWebRTCProviderCocoa : public LibWebRTCProvider {
-    WTF_MAKE_FAST_ALLOCATED;
 public:
     LibWebRTCProviderCocoa() = default;
     ~LibWebRTCProviderCocoa();
index 8e29d7b..d4769d6 100644 (file)
@@ -35,6 +35,7 @@
 namespace WebCore {
 
 class MediaPlaybackTargetPickerMock final : public MediaPlaybackTargetPicker {
+    WTF_MAKE_FAST_ALLOCATED;
     WTF_MAKE_NONCOPYABLE(MediaPlaybackTargetPickerMock);
 public:
     explicit MediaPlaybackTargetPickerMock(MediaPlaybackTargetPicker::Client&);
index 3c6de1c..1388ad0 100644 (file)
@@ -33,6 +33,7 @@
 namespace WebCore {
 
 class RTCDataChannelHandlerMock final : public RTCDataChannelHandler, public TimerEventBasedMock {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     RTCDataChannelHandlerMock(const String&, const RTCDataChannelInit&);
 
index a9843f5..8daec54 100644 (file)
@@ -37,6 +37,7 @@ WEBCORE_EXPORT extern const char* const errorDomainWebKitInternal; // Used for e
 WEBCORE_EXPORT extern const char* const errorDomainWebKitServiceWorker; // Used for errors that happen when loading a resource from a service worker.
 
 class ResourceErrorBase {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     WEBCORE_EXPORT ResourceError isolatedCopy() const;
 
index 0c03e9d..2687ae7 100644 (file)
@@ -41,6 +41,7 @@ enum class CookieAcceptPolicy {
 };
 
 class CookieJarDB {
+    WTF_MAKE_FAST_ALLOCATED;
     WTF_MAKE_NONCOPYABLE(CookieJarDB);
 
 public:
index 11027ce..8ce1143 100644 (file)
@@ -40,7 +40,7 @@
 namespace WebCore {
 
 class CurlCacheEntry {
-
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     CurlCacheEntry(const String& url, ResourceHandle* job, const String& cacheDir);
     ~CurlCacheEntry();
index 7d06068..a4f8c02 100644 (file)
@@ -147,6 +147,7 @@ private:
 // CurlMultiHandle --------------------------------------------
 
 class CurlMultiHandle {
+    WTF_MAKE_FAST_ALLOCATED;
     WTF_MAKE_NONCOPYABLE(CurlMultiHandle);
 
 public:
@@ -202,6 +203,7 @@ class HTTPHeaderMap;
 class NetworkLoadMetrics;
 
 class CurlHandle {
+    WTF_MAKE_FAST_ALLOCATED;
     WTF_MAKE_NONCOPYABLE(CurlHandle);
 
 public:
index 804c744..720c698 100644 (file)
@@ -37,6 +37,7 @@ class CurlResponse;
 class SharedBuffer;
 
 class CurlMultipartHandle {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     static std::unique_ptr<CurlMultipartHandle> createIfNeeded(CurlMultipartHandleClient&, const CurlResponse&);
 
index ca3bba8..4b95c0d 100644 (file)
@@ -38,6 +38,7 @@ namespace WebCore {
 class CurlRequestSchedulerClient;
 
 class CurlRequestScheduler {
+    WTF_MAKE_FAST_ALLOCATED;
     WTF_MAKE_NONCOPYABLE(CurlRequestScheduler);
     friend NeverDestroyed<CurlRequestScheduler>;
 public:
index 452f705..3b59cb1 100644 (file)
@@ -34,6 +34,7 @@
 namespace WebCore {
 
 class CurlSSLVerifier {
+    WTF_MAKE_FAST_ALLOCATED;
     WTF_MAKE_NONCOPYABLE(CurlSSLVerifier);
 public:
     enum class SSLCertificateFlags {
index 5a06f2e..76543ad 100644 (file)
@@ -36,6 +36,7 @@ class ResourceRequest;
 class ResourceResponse;
 
 class PreviewConverter {
+    WTF_MAKE_FAST_ALLOCATED;
     WTF_MAKE_NONCOPYABLE(PreviewConverter);
 public:
     PreviewConverter(id delegate, const ResourceResponse&, const String& password = { });
index e961c28..0a72724 100644 (file)
@@ -134,6 +134,7 @@ static const char* authTypeFromProtectionSpaceAuthenticationScheme(ProtectionSpa
 }
 
 struct SecretServiceSearchData {
+    WTF_MAKE_STRUCT_FAST_ALLOCATED;
     SecretServiceSearchData(GCancellable* cancellable, Function<void (Credential&&)>&& completionHandler)
         : cancellable(cancellable)
         , completionHandler(WTFMove(completionHandler))
index dd6ae73..f71bd9f 100644 (file)
@@ -29,6 +29,7 @@
 namespace WebCore {
 
 class VRPlatformDisplayOpenVR : public VRPlatformDisplay {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     explicit VRPlatformDisplayOpenVR(vr::IVRSystem*, vr::IVRChaperone*, vr::IVRCompositor*);
 
index 6a4387c..6a7823b 100644 (file)
@@ -31,6 +31,7 @@ namespace WebCore {
 class VRPlatformDisplayOpenVR;
 
 class VRPlatformManagerOpenVR : public VRPlatformManager {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     static std::unique_ptr<VRPlatformManagerOpenVR> create();
     explicit VRPlatformManagerOpenVR() = default;
index 332f285..10a1943 100644 (file)
@@ -42,6 +42,7 @@ class Scrollbar;
 enum class HitTestProgress { Stop, Continue };
 
 class HitTestResult {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     typedef ListHashSet<RefPtr<Node>> NodeSet;
 
index 285aa5f..78fc088 100644 (file)
@@ -71,6 +71,7 @@ static TextStream& operator<<(TextStream& ts, const RectList& rectList)
 // Checking for overlap involves finding the node for the clipping layer enclosing the given layer (or the root),
 // and comparing against the bounds of earlier siblings.
 class OverlapMapContainer {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     OverlapMapContainer(const RenderLayer& rootLayer)
         : m_rootScope(rootLayer)
index bf645cd..8dd039b 100644 (file)
@@ -107,6 +107,7 @@ static constexpr OptionSet<ScrollCoordinationRole> allScrollCoordinationRoles()
 
 #if PLATFORM(IOS_FAMILY)
 class LegacyWebKitScrollingLayerCoordinator {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     LegacyWebKitScrollingLayerCoordinator(ChromeClient& chromeClient, bool coordinateViewportConstrainedLayers)
         : m_chromeClient(chromeClient)
index 29e8e7c..df017ba 100644 (file)
@@ -31,6 +31,7 @@ namespace WebCore {
 class GraphicsContext;
 
 struct MaskerData {
+    WTF_MAKE_STRUCT_FAST_ALLOCATED;
     std::unique_ptr<ImageBuffer> maskImage;
 };
 
index 7fe7f68..b9c72eb 100644 (file)
@@ -49,6 +49,7 @@ enum class InputSource {
 };
 
 class UserInputBridge {
+    WTF_MAKE_FAST_ALLOCATED;
     WTF_MAKE_NONCOPYABLE(UserInputBridge);
 public:
     UserInputBridge(Page&);
index d970302..c77ae08 100644 (file)
@@ -33,6 +33,7 @@ class RenderObject;
 class SVGFilterElement;
 
 class SVGFilterBuilder {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     typedef HashSet<FilterEffect*> FilterEffectSet;
 
index 64a65b1..022eded 100644 (file)
@@ -52,6 +52,7 @@ enum class CalcMode : uint8_t {
 };
 
 class SVGAttributeAnimator {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     SVGAttributeAnimator(const QualifiedName& attributeName)
         : m_attributeName(attributeName)
index e4ab037..ab14f3c 100644 (file)
@@ -29,6 +29,7 @@ namespace WebCore {
 
 template<typename DecorationType>
 class SVGDecoratedProperty {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     SVGDecoratedProperty() = default;
     virtual ~SVGDecoratedProperty() = default;
index ad50d42..5e3018f 100644 (file)
@@ -34,6 +34,7 @@
 namespace WebCore {
 
 class SVGPropertyAnimatorFactory {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     SVGPropertyAnimatorFactory() = default;
 
index c1131d2..558258d 100644 (file)
@@ -231,6 +231,7 @@ void InternalSettings::Backup::restoreTo(Settings& settings)
 }
 
 class InternalSettingsWrapper : public Supplement<Page> {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     explicit InternalSettingsWrapper(Page* page)
         : m_internalSettings(InternalSettings::create(page)) { }
index 64287d2..3cd1281 100644 (file)
@@ -38,6 +38,7 @@
 namespace WebCore {
 
 class MockCDMSession : public LegacyCDMSession {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     MockCDMSession(LegacyCDMSessionClient*);
     virtual ~MockCDMSession() = default;
index 24b9b80..b93aeb9 100644 (file)
@@ -34,6 +34,7 @@ namespace WebCore {
 class LegacyCDM;
 
 class LegacyMockCDM : public CDMPrivateInterface {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     explicit LegacyMockCDM(LegacyCDM* cdm)
         : m_cdm(cdm)
index 3396cd0..39909b9 100644 (file)
@@ -100,6 +100,7 @@ private:
 };
 
 class MockCDM : public CDMPrivate, public CanMakeWeakPtr<MockCDM> {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     MockCDM(WeakPtr<MockCDMFactory>);
 
index f43bd2a..9267e87 100644 (file)
@@ -44,6 +44,7 @@ WorkerEventQueue::~WorkerEventQueue()
 
 class WorkerEventQueue::EventDispatcher
 {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     EventDispatcher(RefPtr<Event>&& event, WorkerEventQueue& eventQueue)
         : m_event(WTFMove(event))
index 6115ef4..d8973d5 100644 (file)
@@ -33,6 +33,7 @@ namespace WebCore {
 class ScriptExecutionContext;
 
 class WorkerEventQueue final : public EventQueue {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     explicit WorkerEventQueue(ScriptExecutionContext&);
     virtual ~WorkerEventQueue();
index 7ac9c98..3bd6b9b 100644 (file)
@@ -139,6 +139,7 @@ private:
 #endif
 
     struct PendingPromise {
+        WTF_MAKE_STRUCT_FAST_ALLOCATED;
         PendingPromise(Ref<DeferredPromise>&& promise, Ref<PendingActivity<ServiceWorkerContainer>>&& pendingActivity)
             : promise(WTFMove(promise))
             , pendingActivity(WTFMove(pendingActivity))
index 96cf185..64fc78e 100644 (file)
@@ -49,6 +49,7 @@ public:
 
     // All paint definitions must be destroyed before the vm is destroyed, because otherwise they will point to freed memory.
     struct PaintDefinition : public CanMakeWeakPtr<PaintDefinition> {
+        WTF_MAKE_STRUCT_FAST_ALLOCATED;
         PaintDefinition(const AtomString& name, JSC::JSObject* paintConstructor, Ref<CSSPaintCallback>&&, Vector<String>&& inputProperties, Vector<String>&& inputArguments);
 
         const AtomString name;
index b021cce..a6327b9 100644 (file)
@@ -37,6 +37,7 @@ namespace WebCore {
 class Document;
 
 class XMLErrors {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     explicit XMLErrors(Document&);
 
index b93101b..1032007 100644 (file)
@@ -197,6 +197,7 @@ public:
 
 private:
     struct PendingCallback {
+        WTF_MAKE_STRUCT_FAST_ALLOCATED;
         virtual ~PendingCallback() = default;
         virtual void call(XMLDocumentParser* parser) = 0;
     };
index 358f2bf..e6a53b3 100644 (file)
@@ -1,3 +1,12 @@
+2019-08-15  Yusuke Suzuki  <ysuzuki@apple.com>
+
+        [WTF] Add makeUnique<T>, which ensures T is fast-allocated, WTF_MAKE_FAST_ALLOCATED annotation part
+        https://bugs.webkit.org/show_bug.cgi?id=200620
+
+        Reviewed by Geoffrey Garen.
+
+        * glib/SessionHostGlib.cpp:
+
 2019-06-03  Carlos Garcia Campos  <cgarcia@igalia.com>
 
         REGRESSION(r245567): [GTK][WPE] [2.25.1] WebKitWebDriver gets installed as WebDriver
index 7a20b89..c8f0a0e 100644 (file)
@@ -113,6 +113,7 @@ bool SessionHost::isConnected() const
 }
 
 struct ConnectToBrowserAsyncData {
+    WTF_MAKE_STRUCT_FAST_ALLOCATED;
     ConnectToBrowserAsyncData(SessionHost* sessionHost, GUniquePtr<char>&& dbusAddress, GCancellable* cancellable, Function<void (Optional<String> error)>&& completionHandler)
         : sessionHost(sessionHost)
         , dbusAddress(WTFMove(dbusAddress))
@@ -371,6 +372,7 @@ void SessionHost::sendMessageToFrontend(uint64_t connectionID, uint64_t targetID
 }
 
 struct MessageContext {
+    WTF_MAKE_STRUCT_FAST_ALLOCATED;
     long messageID;
     SessionHost* host;
 };
index 4ba55b7..bb7ae7c 100644 (file)
@@ -1,3 +1,134 @@
+2019-08-15  Yusuke Suzuki  <ysuzuki@apple.com>
+
+        [WTF] Add makeUnique<T>, which ensures T is fast-allocated, WTF_MAKE_FAST_ALLOCATED annotation part
+        https://bugs.webkit.org/show_bug.cgi?id=200620
+
+        Reviewed by Geoffrey Garen.
+
+        * NetworkProcess/AdClickAttributionManager.h:
+        * NetworkProcess/Classifier/ResourceLoadStatisticsPersistentStorage.h:
+        * NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:
+        * NetworkProcess/Cookies/WebCookieManager.h:
+        * NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.h:
+        * NetworkProcess/NetworkHTTPSUpgradeChecker.h:
+        * NetworkProcess/NetworkProcess.cpp:
+        * NetworkProcess/NetworkSession.h:
+        * NetworkProcess/NetworkSocketChannel.h:
+        * NetworkProcess/WebSocketTask.h:
+        * NetworkProcess/cache/PrefetchCache.h:
+        * NetworkProcess/cocoa/WebSocketTaskCocoa.h:
+        * NetworkProcess/soup/WebKitSoupRequestInputStream.cpp:
+        * NetworkProcess/soup/WebSocketTaskSoup.h:
+        * NetworkProcess/webrtc/LibWebRTCSocketClient.h:
+        * NetworkProcess/webrtc/NetworkMDNSRegister.cpp:
+        * Platform/Module.h:
+        * PluginProcess/PluginControllerProxy.h:
+        * Shared/ApplePay/WebPaymentCoordinatorProxy.h:
+        * Shared/Authentication/AuthenticationManager.h:
+        * Shared/Cocoa/SandboxExtensionCocoa.mm:
+        * Shared/Plugins/NPObjectMessageReceiver.h:
+        * Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h:
+        * UIProcess/API/APIAutomationClient.h:
+        * UIProcess/API/APIAutomationSessionClient.h:
+        * UIProcess/API/APIContextMenuClient.h:
+        * UIProcess/API/APICustomProtocolManagerClient.h:
+        * UIProcess/API/APIDiagnosticLoggingClient.h:
+        * UIProcess/API/APIDownloadClient.h:
+        * UIProcess/API/APIFindClient.h:
+        * UIProcess/API/APIFindMatchesClient.h:
+        * UIProcess/API/APIFormClient.h:
+        * UIProcess/API/APIFullscreenClient.h:
+        * UIProcess/API/APIGeolocationProvider.h:
+        * UIProcess/API/APIHistoryClient.h:
+        * UIProcess/API/APIIconDatabaseClient.h:
+        * UIProcess/API/APIIconLoadingClient.h:
+        * UIProcess/API/APIInjectedBundleClient.h:
+        * UIProcess/API/APILegacyContextHistoryClient.h:
+        * UIProcess/API/APILoaderClient.h:
+        * UIProcess/API/APINavigationClient.h:
+        * UIProcess/API/APIPolicyClient.h:
+        * UIProcess/API/APIUIClient.h:
+        * UIProcess/API/C/WKPage.cpp:
+        (WKPageSetPageStateClient):
+        * UIProcess/API/Cocoa/WKUserContentController.mm:
+        * UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.mm:
+        * UIProcess/API/glib/IconDatabase.h:
+        * UIProcess/API/glib/WebKitAutomationSession.cpp:
+        * UIProcess/API/glib/WebKitIconLoadingClient.cpp:
+        * UIProcess/API/glib/WebKitNotificationProvider.h:
+        * UIProcess/API/glib/WebKitUserContentManager.cpp:
+        * UIProcess/API/glib/WebKitWebContext.cpp:
+        * UIProcess/API/glib/WebKitWebView.cpp:
+        * UIProcess/API/gtk/WebKitRemoteInspectorProtocolHandler.cpp:
+        * UIProcess/API/gtk/WebKitWebInspector.cpp:
+        * UIProcess/API/mac/WKView.mm:
+        (-[WKView maybeInstallIconLoadingClient]):
+        * UIProcess/API/wpe/APIViewClient.h:
+        * UIProcess/API/wpe/ScrollGestureController.h:
+        * UIProcess/ApplicationStateTracker.h:
+        * UIProcess/Cocoa/AutomationSessionClient.h:
+        * UIProcess/Cocoa/IconLoadingDelegate.h:
+        * UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
+        * UIProcess/Cocoa/UserMediaCaptureManagerProxy.h:
+        * UIProcess/DrawingAreaProxy.h:
+        * UIProcess/HighPerformanceGraphicsUsageSampler.h:
+        * UIProcess/Network/NetworkProcessProxy.h:
+        * UIProcess/PageClient.h:
+        * UIProcess/PerActivityStateCPUUsageSampler.h:
+        * UIProcess/RemoteLayerTree/RemoteLayerTreeScrollingPerformanceData.h:
+        * UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:
+        * UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.h:
+        * UIProcess/SystemPreviewController.h:
+        * UIProcess/UserMediaPermissionRequestManagerProxy.h:
+        * UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h:
+        * UIProcess/WebNavigationState.h:
+        * UIProcess/WebPageInjectedBundleClient.h:
+        * UIProcess/WebPageProxy.h:
+        * UIProcess/WebsiteData/WebsiteDataStoreClient.h:
+        * UIProcess/gtk/DragAndDropHandler.h:
+        * UIProcess/ios/EditableImageController.h:
+        * UIProcess/ios/InputViewUpdateDeferrer.h:
+        * UIProcess/ios/SmartMagnificationController.h:
+        * UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
+        * UIProcess/mac/WKFullScreenWindowController.mm:
+        * UIProcess/mac/WKTextFinderClient.mm:
+        * WebProcess/ApplePay/WebPaymentCoordinator.h:
+        * WebProcess/Geolocation/GeolocationPermissionRequestManager.h:
+        * WebProcess/Geolocation/WebGeolocationManager.h:
+        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
+        * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:
+        * WebProcess/InjectedBundle/API/glib/DOM/DOMObjectCache.cpp:
+        * WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp:
+        * WebProcess/MediaCache/WebMediaKeyStorageManager.h:
+        * WebProcess/MediaStream/UserMediaPermissionRequestManager.h:
+        * WebProcess/Network/webrtc/LibWebRTCProvider.cpp:
+        * WebProcess/Network/webrtc/LibWebRTCResolver.h:
+        * WebProcess/Notifications/WebNotificationManager.h:
+        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.h:
+        * WebProcess/Plugins/PluginController.h:
+        * WebProcess/Storage/WebSWOriginTable.h:
+        * WebProcess/WebCoreSupport/WebAlternativeTextClient.h:
+        * WebProcess/WebCoreSupport/WebChromeClient.h:
+        * WebProcess/WebCoreSupport/WebContextMenuClient.h:
+        * WebProcess/WebCoreSupport/WebDragClient.h:
+        * WebProcess/WebCoreSupport/WebEditorClient.h:
+        * WebProcess/WebCoreSupport/WebGeolocationClient.h:
+        * WebProcess/WebCoreSupport/WebInspectorClient.h:
+        * WebProcess/WebCoreSupport/WebMessagePortChannelProvider.h:
+        * WebProcess/WebCoreSupport/WebNotificationClient.h:
+        * WebProcess/WebCoreSupport/WebPlugInClient.h:
+        * WebProcess/WebCoreSupport/WebProgressTrackerClient.h:
+        * WebProcess/WebCoreSupport/WebSpeechSynthesisClient.h:
+        * WebProcess/WebCoreSupport/WebUserMediaClient.h:
+        * WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.h:
+        * WebProcess/WebPage/FindController.h:
+        *