时间线 – WebKit

Web Name: 时间线 – WebKit

WebSite: http://trac.webkit.org

ID:178761

Keywords:

时间,WebKit,

Description:

Make CheckedLock the default Lock​https://bugs.webkit.org/show_bug.cgi?id=226157Reviewed by Darin Adler.Make CheckedLock the default Lock so that we get more benefits from ClangThread Safety Analysis. Note that CheckedLock 100% relies on the existingSource/JavaScriptCore:Lock implementation and merely adds the clang anotations for threadsafety.That this patch does is:Rename the Lock class to UncheckedLockRename the CheckedLock class to LockRename the Condition class to UncheckedConditionRename the CheckedCondition class to ConditionUpdate the types of certain variables from Lock / Condition toUncheckedLock / UncheckedCondition if I got a build failure. Buildfailures are usually caused by the following facts:Locker CheckedLock doesn't subclass AbstractLocker which a lot ofJSC code passes as argumentLocker CheckedLock has no move constructorLocker CheckedLock cannot be constructed from a lock pointer, onlya referenceFor now, CheckedLock and CheckedCondition remain as aliases to Lock andCondition, in their respective CheckedLock.h / CheckedCondition.h headers.I will drop them in a follow-up to reduce patch size.I will also follow-up to try and get rid of as much usage of UncheckedLockand UncheckedCondition as possible. I did not try very hard in this patchto reduce patch size.assembler/testmasm.cpp:dfg/DFGCommon.cpp:dfg/DFGThreadData.h:dfg/DFGWorklist.cpp:(JSC::DFG::Worklist::Worklist):dfg/DFGWorklist.h:dynbench.cpp:heap/BlockDirectory.h:(JSC::BlockDirectory::bitvectorLock):heap/CodeBlockSet.h:(JSC::CodeBlockSet::getLock):heap/Heap.cpp:(JSC::Heap::Heap):heap/Heap.h:heap/MarkedSpace.h:(JSC::MarkedSpace::directoryLock):heap/MarkingConstraintSolver.h:heap/SlotVisitor.cpp:(JSC::SlotVisitor::donateKnownParallel):heap/SlotVisitor.h:jit/ExecutableAllocator.cpp:(JSC::ExecutableAllocator::getLock const):(JSC::dumpJITMemory):jit/ExecutableAllocator.h:(JSC::ExecutableAllocatorBase::getLock const):jit/JITWorklist.cpp:(JSC::JITWorklist::JITWorklist):jit/JITWorklist.h:jsc.cpp:profiler/ProfilerDatabase.h:runtime/ConcurrentJSLock.h:runtime/DeferredWorkTimer.h:runtime/JSLock.h:runtime/SamplingProfiler.cpp:(JSC::FrameWalker::FrameWalker):(JSC::CFrameWalker::CFrameWalker):(JSC::SamplingProfiler::takeSample):runtime/SamplingProfiler.h:(JSC::SamplingProfiler::getLock):runtime/VM.h:runtime/VMTraps.cpp:(JSC::VMTraps::invalidateCodeBlocksOnStack):(JSC::VMTraps::VMTraps):runtime/VMTraps.h:tools/FunctionOverrides.h:tools/VMInspector.cpp:(JSC::ensureIsSafeToLock):tools/VMInspector.h:(JSC::VMInspector::getLock):wasm/WasmCalleeRegistry.h:(JSC::Wasm::CalleeRegistry::getLock):wasm/WasmPlan.h:wasm/WasmStreamingCompiler.h:wasm/WasmThunks.h:wasm/WasmWorklist.cpp:(JSC::Wasm::Worklist::Worklist):wasm/WasmWorklist.h:Source/WebCore:Lock implementation and merely adds the clang anotations for threadsafety.That this patch does is:Rename the Lock class to UncheckedLockRename the CheckedLock class to LockRename the Condition class to UncheckedConditionRename the CheckedCondition class to ConditionUpdate the types of certain variables from Lock / Condition toUncheckedLock / UncheckedCondition if I got a build failure. Buildfailures are usually caused by the following facts:Locker CheckedLock doesn't subclass AbstractLocker which a lot ofJSC code passes as argumentLocker CheckedLock has no move constructorLocker CheckedLock cannot be constructed from a lock pointer, onlya referenceFor now, CheckedLock and CheckedCondition remain as aliases to Lock andCondition, in their respective CheckedLock.h / CheckedCondition.h headers.I will drop them in a follow-up to reduce patch size.I will also follow-up to try and get rid of as much usage of UncheckedLockand UncheckedCondition as possible. I did not try very hard in this patchto reduce patch size.Modules/indexeddb/server/IDBServer.cpp:Modules/webaudio/MediaElementAudioSourceNode.h:Modules/webdatabase/OriginLock.cpp:bindings/js/JSDOMGlobalObject.h:dom/Node.cpp:html/HTMLMediaElement.cpp:(WebCore::HTMLMediaElement::createMediaPlayer):html/canvas/WebGLContextGroup.cpp:(WebCore::WebGLContextGroup::objectGraphLockForAContext):html/canvas/WebGLContextGroup.h:html/canvas/WebGLContextObject.cpp:(WebCore::WebGLContextObject::objectGraphLockForContext):html/canvas/WebGLContextObject.h:html/canvas/WebGLObject.h:html/canvas/WebGLRenderingContextBase.cpp:(WebCore::WebGLRenderingContextBase::objectGraphLock):html/canvas/WebGLRenderingContextBase.h:html/canvas/WebGLSharedObject.cpp:(WebCore::WebGLSharedObject::objectGraphLockForContext):html/canvas/WebGLSharedObject.h:page/scrolling/mac/ScrollingTreeMac.h:platform/audio/ReverbConvolver.cpp:(WebCore::ReverbConvolver::backgroundThreadEntry):platform/graphics/ShadowBlur.cpp:(WebCore::ScratchBuffer::lock):(WebCore::ShadowBlur::drawRectShadowWithTiling):(WebCore::ShadowBlur::drawInsetShadowWithTiling):platform/graphics/gstreamer/VideoSinkGStreamer.cpp:platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:Source/WebKit:Lock implementation and merely adds the clang anotations for threadsafety.That this patch does is:Rename the Lock class to UncheckedLockRename the CheckedLock class to LockRename the Condition class to UncheckedConditionRename the CheckedCondition class to ConditionUpdate the types of certain variables from Lock / Condition toUncheckedLock / UncheckedCondition if I got a build failure. Buildfailures are usually caused by the following facts:Locker CheckedLock doesn't subclass AbstractLocker which a lot ofJSC code passes as argumentLocker CheckedLock has no move constructorLocker CheckedLock cannot be constructed from a lock pointer, onlya referenceFor now, CheckedLock and CheckedCondition remain as aliases to Lock andCondition, in their respective CheckedLock.h / CheckedCondition.h headers.I will drop them in a follow-up to reduce patch size.I will also follow-up to try and get rid of as much usage of UncheckedLockand UncheckedCondition as possible. I did not try very hard in this patchto reduce patch size.GPUProcess/graphics/RemoteGraphicsContextGL.cpp:(WebKit::RemoteGraphicsContextGL::paintPixelBufferToImageBuffer):NetworkProcess/IndexedDB/WebIDBServer.cpp:UIProcess/API/glib/IconDatabase.h:UIProcess/mac/WKPrintingView.mm:(-[WKPrintingView knowsPageRange:]):Source/WTF:Lock implementation and merely adds the clang anotations for threadsafety.That this patch does is:Rename the Lock class to UncheckedLockRename the CheckedLock class to LockRename the Condition class to UncheckedConditionRename the CheckedCondition class to ConditionUpdate the types of certain variables from Lock / Condition toUncheckedLock / UncheckedCondition if I got a build failure. Buildfailures are usually caused by the following facts:Locker CheckedLock doesn't subclass AbstractLocker which a lot ofJSC code passes as argumentLocker CheckedLock has no move constructorLocker CheckedLock cannot be constructed from a lock pointer, onlya referenceFor now, CheckedLock and CheckedCondition remain as aliases to Lock andCondition, in their respective CheckedLock.h / CheckedCondition.h headers.I will drop them in a follow-up to reduce patch size.I will also follow-up to try and get rid of as much usage of UncheckedLockand UncheckedCondition as possible. I did not try very hard in this patchto reduce patch size.wtf/AutomaticThread.cpp:(WTF::AutomaticThreadCondition::wait):(WTF::AutomaticThreadCondition::waitFor):(WTF::AutomaticThread::AutomaticThread):wtf/AutomaticThread.h:wtf/CheckedCondition.h:wtf/CheckedLock.h:wtf/Condition.h:wtf/Lock.cpp:(WTF::UncheckedLock::lockSlow):(WTF::UncheckedLock::unlockSlow):(WTF::UncheckedLock::unlockFairlySlow):(WTF::UncheckedLock::safepointSlow):wtf/Lock.h:(WTF::WTF_ASSERTS_ACQUIRED_LOCK):wtf/MetaAllocator.cpp:(WTF::MetaAllocator::release):(WTF::MetaAllocator::MetaAllocator):(WTF::MetaAllocator::allocate):(WTF::MetaAllocator::currentStatistics):wtf/MetaAllocator.h:wtf/ParallelHelperPool.cpp:(WTF::ParallelHelperPool::ParallelHelperPool):wtf/ParallelHelperPool.h:wtf/RecursiveLockAdapter.h:wtf/WorkerPool.cpp:(WTF::WorkerPool::WorkerPool):wtf/WorkerPool.h:Tools:Lock implementation and merely adds the clang anotations for threadsafety.That this patch does is:Rename the Lock class to UncheckedLockRename the CheckedLock class to LockRename the Condition class to UncheckedConditionRename the CheckedCondition class to ConditionUpdate the types of certain variables from Lock / Condition toUncheckedLock / UncheckedCondition if I got a build failure. Buildfailures are usually caused by the following facts:Locker CheckedLock doesn't subclass AbstractLocker which a lot ofJSC code passes as argumentLocker CheckedLock has no move constructorLocker CheckedLock cannot be constructed from a lock pointer, onlya referenceFor now, CheckedLock and CheckedCondition remain as aliases to Lock andCondition, in their respective CheckedLock.h / CheckedCondition.h headers.I will drop them in a follow-up to reduce patch size.I will also follow-up to try and get rid of as much usage of UncheckedLockand UncheckedCondition as possible. I did not try very hard in this patchto reduce patch size.TestWebKitAPI/Tests/WTF/CheckedConditionTest.cpp:TestWebKitAPI/Tests/WTF/Condition.cpp:TestWebKitAPI/Tests/WTF/MetaAllocator.cpp:WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:(WTR::AXThread::createThreadIfNeeded): 2 edits in trunk/Source/JavaScriptCoreRemove some now invalid tests in testmasm.​https://bugs.webkit.org/show_bug.cgi?id=226155Reviewed by Yusuke Suzuki.The ARM64E tests were checking that cageConditionallyAndUntag() would fail toproduce a caged pointer if fed invalid values. These tests are no longer feasiblebecause on ARM64E, feeding cageConditionallyAndUntag() invalid values will nowresult in a crash. This patch removes these tests.assembler/testmasm.cpp:(JSC::testCagePreservesPACFailureBit): 173 edits2 copies1 add2 deletes in trunkConvert DestinationColorSpace from an enum to class wrapping a platform color space (CGColorSpaceRef for CG ports, etc.)​https://bugs.webkit.org/show_bug.cgi?id=226143Reviewed by Darin Adler.Source/WebCore:Replace enumeration based DestinationColorSpace with a struct wrappinga platform color space (CGColorSpaceRef for CG ports, etc.). For portsthat don't have a platform level color space type, a builtin PlatformColorSpacetype is provided that is just the old enum renamed to PlatformColorSpace::Name.The goal of this change is to unify the currently bifurcated concept of anImageBuffer's color space, which previosly could either be based on theDestinationColorSpace (and reflected in the colorSpace() member function),or (for CG ports) based on a CGColorSpaceRef, with the colorSpace() functionreturning sRGB even if the ImageBuffer was not.Headers.cmake:Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:(WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::sanitizeDataIfNeeded):Modules/mediasession/MediaMetadata.cpp:(WebCore::ArtworkImageLoader::notifyFinished):Sources.txt:WebCore.xcodeproj/project.pbxproj:bindings/js/SerializedScriptValue.cpp:(WebCore::CloneSerializer::dumpImageBitmap):(WebCore::CloneDeserializer::readImageBitmap):css/CSSFilterImageValue.cpp:(WebCore::CSSFilterImageValue::image):html/CustomPaintCanvas.cpp:(WebCore::CustomPaintCanvas::copiedImage const):html/CustomPaintImage.cpp:(WebCore::CustomPaintImage::drawPattern):html/HTMLCanvasElement.cpp:(WebCore::HTMLCanvasElement::toMediaSample):(WebCore::HTMLCanvasElement::createImageBuffer const):html/HTMLVideoElement.cpp:(WebCore::HTMLVideoElement::createBufferForPainting const):html/HTMLVideoElement.h:html/ImageBitmap.cpp:(WebCore::ImageBitmap::createImageBuffer):(WebCore::ImageBitmap::createPromise):html/OffscreenCanvas.cpp:(WebCore::OffscreenCanvas::commitToPlaceholderCanvas):html/canvas/CanvasRenderingContext.cpp:(WebCore::CanvasRenderingContext::colorSpace const):html/canvas/CanvasRenderingContext.h:html/canvas/CanvasRenderingContext2D.cpp:html/canvas/ImageBitmapRenderingContext.cpp:(WebCore::ImageBitmapRenderingContext::setOutputBitmap):html/canvas/PredefinedColorSpace.cpp:(WebCore::toDestinationColorSpace):(WebCore::toPredefinedColorSpace):html/canvas/PredefinedColorSpace.h:html/canvas/WebGLRenderingContextBase.cpp:(WebCore::WebGLRenderingContextBase::LRUImageBufferCache::imageBuffer):html/shadow/MediaControlTextTrackContainerElement.cpp:(WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):inspector/InspectorCanvas.cpp:(WebCore::InspectorCanvas::indexForData):(WebCore::InspectorCanvas::buildArrayForCanvasPattern):page/Chrome.cpp:(WebCore::Chrome::createImageBuffer const):page/Chrome.h:page/ChromeClient.h:(WebCore::ChromeClient::createImageBuffer const):page/FrameSnapshotting.cpp:(WebCore::snapshotFrameRectWithClip):page/PageColorSampler.cpp:(WebCore::sampleColor):page/PageConsoleClient.cpp:(WebCore::PageConsoleClient::screenshot):platform/HostWindow.h:platform/PlatformColorSpace.h: Added.(WebCore::PlatformColorSpace::get const):platform/PlatformScreen.h:platform/ScreenProperties.h:(WebCore::ScreenProperties::encode const):(WebCore::ScreenData::encode const):(WebCore::ScreenData::decode):platform/graphics/BitmapImage.cpp:(WebCore::BitmapImage::preTransformedNativeImageForCurrentFrame):(WebCore::BitmapImage::drawPattern):platform/graphics/Color.cpp:(WebCore::Color::toColorComponentsInColorSpace const):platform/graphics/Color.h:platform/graphics/ColorConversion.cpp:(WebCore::converColorComponents):platform/graphics/ColorConversion.h:platform/graphics/ColorSpace.cpp:platform/graphics/ColorSpace.h:platform/graphics/ConcreteImageBuffer.h:(WebCore::ConcreteImageBuffer::create):platform/graphics/CrossfadeGeneratedImage.cpp:(WebCore::CrossfadeGeneratedImage::drawPattern):platform/graphics/DestinationColorSpace.cpp: Added.(WebCore::DestinationColorSpace::SRGB):(WebCore::DestinationColorSpace::LinearSRGB):(WebCore::DestinationColorSpace::DisplayP3):(WebCore::DestinationColorSpace::DestinationColorSpace):(WebCore::operator==):(WebCore::operator!=):(WebCore::operator ):platform/graphics/DestinationColorSpace.h: Added.(WebCore::DestinationColorSpace::platformColorSpace const):(WebCore::DestinationColorSpace::encode const):(WebCore::DestinationColorSpace::decode):platform/graphics/GradientImage.cpp:(WebCore::GradientImage::drawPattern):platform/graphics/GraphicsContext.cpp:(WebCore::GraphicsContext::clipToDrawingCommands):platform/graphics/GraphicsContext.h:platform/graphics/GraphicsContextImpl.h:platform/graphics/ImageBuffer.cpp:(WebCore::ImageBuffer::create):(WebCore::ImageBuffer::createCompatibleBuffer):(WebCore::ImageBuffer::copyRectToBuffer):platform/graphics/ImageBuffer.h:platform/graphics/ImageBufferBackend.cpp:(WebCore::ImageBufferBackend::getPixelBuffer const):(WebCore::ImageBufferBackend::putPixelBuffer):platform/graphics/ImageBufferBackend.h:(WebCore::ImageBufferBackend::transformColorSpace):(WebCore::ImageBufferBackend::colorSpace const):platform/graphics/PixelBuffer.h:(WebCore::PixelBuffer::decode):platform/graphics/PixelBufferConversion.cpp:(WebCore::makeVImageCGImageFormat):platform/graphics/PixelBufferFormat.h:(WebCore::PixelBufferFormat::decode):platform/graphics/RemoteVideoSample.cpp:(WebCore::transferBGRAPixelBufferToIOSurface):(WebCore::RemoteVideoSample::create):(WebCore::RemoteVideoSample::RemoteVideoSample):(WebCore::RemoteVideoSample::surface const):platform/graphics/RemoteVideoSample.h:platform/graphics/ShadowBlur.cpp:(WebCore::ScratchBuffer::getScratchBuffer):(WebCore::ShadowBlur::drawRectShadowWithoutTiling):(WebCore::ShadowBlur::drawInsetShadowWithoutTiling):(WebCore::ShadowBlur::drawRectShadowWithTiling):(WebCore::ShadowBlur::drawInsetShadowWithTiling):(WebCore::ShadowBlur::blurShadowBuffer):(WebCore::ShadowBlur::drawShadowLayer):platform/graphics/angle/GraphicsContextGLANGLE.cpp:(WebCore::GraphicsContextGLOpenGL::readPixelsForPaintResults):platform/graphics/cairo/ImageBufferCairoBackend.cpp:(WebCore::ImageBufferCairoBackend::transformColorSpace):platform/graphics/cairo/ImageBufferCairoBackend.h:platform/graphics/cg/ColorCG.cpp:(WebCore::convertToCGCompatibleComponents):(WebCore::createCGColor):(WebCore::platformConvertColorComponents):platform/graphics/cg/ColorSpaceCG.h:(WebCore::cachedCGColorSpace): Deleted.platform/graphics/cg/GraphicsContextGLCG.cpp:(WebCore::GraphicsContextGLOpenGL::paintToCanvas):platform/graphics/cg/IOSurfacePool.cpp:(WebCore::surfaceMatchesParameters):(WebCore::IOSurfacePool::takeSurface):platform/graphics/cg/IOSurfacePool.h:platform/graphics/cg/ImageBufferCGBackend.cpp:(WebCore::createBitmapImageAfterScalingIfNeeded):(WebCore::ImageBufferCGBackend::copyCGImageForEncoding const):platform/graphics/cg/ImageBufferCGBitmapBackend.cpp:(WebCore::ImageBufferCGBitmapBackend::create):(WebCore::ImageBufferCGBitmapBackend::copyNativeImage const):platform/graphics/cg/ImageBufferCGBitmapBackend.h:platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp:(WebCore::ImageBufferIOSurfaceBackend::create):platform/graphics/cg/ImageBufferIOSurfaceBackend.h:platform/graphics/cg/ImageBufferUtilitiesCG.cpp:(WebCore::encode):platform/graphics/cg/NativeImageCG.cpp:(WebCore::NativeImage::singlePixelSolidColor const):platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:(WebCore::GraphicsContextGLOpenGL::allocateAndBindDisplayBufferBacking):platform/graphics/cocoa/IOSurface.h:platform/graphics/cocoa/IOSurface.mm:(WebCore::IOSurface::surfaceFromPool):(WebCore::IOSurface::create):(WebCore::IOSurface::createFromSendRight):(WebCore::IOSurface::createFromSurface):(WebCore::IOSurface::createFromImage):(WebCore::IOSurface::createFromPixelBuffer):(WebCore::IOSurface::IOSurface):(WebCore::IOSurface::ensurePlatformContext):(WebCore::IOSurface::migrateColorSpaceToProperties):platform/graphics/coreimage/FilterEffectRendererCoreImage.mm:(WebCore::FilterEffectRendererCoreImage::renderToImageBuffer):platform/graphics/cv/ImageTransferSessionVT.mm:(WebCore::ImageTransferSessionVT::createPixelBuffer):platform/graphics/cv/PixelBufferConformerCV.cpp:(WebCore::PixelBufferConformerCV::createImageFromPixelBuffer):platform/graphics/displaylists/DisplayListImageBuffer.h:(WebCore::DisplayList::ImageBuffer::create):platform/graphics/displaylists/DisplayListItemBuffer.cpp:(WebCore::DisplayList::ItemHandle::destroy):platform/graphics/displaylists/DisplayListItems.h:(WebCore::DisplayList::BeginClipToDrawingCommands::BeginClipToDrawingCommands):(WebCore::DisplayList::BeginClipToDrawingCommands::colorSpace const):(WebCore::DisplayList::BeginClipToDrawingCommands::encode const):(WebCore::DisplayList::BeginClipToDrawingCommands::decode):(WebCore::DisplayList::GetPixelBuffer::GetPixelBuffer):(WebCore::DisplayList::GetPixelBuffer::outputFormat const):(WebCore::DisplayList::GetPixelBuffer::encode const):(WebCore::DisplayList::GetPixelBuffer::decode):platform/graphics/displaylists/DisplayListRecorder.cpp:(WebCore::DisplayList::Recorder::clipToDrawingCommands):platform/graphics/displaylists/DisplayListRecorder.h:platform/graphics/filters/FEDisplacementMap.cpp:(WebCore::FEDisplacementMap::setResultColorSpace):platform/graphics/filters/FEDisplacementMap.h:platform/graphics/filters/FEFlood.h:platform/graphics/filters/FETile.cpp:(WebCore::FETile::platformApplySoftware):platform/graphics/filters/FilterEffect.cpp:(WebCore::FilterEffect::convertPixelBufferToColorSpace):(WebCore::FilterEffect::convertImageBufferToColorSpace):(WebCore::FilterEffect::copyConvertedImageBufferToDestination):(WebCore::FilterEffect::copyConvertedPixelBufferToDestination):(WebCore::FilterEffect::requiresPixelBufferColorSpaceConversion):(WebCore::FilterEffect::transformResultColorSpace):platform/graphics/filters/FilterEffect.h:(WebCore::FilterEffect::operatingColorSpace const):(WebCore::FilterEffect::setOperatingColorSpace):(WebCore::FilterEffect::resultColorSpace const):(WebCore::FilterEffect::setResultColorSpace):platform/graphics/filters/SourceGraphic.h:(WebCore::SourceGraphic::SourceGraphic):platform/gtk/PlatformScreenGtk.cpp:(WebCore::screenColorSpace):platform/ios/PlatformScreenIOS.mm:(WebCore::screenColorSpace):(WebCore::collectScreenProperties):platform/mac/PlatformScreenMac.mm:(WebCore::collectScreenProperties):(WebCore::screenColorSpace):platform/mac/ThemeMac.mm:(WebCore::ThemeMac::drawCellOrFocusRingWithViewIntoContext):platform/mediastream/mac/ScreenDisplayCapturerMac.mm:(WebCore::ScreenDisplayCapturerMac::createDisplayStream):platform/mock/MockRealtimeVideoSource.cpp:(WebCore::MockRealtimeVideoSource::imageBuffer const):platform/playstation/PlatformScreenPlayStation.cpp:(WebCore::screenColorSpace):platform/win/PlatformScreenWin.cpp:(WebCore::screenColorSpace):platform/wpe/PlatformScreenWPE.cpp:(WebCore::screenColorSpace):platform/xr/PlatformXR.h:(PlatformXR::Device::FrameData::LayerData::decode):rendering/CSSFilter.cpp:(WebCore::CSSFilter::buildReferenceFilter):(WebCore::CSSFilter::build):(WebCore::CSSFilter::allocateBackingStoreIfNeeded):(WebCore::CSSFilter::apply):rendering/RenderBoxModelObject.cpp:(WebCore::RenderBoxModelObject::paintFillLayerExtended):rendering/RenderLayerBacking.cpp:(WebCore::patternForDescription):rendering/RenderThemeIOS.mm:(WebCore::RenderThemeIOS::paintSystemPreviewBadge):rendering/RenderThemeMac.mm:(WebCore::RenderThemeMac::paintProgressBar):rendering/shapes/Shape.cpp:(WebCore::Shape::createRasterShape):rendering/svg/RenderSVGResourceClipper.cpp:(WebCore::RenderSVGResourceClipper::applyClippingToContext):rendering/svg/RenderSVGResourceFilter.cpp:(WebCore::RenderSVGResourceFilter::buildPrimitives const):(WebCore::RenderSVGResourceFilter::applyResource):(WebCore::RenderSVGResourceFilter::postApplyResource):rendering/svg/RenderSVGResourceGradient.cpp:(WebCore::createMaskAndSwapContextForTextGradient):rendering/svg/RenderSVGResourceMasker.cpp:(WebCore::RenderSVGResourceMasker::applyResource):(WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):rendering/svg/RenderSVGResourceMasker.h:rendering/svg/RenderSVGResourcePattern.cpp:(WebCore::RenderSVGResourcePattern::createTileImage const):rendering/svg/SVGRenderingContext.cpp:(WebCore::SVGRenderingContext::createImageBuffer):(WebCore::SVGRenderingContext::bufferForeground):rendering/svg/SVGRenderingContext.h:svg/graphics/SVGImage.cpp:(WebCore::SVGImage::nativeImage):(WebCore::SVGImage::drawPatternForContainer):svg/graphics/filters/SVGFEImage.cpp:(WebCore::FEImage::platformApplySoftware):Source/WebCore/PAL:pal/spi/cg/CoreGraphicsSPI.h:Add addional SPI for working with CGColorSpaceRefs.Source/WebKit:Update ImageBuffer subclass signatures to use "const DestinationColorSpace " toconform to the base class.Replace ColorSpaceData with Optional DestinationColorSpace . No reason to have twotypes that are the same.Give all ports a color space configuration for ShareableBitmap now that there isa common class for representing color space.Update DisplayList decoding to account for BeginClipToDrawingCommands and GetPixelBufferno longer being inlineable due to now having non-trivial destructors due toDestinationColorSpace member.GPUProcess/graphics/RemoteImageBuffer.h:(WebKit::RemoteImageBuffer::create):GPUProcess/graphics/RemoteRenderingBackend.cpp:(WebKit::RemoteRenderingBackend::createImageBuffer):GPUProcess/graphics/RemoteRenderingBackend.h:GPUProcess/media/RemoteImageDecoderAVFProxy.cpp:(WebKit::RemoteImageDecoderAVFProxy::createFrameImageAtIndex):GPUProcess/media/RemoteImageDecoderAVFProxy.h:GPUProcess/media/RemoteImageDecoderAVFProxy.messages.in:Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):Shared/ShareableBitmap.cpp:(WebKit::ShareableBitmap::Configuration::encode const):(WebKit::ShareableBitmap::Configuration::decode):Shared/ShareableBitmap.h:Shared/WebCoreArgumentCoders.h:Shared/WebPageCreationParameters.cpp:(WebKit::WebPageCreationParameters::decode):Shared/WebPageCreationParameters.h:Shared/cg/ShareableBitmapCG.cpp:(WebKit::colorSpace):Shared/mac/ColorSpaceData.h: Removed.Shared/mac/ColorSpaceData.mm: Removed.SourcesCocoa.txt:UIProcess/API/ios/WKWebViewIOS.mm:(-[WKWebView _takeViewSnapshot]):(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):UIProcess/Cocoa/WebViewImpl.h:UIProcess/Cocoa/WebViewImpl.mm:(WebKit::WebViewImpl::colorSpace):UIProcess/PageClient.h:UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:(WebKit::recursivelyMapIOSurfaceBackingStore):UIProcess/WebPageProxy.h:UIProcess/mac/PageClientImplMac.h:UIProcess/mac/PageClientImplMac.mm:(WebKit::PageClientImpl::colorSpace):UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:UIProcess/mac/WebPageProxyMac.mm:(WebKit::WebPageProxy::colorSpace):WebKit.xcodeproj/project.pbxproj:WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:(WebKit::ImageBufferShareableBitmapBackend::configuration):WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:(WebKit::RemoteGraphicsContextGLProxy::prepareForDisplay):WebProcess/GPU/graphics/RemoteImageBufferProxy.h:(WebKit::RemoteImageBufferProxy::create):WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:(WebKit::RemoteRenderingBackendProxy::createImageBuffer):WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBackend.cpp:(WebKit::ImageBufferShareableMappedIOSurfaceBackend::create):WebProcess/GPU/media/RemoteImageDecoderAVF.cpp:(WebKit::RemoteImageDecoderAVF::createFrameImageAtIndex):WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm:(WebKit::MediaPlayerPrivateRemote::nativeImageForCurrentTime):(WebKit::MediaPlayerPrivateRemote::pixelBufferForCurrentTime):WebProcess/Plugins/PDF/PDFPlugin.mm:(WebKit::PDFPlugin::PDFPlugin):WebProcess/WebCoreSupport/ShareableBitmapUtilities.cpp:(WebKit::createShareableBitmap):WebProcess/WebCoreSupport/WebChromeClient.cpp:(WebKit::WebChromeClient::createImageBuffer const):WebProcess/WebCoreSupport/WebChromeClient.h:WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:(WebKit::convertDragImageToBitmap):WebProcess/WebPage/DrawingArea.h:(WebKit::DrawingArea::setColorSpace):WebProcess/WebPage/DrawingArea.messages.in:WebProcess/WebPage/WebPage.cpp:(WebKit::snapshotOptionsToBitmapConfiguration):WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):(WebKit::TiledCoreAnimationDrawingArea::setColorSpace):Source/WebKitLegacy/mac:WebCoreSupport/WebContextMenuClient.mm:(WebContextMenuClient::imageForCurrentSharingServicePickerItem):Update for new DestinationColorSpace class.Tools:TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:(TestWebKitAPI::TEST):Upate test to use new DestinationColorSpace type.Remove ENABLE(MASM_PROBE) flag.​https://bugs.webkit.org/show_bug.cgi?id=226154Reviewed by Yusuke Suzuki.Source/JavaScriptCore:assembler/MacroAssembler.cpp:assembler/MacroAssembler.h:assembler/MacroAssemblerARM64.cpp:assembler/MacroAssemblerARMv7.cpp:(JSC::MacroAssembler::probe):assembler/MacroAssemblerMIPS.cpp:(JSC::MacroAssembler::probe):assembler/MacroAssemblerPrinter.cpp:assembler/MacroAssemblerPrinter.h:assembler/MacroAssemblerX86Common.cpp:(JSC::MacroAssembler::probe):assembler/ProbeContext.cpp:assembler/ProbeContext.h:assembler/ProbeFrame.h:assembler/ProbeStack.cpp:assembler/ProbeStack.h:assembler/testmasm.cpp:(JSC::isSpecialGPR):(JSC::testClearBits64WithMask):(JSC::testClearBits64WithMaskTernary):(JSC::testShiftAndAdd):(JSC::testProbeModifiesStackValues):(JSC::run):b3/B3LowerToAir.cpp:b3/air/AirPrintSpecial.cpp:b3/air/AirPrintSpecial.h:jit/JIT.cpp:(JSC::JIT::privateCompileMainPass):(JSC::JIT::privateCompileSlowCases):tools/JSDollarVM.cpp:(JSC::JSC_DEFINE_HOST_FUNCTION_WITH_ATTRIBUTES):Source/WTF:The MacroAssembler::probe() mechanism is now available on all supported platforms.There's no longer a need for the ENABLE(MASM_PROBE) flag.wtf/PlatformEnable.h:Use CheckedLock in even more places​https://bugs.webkit.org/show_bug.cgi?id=226152Reviewed by Darin Adler.Use CheckedLock in even more places to benefit from Clang Thread Safety Analysis.Source/JavaScriptCore:API/JSVirtualMachine.mm:(WTF_REQUIRES_LOCK):API/glib/JSCVirtualMachine.cpp:bytecode/StructureStubInfo.h:bytecode/SuperSampler.cpp:dfg/DFGCommonData.cpp:(JSC::DFG::CommonData::invalidate):(JSC::DFG::CommonData::~CommonData):(JSC::DFG::CommonData::installVMTrapBreakpoints):(JSC::DFG::codeBlockForVMTrapPC):dfg/DFGPlan.h:(JSC::DFG::Plan::WTF_GUARDED_BY_LOCK):disassembler/Disassembler.cpp:heap/BlockDirectory.cpp:(JSC::BlockDirectory::parallelNotEmptyBlockSource):heap/Heap.h:heap/IsoSubspacePerVM.h:inspector/remote/socket/RemoteInspectorConnectionClient.h:Source/WebCore:platform/image-decoders/ScalableImageDecoder.cpp:(WebCore::ScalableImageDecoder::frameIsCompleteAtIndex const):(WebCore::ScalableImageDecoder::frameHasAlphaAtIndex const):(WebCore::ScalableImageDecoder::frameBytesAtIndex const):(WebCore::ScalableImageDecoder::frameDurationAtIndex const):(WebCore::ScalableImageDecoder::createFrameImageAtIndex):platform/image-decoders/ScalableImageDecoder.h:platform/mediarecorder/MediaRecorderPrivateMock.h:platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:platform/mediastream/RealtimeMediaSource.h:platform/mediastream/RealtimeOutgoingAudioSource.h:platform/mediastream/RealtimeOutgoingVideoSource.h:platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp:(WebCore::RealtimeOutgoingAudioSourceLibWebRTC::audioSamplesAvailable):(WebCore::RealtimeOutgoingAudioSourceLibWebRTC::pullAudioData):platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.h:platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp:platform/mediastream/mac/AVVideoCaptureSource.h:platform/sql/SQLiteDatabase.h:worklets/PaintWorkletGlobalScope.h:Source/WebKit:GPUProcess/webrtc/LibWebRTCCodecsProxy.h:GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:NetworkProcess/glib/DNSCache.h:Shared/mac/MediaFormatReader/MediaSampleCursor.cpp:(WebKit::MediaSampleCursor::locateIterator const):(WebKit::MediaSampleCursor::locateMediaSample const):(WebKit::MediaSampleCursor::locateTiming const):(WebKit::MediaSampleCursor::stepInOrderedMap):(WebKit::MediaSampleCursor::stepInPresentationTime):(WebKit::MediaSampleCursor::getMediaSample const):(WebKit::MediaSampleCursor::getTiming const):(WebKit::MediaSampleCursor::getPlayableHorizon const):Shared/mac/MediaFormatReader/MediaSampleCursor.h: 2 edits in trunk/Source/JavaScriptCoreUnreviewed. Fix JSC Debug tests for r277926.jit/JITThunks.cpp:(JSC::JITThunks::preinitializeCTIThunks):Address oversight, made visible by the assertion added in r277850. 32 edits in trunkDrop WTF::tryHoldLock() as it is incompatible with Clang Thread Safety Analysis​https://bugs.webkit.org/show_bug.cgi?id=226145Reviewed by Darin Adler.Drop WTF::tryHoldLock() as it is incompatible with Clang Thread Safety Analysis.Instead, use the following pattern which is supported:`if (lock.tryLock()) {Locker locker { AdoptLock, lock }; ...}`Source/JavaScriptCore:heap/Heap.cpp:(JSC::Heap::resumeThePeriphery):runtime/VMTraps.cpp:(JSC::VMTraps::tryInstallTrapBreakpoints):Source/WebCore:Modules/webaudio/AudioBufferSourceNode.cpp:(WebCore::AudioBufferSourceNode::process):Modules/webaudio/AudioWorkletNode.cpp:(WebCore::AudioWorkletNode::process):Modules/webaudio/ConvolverNode.cpp:(WebCore::ConvolverNode::process):Modules/webaudio/MediaElementAudioSourceNode.cpp:(WebCore::MediaElementAudioSourceNode::process):Modules/webaudio/MediaStreamAudioSourceNode.cpp:(WebCore::MediaStreamAudioSourceNode::process):Modules/webaudio/OscillatorNode.cpp:(WebCore::OscillatorNode::process):Modules/webaudio/PannerNode.cpp:(WebCore::PannerNode::process):Modules/webaudio/ScriptProcessorNode.cpp:(WebCore::ScriptProcessorNode::process):Modules/webaudio/WaveShaperProcessor.cpp:(WebCore::WaveShaperProcessor::process):platform/audio/ReverbConvolver.cpp:(WebCore::ReverbConvolver::process):platform/graphics/ShadowBlur.cpp:(WebCore::ScratchBuffer::purgeTimerFired):(WebCore::ShadowBlur::drawRectShadowWithTiling):(WebCore::ShadowBlur::drawInsetShadowWithTiling):platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:(WebCore::AudioSourceProviderAVFObjC::provideInput):platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::enqueueVideoSample):platform/mediastream/mac/WebAudioSourceProviderCocoa.mm:(WebCore::WebAudioSourceProviderCocoa::provideInput):workers/WorkerOrWorkletThread.cpp:(WebCore::WorkerOrWorkletThread::stop):Source/WTF:wtf/CheckedLock.h:wtf/Lock.h:wtf/Locker.h:(WTF::Locker::Locker):Use singleton thunks for virtual calls.​https://bugs.webkit.org/show_bug.cgi?id=226149rdar://problem/78357604Reviewed by Yusuke Suzuki.Change virtualThunkFor() to return 1 of 6 possible singleton thunks.These thunks are cached via vm.jitStubs- ctiStubs().This change saves us ~16M of executable JIT memory (for the unique thunks) on asingle run of Speedometer2. On an M1 Mac, switching to singleton thunks here alsoappears to be a 1.012x speed up on Speedometer2. Performance is neutral onJetStream2.jit/JITThunks.cpp:(JSC::JITThunks::ctiInternalFunctionCall):(JSC::JITThunks::ctiInternalFunctionConstruct):jit/JITThunks.h:jit/ThunkGenerators.cpp:(JSC::virtualThunkFor):(JSC::virtualThunkForRegularCall):(JSC::virtualThunkForRegularConstruct):(JSC::virtualThunkForTailCall):(JSC::virtualThunkForTailConstruct):(JSC::virtualThunkForConstructCall):(JSC::virtualThunkForConstructConstruct):runtime/VM.cpp:(JSC::VM::getCTIInternalFunctionTrampolineFor):runtime/VM.h: 18 edits in trunk/Source/JavaScriptCoreEnhance Link Buffer stats to have more fine grain profiles, and to collect count information.​https://bugs.webkit.org/show_bug.cgi?id=226151rdar://problem/78359436Reviewed by Yusuke Suzuki.And also add a total of the sizes.Also added $vm.clearLinkBufferStats() which resets all the stats to 0.Here's an example of that the new stats look like:Cummulative LinkBuffer profile sizes:BaselineJIT: 61092032 (58.261902 MB) count 11621 avg size 5257DFG: 35387904 (33.748535 MB) count 11143 avg size 3175InlineCache: 19639155 (18.729358 MB) count 283890 avg size 69VirtualThunk: 14256800 (13.596344 MB) count 43900 avg size 324(JSC::LinkBuffer::performFinalization):(JSC::LinkBuffer::clearProfileStatistics):(JSC::LinkBuffer::dumpProfileStatistics):assembler/LinkBuffer.h:dfg/DFGOSRExit.cpp:(JSC::DFG::JSC_DEFINE_JIT_OPERATION):dfg/DFGThunks.cpp:(JSC::DFG::osrExitGenerationThunkGenerator):(JSC::DFG::osrEntryThunkGenerator):ftl/FTLOSRExitCompiler.cpp:(JSC::FTL::compileStub):ftl/FTLThunks.cpp:(JSC::FTL::genericGenerationThunkGenerator):(JSC::FTL::slowPathCallThunkGenerator):jit/ExecutableAllocator.cpp:jit/JITOpcodes.cpp:(JSC::JIT::op_ret_handlerGenerator):(JSC::JIT::op_throw_handlerGenerator):(JSC::JIT::op_enter_handlerGenerator):(JSC::JIT::op_check_traps_handlerGenerator):jit/JITPropertyAccess.cpp:(JSC::JIT::slow_op_get_by_val_prepareCallGenerator):(JSC::JIT::slow_op_get_private_name_prepareCallGenerator):(JSC::JIT::slow_op_put_by_val_prepareCallGenerator):(JSC::JIT::slow_op_put_private_name_prepareCallGenerator):(JSC::JIT::slow_op_del_by_id_prepareCallGenerator):(JSC::JIT::slow_op_del_by_val_prepareCallGenerator):(JSC::JIT::slow_op_get_by_id_prepareCallGenerator):(JSC::JIT::slow_op_get_by_id_with_this_prepareCallGenerator):(JSC::JIT::slow_op_put_by_id_prepareCallGenerator):(JSC::JIT::slow_op_get_from_scopeGenerator):(JSC::JIT::slow_op_put_to_scopeGenerator):jit/SlowPathCall.cpp:(JSC::JITSlowPathCall::generateThunk):jit/SpecializedThunkJIT.h:(JSC::SpecializedThunkJIT::finalize):jit/ThunkGenerators.cpp:(JSC::handleExceptionGenerator):(JSC::handleExceptionWithCallFrameRollbackGenerator):(JSC::popThunkStackPreservesAndHandleExceptionGenerator):(JSC::checkExceptionGenerator):(JSC::virtualThunkFor):(JSC::boundFunctionCallGenerator):llint/LLIntThunks.cpp:(JSC::LLInt::generateThunkWithJumpTo):(JSC::LLInt::generateThunkWithJumpToPrologue):(JSC::LLInt::generateThunkWithJumpToLLIntReturnPoint):(JSC::LLInt::getHostCallReturnValueThunk):(JSC::LLInt::createJSGateThunk):(JSC::LLInt::createWasmGateThunk):(JSC::LLInt::createTailCallGate):(JSC::LLInt::loopOSREntryGateThunk):(JSC::LLInt::entryOSREntryGateThunk):(JSC::LLInt::wasmOSREntryGateThunk):(JSC::LLInt::exceptionHandlerGateThunk):(JSC::LLInt::returnFromLLIntGateThunk):(JSC::LLInt::tagGateThunk):(JSC::LLInt::untagGateThunk):(JSC::LLInt::jitCagePtrThunk):tools/JSDollarVM.cpp:(JSC::JSDollarVM::finishCreation):wasm/WasmBinding.cpp:(JSC::Wasm::wasmToWasm):wasm/WasmThunks.cpp:(JSC::Wasm::throwExceptionFromWasmThunkGenerator):(JSC::Wasm::throwStackOverflowFromWasmThunkGenerator):(JSC::Wasm::triggerOMGEntryTierUpThunkGenerator):wasm/js/WasmToJS.cpp:(JSC::Wasm::wasmToJS):Support Ergonomic Brand Checks proposal (#x in obj)​https://bugs.webkit.org/show_bug.cgi?id=221093Reviewed by Caio Araujo Neponoceno de Lima.JSTests:stress/private-in.js: Added.test262/config.yaml: Add feature flag.Source/JavaScriptCore:This patch implements the following Stage 3 proposal (behind a runtime option):​https://github.com/tc39/proposal-private-fields-in-inSpecifically, it extends the in keyword to allow the LHS to be a private name,thereby allowing users to implement Array.isArray-esque brand checks for their own classes*without* having to wrap a private member get in a try-catch.For example:`class C {#x;static isC(obj) { return #x in obj; }}`This is done by adding two new bytecode ops, HasPrivateName and HasPrivateBrand. For the moment,these are implemented without fast paths, as we should do so for InByVal first and then have these follow suit.bytecode/BytecodeList.rb:bytecode/BytecodeUseDef.cpp:(JSC::computeUsesForBytecodeIndexImpl):(JSC::computeDefsForBytecodeIndexImpl):bytecompiler/BytecodeGenerator.cpp:(JSC::BytecodeGenerator::emitHasPrivateName):(JSC::BytecodeGenerator::emitHasPrivateBrand):(JSC::BytecodeGenerator::emitCheckPrivateBrand):bytecompiler/BytecodeGenerator.h:bytecompiler/NodesCodegen.cpp:(JSC::InNode::emitBytecode):dfg/DFGAbstractInterpreterInlines.h:(JSC::DFG::AbstractInterpreter AbstractStateType ::executeEffects):dfg/DFGByteCodeParser.cpp:(JSC::DFG::ByteCodeParser::parseBlock):dfg/DFGCapabilities.cpp:(JSC::DFG::capabilityLevel):dfg/DFGClobberize.h:(JSC::DFG::clobberize):dfg/DFGDoesGC.cpp:(JSC::DFG::doesGC):dfg/DFGFixupPhase.cpp:(JSC::DFG::FixupPhase::fixupNode):dfg/DFGNodeType.h:dfg/DFGPredictionPropagationPhase.cpp:dfg/DFGSafeToExecute.h:(JSC::DFG::safeToExecute):dfg/DFGSpeculativeJIT.cpp:(JSC::DFG::SpeculativeJIT::compileHasPrivateName):(JSC::DFG::SpeculativeJIT::compileHasPrivateBrand):dfg/DFGSpeculativeJIT.h:dfg/DFGSpeculativeJIT32_64.cpp:(JSC::DFG::SpeculativeJIT::compile):dfg/DFGSpeculativeJIT64.cpp:(JSC::DFG::SpeculativeJIT::compile):ftl/FTLCapabilities.cpp:(JSC::FTL::canCompile):ftl/FTLLowerDFGToB3.cpp:(JSC::FTL::DFG::LowerDFGToB3::compileNode):(JSC::FTL::DFG::LowerDFGToB3::compileHasPrivateName):(JSC::FTL::DFG::LowerDFGToB3::compileHasPrivateBrand):jit/JIT.cpp:(JSC::JIT::privateCompileMainPass):jit/JITOperations.cpp:(JSC::JSC_DEFINE_JIT_OPERATION):jit/JITOperations.h:llint/LowLevelInterpreter.asm:parser/ASTBuilder.h:(JSC::ASTBuilder::createPrivateIdentifierNode):parser/NodeConstructors.h:(JSC::PrivateIdentifierNode::PrivateIdentifierNode):parser/Nodes.h:(JSC::ExpressionNode::isPrivateIdentifier const):parser/Parser.cpp:(JSC::Parser LexerType ::parseBinaryExpression):parser/SyntaxChecker.h:(JSC::SyntaxChecker::createPrivateIdentifierNode):parser/VariableEnvironment.h:runtime/CommonSlowPaths.cpp:(JSC::JSC_DEFINE_COMMON_SLOW_PATH):runtime/CommonSlowPaths.h:runtime/JSObject.h:runtime/JSObjectInlines.h:(JSC::JSObject::hasPrivateField):(JSC::JSObject::hasPrivateBrand):(JSC::JSObject::checkPrivateBrand):runtime/OptionsList.h: 4 edits in trunk/Source/WebKit[iOS] Implement page client hook for requesting image extraction results​https://bugs.webkit.org/show_bug.cgi?id=226144rdar://78355604Reviewed by Tim Horton.Add a method stub for PageClientImpl::requestImageExtraction, which currently just invokes the completionhandler with empty results. See bug for more details.UIProcess/ios/PageClientImplIOS.h:UIProcess/ios/PageClientImplIOS.mm:(WebKit::PageClientImpl::requestImageExtraction):UIProcess/ios/WKContentViewInteraction.h:Adopt CheckedLock in more places​https://bugs.webkit.org/show_bug.cgi?id=226138Reviewed by Darin Adler.Adopt CheckedLock in more places to benefit from Clang Thread Safety Analysis.Source/WebCore:Modules/webdatabase/Database.cpp:(WebCore::Database::performClose):(WebCore::Database::scheduleTransaction):(WebCore::Database::inProgressTransactionCompleted):(WebCore::Database::hasPendingTransaction):(WebCore::Database::runTransaction):Modules/webdatabase/Database.h:(WebCore::Database::WTF_GUARDED_BY_LOCK):Modules/webdatabase/DatabaseManager.cpp:(WebCore::DatabaseManager::addProposedDatabase):(WebCore::DatabaseManager::removeProposedDatabase):(WebCore::DatabaseManager::fullPathForDatabase):(WebCore::DatabaseManager::detailsForNameAndOrigin):Modules/webdatabase/DatabaseManager.h:Modules/webdatabase/DatabaseThread.cpp:(WebCore::DatabaseThread::databaseThread):(WebCore::DatabaseThread::recordDatabaseOpen):(WebCore::DatabaseThread::recordDatabaseClosed):(WebCore::DatabaseThread::hasPendingDatabaseActivity const):Modules/webdatabase/DatabaseThread.h:Modules/webdatabase/SQLCallbackWrapper.h:(WebCore::SQLCallbackWrapper::clear):(WebCore::SQLCallbackWrapper::unwrap):Modules/webdatabase/SQLTransaction.cpp:(WebCore::SQLTransaction::enqueueStatement):(WebCore::SQLTransaction::checkAndHandleClosedDatabase):(WebCore::SQLTransaction::getNextStatement):Modules/webdatabase/SQLTransaction.h:Modules/webdatabase/SQLTransactionBackend.cpp:(WebCore::SQLTransactionBackend::doCleanup):accessibility/isolatedtree/AXIsolatedTree.h:(WebCore::AXIsolatedTree::WTF_GUARDED_BY_LOCK):platform/AbortableTaskQueue.h:platform/audio/cocoa/AudioDestinationCocoa.cpp:(WebCore::AudioDestinationCocoa::render):platform/audio/cocoa/AudioDestinationCocoa.h:platform/audio/gstreamer/AudioDestinationGStreamer.h:platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:(WebCore::AudioSourceProviderGStreamer::provideInput):(WebCore::AudioSourceProviderGStreamer::handleSample):(WebCore::AudioSourceProviderGStreamer::clearAdapters):platform/audio/gstreamer/AudioSourceProviderGStreamer.h:platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:(webKitWebAudioSrcRenderIteration):platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:(WebCore::AVFWrapper::addToMap):(WebCore::AVFWrapper::removeFromMap const):(WebCore::AVFWrapper::avfWrapperForCallbackContext):(WebCore::AVFWrapper::periodicTimeObserverCallback):(WebCore::AVFWrapper::processNotification):(WebCore::AVFWrapper::loadPlayableCompletionCallback):(WebCore::AVFWrapper::loadMetadataCompletionCallback):(WebCore::AVFWrapper::seekCompletedCallback):(WebCore::AVFWrapper::processCue):(WebCore::AVFWrapper::legibleOutputCallback):(WebCore::AVFWrapper::processShouldWaitForLoadingOfResource):(WebCore::AVFWrapper::resourceLoaderShouldWaitForLoadingOfRequestedResource):Source/WebKit:Platform/IPC/Connection.cpp:(IPC::Connection::SyncMessageState::enqueueMatchingMessages):(IPC::Connection::SyncMessageState::processIncomingMessage):(IPC::Connection::SyncMessageState::dispatchMessages):(IPC::Connection::SyncMessageState::dispatchMessagesAndResetDidScheduleDispatchMessagesForConnection):Source/WTF:wtf/Assertions.cpp:wtf/TimingScope.cpp:wtf/threads/BinarySemaphore.cpp:(WTF::BinarySemaphore::waitUntil):wtf/threads/BinarySemaphore.h: 3 edits in trunk/Source/WebCoreUse CheckedLock in SpeechRecognitionCaptureSourceImpl​https://bugs.webkit.org/show_bug.cgi?id=226131Reviewed by Darin Adler.Use CheckedLock in SpeechRecognitionCaptureSourceImpl to benefit from Clang ThreadSafety Analysis. Note that audioSamplesAvailable() does not grab the lock before usingm_dataSource, only when setting the data member. It is unclear why it is safe so Iused WTF_IGNORES_THREAD_SAFETY_ANALYSIS and added a FIXME comment.Modules/speech/SpeechRecognitionCaptureSourceImpl.cpp:(WebCore::SpeechRecognitionCaptureSourceImpl::updateDataSource):(WebCore::SpeechRecognitionCaptureSourceImpl::pullSamplesAndCallDataCallback):Modules/speech/SpeechRecognitionCaptureSourceImpl.h:Replace LockHolder with Locker in local variables​https://bugs.webkit.org/show_bug.cgi?id=226133Reviewed by Darin Adler.Replace LockHolder with Locker in local variables. It is shorter and it allows switching the locktype more easily since the compiler with deduce the lock type T for Locker T .Source/JavaScriptCore:API/JSCallbackObject.h:(JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty):(JSC::JSCallbackObjectData::JSPrivatePropertyMap::deletePrivateProperty):(JSC::JSCallbackObjectData::JSPrivatePropertyMap::visitChildren):API/JSValue.mm:(handerForStructTag):API/tests/testapi.cpp:(testCAPIViaCpp):assembler/testmasm.cpp:(JSC::run):b3/air/testair.cpp:b3/testb3_1.cpp:(run):bytecode/DirectEvalCodeCache.cpp:(JSC::DirectEvalCodeCache::setSlow):(JSC::DirectEvalCodeCache::clear):(JSC::DirectEvalCodeCache::visitAggregateImpl):bytecode/SuperSampler.cpp:(JSC::initializeSuperSampler):(JSC::resetSuperSamplerState):(JSC::printSuperSamplerState):(JSC::enableSuperSampler):(JSC::disableSuperSampler):dfg/DFGCommonData.cpp:(JSC::DFG::CommonData::invalidate):(JSC::DFG::CommonData::~CommonData):(JSC::DFG::CommonData::installVMTrapBreakpoints):(JSC::DFG::codeBlockForVMTrapPC):dfg/DFGPlan.cpp:(JSC::DFG::Plan::cleanMustHandleValuesIfNecessary):dfg/DFGWorklist.cpp:(JSC::DFG::Worklist::~Worklist):(JSC::DFG::Worklist::finishCreation):(JSC::DFG::Worklist::isActiveForVM const):(JSC::DFG::Worklist::enqueue):(JSC::DFG::Worklist::compilationState):(JSC::DFG::Worklist::waitUntilAllPlansForVMAreReady):(JSC::DFG::Worklist::removeAllReadyPlansForVM):(JSC::DFG::Worklist::completeAllReadyPlansForVM):(JSC::DFG::Worklist::visitWeakReferences):(JSC::DFG::Worklist::removeDeadPlans):(JSC::DFG::Worklist::removeNonCompilingPlansForVM):(JSC::DFG::Worklist::queueLength):(JSC::DFG::Worklist::dump const):(JSC::DFG::Worklist::setNumberOfThreads):dfg/DFGWorklistInlines.h:(JSC::DFG::Worklist::iterateCodeBlocksForGC):disassembler/Disassembler.cpp:heap/BlockDirectory.cpp:(JSC::BlockDirectory::addBlock):heap/CodeBlockSetInlines.h:(JSC::CodeBlockSet::iterateCurrentlyExecuting):heap/ConservativeRoots.cpp:(JSC::ConservativeRoots::add):heap/Heap.cpp:(JSC::Heap::Heap):(JSC::Heap::lastChanceToFinalize):(JSC::Heap::collectAsync):(JSC::Heap::runBeginPhase):(JSC::Heap::waitForCollector):(JSC::Heap::requestCollection):(JSC::Heap::notifyIsSafeToCollect):heap/SlotVisitor.cpp:(JSC::SlotVisitor::didReachTermination):inspector/agents/InspectorScriptProfilerAgent.cpp:(Inspector::InspectorScriptProfilerAgent::startTracking):(Inspector::InspectorScriptProfilerAgent::trackingComplete):(Inspector::InspectorScriptProfilerAgent::stopSamplingWhenDisconnecting):inspector/remote/RemoteConnectionToTarget.cpp:(Inspector::RemoteConnectionToTarget::setup):(Inspector::RemoteConnectionToTarget::sendMessageToTarget):(Inspector::RemoteConnectionToTarget::close):(Inspector::RemoteConnectionToTarget::targetClosed):inspector/remote/RemoteInspector.cpp:(Inspector::RemoteInspector::registerTarget):(Inspector::RemoteInspector::unregisterTarget):(Inspector::RemoteInspector::updateTarget):(Inspector::RemoteInspector::updateClientCapabilities):(Inspector::RemoteInspector::setClient):(Inspector::RemoteInspector::setupFailed):(Inspector::RemoteInspector::setupCompleted):(Inspector::RemoteInspector::stop):inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm:(Inspector::RemoteTargetHandleRunSourceGlobal):(Inspector::RemoteTargetQueueTaskOnGlobalQueue):(Inspector::RemoteTargetHandleRunSourceWithInfo):(Inspector::RemoteConnectionToTarget::setup):(Inspector::RemoteConnectionToTarget::targetClosed):(Inspector::RemoteConnectionToTarget::close):(Inspector::RemoteConnectionToTarget::sendMessageToTarget):(Inspector::RemoteConnectionToTarget::queueTaskOnPrivateRunLoop):inspector/remote/cocoa/RemoteInspectorCocoa.mm:(Inspector::RemoteInspector::updateAutomaticInspectionCandidate):(Inspector::RemoteInspector::sendMessageToRemote):(Inspector::RemoteInspector::start):(Inspector::RemoteInspector::setupXPCConnectionIfNeeded):(Inspector::RemoteInspector::setParentProcessInformation):(Inspector::RemoteInspector::xpcConnectionReceivedMessage):(Inspector::RemoteInspector::xpcConnectionFailed):(Inspector::RemoteInspector::pushListingsSoon):(Inspector::RemoteInspector::receivedIndicateMessage):(Inspector::RemoteInspector::receivedProxyApplicationSetupMessage):inspector/remote/cocoa/RemoteInspectorXPCConnection.mm:(Inspector::RemoteInspectorXPCConnection::close):(Inspector::RemoteInspectorXPCConnection::closeFromMessage):(Inspector::RemoteInspectorXPCConnection::deserializeMessage):(Inspector::RemoteInspectorXPCConnection::handleEvent):inspector/remote/glib/RemoteInspectorGlib.cpp:(Inspector::RemoteInspector::start):(Inspector::RemoteInspector::setupConnection):(Inspector::RemoteInspector::pushListingsSoon):(Inspector::RemoteInspector::sendMessageToRemote):(Inspector::RemoteInspector::receivedGetTargetListMessage):(Inspector::RemoteInspector::receivedDataMessage):(Inspector::RemoteInspector::receivedCloseMessage):(Inspector::RemoteInspector::setup):inspector/remote/socket/RemoteInspectorConnectionClient.cpp:(Inspector::RemoteInspectorConnectionClient::didReceive):inspector/remote/socket/RemoteInspectorSocket.cpp:(Inspector::RemoteInspector::didClose):(Inspector::RemoteInspector::start):(Inspector::RemoteInspector::pushListingsSoon):(Inspector::RemoteInspector::setup):(Inspector::RemoteInspector::setupInspectorClient):(Inspector::RemoteInspector::frontendDidClose):(Inspector::RemoteInspector::sendMessageToBackend):(Inspector::RemoteInspector::startAutomationSession):inspector/remote/socket/RemoteInspectorSocketEndpoint.cpp:(Inspector::RemoteInspectorSocketEndpoint::listenInet):(Inspector::RemoteInspectorSocketEndpoint::isListening):(Inspector::RemoteInspectorSocketEndpoint::workerThread):(Inspector::RemoteInspectorSocketEndpoint::createClient):(Inspector::RemoteInspectorSocketEndpoint::disconnect):(Inspector::RemoteInspectorSocketEndpoint::invalidateClient):(Inspector::RemoteInspectorSocketEndpoint::invalidateListener):(Inspector::RemoteInspectorSocketEndpoint::getPort const):(Inspector::RemoteInspectorSocketEndpoint::recvIfEnabled):(Inspector::RemoteInspectorSocketEndpoint::sendIfEnabled):(Inspector::RemoteInspectorSocketEndpoint::send):(Inspector::RemoteInspectorSocketEndpoint::acceptInetSocketIfEnabled):interpreter/CLoopStack.cpp:(JSC::CLoopStack::addToCommittedByteCount):(JSC::CLoopStack::committedByteCount):jit/ExecutableAllocator.cpp:(JSC::dumpJITMemory):jit/ICStats.cpp:(JSC::ICStats::ICStats):(JSC::ICStats::~ICStats):jit/JITThunks.cpp:(JSC::JITThunks::ctiStub):(JSC::JITThunks::existingCTIStub):(JSC::JITThunks::ctiSlowPathFunctionStub):jit/JITWorklist.cpp:(JSC::JITWorklist::Plan::compileInThread):(JSC::JITWorklist::Plan::isFinishedCompiling):(JSC::JITWorklist::JITWorklist):(JSC::JITWorklist::completeAllForVM):(JSC::JITWorklist::poll):(JSC::JITWorklist::compileLater):(JSC::JITWorklist::finalizePlans):parser/SourceProvider.cpp:(JSC::SourceProvider::getID):profiler/ProfilerDatabase.cpp:(JSC::Profiler::Database::ensureBytecodesFor):(JSC::Profiler::Database::notifyDestruction):(JSC::Profiler::Database::addCompilation):(JSC::Profiler::Database::logEvent):(JSC::Profiler::Database::addDatabaseToAtExit):(JSC::Profiler::Database::removeDatabaseFromAtExit):(JSC::Profiler::Database::removeFirstAtExitDatabase):profiler/ProfilerUID.cpp:(JSC::Profiler::UID::create):runtime/DeferredWorkTimer.cpp:(JSC::DeferredWorkTimer::scheduleWorkSoon):(JSC::DeferredWorkTimer::didResumeScriptExecutionOwner):runtime/SamplingProfiler.cpp:(JSC::SamplingProfiler::timerLoop):(JSC::SamplingProfiler::shutdown):(JSC::SamplingProfiler::start):(JSC::SamplingProfiler::noticeCurrentThreadAsJSCExecutionThread):(JSC::SamplingProfiler::noticeJSLockAcquisition):(JSC::SamplingProfiler::noticeVMEntry):(JSC::SamplingProfiler::registerForReportAtExit):runtime/Watchdog.cpp:(JSC::Watchdog::startTimer):(JSC::Watchdog::willDestroyVM):tools/VMInspector.cpp:(JSC::VMInspector::isValidExecutableMemory):wasm/WasmBBQPlan.cpp:(JSC::Wasm::BBQPlan::work):wasm/WasmEntryPlan.cpp:(JSC::Wasm::EntryPlan::ThreadCountHolder::ThreadCountHolder):(JSC::Wasm::EntryPlan::ThreadCountHolder::~ThreadCountHolder):wasm/WasmOMGPlan.cpp:(JSC::Wasm::OMGPlan::work):wasm/WasmPlan.cpp:(JSC::Wasm::Plan::addCompletionTask):(JSC::Wasm::Plan::waitForCompletion):(JSC::Wasm::Plan::tryRemoveContextAndCancelIfLast):wasm/WasmSignature.cpp:(JSC::Wasm::SignatureInformation::signatureFor):(JSC::Wasm::SignatureInformation::tryCleanup):wasm/WasmWorklist.cpp:(JSC::Wasm::Worklist::enqueue):(JSC::Wasm::Worklist::completePlanSynchronously):(JSC::Wasm::Worklist::stopAllPlansForContext):(JSC::Wasm::Worklist::Worklist):(JSC::Wasm::Worklist::~Worklist):Source/WebCore:Modules/webaudio/AsyncAudioDecoder.cpp:(WebCore::AsyncAudioDecoder::AsyncAudioDecoder):(WebCore::AsyncAudioDecoder::runLoop):Modules/webdatabase/Database.cpp:(WebCore::Database::performClose):(WebCore::Database::inProgressTransactionCompleted):(WebCore::Database::hasPendingTransaction):(WebCore::Database::runTransaction):Modules/webdatabase/DatabaseThread.cpp:(WebCore::DatabaseThread::start):(WebCore::DatabaseThread::databaseThread):(WebCore::DatabaseThread::recordDatabaseOpen):(WebCore::DatabaseThread::recordDatabaseClosed):(WebCore::DatabaseThread::hasPendingDatabaseActivity const):Modules/webdatabase/DatabaseTracker.cpp:(WebCore::DatabaseTracker::canEstablishDatabase):(WebCore::DatabaseTracker::retryCanEstablishDatabase):(WebCore::DatabaseTracker::maximumSize):(WebCore::DatabaseTracker::fullPathForDatabase):(WebCore::DatabaseTracker::origins):(WebCore::DatabaseTracker::databaseNames):(WebCore::DatabaseTracker::detailsForNameAndOrigin):(WebCore::DatabaseTracker::setDatabaseDetails):(WebCore::DatabaseTracker::doneCreatingDatabase):(WebCore::DatabaseTracker::openDatabases):(WebCore::DatabaseTracker::addOpenDatabase):(WebCore::DatabaseTracker::removeOpenDatabase):(WebCore::DatabaseTracker::originLockFor):(WebCore::DatabaseTracker::quota):(WebCore::DatabaseTracker::setQuota):(WebCore::DatabaseTracker::deleteOrigin):(WebCore::DatabaseTracker::deleteDatabase):(WebCore::DatabaseTracker::deleteDatabaseFile):(WebCore::DatabaseTracker::removeDeletedOpenedDatabases):Modules/webdatabase/SQLCallbackWrapper.h:(WebCore::SQLCallbackWrapper::clear):(WebCore::SQLCallbackWrapper::unwrap):Modules/webdatabase/SQLTransaction.cpp:(WebCore::SQLTransaction::enqueueStatement):(WebCore::SQLTransaction::checkAndHandleClosedDatabase):(WebCore::SQLTransaction::getNextStatement):Modules/webdatabase/SQLTransactionBackend.cpp:(WebCore::SQLTransactionBackend::doCleanup):accessibility/isolatedtree/AXIsolatedTree.cpp:(WebCore::AXIsolatedTree::clear):(WebCore::AXIsolatedTree::generateSubtree):(WebCore::AXIsolatedTree::createSubtree):(WebCore::AXIsolatedTree::updateNode):(WebCore::AXIsolatedTree::updateNodeProperty):(WebCore::AXIsolatedTree::updateChildren):(WebCore::AXIsolatedTree::focusedNode):(WebCore::AXIsolatedTree::rootNode):(WebCore::AXIsolatedTree::setFocusedNodeID):(WebCore::AXIsolatedTree::removeNode):(WebCore::AXIsolatedTree::removeSubtree):(WebCore::AXIsolatedTree::applyPendingChanges):page/scrolling/mac/ScrollingTreeMac.mm:(ScrollingTreeMac::scrollingNodeForPoint):(ScrollingTreeMac::eventListenerRegionTypesForPoint const):platform/AbortableTaskQueue.h:platform/audio/cocoa/CARingBuffer.cpp:(WebCore::CARingBufferStorageVector::flush):(WebCore::CARingBufferStorageVector::setCurrentFrameBounds):platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:(WebCore::AVFWrapper::addToMap):(WebCore::AVFWrapper::removeFromMap const):(WebCore::AVFWrapper::periodicTimeObserverCallback):(WebCore::AVFWrapper::processNotification):(WebCore::AVFWrapper::loadPlayableCompletionCallback):(WebCore::AVFWrapper::loadMetadataCompletionCallback):(WebCore::AVFWrapper::seekCompletedCallback):(WebCore::AVFWrapper::processCue):(WebCore::AVFWrapper::legibleOutputCallback):(WebCore::AVFWrapper::processShouldWaitForLoadingOfResource):(WebCore::AVFWrapper::resourceLoaderShouldWaitForLoadingOfRequestedResource):platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:(-[WebCoreSharedBufferResourceLoaderDelegate setExpectedContentSize:]):(-[WebCoreSharedBufferResourceLoaderDelegate updateData:complete:]):(-[WebCoreSharedBufferResourceLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):(-[WebCoreSharedBufferResourceLoaderDelegate resourceLoader:didCancelLoadingRequest:]):(WebCore::ImageDecoderAVFObjC::setTrack):(WebCore::ImageDecoderAVFObjC::createFrameImageAtIndex):platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:(WebCore::ImageDecoderGStreamer::createFrameImageAtIndex):platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:(WebCore::InbandTextTrackPrivateGStreamer::handleSample):(WebCore::InbandTextTrackPrivateGStreamer::notifyTrackOfSample):platform/graphics/gstreamer/MainThreadNotifier.h:platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:(WebCore::MediaPlayerPrivateGStreamer::parseInitDataFromProtectionMessage):(WebCore::MediaPlayerPrivateGStreamer::handleProtectionEvent):platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:(WebCore::TrackPrivateBaseGStreamer::tagsChanged):(WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged):platform/graphics/gstreamer/VideoSinkGStreamer.cpp:(VideoRenderRequestScheduler::start):(VideoRenderRequestScheduler::stop):(VideoRenderRequestScheduler::drain):(VideoRenderRequestScheduler::requestRender):platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:(transformInPlace):(sinkEventHandler):(webKitMediaCommonEncryptionDecryptIsFlushing):(setContext):platform/graphics/nicosia/NicosiaBuffer.cpp:(Nicosia::Buffer::beginPainting):(Nicosia::Buffer::completePainting):(Nicosia::Buffer::waitUntilPaintingComplete):platform/graphics/nicosia/NicosiaPlatformLayer.h:(Nicosia::PlatformLayer::setSceneIntegration):(Nicosia::PlatformLayer::createUpdateScope):(Nicosia::CompositionLayer::updateState):(Nicosia::CompositionLayer::flushState):(Nicosia::CompositionLayer::commitState):(Nicosia::CompositionLayer::accessPending):(Nicosia::CompositionLayer::accessCommitted):platform/graphics/nicosia/NicosiaScene.h:(Nicosia::Scene::accessState):platform/graphics/nicosia/NicosiaSceneIntegration.cpp:(Nicosia::SceneIntegration::setClient):(Nicosia::SceneIntegration::invalidate):(Nicosia::SceneIntegration::requestUpdate):platform/graphics/nicosia/texmap/NicosiaBackingStoreTextureMapperImpl.cpp:(Nicosia::BackingStoreTextureMapperImpl::flushUpdate):(Nicosia::BackingStoreTextureMapperImpl::takeUpdate):platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.cpp:(Nicosia::ContentLayerTextureMapperImpl::~ContentLayerTextureMapperImpl):(Nicosia::ContentLayerTextureMapperImpl::invalidateClient):(Nicosia::ContentLayerTextureMapperImpl::flushUpdate):(Nicosia::ContentLayerTextureMapperImpl::swapBuffersIfNeeded):platform/graphics/nicosia/texmap/NicosiaImageBackingTextureMapperImpl.cpp:(Nicosia::ImageBackingTextureMapperImpl::flushUpdate):(Nicosia::ImageBackingTextureMapperImpl::takeUpdate):platform/graphics/texmap/TextureMapperGCGLPlatformLayer.cpp:(WebCore::TextureMapperGCGLPlatformLayer::swapBuffersIfNeeded):platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:(WebCore::MediaPlayerPrivateMediaFoundation::load):(WebCore::MediaPlayerPrivateMediaFoundation::naturalSize const):(WebCore::MediaPlayerPrivateMediaFoundation::addListener):(WebCore::MediaPlayerPrivateMediaFoundation::removeListener):(WebCore::MediaPlayerPrivateMediaFoundation::notifyDeleted):(WebCore::MediaPlayerPrivateMediaFoundation::setNaturalSize):(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::Invoke):(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::onMediaPlayerDeleted):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::OnClockStart):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::OnClockStop):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::OnClockPause):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::OnClockRestart):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::OnClockSetRate):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::ProcessMessage):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::GetCurrentMediaType):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::InitServicePointers):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::ReleaseServicePointers):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::SetVideoWindow):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::GetVideoWindow):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::SetVideoPosition):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::GetVideoPosition):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::RepaintVideo):(WebCore::MediaPlayerPrivateMediaFoundation::VideoSamplePool::getSample):(WebCore::MediaPlayerPrivateMediaFoundation::VideoSamplePool::returnSample):(WebCore::MediaPlayerPrivateMediaFoundation::VideoSamplePool::areSamplesPending):(WebCore::MediaPlayerPrivateMediaFoundation::VideoSamplePool::initialize):(WebCore::MediaPlayerPrivateMediaFoundation::VideoSamplePool::clear):(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::stopScheduler):(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::scheduleSample):(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::processSamplesInQueue):(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::processSample):(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::schedulerThreadProcPrivate):(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::setVideoWindow):(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::setDestinationRect):(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::createVideoSamples):(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::checkDeviceState):(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::presentSample):(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::paintCurrentFrame):(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::createD3DDevice):platform/image-decoders/ScalableImageDecoder.cpp:(WebCore::ScalableImageDecoder::frameIsCompleteAtIndex const):(WebCore::ScalableImageDecoder::frameHasAlphaAtIndex const):(WebCore::ScalableImageDecoder::frameBytesAtIndex const):(WebCore::ScalableImageDecoder::frameDurationAtIndex const):(WebCore::ScalableImageDecoder::createFrameImageAtIndex):platform/image-decoders/ScalableImageDecoder.h:platform/ios/LegacyTileCache.mm:(WebCore::LegacyTileCache::setTilesOpaque):(WebCore::LegacyTileCache::doLayoutTiles):(WebCore::LegacyTileCache::setCurrentScale):(WebCore::LegacyTileCache::commitScaleChange):(WebCore::LegacyTileCache::layoutTilesNow):(WebCore::LegacyTileCache::layoutTilesNowForRect):(WebCore::LegacyTileCache::removeAllNonVisibleTiles):(WebCore::LegacyTileCache::removeAllTiles):(WebCore::LegacyTileCache::removeForegroundTiles):(WebCore::LegacyTileCache::setContentReplacementImage):(WebCore::LegacyTileCache::contentReplacementImage const):(WebCore::LegacyTileCache::tileCreationTimerFired):(WebCore::LegacyTileCache::setNeedsDisplayInRect):(WebCore::LegacyTileCache::updateTilingMode):(WebCore::LegacyTileCache::setTilingMode):(WebCore::LegacyTileCache::doPendingRepaints):(WebCore::LegacyTileCache::flushSavedDisplayRects):(WebCore::LegacyTileCache::prepareToDraw):platform/ios/LegacyTileLayerPool.mm:(WebCore::LegacyTileLayerPool::addLayer):(WebCore::LegacyTileLayerPool::takeLayerWithSize):(WebCore::LegacyTileLayerPool::setCapacity):(WebCore::LegacyTileLayerPool::prune):(WebCore::LegacyTileLayerPool::drain):platform/ios/wak/WAKWindow.mm:(-[WAKWindow setExposedScrollViewRect:]):(-[WAKWindow exposedScrollViewRect]):platform/ios/wak/WebCoreThread.mm:(RunWebThread):(StartWebThread):platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp:(WebCore::RealtimeOutgoingAudioSourceLibWebRTC::audioSamplesAvailable):(WebCore::RealtimeOutgoingAudioSourceLibWebRTC::pullAudioData):platform/network/cf/FormDataStreamCFNet.cpp:(WebCore::openNextStream):(WebCore::formFinalize):(WebCore::formClose):platform/network/curl/CurlRequest.cpp:(WebCore::CurlRequest::setRequestPaused):(WebCore::CurlRequest::setCallbackPaused):(WebCore::CurlRequest::pausedStatusChanged):(WebCore::CurlRequest::enableDownloadToFile):(WebCore::CurlRequest::getDownloadedFilePath):(WebCore::CurlRequest::writeDataToDownloadFileIfEnabled):(WebCore::CurlRequest::closeDownloadFile):(WebCore::CurlRequest::cleanupDownloadFile):platform/network/curl/CurlSSLHandle.cpp:(WebCore::CurlSSLHandle::allowAnyHTTPSCertificatesForHost):(WebCore::CurlSSLHandle::canIgnoreAnyHTTPSCertificatesForHost const):(WebCore::CurlSSLHandle::setClientCertificateInfo):(WebCore::CurlSSLHandle::getSSLClientCertificate const):platform/sql/SQLiteDatabase.cpp:(WebCore::SQLiteDatabase::close):(WebCore::SQLiteDatabase::maximumSize):(WebCore::SQLiteDatabase::setMaximumSize):(WebCore::SQLiteDatabase::pageSize):(WebCore::SQLiteDatabase::freeSpaceSize):(WebCore::SQLiteDatabase::totalSize):(WebCore::SQLiteDatabase::runIncrementalVacuumCommand):(WebCore::SQLiteDatabase::interrupt):(WebCore::SQLiteDatabase::setAuthorizer):(WebCore::constructAndPrepareStatement):platform/sql/SQLiteStatement.cpp:(WebCore::SQLiteStatement::step):Source/WebKit:NetworkProcess/IndexedDB/WebIDBServer.cpp:(WebKit::m_closeCallback):(WebKit::WebIDBServer::getOrigins):(WebKit::WebIDBServer::closeAndDeleteDatabasesModifiedSince):(WebKit::WebIDBServer::closeAndDeleteDatabasesForOrigins):(WebKit::WebIDBServer::renameOrigin):(WebKit::WebIDBServer::openDatabase):(WebKit::WebIDBServer::deleteDatabase):(WebKit::WebIDBServer::abortTransaction):(WebKit::WebIDBServer::commitTransaction):(WebKit::WebIDBServer::didFinishHandlingVersionChangeTransaction):(WebKit::WebIDBServer::createObjectStore):(WebKit::WebIDBServer::deleteObjectStore):(WebKit::WebIDBServer::renameObjectStore):(WebKit::WebIDBServer::clearObjectStore):(WebKit::WebIDBServer::createIndex):(WebKit::WebIDBServer::deleteIndex):(WebKit::WebIDBServer::renameIndex):(WebKit::WebIDBServer::putOrAdd):(WebKit::WebIDBServer::getRecord):(WebKit::WebIDBServer::getAllRecords):(WebKit::WebIDBServer::getCount):(WebKit::WebIDBServer::deleteRecord):(WebKit::WebIDBServer::openCursor):(WebKit::WebIDBServer::iterateCursor):(WebKit::WebIDBServer::establishTransaction):(WebKit::WebIDBServer::databaseConnectionPendingClose):(WebKit::WebIDBServer::databaseConnectionClosed):(WebKit::WebIDBServer::abortOpenAndUpgradeNeeded):(WebKit::WebIDBServer::didFireVersionChangeEvent):(WebKit::WebIDBServer::openDBRequestCancelled):(WebKit::WebIDBServer::getAllDatabaseNamesAndVersions):(WebKit::WebIDBServer::addConnection):(WebKit::WebIDBServer::removeConnection):(WebKit::WebIDBServer::close):NetworkProcess/cache/CacheStorageEngine.cpp:(WebKit::CacheStorage::Engine::writeSizeFile):(WebKit::CacheStorage::Engine::readSizeFile):(WebKit::CacheStorage::Engine::clearAllCachesFromDisk):(WebKit::CacheStorage::Engine::deleteNonEmptyDirectoryOnBackgroundThread):NetworkProcess/glib/DNSCache.cpp:(WebKit::DNSCache::lookup):(WebKit::DNSCache::update):(WebKit::DNSCache::removeExpiredResponsesFired):(WebKit::DNSCache::clear):Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:(WebKit::CompositingRunLoop::suspend):(WebKit::CompositingRunLoop::resume):(WebKit::CompositingRunLoop::scheduleUpdate):(WebKit::CompositingRunLoop::stopUpdates):(WebKit::CompositingRunLoop::updateTimerFired):Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:(WebKit::m_displayRefreshMonitor):(WebKit::ThreadedCompositor::setScaleFactor):(WebKit::ThreadedCompositor::setScrollPosition):(WebKit::ThreadedCompositor::setViewportSize):(WebKit::ThreadedCompositor::renderLayerTree):(WebKit::ThreadedCompositor::sceneUpdateFinished):(WebKit::ThreadedCompositor::updateSceneState):UIProcess/API/glib/IconDatabase.cpp:(WebKit::IconDatabase::populatePageURLToIconURLMap):(WebKit::IconDatabase::clearLoadedIconsTimerFired):(WebKit::IconDatabase::checkIconURLAndSetPageURLIfNeeded):(WebKit::IconDatabase::loadIconForPageURL):(WebKit::IconDatabase::iconURLForPageURL):(WebKit::IconDatabase::setIconForPageURL):(WebKit::IconDatabase::clear):Source/WebKitLegacy:Storage/InProcessIDBServer.cpp:(InProcessIDBServer::InProcessIDBServer):(InProcessIDBServer::deleteDatabase):(InProcessIDBServer::openDatabase):(InProcessIDBServer::abortTransaction):(InProcessIDBServer::commitTransaction):(InProcessIDBServer::didFinishHandlingVersionChangeTransaction):(InProcessIDBServer::createObjectStore):(InProcessIDBServer::deleteObjectStore):(InProcessIDBServer::renameObjectStore):(InProcessIDBServer::clearObjectStore):(InProcessIDBServer::createIndex):(InProcessIDBServer::deleteIndex):(InProcessIDBServer::renameIndex):(InProcessIDBServer::putOrAdd):(InProcessIDBServer::getRecord):(InProcessIDBServer::getAllRecords):(InProcessIDBServer::getCount):(InProcessIDBServer::deleteRecord):(InProcessIDBServer::openCursor):(InProcessIDBServer::iterateCursor):(InProcessIDBServer::establishTransaction):(InProcessIDBServer::databaseConnectionPendingClose):(InProcessIDBServer::databaseConnectionClosed):(InProcessIDBServer::abortOpenAndUpgradeNeeded):(InProcessIDBServer::didFireVersionChangeEvent):(InProcessIDBServer::openDBRequestCancelled):(InProcessIDBServer::getAllDatabaseNamesAndVersions):(InProcessIDBServer::closeAndDeleteDatabasesModifiedSince):Storage/StorageAreaSync.cpp:(WebKit::StorageAreaSync::syncTimerFired):(WebKit::StorageAreaSync::performSync):Storage/StorageTracker.cpp:(WebKit::StorageTracker::finishedImportingOriginIdentifiers):(WebKit::StorageTracker::syncImportOriginIdentifiers):(WebKit::StorageTracker::syncFileSystemAndTrackerDatabase):(WebKit::StorageTracker::setOriginDetails):(WebKit::StorageTracker::syncSetOriginDetails):(WebKit::StorageTracker::origins):(WebKit::StorageTracker::deleteAllOrigins):(WebKit::StorageTracker::syncDeleteAllOrigins):(WebKit::StorageTracker::deleteOrigin):(WebKit::StorageTracker::syncDeleteOrigin):(WebKit::StorageTracker::canDeleteOrigin):(WebKit::StorageTracker::cancelDeletingOrigin):(WebKit::StorageTracker::diskUsageForOrigin):Source/WebKitLegacy/mac:WebView/WebView.mm:(-[WebView _synchronizeCustomFixedPositionLayoutRect]):(-[WebView _setCustomFixedPositionLayoutRectInWebThread:synchronize:]):(-[WebView _setCustomFixedPositionLayoutRect:]):(-[WebView _fetchCustomFixedPositionLayoutRect:]):Source/WebKitLegacy/win:Plugins/PluginMainThreadScheduler.cpp:(WebCore::PluginMainThreadScheduler::scheduleCall):(WebCore::PluginMainThreadScheduler::registerPlugin):(WebCore::PluginMainThreadScheduler::unregisterPlugin):(WebCore::PluginMainThreadScheduler::dispatchCallsForPlugin):Source/WTF:benchmarks/LockSpeedTest.cpp:wtf/AutomaticThread.cpp:(WTF::AutomaticThread::~AutomaticThread):(WTF::AutomaticThread::join):(WTF::AutomaticThread::start):wtf/AutomaticThread.h:wtf/MetaAllocator.cpp:(WTF::MetaAllocatorHandle::shrink):(WTF::MetaAllocator::addFreshFreeSpace):(WTF::MetaAllocator::debugFreeSpaceSize):wtf/ParallelHelperPool.cpp:(WTF::ParallelHelperClient::ParallelHelperClient):(WTF::ParallelHelperClient::~ParallelHelperClient):(WTF::ParallelHelperClient::setTask):(WTF::ParallelHelperClient::finish):(WTF::ParallelHelperClient::doSomeHelping):(WTF::ParallelHelperClient::runTask):(WTF::ParallelHelperPool::~ParallelHelperPool):(WTF::ParallelHelperPool::ensureThreads):(WTF::ParallelHelperPool::doSomeHelping):wtf/Seconds.cpp:(WTF::sleep):wtf/TimeWithDynamicClockType.cpp:(WTF::sleep):wtf/WorkerPool.cpp:(WTF::WorkerPool::WorkerPool):(WTF::WorkerPool::~WorkerPool):(WTF::WorkerPool::postTask):wtf/posix/ThreadingPOSIX.cpp:(WTF::Thread::suspend):(WTF::Thread::resume):(WTF::Thread::getRegisters):wtf/win/DbgHelperWin.cpp:(WTF::DbgHelper::SymFromAddress):wtf/win/ThreadingWin.cpp:(WTF::Thread::suspend):(WTF::Thread::resume):(WTF::Thread::getRegisters):Tools:TestWebKitAPI/Tests/WTF/WorkQueue.cpp:(TestWebKitAPI::TEST):TestWebKitAPI/Tests/WTF/glib/WorkQueueGLib.cpp:(TestWebKitAPI::TEST):TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp:(TestWebKitAPI::DeterministicScheduler::ThreadContext::waitMyTurn):(TestWebKitAPI::DeterministicScheduler::ThreadContext::yieldToThread): 2 edits in trunk/Source/WebCoreASSERTION FAILED: Component at index 1 is 1.000000 and is greater than the allowed maximum 1.000000​https://bugs.webkit.org/show_bug.cgi?id=226118 rdar://problem/78333590 Reviewed by Sam Weinig.Covered by SampledPageTopColor tests.platform/graphics/cg/ColorCG.cpp:(WebCore::roundAndClampToSRGBALossy):Use makeFromComponentsClamping to actually clamp the component values instead of assumingthat the CGColorRef will be sRGB (though it still assumes an RGB color space/format). 8 edits1 move5 deletes in trunk[Tools][run-webkit-tests] Remove more leftover tests webserver PHP remains​https://bugs.webkit.org/show_bug.cgi?id=226089Reviewed by Alexey Proskuryakov.Remove leftover PHP module configurations used on Linux now that PHP is not used anymore.Tools:Scripts/webkitpy/port/base.py:(Port._debian_php_version): Removed.(Port._fedora_php_version): Removed.(Port._is_fedora_php_version_7): Removed.(Port._apache_config_file_name_for_platform): Modofied to not use the removedhelper methods.gtk/install-dependencies: Remove PHP packages.wpe/install-dependencies: Ditto.LayoutTests:http/conf/archlinux-httpd.conf: Removed PHP module configuration.http/conf/debian-httpd-2.4-php7.0.conf: Removed.http/conf/debian-httpd-2.4-php7.1.conf: Removed.http/conf/debian-httpd-2.4-php7.2.conf: Removed.http/conf/debian-httpd-2.4-php7.4.conf: Removed.http/conf/debian-httpd-2.4.conf: Renamed from LayoutTests/http/conf/debian-httpd-2.4-php7.3.confand removed PHP module configuration.http/conf/fedora-httpd-2.2.conf: Removed PHP module configuration.http/conf/fedora-httpd-2.4-php7.conf: Removed.http/conf/fedora-httpd-2.4.conf: Removed PHP module configuration. 2 edits in trunk/Tools[ Debug ] TestWebKitAPI.IPCTestingAPI.CanDetectNilReplyBlocks (API-tests) is a constant crash​https://bugs.webkit.org/show_bug.cgi?id=226125Patch by Julian Gonzalez ​julian_a_gonzalez@apple.com on 2021-05-22Reviewed by Ryosuke Niwa.Turn this test off for Debug.TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm: 2 edits in trunk/Source/WebCoreDetect invalid InlinePathData in StrokeInlinePath​https://bugs.webkit.org/show_bug.cgi?id=225691Patch by Rob Buis ​rbuis@igalia.com on 2021-05-22Reviewed by Ryosuke Niwa.Detect invalid InlinePathData in StrokeInlinePath.platform/graphics/displaylists/DisplayListItems.h:(WebCore::DisplayList::StrokeInlinePath::StrokeInlinePath):(WebCore::DisplayList::StrokeInlinePath::path const): Deleted.Remove WTF::holdLock() / WTF::holdLockIf()​https://bugs.webkit.org/show_bug.cgi?id=226135Reviewed by Darin Adler.Remove WTF::holdLock() / WTF::holdLockIf() because they are not compatible withClang Thread Safety Analysis. All call sites have been converted to use the Lockerconstructor directly.Source/JavaScriptCore:heap/LockDuringMarking.h:(JSC::lockDuringMarking):Source/WebCore:dom/Node.cpp:(WebCore::Node::eventTargetDataConcurrently):Source/WTF:wtf/Locker.h:Replace LockHolder with Locker in local variables​https://bugs.webkit.org/show_bug.cgi?id=226133Reviewed by Darin Adler.Replace LockHolder with Locker in local variables. It is shorter and it allows switching the locktype more easily since the compiler with deduce the lock type T for Locker T .Source/JavaScriptCore:API/JSCallbackObject.h:(JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty):(JSC::JSCallbackObjectData::JSPrivatePropertyMap::deletePrivateProperty):(JSC::JSCallbackObjectData::JSPrivatePropertyMap::visitChildren):API/JSValue.mm:(handerForStructTag):API/tests/testapi.cpp:(testCAPIViaCpp):assembler/testmasm.cpp:(JSC::run):b3/air/testair.cpp:b3/testb3_1.cpp:(run):bytecode/DirectEvalCodeCache.cpp:(JSC::DirectEvalCodeCache::setSlow):(JSC::DirectEvalCodeCache::clear):(JSC::DirectEvalCodeCache::visitAggregateImpl):bytecode/SuperSampler.cpp:(JSC::initializeSuperSampler):(JSC::resetSuperSamplerState):(JSC::printSuperSamplerState):(JSC::enableSuperSampler):(JSC::disableSuperSampler):dfg/DFGCommonData.cpp:(JSC::DFG::CommonData::invalidate):(JSC::DFG::CommonData::~CommonData):(JSC::DFG::CommonData::installVMTrapBreakpoints):(JSC::DFG::codeBlockForVMTrapPC):dfg/DFGPlan.cpp:(JSC::DFG::Plan::cleanMustHandleValuesIfNecessary):dfg/DFGWorklist.cpp:(JSC::DFG::Worklist::~Worklist):(JSC::DFG::Worklist::finishCreation):(JSC::DFG::Worklist::isActiveForVM const):(JSC::DFG::Worklist::enqueue):(JSC::DFG::Worklist::compilationState):(JSC::DFG::Worklist::waitUntilAllPlansForVMAreReady):(JSC::DFG::Worklist::removeAllReadyPlansForVM):(JSC::DFG::Worklist::completeAllReadyPlansForVM):(JSC::DFG::Worklist::visitWeakReferences):(JSC::DFG::Worklist::removeDeadPlans):(JSC::DFG::Worklist::removeNonCompilingPlansForVM):(JSC::DFG::Worklist::queueLength):(JSC::DFG::Worklist::dump const):(JSC::DFG::Worklist::setNumberOfThreads):dfg/DFGWorklistInlines.h:(JSC::DFG::Worklist::iterateCodeBlocksForGC):disassembler/Disassembler.cpp:heap/BlockDirectory.cpp:(JSC::BlockDirectory::addBlock):heap/CodeBlockSetInlines.h:(JSC::CodeBlockSet::iterateCurrentlyExecuting):heap/ConservativeRoots.cpp:(JSC::ConservativeRoots::add):heap/Heap.cpp:(JSC::Heap::Heap):(JSC::Heap::lastChanceToFinalize):(JSC::Heap::collectAsync):(JSC::Heap::runBeginPhase):(JSC::Heap::waitForCollector):(JSC::Heap::requestCollection):(JSC::Heap::notifyIsSafeToCollect):heap/SlotVisitor.cpp:(JSC::SlotVisitor::didReachTermination):inspector/agents/InspectorScriptProfilerAgent.cpp:(Inspector::InspectorScriptProfilerAgent::startTracking):(Inspector::InspectorScriptProfilerAgent::trackingComplete):(Inspector::InspectorScriptProfilerAgent::stopSamplingWhenDisconnecting):inspector/remote/RemoteConnectionToTarget.cpp:(Inspector::RemoteConnectionToTarget::setup):(Inspector::RemoteConnectionToTarget::sendMessageToTarget):(Inspector::RemoteConnectionToTarget::close):(Inspector::RemoteConnectionToTarget::targetClosed):inspector/remote/RemoteInspector.cpp:(Inspector::RemoteInspector::registerTarget):(Inspector::RemoteInspector::unregisterTarget):(Inspector::RemoteInspector::updateTarget):(Inspector::RemoteInspector::updateClientCapabilities):(Inspector::RemoteInspector::setClient):(Inspector::RemoteInspector::setupFailed):(Inspector::RemoteInspector::setupCompleted):(Inspector::RemoteInspector::stop):inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm:(Inspector::RemoteTargetHandleRunSourceGlobal):(Inspector::RemoteTargetQueueTaskOnGlobalQueue):(Inspector::RemoteTargetHandleRunSourceWithInfo):(Inspector::RemoteConnectionToTarget::setup):(Inspector::RemoteConnectionToTarget::targetClosed):(Inspector::RemoteConnectionToTarget::close):(Inspector::RemoteConnectionToTarget::sendMessageToTarget):(Inspector::RemoteConnectionToTarget::queueTaskOnPrivateRunLoop):inspector/remote/cocoa/RemoteInspectorCocoa.mm:(Inspector::RemoteInspector::updateAutomaticInspectionCandidate):(Inspector::RemoteInspector::sendMessageToRemote):(Inspector::RemoteInspector::start):(Inspector::RemoteInspector::setupXPCConnectionIfNeeded):(Inspector::RemoteInspector::setParentProcessInformation):(Inspector::RemoteInspector::xpcConnectionReceivedMessage):(Inspector::RemoteInspector::xpcConnectionFailed):(Inspector::RemoteInspector::pushListingsSoon):(Inspector::RemoteInspector::receivedIndicateMessage):(Inspector::RemoteInspector::receivedProxyApplicationSetupMessage):inspector/remote/cocoa/RemoteInspectorXPCConnection.mm:(Inspector::RemoteInspectorXPCConnection::close):(Inspector::RemoteInspectorXPCConnection::closeFromMessage):(Inspector::RemoteInspectorXPCConnection::deserializeMessage):(Inspector::RemoteInspectorXPCConnection::handleEvent):inspector/remote/glib/RemoteInspectorGlib.cpp:(Inspector::RemoteInspector::start):(Inspector::RemoteInspector::setupConnection):(Inspector::RemoteInspector::pushListingsSoon):(Inspector::RemoteInspector::sendMessageToRemote):(Inspector::RemoteInspector::receivedGetTargetListMessage):(Inspector::RemoteInspector::receivedDataMessage):(Inspector::RemoteInspector::receivedCloseMessage):(Inspector::RemoteInspector::setup):inspector/remote/socket/RemoteInspectorConnectionClient.cpp:(Inspector::RemoteInspectorConnectionClient::didReceive):inspector/remote/socket/RemoteInspectorSocket.cpp:(Inspector::RemoteInspector::didClose):(Inspector::RemoteInspector::start):(Inspector::RemoteInspector::pushListingsSoon):(Inspector::RemoteInspector::setup):(Inspector::RemoteInspector::setupInspectorClient):(Inspector::RemoteInspector::frontendDidClose):(Inspector::RemoteInspector::sendMessageToBackend):(Inspector::RemoteInspector::startAutomationSession):inspector/remote/socket/RemoteInspectorSocketEndpoint.cpp:(Inspector::RemoteInspectorSocketEndpoint::listenInet):(Inspector::RemoteInspectorSocketEndpoint::isListening):(Inspector::RemoteInspectorSocketEndpoint::workerThread):(Inspector::RemoteInspectorSocketEndpoint::createClient):(Inspector::RemoteInspectorSocketEndpoint::disconnect):(Inspector::RemoteInspectorSocketEndpoint::invalidateClient):(Inspector::RemoteInspectorSocketEndpoint::invalidateListener):(Inspector::RemoteInspectorSocketEndpoint::getPort const):(Inspector::RemoteInspectorSocketEndpoint::recvIfEnabled):(Inspector::RemoteInspectorSocketEndpoint::sendIfEnabled):(Inspector::RemoteInspectorSocketEndpoint::send):(Inspector::RemoteInspectorSocketEndpoint::acceptInetSocketIfEnabled):interpreter/CLoopStack.cpp:(JSC::CLoopStack::addToCommittedByteCount):(JSC::CLoopStack::committedByteCount):jit/ExecutableAllocator.cpp:(JSC::dumpJITMemory):jit/ICStats.cpp:(JSC::ICStats::ICStats):(JSC::ICStats::~ICStats):jit/JITThunks.cpp:(JSC::JITThunks::ctiStub):(JSC::JITThunks::existingCTIStub):(JSC::JITThunks::ctiSlowPathFunctionStub):jit/JITWorklist.cpp:(JSC::JITWorklist::Plan::compileInThread):(JSC::JITWorklist::Plan::isFinishedCompiling):(JSC::JITWorklist::JITWorklist):(JSC::JITWorklist::completeAllForVM):(JSC::JITWorklist::poll):(JSC::JITWorklist::compileLater):(JSC::JITWorklist::finalizePlans):parser/SourceProvider.cpp:(JSC::SourceProvider::getID):profiler/ProfilerDatabase.cpp:(JSC::Profiler::Database::ensureBytecodesFor):(JSC::Profiler::Database::notifyDestruction):(JSC::Profiler::Database::addCompilation):(JSC::Profiler::Database::logEvent):(JSC::Profiler::Database::addDatabaseToAtExit):(JSC::Profiler::Database::removeDatabaseFromAtExit):(JSC::Profiler::Database::removeFirstAtExitDatabase):profiler/ProfilerUID.cpp:(JSC::Profiler::UID::create):runtime/DeferredWorkTimer.cpp:(JSC::DeferredWorkTimer::scheduleWorkSoon):(JSC::DeferredWorkTimer::didResumeScriptExecutionOwner):runtime/SamplingProfiler.cpp:(JSC::SamplingProfiler::timerLoop):(JSC::SamplingProfiler::shutdown):(JSC::SamplingProfiler::start):(JSC::SamplingProfiler::noticeCurrentThreadAsJSCExecutionThread):(JSC::SamplingProfiler::noticeJSLockAcquisition):(JSC::SamplingProfiler::noticeVMEntry):(JSC::SamplingProfiler::registerForReportAtExit):runtime/Watchdog.cpp:(JSC::Watchdog::startTimer):(JSC::Watchdog::willDestroyVM):tools/VMInspector.cpp:(JSC::VMInspector::isValidExecutableMemory):wasm/WasmBBQPlan.cpp:(JSC::Wasm::BBQPlan::work):wasm/WasmEntryPlan.cpp:(JSC::Wasm::EntryPlan::ThreadCountHolder::ThreadCountHolder):(JSC::Wasm::EntryPlan::ThreadCountHolder::~ThreadCountHolder):wasm/WasmOMGPlan.cpp:(JSC::Wasm::OMGPlan::work):wasm/WasmPlan.cpp:(JSC::Wasm::Plan::addCompletionTask):(JSC::Wasm::Plan::waitForCompletion):(JSC::Wasm::Plan::tryRemoveContextAndCancelIfLast):wasm/WasmSignature.cpp:(JSC::Wasm::SignatureInformation::signatureFor):(JSC::Wasm::SignatureInformation::tryCleanup):wasm/WasmWorklist.cpp:(JSC::Wasm::Worklist::enqueue):(JSC::Wasm::Worklist::completePlanSynchronously):(JSC::Wasm::Worklist::stopAllPlansForContext):(JSC::Wasm::Worklist::Worklist):(JSC::Wasm::Worklist::~Worklist):Source/WebCore:Modules/webaudio/AsyncAudioDecoder.cpp:(WebCore::AsyncAudioDecoder::AsyncAudioDecoder):(WebCore::AsyncAudioDecoder::runLoop):Modules/webdatabase/Database.cpp:(WebCore::Database::performClose):(WebCore::Database::inProgressTransactionCompleted):(WebCore::Database::hasPendingTransaction):(WebCore::Database::runTransaction):Modules/webdatabase/DatabaseThread.cpp:(WebCore::DatabaseThread::start):(WebCore::DatabaseThread::databaseThread):(WebCore::DatabaseThread::recordDatabaseOpen):(WebCore::DatabaseThread::recordDatabaseClosed):(WebCore::DatabaseThread::hasPendingDatabaseActivity const):Modules/webdatabase/DatabaseTracker.cpp:(WebCore::DatabaseTracker::canEstablishDatabase):(WebCore::DatabaseTracker::retryCanEstablishDatabase):(WebCore::DatabaseTracker::maximumSize):(WebCore::DatabaseTracker::fullPathForDatabase):(WebCore::DatabaseTracker::origins):(WebCore::DatabaseTracker::databaseNames):(WebCore::DatabaseTracker::detailsForNameAndOrigin):(WebCore::DatabaseTracker::setDatabaseDetails):(WebCore::DatabaseTracker::doneCreatingDatabase):(WebCore::DatabaseTracker::openDatabases):(WebCore::DatabaseTracker::addOpenDatabase):(WebCore::DatabaseTracker::removeOpenDatabase):(WebCore::DatabaseTracker::originLockFor):(WebCore::DatabaseTracker::quota):(WebCore::DatabaseTracker::setQuota):(WebCore::DatabaseTracker::deleteOrigin):(WebCore::DatabaseTracker::deleteDatabase):(WebCore::DatabaseTracker::deleteDatabaseFile):(WebCore::DatabaseTracker::removeDeletedOpenedDatabases):Modules/webdatabase/SQLCallbackWrapper.h:(WebCore::SQLCallbackWrapper::clear):(WebCore::SQLCallbackWrapper::unwrap):Modules/webdatabase/SQLTransaction.cpp:(WebCore::SQLTransaction::enqueueStatement):(WebCore::SQLTransaction::checkAndHandleClosedDatabase):(WebCore::SQLTransaction::getNextStatement):Modules/webdatabase/SQLTransactionBackend.cpp:(WebCore::SQLTransactionBackend::doCleanup):accessibility/isolatedtree/AXIsolatedTree.cpp:(WebCore::AXIsolatedTree::clear):(WebCore::AXIsolatedTree::generateSubtree):(WebCore::AXIsolatedTree::createSubtree):(WebCore::AXIsolatedTree::updateNode):(WebCore::AXIsolatedTree::updateNodeProperty):(WebCore::AXIsolatedTree::updateChildren):(WebCore::AXIsolatedTree::focusedNode):(WebCore::AXIsolatedTree::rootNode):(WebCore::AXIsolatedTree::setFocusedNodeID):(WebCore::AXIsolatedTree::removeNode):(WebCore::AXIsolatedTree::removeSubtree):(WebCore::AXIsolatedTree::applyPendingChanges):page/scrolling/mac/ScrollingTreeMac.mm:(ScrollingTreeMac::scrollingNodeForPoint):(ScrollingTreeMac::eventListenerRegionTypesForPoint const):platform/AbortableTaskQueue.h:platform/audio/cocoa/CARingBuffer.cpp:(WebCore::CARingBufferStorageVector::flush):(WebCore::CARingBufferStorageVector::setCurrentFrameBounds):platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:(WebCore::AVFWrapper::addToMap):(WebCore::AVFWrapper::removeFromMap const):(WebCore::AVFWrapper::periodicTimeObserverCallback):(WebCore::AVFWrapper::processNotification):(WebCore::AVFWrapper::loadPlayableCompletionCallback):(WebCore::AVFWrapper::loadMetadataCompletionCallback):(WebCore::AVFWrapper::seekCompletedCallback):(WebCore::AVFWrapper::processCue):(WebCore::AVFWrapper::legibleOutputCallback):(WebCore::AVFWrapper::processShouldWaitForLoadingOfResource):(WebCore::AVFWrapper::resourceLoaderShouldWaitForLoadingOfRequestedResource):platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:(-[WebCoreSharedBufferResourceLoaderDelegate setExpectedContentSize:]):(-[WebCoreSharedBufferResourceLoaderDelegate updateData:complete:]):(-[WebCoreSharedBufferResourceLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):(-[WebCoreSharedBufferResourceLoaderDelegate resourceLoader:didCancelLoadingRequest:]):(WebCore::ImageDecoderAVFObjC::setTrack):(WebCore::ImageDecoderAVFObjC::createFrameImageAtIndex):platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:(WebCore::ImageDecoderGStreamer::createFrameImageAtIndex):platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:(WebCore::InbandTextTrackPrivateGStreamer::handleSample):(WebCore::InbandTextTrackPrivateGStreamer::notifyTrackOfSample):platform/graphics/gstreamer/MainThreadNotifier.h:platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:(WebCore::MediaPlayerPrivateGStreamer::parseInitDataFromProtectionMessage):(WebCore::MediaPlayerPrivateGStreamer::handleProtectionEvent):platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:(WebCore::TrackPrivateBaseGStreamer::tagsChanged):(WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged):platform/graphics/gstreamer/VideoSinkGStreamer.cpp:(VideoRenderRequestScheduler::start):(VideoRenderRequestScheduler::stop):(VideoRenderRequestScheduler::drain):(VideoRenderRequestScheduler::requestRender):platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:(transformInPlace):(sinkEventHandler):(webKitMediaCommonEncryptionDecryptIsFlushing):(setContext):platform/graphics/nicosia/NicosiaBuffer.cpp:(Nicosia::Buffer::beginPainting):(Nicosia::Buffer::completePainting):(Nicosia::Buffer::waitUntilPaintingComplete):platform/graphics/nicosia/NicosiaPlatformLayer.h:(Nicosia::PlatformLayer::setSceneIntegration):(Nicosia::PlatformLayer::createUpdateScope):(Nicosia::CompositionLayer::updateState):(Nicosia::CompositionLayer::flushState):(Nicosia::CompositionLayer::commitState):(Nicosia::CompositionLayer::accessPending):(Nicosia::CompositionLayer::accessCommitted):platform/graphics/nicosia/NicosiaScene.h:(Nicosia::Scene::accessState):platform/graphics/nicosia/NicosiaSceneIntegration.cpp:(Nicosia::SceneIntegration::setClient):(Nicosia::SceneIntegration::invalidate):(Nicosia::SceneIntegration::requestUpdate):platform/graphics/nicosia/texmap/NicosiaBackingStoreTextureMapperImpl.cpp:(Nicosia::BackingStoreTextureMapperImpl::flushUpdate):(Nicosia::BackingStoreTextureMapperImpl::takeUpdate):platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.cpp:(Nicosia::ContentLayerTextureMapperImpl::~ContentLayerTextureMapperImpl):(Nicosia::ContentLayerTextureMapperImpl::invalidateClient):(Nicosia::ContentLayerTextureMapperImpl::flushUpdate):(Nicosia::ContentLayerTextureMapperImpl::swapBuffersIfNeeded):platform/graphics/nicosia/texmap/NicosiaImageBackingTextureMapperImpl.cpp:(Nicosia::ImageBackingTextureMapperImpl::flushUpdate):(Nicosia::ImageBackingTextureMapperImpl::takeUpdate):platform/graphics/texmap/TextureMapperGCGLPlatformLayer.cpp:(WebCore::TextureMapperGCGLPlatformLayer::swapBuffersIfNeeded):platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:(WebCore::MediaPlayerPrivateMediaFoundation::load):(WebCore::MediaPlayerPrivateMediaFoundation::naturalSize const):(WebCore::MediaPlayerPrivateMediaFoundation::addListener):(WebCore::MediaPlayerPrivateMediaFoundation::removeListener):(WebCore::MediaPlayerPrivateMediaFoundation::notifyDeleted):(WebCore::MediaPlayerPrivateMediaFoundation::setNaturalSize):(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::Invoke):(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::onMediaPlayerDeleted):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::OnClockStart):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::OnClockStop):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::OnClockPause):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::OnClockRestart):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::OnClockSetRate):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::ProcessMessage):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::GetCurrentMediaType):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::InitServicePointers):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::ReleaseServicePointers):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::SetVideoWindow):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::GetVideoWindow):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::SetVideoPosition):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::GetVideoPosition):(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::RepaintVideo):(WebCore::MediaPlayerPrivateMediaFoundation::VideoSamplePool::getSample):(WebCore::MediaPlayerPrivateMediaFoundation::VideoSamplePool::returnSample):(WebCore::MediaPlayerPrivateMediaFoundation::VideoSamplePool::areSamplesPending):(WebCore::MediaPlayerPrivateMediaFoundation::VideoSamplePool::initialize):(WebCore::MediaPlayerPrivateMediaFoundation::VideoSamplePool::clear):(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::stopScheduler):(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::scheduleSample):(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::processSamplesInQueue):(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::processSample):(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::schedulerThreadProcPrivate):(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::setVideoWindow):(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::setDestinationRect):(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::createVideoSamples):(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::checkDeviceState):(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::presentSample):(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::paintCurrentFrame):(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::createD3DDevice):platform/image-decoders/ScalableImageDecoder.cpp:(WebCore::ScalableImageDecoder::frameIsCompleteAtIndex const):(WebCore::ScalableImageDecoder::frameHasAlphaAtIndex const):(WebCore::ScalableImageDecoder::frameBytesAtIndex const):(WebCore::ScalableImageDecoder::frameDurationAtIndex const):(WebCore::ScalableImageDecoder::createFrameImageAtIndex):platform/image-decoders/ScalableImageDecoder.h:platform/ios/LegacyTileCache.mm:(WebCore::LegacyTileCache::setTilesOpaque):(WebCore::LegacyTileCache::doLayoutTiles):(WebCore::LegacyTileCache::setCurrentScale):(WebCore::LegacyTileCache::commitScaleChange):(WebCore::LegacyTileCache::layoutTilesNow):(WebCore::LegacyTileCache::layoutTilesNowForRect):(WebCore::LegacyTileCache::removeAllNonVisibleTiles):(WebCore::LegacyTileCache::removeAllTiles):(WebCore::LegacyTileCache::removeForegroundTiles):(WebCore::LegacyTileCache::setContentReplacementImage):(WebCore::LegacyTileCache::contentReplacementImage const):(WebCore::LegacyTileCache::tileCreationTimerFired):(WebCore::LegacyTileCache::setNeedsDisplayInRect):(WebCore::LegacyTileCache::updateTilingMode):(WebCore::LegacyTileCache::setTilingMode):(WebCore::LegacyTileCache::doPendingRepaints):(WebCore::LegacyTileCache::flushSavedDisplayRects):(WebCore::LegacyTileCache::prepareToDraw):platform/ios/LegacyTileLayerPool.mm:(WebCore::LegacyTileLayerPool::addLayer):(WebCore::LegacyTileLayerPool::takeLayerWithSize):(WebCore::LegacyTileLayerPool::setCapacity):(WebCore::LegacyTileLayerPool::prune):(WebCore::LegacyTileLayerPool::drain):platform/ios/wak/WAKWindow.mm:(-[WAKWindow setExposedScrollViewRect:]):(-[WAKWindow exposedScrollViewRect]):platform/ios/wak/WebCoreThread.mm:(RunWebThread):(StartWebThread):platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp:(WebCore::RealtimeOutgoingAudioSourceLibWebRTC::audioSamplesAvailable):(WebCore::RealtimeOutgoingAudioSourceLibWebRTC::pullAudioData):platform/network/cf/FormDataStreamCFNet.cpp:(WebCore::openNextStream):(WebCore::formFinalize):(WebCore::formClose):platform/network/curl/CurlRequest.cpp:(WebCore::CurlRequest::setRequestPaused):(WebCore::CurlRequest::setCallbackPaused):(WebCore::CurlRequest::pausedStatusChanged):(WebCore::CurlRequest::enableDownloadToFile):(WebCore::CurlRequest::getDownloadedFilePath):(WebCore::CurlRequest::writeDataToDownloadFileIfEnabled):(WebCore::CurlRequest::closeDownloadFile):(WebCore::CurlRequest::cleanupDownloadFile):platform/network/curl/CurlSSLHandle.cpp:(WebCore::CurlSSLHandle::allowAnyHTTPSCertificatesForHost):(WebCore::CurlSSLHandle::canIgnoreAnyHTTPSCertificatesForHost const):(WebCore::CurlSSLHandle::setClientCertificateInfo):(WebCore::CurlSSLHandle::getSSLClientCertificate const):platform/sql/SQLiteDatabase.cpp:(WebCore::SQLiteDatabase::close):(WebCore::SQLiteDatabase::maximumSize):(WebCore::SQLiteDatabase::setMaximumSize):(WebCore::SQLiteDatabase::pageSize):(WebCore::SQLiteDatabase::freeSpaceSize):(WebCore::SQLiteDatabase::totalSize):(WebCore::SQLiteDatabase::runIncrementalVacuumCommand):(WebCore::SQLiteDatabase::interrupt):(WebCore::SQLiteDatabase::setAuthorizer):(WebCore::constructAndPrepareStatement):platform/sql/SQLiteStatement.cpp:(WebCore::SQLiteStatement::step):Source/WebKit:NetworkProcess/IndexedDB/WebIDBServer.cpp:(WebKit::m_closeCallback):(WebKit::WebIDBServer::getOrigins):(WebKit::WebIDBServer::closeAndDeleteDatabasesModifiedSince):(WebKit::WebIDBServer::closeAndDeleteDatabasesForOrigins):(WebKit::WebIDBServer::renameOrigin):(WebKit::WebIDBServer::openDatabase):(WebKit::WebIDBServer::deleteDatabase):(WebKit::WebIDBServer::abortTransaction):(WebKit::WebIDBServer::commitTransaction):(WebKit::WebIDBServer::didFinishHandlingVersionChangeTransaction):(WebKit::WebIDBServer::createObjectStore):(WebKit::WebIDBServer::deleteObjectStore):(WebKit::WebIDBServer::renameObjectStore):(WebKit::WebIDBServer::clearObjectStore):(WebKit::WebIDBServer::createIndex):(WebKit::WebIDBServer::deleteIndex):(WebKit::WebIDBServer::renameIndex):(WebKit::WebIDBServer::putOrAdd):(WebKit::WebIDBServer::getRecord):(WebKit::WebIDBServer::getAllRecords):(WebKit::WebIDBServer::getCount):(WebKit::WebIDBServer::deleteRecord):(WebKit::WebIDBServer::openCursor):(WebKit::WebIDBServer::iterateCursor):(WebKit::WebIDBServer::establishTransaction):(WebKit::WebIDBServer::databaseConnectionPendingClose):(WebKit::WebIDBServer::databaseConnectionClosed):(WebKit::WebIDBServer::abortOpenAndUpgradeNeeded):(WebKit::WebIDBServer::didFireVersionChangeEvent):(WebKit::WebIDBServer::openDBRequestCancelled):(WebKit::WebIDBServer::getAllDatabaseNamesAndVersions):(WebKit::WebIDBServer::addConnection):(WebKit::WebIDBServer::removeConnection):(WebKit::WebIDBServer::close):NetworkProcess/cache/CacheStorageEngine.cpp:(WebKit::CacheStorage::Engine::writeSizeFile):(WebKit::CacheStorage::Engine::readSizeFile):(WebKit::CacheStorage::Engine::clearAllCachesFromDisk):(WebKit::CacheStorage::Engine::deleteNonEmptyDirectoryOnBackgroundThread):NetworkProcess/glib/DNSCache.cpp:(WebKit::DNSCache::lookup):(WebKit::DNSCache::update):(WebKit::DNSCache::removeExpiredResponsesFired):(WebKit::DNSCache::clear):Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:(WebKit::CompositingRunLoop::suspend):(WebKit::CompositingRunLoop::resume):(WebKit::CompositingRunLoop::scheduleUpdate):(WebKit::CompositingRunLoop::stopUpdates):(WebKit::CompositingRunLoop::updateTimerFired):Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:(WebKit::m_displayRefreshMonitor):(WebKit::ThreadedCompositor::setScaleFactor):(WebKit::ThreadedCompositor::setScrollPosition):(WebKit::ThreadedCompositor::setViewportSize):(WebKit::ThreadedCompositor::renderLayerTree):(WebKit::ThreadedCompositor::sceneUpdateFinished):(WebKit::ThreadedCompositor::updateSceneState):UIProcess/API/glib/IconDatabase.cpp:(WebKit::IconDatabase::populatePageURLToIconURLMap):(WebKit::IconDatabase::clearLoadedIconsTimerFired):(WebKit::IconDatabase::checkIconURLAndSetPageURLIfNeeded):(WebKit::IconDatabase::loadIconForPageURL):(WebKit::IconDatabase::iconURLForPageURL):(WebKit::IconDatabase::setIconForPageURL):(WebKit::IconDatabase::clear):Source/WebKitLegacy:Storage/InProcessIDBServer.cpp:(InProcessIDBServer::InProcessIDBServer):(InProcessIDBServer::deleteDatabase):(InProcessIDBServer::openDatabase):(InProcessIDBServer::abortTransaction):(InProcessIDBServer::commitTransaction):(InProcessIDBServer::didFinishHandlingVersionChangeTransaction):(InProcessIDBServer::createObjectStore):(InProcessIDBServer::deleteObjectStore):(InProcessIDBServer::renameObjectStore):(InProcessIDBServer::clearObjectStore):(InProcessIDBServer::createIndex):(InProcessIDBServer::deleteIndex):(InProcessIDBServer::renameIndex):(InProcessIDBServer::putOrAdd):(InProcessIDBServer::getRecord):(InProcessIDBServer::getAllRecords):(InProcessIDBServer::getCount):(InProcessIDBServer::deleteRecord):(InProcessIDBServer::openCursor):(InProcessIDBServer::iterateCursor):(InProcessIDBServer::establishTransaction):(InProcessIDBServer::databaseConnectionPendingClose):(InProcessIDBServer::databaseConnectionClosed):(InProcessIDBServer::abortOpenAndUpgradeNeeded):(InProcessIDBServer::didFireVersionChangeEvent):(InProcessIDBServer::openDBRequestCancelled):(InProcessIDBServer::getAllDatabaseNamesAndVersions):(InProcessIDBServer::closeAndDeleteDatabasesModifiedSince):Storage/StorageAreaSync.cpp:(WebKit::StorageAreaSync::syncTimerFired):(WebKit::StorageAreaSync::performSync):Storage/StorageTracker.cpp:(WebKit::StorageTracker::finishedImportingOriginIdentifiers):(WebKit::StorageTracker::syncImportOriginIdentifiers):(WebKit::StorageTracker::syncFileSystemAndTrackerDatabase):(WebKit::StorageTracker::setOriginDetails):(WebKit::StorageTracker::syncSetOriginDetails):(WebKit::StorageTracker::origins):(WebKit::StorageTracker::deleteAllOrigins):(WebKit::StorageTracker::syncDeleteAllOrigins):(WebKit::StorageTracker::deleteOrigin):(WebKit::StorageTracker::syncDeleteOrigin):(WebKit::StorageTracker::canDeleteOrigin):(WebKit::StorageTracker::cancelDeletingOrigin):(WebKit::StorageTracker::diskUsageForOrigin):Source/WebKitLegacy/mac:WebView/WebView.mm:(-[WebView _synchronizeCustomFixedPositionLayoutRect]):(-[WebView _setCustomFixedPositionLayoutRectInWebThread:synchronize:]):(-[WebView _setCustomFixedPositionLayoutRect:]):(-[WebView _fetchCustomFixedPositionLayoutRect:]):Source/WebKitLegacy/win:Plugins/PluginMainThreadScheduler.cpp:(WebCore::PluginMainThreadScheduler::scheduleCall):(WebCore::PluginMainThreadScheduler::registerPlugin):(WebCore::PluginMainThreadScheduler::unregisterPlugin):(WebCore::PluginMainThreadScheduler::dispatchCallsForPlugin):Source/WTF:benchmarks/LockSpeedTest.cpp:wtf/AutomaticThread.cpp:(WTF::AutomaticThread::~AutomaticThread):(WTF::AutomaticThread::join):(WTF::AutomaticThread::start):wtf/AutomaticThread.h:wtf/MetaAllocator.cpp:(WTF::MetaAllocatorHandle::shrink):(WTF::MetaAllocator::addFreshFreeSpace):(WTF::MetaAllocator::debugFreeSpaceSize):wtf/ParallelHelperPool.cpp:(WTF::ParallelHelperClient::ParallelHelperClient):(WTF::ParallelHelperClient::~ParallelHelperClient):(WTF::ParallelHelperClient::setTask):(WTF::ParallelHelperClient::finish):(WTF::ParallelHelperClient::doSomeHelping):(WTF::ParallelHelperClient::runTask):(WTF::ParallelHelperPool::~ParallelHelperPool):(WTF::ParallelHelperPool::ensureThreads):(WTF::ParallelHelperPool::doSomeHelping):wtf/Seconds.cpp:(WTF::sleep):wtf/TimeWithDynamicClockType.cpp:(WTF::sleep):wtf/WorkerPool.cpp:(WTF::WorkerPool::WorkerPool):(WTF::WorkerPool::~WorkerPool):(WTF::WorkerPool::postTask):wtf/posix/ThreadingPOSIX.cpp:(WTF::Thread::suspend):(WTF::Thread::resume):(WTF::Thread::getRegisters):wtf/win/DbgHelperWin.cpp:(WTF::DbgHelper::SymFromAddress):wtf/win/ThreadingWin.cpp:(WTF::Thread::suspend):(WTF::Thread::resume):(WTF::Thread::getRegisters):Tools:TestWebKitAPI/Tests/WTF/WorkQueue.cpp:(TestWebKitAPI::TEST):TestWebKitAPI/Tests/WTF/glib/WorkQueueGLib.cpp:(TestWebKitAPI::TEST):TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp:(TestWebKitAPI::DeterministicScheduler::ThreadContext::waitMyTurn):(TestWebKitAPI::DeterministicScheduler::ThreadContext::yieldToThread): 20 edits in trunkStop using holdLock() in WebKit/WebKitLegacy/Tools as it is not compatible with Clang thread safety analysis​https://bugs.webkit.org/show_bug.cgi?id=226127Reviewed by Alex Christensen.Source/WebKit:GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:(WebKit::LibWebRTCCodecsProxy::close):(WebKit::LibWebRTCCodecsProxy::createH264Decoder):(WebKit::LibWebRTCCodecsProxy::createH265Decoder):(WebKit::LibWebRTCCodecsProxy::createVP9Decoder):(WebKit::LibWebRTCCodecsProxy::releaseDecoder):(WebKit::LibWebRTCCodecsProxy::createEncoder):(WebKit::LibWebRTCCodecsProxy::releaseEncoder):(WebKit::LibWebRTCCodecsProxy::allowsExitUnderMemoryPressure const):Platform/IPC/Connection.cpp:(IPC::Connection::SyncMessageState::enqueueMatchingMessages):(IPC::Connection::SyncMessageState::processIncomingMessage):(IPC::Connection::SyncMessageState::dispatchMessages):(IPC::Connection::SyncMessageState::dispatchMessagesAndResetDidScheduleDispatchMessagesForConnection):Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp:(WebKit::ThreadedDisplayRefreshMonitor::requestRefreshCallback):(WebKit::ThreadedDisplayRefreshMonitor::requiresDisplayRefreshCallback):(WebKit::ThreadedDisplayRefreshMonitor::invalidate):(WebKit::ThreadedDisplayRefreshMonitor::displayRefreshCallback):Shared/mac/MediaFormatReader/MediaSampleCursor.cpp:(WebKit::MediaSampleCursor::copy):(WebKit::MediaSampleCursor::getSampleMap const):UIProcess/mac/WKPrintingView.mm:(-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]):(prepareDataForPrintingOnSecondaryThread):Source/WebKitLegacy/ios:WebCoreSupport/WebFixedPositionContent.mm:(-[WebFixedPositionContent scrollOrZoomChanged:]):(-[WebFixedPositionContent overflowScrollPositionForLayer:changedTo:]):(-[WebFixedPositionContent setViewportConstrainedLayers:stickyContainerMap:]):(-[WebFixedPositionContent hasFixedOrStickyPositionLayers]):Source/WebKitLegacy/win:WebKitQuartzCoreAdditions/CAD3DRenderer.cpp:(WKQCA::CAD3DRenderer::swapChain):(WKQCA::CAD3DRenderer::renderAndPresent):(WKQCA::CAD3DRenderer::renderToImage):WebKitQuartzCoreAdditions/CAView.cpp:(WKQCA::CAView::releaseAllD3DResources):(WKQCA::CAView::CAView):(WKQCA::CAView::~CAView):(WKQCA::CAView::setLayer):(WKQCA::CAView::update):(WKQCA::CAView::drawToWindow):(WKQCA::CAView::drawToImage):(WKQCA::CAView::drawIntoDC):(WKQCA::CAView::setShouldInvertColors):(WKQCA::CAView::scheduleNextDraw):(WKQCA::CAView::displayLinkReachedCAMediaTime):(WKQCA::CAView::contextDidChange):(WKQCA::CAView::updateSoon):(WKQCA::CAView::updateViewsNow):(WKQCA::CAView::d3dDevice9):WebLocalizableStrings.cpp:(findCachedString):(cacheString):Tools:DumpRenderTree/JavaScriptThreading.cpp:(runJavaScriptThread):(startJavaScriptThreads):(stopJavaScriptThreads):Scripts/webkitpy/style/checkers/cpp.py:(check_lock_guard):Scripts/webkitpy/style/checkers/cpp_unittest.py:(WebKitStyleTest.test_lock_guard):TestWebKitAPI/Tests/WTF/Condition.cpp:TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:(TestWebKitAPI::testThreadGroup):(TestWebKitAPI::TEST):WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:(WTR::AXThread::dispatch):(WTR::AXThread::dispatchFunctionsFromAXThread):WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:(WTR::AXThread::initializeRunLoop): 3 edits in trunk/Source/WebCoreFix locking issue for AudioDestinationCocoa::m_isPlaying​https://bugs.webkit.org/show_bug.cgi?id=226129Reviewed by Jer Noble.Fix locking issue for AudioDestinationCocoa::m_isPlaying. The AudioDestinationCocoa::isPlaying()getter fails to lock. isPlaying() may get called from the main thread and the audio renderingthread. Since we cannot grab a lock on the rendering thread, use std::atomic bool type form_isPlaying.platform/audio/cocoa/AudioDestinationCocoa.cpp:(WebCore::AudioDestinationCocoa::setIsPlaying):(WebCore::AudioDestinationCocoa::renderOnRenderingTheadIfPlaying):platform/audio/cocoa/AudioDestinationCocoa.h: 92 edits in trunk/Source/JavaScriptCoreStop using holdLock() in JSC as it is not compatible with Clang thread safety analysis​https://bugs.webkit.org/show_bug.cgi?id=226116Reviewed by Mark Lam.Stop using holdLock() in JSC as it is not compatible with Clang thread safety analysis(WTF::CheckedLock). Use the Locker constructor instead.I'll eventually get rid of the holdLock() definition once I have managed to get rid ofall its usages.API/JSVirtualMachine.mm:(+[JSVMWrapperCache addWrapper:forJSContextGroupRef:]):(+[JSVMWrapperCache wrapperForJSContextGroupRef:]):(-[JSVirtualMachine addExternalRememberedObject:]):(-[JSVirtualMachine addManagedReference:withOwner:]):(-[JSVirtualMachine removeManagedReference:withOwner:]):(scanExternalObjectGraph):(scanExternalRememberedSet):API/glib/JSCVirtualMachine.cpp:(addWrapper):(removeWrapper):API/tests/ExecutionTimeLimitTest.cpp:(testExecutionTimeLimit):assembler/PerfLog.cpp:(JSC::PerfLog::PerfLog):(JSC::PerfLog::log):bytecode/StructureStubInfo.cpp:(JSC::StructureStubInfo::visitAggregateImpl):(JSC::StructureStubInfo::visitWeakReferences):bytecode/StructureStubInfo.h:(JSC::StructureStubInfo::considerCaching):(JSC::StructureStubInfo::clearBufferedStructures):bytecode/UnlinkedCodeBlock.cpp:(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):(JSC::UnlinkedCodeBlock::visitChildrenImpl):bytecode/UnlinkedCodeBlockGenerator.cpp:(JSC::UnlinkedCodeBlockGenerator::finalize):dfg/DFGAbstractInterpreterInlines.h:(JSC::DFG::AbstractInterpreter AbstractStateType ::executeEffects):heap/BlockDirectory.cpp:(JSC::BlockDirectory::~BlockDirectory):(JSC::BlockDirectory::removeBlock):(JSC::BlockDirectory::stopAllocatingForGood):(JSC::BlockDirectory::parallelNotEmptyBlockSource):heap/CodeBlockSet.cpp:(JSC::CodeBlockSet::add):(JSC::CodeBlockSet::remove):heap/CodeBlockSetInlines.h:(JSC::CodeBlockSet::iterate):heap/CompleteSubspace.cpp:(JSC::CompleteSubspace::allocatorForSlow):heap/Heap.cpp:(JSC::Heap::lastChanceToFinalize):(JSC::Heap::runNotRunningPhase):(JSC::Heap::runEndPhase):(JSC::Heap::finishRelinquishingConn):(JSC::visitSamplingProfiler):(JSC::Heap::setBonusVisitorTask):(JSC::Heap::runTaskInParallel):heap/HeapSnapshotBuilder.cpp:(JSC::HeapSnapshotBuilder::buildSnapshot):(JSC::HeapSnapshotBuilder::analyzeNode):(JSC::HeapSnapshotBuilder::analyzeEdge):(JSC::HeapSnapshotBuilder::analyzePropertyNameEdge):(JSC::HeapSnapshotBuilder::analyzeVariableNameEdge):(JSC::HeapSnapshotBuilder::analyzeIndexEdge):(JSC::HeapSnapshotBuilder::setOpaqueRootReachabilityReasonForCell):heap/IsoAlignedMemoryAllocator.cpp:(JSC::IsoAlignedMemoryAllocator::tryAllocateAlignedMemory):(JSC::IsoAlignedMemoryAllocator::freeAlignedMemory):heap/IsoCellSet.cpp:(JSC::IsoCellSet::parallelNotEmptyMarkedBlockSource):(JSC::IsoCellSet::addSlow):(JSC::IsoCellSet::didRemoveBlock):(JSC::IsoCellSet::sweepToFreeList):heap/IsoCellSetInlines.h:(JSC::IsoCellSet::forEachMarkedCellInParallel):heap/IsoSubspace.cpp:(JSC::IsoSubspace::IsoSubspace):heap/IsoSubspacePerVM.cpp:(JSC::IsoSubspacePerVM::forVM):heap/LocalAllocator.cpp:(JSC::LocalAllocator::LocalAllocator):(JSC::LocalAllocator::~LocalAllocator):heap/MachineStackMarker.cpp:(JSC::MachineThreads::tryCopyOtherThreadStacks):(JSC::MachineThreads::gatherConservativeRoots):heap/MarkedBlock.cpp:(JSC::MarkedBlock::Handle::stopAllocating):(JSC::MarkedBlock::Handle::resumeAllocating):(JSC::MarkedBlock::aboutToMarkSlow):(JSC::MarkedBlock::Handle::didConsumeFreeList):(JSC::MarkedBlock::noteMarkedSlow):(JSC::MarkedBlock::Handle::dumpState):heap/MarkedBlockInlines.h:(JSC::MarkedBlock::Handle::isLive):heap/MarkingConstraint.cpp:(JSC::MarkingConstraint::doParallelWork):heap/MarkingConstraintSolver.cpp:(JSC::MarkingConstraintSolver::addParallelTask):(JSC::MarkingConstraintSolver::runExecutionThread):heap/ParallelSourceAdapter.h:heap/SlotVisitor.cpp:(JSC::SlotVisitor::updateMutatorIsStopped):(JSC::SlotVisitor::drain):(JSC::SlotVisitor::performIncrementOfDraining):(JSC::SlotVisitor::drainFromShared):(JSC::SlotVisitor::drainInParallelPassively):(JSC::SlotVisitor::waitForTermination):(JSC::SlotVisitor::donateAll):(JSC::SlotVisitor::didRace):heap/Subspace.cpp:(JSC::Subspace::parallelDirectorySource):heap/SubspaceInlines.h:(JSC::Subspace::forEachMarkedCellInParallel):inspector/JSInjectedScriptHost.cpp:jit/ExecutableAllocator.cpp:jsc.cpp:(Worker::Worker):(Worker::~Worker):(Worker::dequeue):(Workers::broadcast):(Workers::report):(Workers::tryGetReport):(Workers::getReport):(JSC_DEFINE_HOST_FUNCTION):runtime/DeferredWorkTimer.cpp:(JSC::DeferredWorkTimer::doWork):runtime/ErrorInstance.cpp:(JSC::ErrorInstance::finishCreation):runtime/EvalExecutable.cpp:(JSC::EvalExecutable::visitChildrenImpl):runtime/FileBasedFuzzerAgentBase.cpp:(JSC::FileBasedFuzzerAgentBase::getPrediction):runtime/FunctionExecutable.cpp:(JSC::FunctionExecutable::visitChildrenImpl):runtime/JSArray.cpp:(JSC::JSArray::shiftCountWithArrayStorage):(JSC::JSArray::unshiftCountWithArrayStorage):runtime/JSArrayBufferView.cpp:(JSC::JSArrayBufferView::detach):(JSC::JSArrayBufferView::slowDownAndWasteMemory):runtime/JSCell.h:runtime/JSFinalizationRegistry.cpp:(JSC::JSFinalizationRegistry::visitChildrenImpl):(JSC::JSFinalizationRegistry::finalizeUnconditionally):(JSC::JSFinalizationRegistry::takeDeadHoldingsValue):(JSC::JSFinalizationRegistry::registerTarget):(JSC::JSFinalizationRegistry::unregister):runtime/JSGenericTypedArrayViewInlines.h:(JSC::JSGenericTypedArrayView Adaptor ::visitChildrenImpl):runtime/JSGlobalObject.cpp:(JSC::JSC_DEFINE_HOST_FUNCTION):runtime/JSModuleNamespaceObject.cpp:(JSC::JSModuleNamespaceObject::finishCreation):(JSC::JSModuleNamespaceObject::visitChildrenImpl):runtime/JSObject.cpp:(JSC::JSObject::visitButterflyImpl):runtime/JSRunLoopTimer.cpp:(JSC::JSRunLoopTimer::Manager::timerDidFire):(JSC::JSRunLoopTimer::Manager::registerVM):(JSC::JSRunLoopTimer::Manager::unregisterVM):(JSC::JSRunLoopTimer::Manager::scheduleTimer):(JSC::JSRunLoopTimer::Manager::cancelTimer):(JSC::JSRunLoopTimer::Manager::timeUntilFire):(JSC::JSRunLoopTimer::timerDidFire):(JSC::JSRunLoopTimer::setTimeUntilFire):(JSC::JSRunLoopTimer::cancelTimer):(JSC::JSRunLoopTimer::addTimerSetNotification):(JSC::JSRunLoopTimer::removeTimerSetNotification):runtime/JSSegmentedVariableObject.cpp:(JSC::JSSegmentedVariableObject::findVariableIndex):(JSC::JSSegmentedVariableObject::addVariables):(JSC::JSSegmentedVariableObject::visitChildrenImpl):runtime/ModuleProgramExecutable.cpp:(JSC::ModuleProgramExecutable::visitChildrenImpl):runtime/NarrowingNumberPredictionFuzzerAgent.cpp:(JSC::NarrowingNumberPredictionFuzzerAgent::getPrediction):runtime/ProgramExecutable.cpp:(JSC::ProgramExecutable::visitChildrenImpl):runtime/RandomizingFuzzerAgent.cpp:(JSC::RandomizingFuzzerAgent::getPrediction):runtime/RegExp.cpp:(JSC::RegExp::compile):(JSC::RegExp::matchConcurrently):(JSC::RegExp::compileMatchOnly):(JSC::RegExp::deleteCode):runtime/SamplingProfiler.cpp:(JSC::SamplingProfiler::takeSample):(JSC::SamplingProfiler::stackTracesAsJSON):(JSC::SamplingProfiler::reportTopFunctions):(JSC::SamplingProfiler::reportTopBytecodes):runtime/ScriptExecutable.cpp:(JSC::ScriptExecutable::createTemplateObject):runtime/SparseArrayValueMap.cpp:(JSC::SparseArrayValueMap::add):(JSC::SparseArrayValueMap::remove):(JSC::SparseArrayValueMap::getConcurrently):(JSC::SparseArrayValueMap::visitChildrenImpl):runtime/Structure.cpp:(JSC::Structure::changePrototypeTransition):(JSC::Structure::toDictionaryTransition):(JSC::Structure::nonPropertyTransitionSlow):(JSC::Structure::setBrandTransition):runtime/StructureCache.cpp:(JSC::StructureCache::createEmptyStructure):(JSC::StructureCache::emptyObjectStructureConcurrently):runtime/VM.cpp:(JSC::waitForVMDestruction):(JSC::VM::~VM):(JSC::VM::gatherScratchBufferRoots):(JSC::VM::scratchBufferForSize):(JSC::VM::clearScratchBuffers):(JSC::VM::addLoopHintExecutionCounter):(JSC::VM::getLoopHintExecutionCounter):(JSC::VM::removeLoopHintExecutionCounter):runtime/VMTraps.cpp:(JSC::VMTraps::tryInstallTrapBreakpoints):(JSC::VMTraps::invalidateCodeBlocksOnStack):(JSC::VMTraps::willDestroyVM):(JSC::VMTraps::fireTrap):(JSC::VMTraps::handleTraps):(JSC::VMTraps::takeTopPriorityTrap):runtime/WeakMapImpl.cpp:(JSC::WeakMapImpl BucketType ::visitOutputConstraints):runtime/WeakMapImpl.h:(JSC::WeakMapImpl::finishCreation):runtime/WeakMapImplInlines.h:(JSC::WeakMapImpl WeakMapBucket ::rehash):runtime/WideningNumberPredictionFuzzerAgent.cpp:(JSC::WideningNumberPredictionFuzzerAgent::getPrediction):tools/CompilerTimingScope.cpp:tools/FunctionOverrides.cpp:(JSC::FunctionOverrides::FunctionOverrides):(JSC::FunctionOverrides::reinstallOverrides):(JSC::FunctionOverrides::initializeOverrideFor):tools/Integrity.cpp:(JSC::Integrity::Random::reloadAndCheckShouldAuditSlow):tools/VMInspector.cpp:(JSC::VMInspector::add):(JSC::VMInspector::remove):(JSC::VMInspector::codeBlockForMachinePC):wasm/WasmBBQPlan.cpp:(JSC::Wasm::BBQPlan::work):(JSC::Wasm::BBQPlan::compileFunction):wasm/WasmCalleeRegistry.h:(JSC::Wasm::CalleeRegistry::registerCallee):(JSC::Wasm::CalleeRegistry::unregisterCallee):wasm/WasmCodeBlock.cpp:(JSC::Wasm::CodeBlock::CodeBlock):(JSC::Wasm::CodeBlock::waitUntilFinished):(JSC::Wasm::CodeBlock::compileAsync):wasm/WasmContext.cpp:(JSC::Wasm::Context::scratchBufferForSize):wasm/WasmEntryPlan.cpp:(JSC::Wasm::EntryPlan::parseAndValidateModule):(JSC::Wasm::EntryPlan::prepare):(JSC::Wasm::EntryPlan::compileFunctions):wasm/WasmEntryPlan.h:(JSC::Wasm::EntryPlan::tryReserveCapacity):wasm/WasmFaultSignalHandler.cpp:(JSC::Wasm::trapHandler):wasm/WasmInstance.cpp:(JSC::Wasm::Instance::setFunctionWrapper):wasm/WasmLLIntPlan.cpp:(JSC::Wasm::LLIntPlan::compileFunction):(JSC::Wasm::LLIntPlan::completeInStreaming):(JSC::Wasm::LLIntPlan::didCompileFunctionInStreaming):(JSC::Wasm::LLIntPlan::didFailInStreaming):wasm/WasmMachineThreads.cpp:(JSC::Wasm::resetInstructionCacheOnAllThreads):wasm/WasmMemory.cpp:(JSC::Wasm::Memory::growShared):wasm/WasmModule.cpp:(JSC::Wasm::Module::getOrCreateCodeBlock):wasm/WasmOMGForOSREntryPlan.cpp:(JSC::Wasm::OMGForOSREntryPlan::work):wasm/WasmOMGPlan.cpp:(JSC::Wasm::OMGPlan::work):wasm/WasmOperations.cpp:(JSC::Wasm::triggerOMGReplacementCompile):(JSC::Wasm::JSC_DEFINE_JIT_OPERATION):wasm/WasmSignatureInlines.h:(JSC::Wasm::SignatureInformation::get):wasm/WasmSlowPaths.cpp:(JSC::LLInt::jitCompileAndSetHeuristics):(JSC::LLInt::WASM_SLOW_PATH_DECL):wasm/WasmStreamingCompiler.cpp:(JSC::Wasm::StreamingCompiler::didCompileFunction):(JSC::Wasm::StreamingCompiler::finalize):(JSC::Wasm::StreamingCompiler::fail):(JSC::Wasm::StreamingCompiler::cancel):wasm/WasmStreamingPlan.cpp:(JSC::Wasm::StreamingPlan::work):wasm/WasmTable.cpp:(JSC::Wasm::Table::grow):(JSC::Wasm::Table::visitAggregateImpl):wasm/WasmThunks.cpp:(JSC::Wasm::Thunks::stub):(JSC::Wasm::Thunks::existingStub):wasm/WasmWorklist.cpp:wasm/js/JSWebAssemblyInstance.cpp:(JSC::JSWebAssemblyInstance::visitChildrenImpl): 63 edits in trunk/Source/WebCoreStop using holdLock() in WebCore as it is not compatible with Clang thread safety analysis​https://bugs.webkit.org/show_bug.cgi?id=226119Reviewed by Sam Weinig.Stop using holdLock() in WebCore as it is not compatible with Clang thread safety analysis(WTF::CheckedLock). Use the Locker constructor directly instead.This is a step towards getting rid of holdLock() entirely.Modules/speech/SpeechRecognitionCaptureSourceImpl.cpp:(WebCore::SpeechRecognitionCaptureSourceImpl::audioSamplesAvailable):Modules/webaudio/AudioBuffer.cpp:(WebCore::AudioBuffer::releaseMemory):(WebCore::AudioBuffer::memoryCost const):Modules/webaudio/AudioBufferSourceNode.cpp:(WebCore::AudioBufferSourceNode::setBuffer):(WebCore::AudioBufferSourceNode::startPlaying):Modules/webaudio/AudioWorkletNode.cpp:(WebCore::AudioWorkletNode::~AudioWorkletNode):(WebCore::AudioWorkletNode::initializeAudioParameters):(WebCore::AudioWorkletNode::setProcessor):Modules/webaudio/ConvolverNode.cpp:(WebCore::ConvolverNode::setBuffer):Modules/webaudio/MediaElementAudioSourceNode.cpp:(WebCore::MediaElementAudioSourceNode::setFormat):Modules/webaudio/MediaStreamAudioSourceNode.cpp:(WebCore::MediaStreamAudioSourceNode::setFormat):Modules/webaudio/OscillatorNode.cpp:(WebCore::OscillatorNode::setPeriodicWave):Modules/webaudio/PannerNode.cpp:(WebCore::PannerNode::setPanningModel):(WebCore::PannerNode::setPosition):(WebCore::PannerNode::setOrientation):(WebCore::PannerNode::setDistanceModel):(WebCore::PannerNode::setRefDistance):(WebCore::PannerNode::setMaxDistance):(WebCore::PannerNode::setRolloffFactor):(WebCore::PannerNode::setConeOuterGain):(WebCore::PannerNode::setConeOuterAngle):(WebCore::PannerNode::setConeInnerAngle):Modules/webaudio/ScriptProcessorNode.cpp:(WebCore::ScriptProcessorNode::uninitialize):(WebCore::ScriptProcessorNode::process):Modules/webaudio/WaveShaperProcessor.cpp:(WebCore::WaveShaperProcessor::setCurve):(WebCore::WaveShaperProcessor::setOversample):Modules/webdatabase/Database.cpp:(WebCore::Database::performOpenAndVerify):Modules/webdatabase/DatabaseManager.cpp:(WebCore::DatabaseManager::addProposedDatabase):(WebCore::DatabaseManager::removeProposedDatabase):(WebCore::DatabaseManager::fullPathForDatabase):(WebCore::DatabaseManager::detailsForNameAndOrigin):Modules/webdatabase/DatabaseTracker.cpp:(WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):(WebCore::DatabaseTracker::notifyDatabasesChanged):bindings/js/JSDOMGlobalObject.cpp:(WebCore::JSDOMGlobalObject::visitChildrenImpl):bindings/js/JSPaintWorkletGlobalScopeCustom.cpp:(WebCore::JSPaintWorkletGlobalScope::visitAdditionalChildren):css/CSSPaintImageValue.cpp:(WebCore::CSSPaintImageValue::image):css/DOMCSSPaintWorklet.cpp:(WebCore::PaintWorklet::addModule):dom/EventListenerMap.cpp:(WebCore::EventListenerMap::clear):(WebCore::EventListenerMap::replace):(WebCore::EventListenerMap::add):(WebCore::EventListenerMap::remove):(WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):dom/EventTarget.cpp:(WebCore::EventTarget::visitJSEventListeners):dom/Node.cpp:(WebCore::Node::ensureEventTargetData):(WebCore::Node::clearEventTargetData):html/CanvasBase.cpp:(WebCore::CanvasBase::memoryCost const):(WebCore::CanvasBase::externalMemoryCost const):(WebCore::CanvasBase::setImageBuffer const):html/HTMLCollection.cpp:(WebCore::HTMLCollection::invalidateNamedElementCache const):html/HTMLCollection.h:(WebCore::HTMLCollection::memoryCost const):(WebCore::HTMLCollection::setNamedItemCache const):html/OffscreenCanvas.cpp:(WebCore::OffscreenCanvas::pushBufferToPlaceholder):(WebCore::OffscreenCanvas::commitToPlaceholderCanvas):html/canvas/OESVertexArrayObject.cpp:(WebCore::OESVertexArrayObject::deleteVertexArrayOES):(WebCore::OESVertexArrayObject::bindVertexArrayOES):html/canvas/WebGL2RenderingContext.cpp:(WebCore::WebGL2RenderingContext::bindFramebuffer):(WebCore::WebGL2RenderingContext::deleteFramebuffer):(WebCore::WebGL2RenderingContext::vertexAttribIPointer):(WebCore::WebGL2RenderingContext::deleteQuery):(WebCore::WebGL2RenderingContext::beginQuery):(WebCore::WebGL2RenderingContext::endQuery):(WebCore::WebGL2RenderingContext::deleteSampler):(WebCore::WebGL2RenderingContext::bindSampler):(WebCore::WebGL2RenderingContext::deleteSync):(WebCore::WebGL2RenderingContext::deleteTransformFeedback):(WebCore::WebGL2RenderingContext::bindTransformFeedback):(WebCore::WebGL2RenderingContext::beginTransformFeedback):(WebCore::WebGL2RenderingContext::setIndexedBufferBinding):(WebCore::WebGL2RenderingContext::deleteVertexArray):(WebCore::WebGL2RenderingContext::bindVertexArray):(WebCore::WebGL2RenderingContext::addMembersToOpaqueRoots):html/canvas/WebGLContextGroup.cpp:(WebCore::WebGLContextGroup::detachAndRemoveAllObjects):html/canvas/WebGLFramebuffer.cpp:(WebCore::WebGLFramebuffer::initializeAttachments):(WebCore::WebGLFramebuffer::setAttachmentInternal):html/canvas/WebGLObject.cpp:(WebCore::WebGLObject::runDestructor):html/canvas/WebGLRenderingContextBase.cpp:(WebCore::WebGLRenderingContextBase::attachShader):(WebCore::WebGLRenderingContextBase::bindBuffer):(WebCore::WebGLRenderingContextBase::bindFramebuffer):(WebCore::WebGLRenderingContextBase::bindRenderbuffer):(WebCore::WebGLRenderingContextBase::bindTexture):(WebCore::WebGLRenderingContextBase::deleteBuffer):(WebCore::WebGLRenderingContextBase::deleteFramebuffer):(WebCore::WebGLRenderingContextBase::deleteProgram):(WebCore::WebGLRenderingContextBase::deleteRenderbuffer):(WebCore::WebGLRenderingContextBase::deleteShader):(WebCore::WebGLRenderingContextBase::deleteTexture):(WebCore::WebGLRenderingContextBase::detachShader):(WebCore::WebGLRenderingContextBase::useProgram):(WebCore::WebGLRenderingContextBase::vertexAttribPointer):(WebCore::WebGLRenderingContextBase::detachAndRemoveAllObjects):(WebCore::WebGLRenderingContextBase::addMembersToOpaqueRoots):platform/audio/ReverbConvolver.cpp:(WebCore::ReverbConvolver::~ReverbConvolver):platform/audio/cocoa/AudioDestinationCocoa.cpp:(WebCore::AudioDestinationCocoa::start):(WebCore::AudioDestinationCocoa::stop):(WebCore::AudioDestinationCocoa::setIsPlaying):platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:(WebCore::AudioSourceProviderGStreamer::handleSample):(WebCore::AudioSourceProviderGStreamer::clearAdapters):platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:(webkitWebAudioSourceSetDispatchToRenderThreadFunction):platform/graphics/DisplayRefreshMonitor.cpp:(WebCore::DisplayRefreshMonitor::requestRefreshCallback):(WebCore::DisplayRefreshMonitor::displayLinkFired):(WebCore::DisplayRefreshMonitor::displayDidRefresh):platform/graphics/FontCache.cpp:(WebCore::FontCache::cachedFontPlatformData):(WebCore::FontCache::fontForPlatformData):(WebCore::FontCache::purgeInactiveFontData):(WebCore::FontCache::inactiveFontCount):platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:(WebCore::AudioSourceProviderAVFObjC::destroyMixIfNeeded):(WebCore::AudioSourceProviderAVFObjC::createMixIfNeeded):(WebCore::AudioSourceProviderAVFObjC::prepareCallback):(WebCore::AudioSourceProviderAVFObjC::unprepareCallback):(WebCore::AudioSourceProviderAVFObjC::processCallback):platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::destroyLayers):(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::rootLayerBoundsDidChange):platform/graphics/cg/ColorCG.cpp:(WebCore::cachedCGColor):platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:(WebCore::MediaPlayerPrivateGStreamer::hasFirstVideoSampleReachedSink const):(WebCore::MediaPlayerPrivateGStreamer::pushTextureToCompositor):(WebCore::MediaPlayerPrivateGStreamer::triggerRepaint):(WebCore::MediaPlayerPrivateGStreamer::flushCurrentBuffer):(WebCore::MediaPlayerPrivateGStreamer::paint):(WebCore::MediaPlayerPrivateGStreamer::copyVideoTextureToPlatformTexture):(WebCore::MediaPlayerPrivateGStreamer::waitForCDMAttachment):platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:(webKitWebSrcConstructed):(webKitWebSrcGetProperty):(webKitWebSrcSetContext):(webKitWebSrcCreate):(webKitWebSrcMakeRequest):(webKitWebSrcStop):(webKitWebSrcGetSize):(webKitWebSrcIsSeekable):(webKitWebSrcDoSeek):(webKitWebSrcQuery):(webKitWebSrcUnLock):(webKitWebSrcUnLockStop):(webKitWebSrcSetMediaPlayer):(webKitSrcPassedCORSAccessCheck):(CachedResourceStreamingClient::responseReceived):(CachedResourceStreamingClient::dataReceived):(CachedResourceStreamingClient::accessControlCheckFailed):(CachedResourceStreamingClient::loadFailed):(CachedResourceStreamingClient::loadFinished):(webKitSrcWouldTaintOrigin):platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:(isCDMProxyAvailable):(attachCDMProxy):platform/graphics/gstreamer/mse/MediaSourceTrackGStreamer.cpp:(WebCore::MediaSourceTrackGStreamer::isReadyForMoreSamples):(WebCore::MediaSourceTrackGStreamer::notifyWhenReadyForMoreSamples):(WebCore::MediaSourceTrackGStreamer::enqueueObject):(WebCore::MediaSourceTrackGStreamer::clearQueue):platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:(webKitMediaSrcActivateMode):(webKitMediaSrcPadLinked):(webKitMediaSrcLoop):(webKitMediaSrcStreamFlush):platform/graphics/mac/ColorMac.mm:(WebCore::nsColor):platform/graphics/nicosia/NicosiaImageBufferPipe.cpp:(Nicosia::NicosiaImageBufferPipeSource::handle):platform/ios/wak/WebCoreThread.mm:(HandleDelegateSource):(WebThreadAdoptAndRelease):(WebCoreObjCDeallocOnWebThreadImpl):(WebCoreObjCDeallocWithWebThreadLockImpl):(HandleWebThreadReleaseSource):platform/ios/wak/WebCoreThreadRun.cpp:platform/mac/PublicSuffixMac.mm:(WebCore::topPrivatelyControlledDomain):platform/mediarecorder/MediaRecorderPrivateMock.cpp:(WebCore::MediaRecorderPrivateMock::videoSampleAvailable):(WebCore::MediaRecorderPrivateMock::audioSamplesAvailable):(WebCore::MediaRecorderPrivateMock::fetchData):platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:(WebCore::MediaRecorderPrivateWriter::appendData):(WebCore::MediaRecorderPrivateWriter::takeData):platform/mediastream/RealtimeMediaSource.cpp:(WebCore::RealtimeMediaSource::addAudioSampleObserver):(WebCore::RealtimeMediaSource::removeAudioSampleObserver):(WebCore::RealtimeMediaSource::addVideoSampleObserver):(WebCore::RealtimeMediaSource::removeVideoSampleObserver):(WebCore::RealtimeMediaSource::videoSampleAvailable):(WebCore::RealtimeMediaSource::audioSamplesAvailable):platform/mediastream/RealtimeOutgoingAudioSource.cpp:(WebCore::RealtimeOutgoingAudioSource::~RealtimeOutgoingAudioSource):(WebCore::RealtimeOutgoingAudioSource::AddSink):(WebCore::RealtimeOutgoingAudioSource::RemoveSink):(WebCore::RealtimeOutgoingAudioSource::sendAudioFrames):platform/mediastream/RealtimeOutgoingVideoSource.cpp:(WebCore::RealtimeOutgoingVideoSource::~RealtimeOutgoingVideoSource):(WebCore::RealtimeOutgoingVideoSource::AddOrUpdateSink):(WebCore::RealtimeOutgoingVideoSource::RemoveSink):(WebCore::RealtimeOutgoingVideoSource::sendFrame):platform/mediastream/mac/BaseAudioSharedUnit.cpp:(WebCore::BaseAudioSharedUnit::addClient):(WebCore::BaseAudioSharedUnit::removeClient):(WebCore::BaseAudioSharedUnit::forEachClient const):(WebCore::BaseAudioSharedUnit::clearClients):(WebCore::BaseAudioSharedUnit::audioSamplesAvailable):platform/mediastream/mac/WebAudioSourceProviderCocoa.mm:(WebCore::WebAudioSourceProviderCocoa::prepare):platform/network/cf/LoaderRunLoopCF.cpp:(WebCore::loaderRunLoop):platform/network/curl/CurlRequest.cpp:(WebCore::CurlRequest::cancel):(WebCore::CurlRequest::isCancelled):(WebCore::CurlRequest::isCompletedOrCancelled):(WebCore::CurlRequest::didCompleteTransfer):platform/network/curl/CurlRequestScheduler.cpp:(WebCore::CurlRequestScheduler::callOnWorkerThread):(WebCore::CurlRequestScheduler::startThreadIfNeeded):(WebCore::CurlRequestScheduler::stopThreadIfNoMoreJobRunning):(WebCore::CurlRequestScheduler::stopThread):(WebCore::CurlRequestScheduler::executeTasks):(WebCore::CurlRequestScheduler::workerThread):(WebCore::CurlRequestScheduler::startTransfer):(WebCore::CurlRequestScheduler::finalizeTransfer):platform/network/curl/CurlStreamScheduler.cpp:(WebCore::CurlStreamScheduler::callOnWorkerThread):(WebCore::CurlStreamScheduler::startThreadIfNeeded):(WebCore::CurlStreamScheduler::stopThreadIfNoMoreJobRunning):(WebCore::CurlStreamScheduler::executeTasks):style/StyleBuilder.cpp:(WebCore::Style::Builder::applyProperty):workers/WorkerOrWorkletThread.cpp:(WebCore::WorkerOrWorkletThread::workerOrWorkletThread):(WebCore::WorkerOrWorkletThread::start):worklets/PaintWorkletGlobalScope.cpp:(WebCore::PaintWorkletGlobalScope::registerPaint):worklets/PaintWorkletGlobalScope.h: 9 edits in trunk/Source/WebKit[Cocoa] Expand sandbox with missing sysctl-read handles for core CPU and cache features​https://bugs.webkit.org/show_bug.cgi?id=226126 rdar://problem/78218756 Reviewed by Per Arne Vollan.Update our sandbox profiles to permit read access to a set of CPU and cache features that have been requested byour sandbox and system framework teams. These have been judged to be safe to expose to our processes, and willallow frameworks to make optimal use of the system WebKit is running on.GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb:Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in:WebProcess/com.apple.WebProcess.sb.in: 14 edits in trunk/Source/WebKitMake CGColorSpaceRef argument coding match other CF objects and use CGColorSpaceCreateWithPropertyList for fallback​https://bugs.webkit.org/show_bug.cgi?id=226112Reviewed by Darin Adler.This is a precursor to some color space type unification. This change:Modernizes CF arugment coders to use ArgumentCoder specialization. It also meanswe now support encoding CF types both as plain types and RetainPtr types, withdecoding being kept only supporing RetainPtr s, as decoding into non-smart pointeris not very useful.Move CGColorSpaceRef coding to ArgumentCodersCF and use CGColorSpaceCopyPropertyListand CGColorSpaceCreateWithPropertyList as the fallback coding (if there is no name),matching what other libraries on macOS and iOS do.Switch ColorSpaceData to be a struct wrapping an Optional RetainPtr CGColorSpaceRef and use the new shared coding. This will be replaced entirely in subsequent changesso I didn't want to change this too much now.NetworkProcess/NetworkProcessCreationParameters.cpp:(WebKit::NetworkProcessCreationParameters::encode const):(WebKit::NetworkProcessCreationParameters::decode):NetworkProcess/NetworkSessionCreationParameters.cpp:(WebKit::NetworkSessionCreationParameters::encode const):(WebKit::NetworkSessionCreationParameters::decode):Shared/Cocoa/ArgumentCodersCocoa.mm:(IPC::encodeDataInternal):(IPC::decodeDataInternal):(IPC::encodeDateInternal):(IPC::decodeDateInternal):(IPC::encodeNumberInternal):(IPC::decodeNumberInternal):(IPC::encodeSecureCodingInternal):(IPC::decodeSecureCodingInternal):(IPC::encodeStringInternal):(IPC::decodeStringInternal):(IPC::encodeURLInternal):(IPC::decodeURLInternal):Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:(IPC::ArgumentCoder Ref Font ::encodePlatformData):(IPC::ArgumentCoder Ref Font ::decodePlatformData):Shared/FontInfo.cpp:(WebKit::FontInfo::encode const):(WebKit::FontInfo::decode):Shared/Plugins/PluginProcessCreationParameters.cpp:(WebKit::PluginProcessCreationParameters::encode const):(WebKit::PluginProcessCreationParameters::decode):Shared/WebProcessCreationParameters.cpp:(WebKit::WebProcessCreationParameters::encode const):(WebKit::WebProcessCreationParameters::decode):Shared/cf/ArgumentCodersCF.cpp:(IPC::typeFromCFTypeRef):(IPC::ArgumentCoder CFTypeRef ::encode):(IPC::ArgumentCoder RetainPtr CFTypeRef ::decode):(IPC::ArgumentCoder CFArrayRef ::encode):(IPC::ArgumentCoder RetainPtr CFArrayRef ::decode):(IPC::ArgumentCoder CFBooleanRef ::encode):(IPC::ArgumentCoder RetainPtr CFBooleanRef ::decode):(IPC::ArgumentCoder CFDataRef ::encode):(IPC::ArgumentCoder RetainPtr CFDataRef ::decode):(IPC::ArgumentCoder CFDateRef ::encode):(IPC::ArgumentCoder RetainPtr CFDateRef ::decode):(IPC::ArgumentCoder CFDictionaryRef ::encode):(IPC::ArgumentCoder RetainPtr CFDictionaryRef ::decode):(IPC::ArgumentCoder CFNumberRef ::encode):(IPC::ArgumentCoder RetainPtr CFNumberRef ::decode):(IPC::ArgumentCoder CFStringRef ::encode):(IPC::ArgumentCoder RetainPtr CFStringRef ::decode):(IPC::ArgumentCoder CFURLRef ::encode):(IPC::ArgumentCoder RetainPtr CFURLRef ::decode):(IPC::ArgumentCoder CGColorSpaceRef ::encode):(IPC::ArgumentCoder RetainPtr CGColorSpaceRef ::decode):(IPC::ArgumentCoder SecCertificateRef ::encode):(IPC::ArgumentCoder RetainPtr SecCertificateRef ::decode):(IPC::ArgumentCoder SecKeychainItemRef ::encode):(IPC::ArgumentCoder RetainPtr SecKeychainItemRef ::decode):(IPC::ArgumentCoder SecAccessControlRef ::encode):(IPC::ArgumentCoder RetainPtr SecAccessControlRef ::decode):(IPC::ArgumentCoder SecTrustRef ::encode):(IPC::ArgumentCoder RetainPtr SecTrustRef ::decode):(IPC::encode): Deleted.(IPC::decode): Deleted.Shared/cf/ArgumentCodersCF.h:(IPC::CFRetainPtrArgumentCoder::encode):Shared/mac/ColorSpaceData.mm:(WebKit::ColorSpaceData::encode const):(WebKit::ColorSpaceData::decode):(): Deleted.Shared/mac/SecItemRequestData.cpp:(WebKit::SecItemRequestData::encode const):(WebKit::SecItemRequestData::decode):Shared/mac/SecItemResponseData.cpp:(WebKit::SecItemResponseData::encode const):(WebKit::SecItemResponseData::decode):Shared/mac/WebCoreArgumentCodersMac.mm:(IPC::ArgumentCoder WebCore::CertificateInfo ::encode):(IPC::ArgumentCoder WebCore::CertificateInfo ::decode):(IPC::encodeNSError):(IPC::decodeNSError):(IPC::ArgumentCoder WebCore::ContentFilterUnblockHandler ::encode):(IPC::ArgumentCoder WebCore::ContentFilterUnblockHandler ::decode): 2 edits in trunk/Source/WebCoreAll Netflix playback fails after r277740​https://bugs.webkit.org/show_bug.cgi?id=226120 rdar://problem/78333782 Reviewed by Eric Carlson.platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::updateLicense):Add missing !.Use CheckedCondition in more places​https://bugs.webkit.org/show_bug.cgi?id=226113Reviewed by Darin Adler.Use CheckedCondition in more places to benefit from Clang Thread SafetyAnalysis.Source/WebCore:Modules/webdatabase/DatabaseTask.cpp:(WebCore::DatabaseTaskSynchronizer::waitForTaskCompletion):(WebCore::DatabaseTaskSynchronizer::taskCompleted):Modules/webdatabase/DatabaseTask.h:(WebCore::DatabaseTaskSynchronizer::WTF_GUARDED_BY_LOCK):platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:(webKitWebAudioSrcRenderAndPushFrames):(webKitWebAudioSrcRenderIteration):(webKitWebAudioSrcChangeState):platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:(WebCore::ImageDecoderGStreamer::setHasEOS):(WebCore::ImageDecoderGStreamer::notifySample):(WebCore::ImageDecoderGStreamer::InnerDecoder::handleMessage):(WebCore::ImageDecoderGStreamer::InnerDecoder::preparePipeline):(WebCore::ImageDecoderGStreamer::pushEncodedData):platform/graphics/gstreamer/ImageDecoderGStreamer.h:platform/graphics/gstreamer/MainThreadNotifier.h:platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):(WebCore::MediaPlayerPrivateGStreamer::pushTextureToCompositor):(WebCore::MediaPlayerPrivateGStreamer::repaint):(WebCore::MediaPlayerPrivateGStreamer::triggerRepaint):(WebCore::MediaPlayerPrivateGStreamer::cancelRepaint):(WebCore::MediaPlayerPrivateGStreamer::pushNextHolePunchBuffer):(WebCore::MediaPlayerPrivateGStreamer::waitForCDMAttachment):(WebCore::MediaPlayerPrivateGStreamer::cdmInstanceAttached):platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:(WebCore::MediaPlayerPrivateGStreamer::WTF_GUARDED_BY_LOCK):platform/graphics/holepunch/MediaPlayerPrivateHolePunch.cpp:(WebCore::MediaPlayerPrivateHolePunch::pushNextHolePunchBuffer):platform/graphics/nicosia/NicosiaImageBufferPipe.cpp:(Nicosia::NicosiaImageBufferPipeSource::handle):platform/graphics/nicosia/texmap/NicosiaGCGLLayer.cpp:(Nicosia::GCGLLayer::swapBuffersIfNeeded):platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:(WebCore::TextureMapperPlatformLayerProxy::~TextureMapperPlatformLayerProxy):(WebCore::TextureMapperPlatformLayerProxy::activateOnCompositingThread):(WebCore::TextureMapperPlatformLayerProxy::invalidate):(WebCore::TextureMapperPlatformLayerProxy::releaseUnusedBuffersTimerFired):(WebCore::TextureMapperPlatformLayerProxy::swapBuffer):(WebCore::TextureMapperPlatformLayerProxy::dropCurrentBufferWhilePreservingTexture):(WebCore::TextureMapperPlatformLayerProxy::scheduleUpdateOnCompositorThread):(WebCore::TextureMapperPlatformLayerProxy::compositorThreadUpdateTimerFired):platform/graphics/texmap/TextureMapperPlatformLayerProxy.h:(WebCore::TextureMapperPlatformLayerProxy::WTF_RETURNS_LOCK):(WebCore::TextureMapperPlatformLayerProxy::WTF_GUARDED_BY_LOCK):Source/WTF:wtf/RunLoop.h:wtf/SynchronizedFixedQueue.h:wtf/WTFSemaphore.h:wtf/WorkQueue.cpp:(WTF::WorkQueue::concurrentApply):wtf/generic/RunLoopGeneric.cpp:(WTF::RunLoop::~RunLoop):(WTF::RunLoop::populateTasks):(WTF::RunLoop::runImpl):(WTF::RunLoop::stop):(WTF::RunLoop::wakeUpWithLock):(WTF::RunLoop::wakeUp):(WTF::RunLoop::schedule):(WTF::RunLoop::scheduleAndWakeUpWithLock):(WTF::RunLoop::TimerBase::~TimerBase):(WTF::RunLoop::TimerBase::start):(WTF::RunLoop::TimerBase::stop):(WTF::RunLoop::TimerBase::isActive const):(WTF::RunLoop::TimerBase::secondsUntilFire const):wtf/win/RunLoopWin.cpp:(WTF::RunLoop::TimerBase::timerFired):(WTF::RunLoop::TimerBase::start):(WTF::RunLoop::TimerBase::stop):(WTF::RunLoop::TimerBase::isActive const):(WTF::RunLoop::TimerBase::secondsUntilFire const): 12 edits2 adds in trunk/Source[macOS] Adopt QLItem in WKImageExtractionPreviewController​https://bugs.webkit.org/show_bug.cgi?id=226114rdar://76657718Reviewed by Tim Horton.Source/WebCore/PAL:Add a PAL softlinking header for QuickLookUI on macOS.PAL.xcodeproj/project.pbxproj:pal/PlatformMac.cmake:pal/mac/QuickLookUISoftLink.h: Added.pal/mac/QuickLookUISoftLink.mm: Added.pal/spi/mac/QuickLookMacSPI.h:Add staging declarations for some new QuickLook SPI; these method declarations should be moved into the non-internal-SDK section in the (near) future, once it is safe to do so.Source/WebKit:Adopt QLItem in WKImageExtractionPreviewController, and use it in place of WKImageExtractionPreviewItem.This allows us to vend image previews based solely on image data, rather than a file on disk.UIProcess/mac/WKImageExtractionPreviewController.h:UIProcess/mac/WKImageExtractionPreviewController.mm:(-[WKImageExtractionPreviewController initWithPage:imageData:title:imageURL:]):(-[WKImageExtractionPreviewController provideDataForItem:]):(-[WKImageExtractionPreviewController previewPanel:previewItemAtIndex:]):(-[WKImageExtractionPreviewItem initWithFileURL:title:imageURL:pageURL:]): Deleted.(-[WKImageExtractionPreviewItem dealloc]): Deleted.(-[WKImageExtractionPreviewItem previewItemURL]): Deleted.(-[WKImageExtractionPreviewItem previewItemTitle]): Deleted.(-[WKImageExtractionPreviewItem previewOptions]): Deleted.(-[WKImageExtractionPreviewController initWithPage:fileURL:title:imageURL:]): Deleted.UIProcess/mac/WKImmediateActionController.mm:(-[WKImmediateActionController willDestroyView:]):Adopt the new QuickLookUI softlinking header in PAL.Source/WebKitLegacy/mac:Adopt the new QuickLookUI softlinking header in PAL.WebView/WebImmediateActionController.mm:(-[WebImmediateActionController webViewClosed]):Source/WTF:Introduce SOFT_LINK_FRAMEWORK_IN_UMBRELLA_FOR_SOURCE_WITH_EXPORT, so that we can soft link frameworks that areembedded inside other umbrella frameworks in PAL.wtf/cocoa/SoftLinking.h: 4 edits in trunk/Source/JavaScriptCoreRemove the unnecessary use of CompileOpStrictEqType.​https://bugs.webkit.org/show_bug.cgi?id=226121Reviewed by Saam Barati and Robin Morisset.We're already emitting template code. Might as well make the relevant conditionchecks a build time check on the opcode type the template is specializing oninstead of a runtime check on a passed in CompileOpStrictEqType.jit/JIT.h:jit/JITOpcodes.cpp:(JSC::JIT::compileOpStrictEq):(JSC::JIT::emit_op_stricteq):(JSC::JIT::emit_op_nstricteq):(JSC::JIT::compileOpStrictEqJump):(JSC::JIT::emit_op_jstricteq):(JSC::JIT::emit_op_jnstricteq):jit/JITOpcodes32_64.cpp:(JSC::JIT::compileOpStrictEq):(JSC::JIT::emit_op_stricteq):(JSC::JIT::emit_op_nstricteq):(JSC::JIT::compileOpStrictEqJump):(JSC::JIT::emit_op_jstricteq):(JSC::JIT::emit_op_jnstricteq): 2 edits in trunk/Websites/perf.webkit.orgFix a bug that incorrect timestamp is reported for Git repositories.​https://bugs.webkit.org/show_bug.cgi?id=225987Reviewed by Ryosuke Niwa.'datetime.fromtimestamp' will use the current timezone.However, '/api/report-commits' will interprete it as a timestamp string from UTC.In order to keep the consistency, we should always use 'datetime.utcfromtimestamp'.tools/sync-commits.py: Use 'datetime.utcfromtimestamp' instead of 'datetime.fromtimestamp'.(GitRepository._revision_from_tokens): 23 edits in trunk/Source/WTFStop using holdLock() in WTF as it is not compatible with Clang thread safety analysis​https://bugs.webkit.org/show_bug.cgi?id=226117Reviewed by Darin Adler.Stop using holdLock() in WTF as it is not compatible with Clang thread safety analysis(WTF::CheckedLock) and use the Locker constructor instead.This is a step towards getting rid of holdLock() completely.benchmarks/ConditionSpeedTest.cpp:wtf/ConcurrentPtrHashSet.cpp:(WTF::ConcurrentPtrHashSet::deleteOldTables):(WTF::ConcurrentPtrHashSet::clear):(WTF::ConcurrentPtrHashSet::containsImplSlow const):(WTF::ConcurrentPtrHashSet::sizeSlow const):(WTF::ConcurrentPtrHashSet::resizeIfNecessary):wtf/CountingLock.h:wtf/HashTable.cpp:(WTF::HashTableStats::recordCollisionAtCount):(WTF::HashTableStats::dumpStats):wtf/HashTable.h:(WTF::invalidateIterators):(WTF::addIterator):(WTF::removeIterator):wtf/LockedPrintStream.cpp:(WTF::LockedPrintStream::vprintf):(WTF::LockedPrintStream::flush):wtf/MetaAllocator.cpp:(WTF::MetaAllocatorHandle::~MetaAllocatorHandle):wtf/MetaAllocator.h:(WTF::MetaAllocator::allocate):(WTF::MetaAllocator::currentStatistics):wtf/ReadWriteLock.h:wtf/StackShotProfiler.h:(WTF::StackShotProfiler::profile):(WTF::StackShotProfiler::run):wtf/StackStats.cpp:(WTF::StackStats::CheckPoint::CheckPoint):(WTF::StackStats::CheckPoint::~CheckPoint):(WTF::StackStats::probe):(WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint):(WTF::StackStats::LayoutCheckPoint::~LayoutCheckPoint):wtf/ThreadGroup.cpp:(WTF::ThreadGroup::~ThreadGroup):(WTF::ThreadGroup::add):wtf/ThreadMessage.cpp:(WTF::sendMessageScoped):wtf/Threading.cpp:(WTF::Thread::didExit):(WTF::Thread::addToThreadGroup):(WTF::Thread::removeFromThreadGroup):(WTF::Thread::numberOfThreadGroups):wtf/TimingScope.cpp:wtf/WTFConfig.cpp:(WTF::Config::permanentlyFreeze):wtf/WTFSemaphore.h:wtf/posix/ThreadingPOSIX.cpp:(WTF::Thread::changePriority):(WTF::Thread::waitForCompletion):(WTF::Thread::detach):(WTF::Thread::signal):(WTF::Thread::establishPlatformSpecificHandle):wtf/threads/BinarySemaphore.cpp:(WTF::BinarySemaphore::signal):(WTF::BinarySemaphore::waitUntil):wtf/threads/Signals.cpp:(WTF::SignalHandlers::add):(WTF::registerThreadForMachExceptionHandling):(WTF::activateSignalHandlersFor):wtf/win/LanguageWin.cpp:(WTF::platformLanguage):wtf/win/ThreadingWin.cpp:(WTF::Thread::changePriority):(WTF::Thread::waitForCompletion):(WTF::Thread::detach):(WTF::Thread::establishPlatformSpecificHandle): 13 edits in trunk/Source/bmalloc[bmalloc] Rollout r276266 because WebKit processes are spending much more time in madvise​https://bugs.webkit.org/show_bug.cgi?id=226122Unreviewed rollout.Rolling out r276266 to do some automated testing. At the same time, we'll work on changing the madvise() decommitting to be more precise.bmalloc/BPlatform.h:bmalloc/Heap.cpp:(bmalloc::Heap::scavenge):(bmalloc::Heap::scavengeToHighWatermark):(bmalloc::Heap::allocateSmallChunk):(bmalloc::Heap::allocateSmallPage):(bmalloc::Heap::allocateLarge):bmalloc/Heap.h:bmalloc/IsoDirectory.h:bmalloc/IsoDirectoryInlines.h:(bmalloc::passedNumPages ::takeFirstEligible):(bmalloc::passedNumPages ::scavenge):(bmalloc::passedNumPages ::scavengeToHighWatermark):bmalloc/IsoHeapImpl.h:bmalloc/IsoHeapImplInlines.h:(bmalloc::IsoHeapImpl Config ::scavengeToHighWatermark):bmalloc/LargeMap.cpp:(bmalloc::LargeMap::add):bmalloc/LargeRange.h:(bmalloc::LargeRange::LargeRange):(bmalloc::merge):bmalloc/Scavenger.cpp:(bmalloc::Scavenger::Scavenger):(bmalloc::Scavenger::timeSinceLastPartialScavenge):(bmalloc::Scavenger::scavenge):(bmalloc::Scavenger::partialScavenge):(bmalloc::Scavenger::threadRunLoop):bmalloc/Scavenger.h:bmalloc/SmallPage.h: 4 edits in trunkSet CanvasImageSmoothing.imageSmoothingQuality value to 'low' as default​https://bugs.webkit.org/show_bug.cgi?id=225952Reviewed by Sam Weinig.Source/WebCore:Covered by existing tests:inspector/canvas/recording-2d-frameCount.htmlinspector/canvas/recording-2d-full.htmlinspector/canvas/recording-2d-memoryLimit.htmlinspector/canvas/recording-2d-saves.htmlinspector/canvas/recording-html-2d.htmlhtml/canvas/CanvasRenderingContext2DBase.cpp:LayoutTests:Defined by spec:​https://html.spec.whatwg.org/multipage/canvas.html#canvasimagesmoothingplatform/gtk/TestExpectations: 3 edits in trunk/Source/WebKit[Cocoa] Expand IOKit method filters to cover items encountered during testing​https://bugs.webkit.org/show_bug.cgi?id=226106 rdar://problem/78327511 Reviewed by Per Arne Vollan.Allow additional IOKit methods based on testing results and the method values we hit during normal operations.Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:WebProcess/com.apple.WebProcess.sb.in: 6 edits in trunk/Source/WebCoreAdopt CheckedLock in ScrollingTree and fix threading bug​https://bugs.webkit.org/show_bug.cgi?id=226109Reviewed by Darin Adler.Adopt CheckedLock in ScrollingTree and fix threading bug found by Clang Thread SafetyAnalysis. In particular, ThreadedScrollingTree::willStartRenderingUpdate() was failingto grab the lock before updating m_state. m_state definitely get modified from severalthreads so synchronization is important.page/scrolling/ScrollingTree.cpp:(WebCore::ScrollingTree::handleWheelEvent):(WebCore::ScrollingTree::traverseScrollingTree):(WebCore::ScrollingTree::commitTreeState):(WebCore::ScrollingTree::applyLayerPositions):(WebCore::ScrollingTree::applyLayerPositionsInternal):(WebCore::ScrollingTree::scrollBySimulatingWheelEventForTesting):page/scrolling/ScrollingTree.h:(WebCore::ScrollingTree::WTF_RETURNS_LOCK):(WebCore::ScrollingTree::WTF_REQUIRES_LOCK):page/scrolling/ThreadedScrollingTree.cpp:(WebCore::ThreadedScrollingTree::ThreadedScrollingTree):(WebCore::ThreadedScrollingTree::handleWheelEventAfterMainThread):(WebCore::ThreadedScrollingTree::wheelEventWasProcessedByMainThread):(WebCore::ThreadedScrollingTree::willSendEventToMainThread):(WebCore::ThreadedScrollingTree::waitForEventToBeProcessedByMainThread):(WebCore::ThreadedScrollingTree::invalidate):(WebCore::ThreadedScrollingTree::willStartRenderingUpdate):(WebCore::ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout):(WebCore::ThreadedScrollingTree::didCompleteRenderingUpdate):(WebCore::ThreadedScrollingTree::scheduleDelayedRenderingUpdateDetectionTimer):(WebCore::ThreadedScrollingTree::delayedRenderingUpdateDetectionTimerFired):(WebCore::ThreadedScrollingTree::displayDidRefreshOnScrollingThread):page/scrolling/ThreadedScrollingTree.h:(WebCore::ThreadedScrollingTree::WTF_RETURNS_LOCK):(WebCore::ThreadedScrollingTree::WTF_GUARDED_BY_LOCK):page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:(WebCore::ScrollingTreeScrollingNodeDelegateMac::createTimer):Adopt CheckedLock in RemoteImageBufferProxy​https://bugs.webkit.org/show_bug.cgi?id=226098Reviewed by Tim Horton.Adopt CheckedLock in RemoteImageBufferProxy to benefit from Clang Thread Safety Analysis.I had to use WTF_IGNORES_THREAD_SAFETY_ANALYSIS on one of the getter where we weren'tlocking. My understanding is that the code is currently safe without the lock in thiscase and I added a comment and assertions to clarify that.WebProcess/GPU/graphics/RemoteImageBufferProxy.h:(WebKit::RemoteImageBufferProxy::waitForDidFlushOnSecondaryThread):Adopt CheckedLock in StorageAreaSync​https://bugs.webkit.org/show_bug.cgi?id=226099Reviewed by Sam Weinig.Adopt CheckedLock in StorageAreaSync to benefit from Clang Thread Safety Analysis.Storage/StorageAreaSync.cpp:(WebKit::StorageAreaSync::markImported):(WebKit::StorageAreaSync::blockUntilImportComplete):Storage/StorageAreaSync.h: 3 edits in trunk/Source/WebCoreAdopt CheckedLock in AudioMediaStreamTrackRendererUnit​https://bugs.webkit.org/show_bug.cgi?id=226095Reviewed by Eric Carlson.Adopt CheckedLock in AudioMediaStreamTrackRendererUnit to benefit from Clang Thread SafetyAnalysis. Also rename variables for clarity and fixes a bug where we failed to grab thelock before checking m_shouldUpdateRenderSources on the render thread (even though thevariable gets updated on the main thread).platform/mediastream/cocoa/AudioMediaStreamTrackRendererUnit.cpp:(WebCore::AudioMediaStreamTrackRendererUnit::addSource):(WebCore::AudioMediaStreamTrackRendererUnit::removeSource):(WebCore::AudioMediaStreamTrackRendererUnit::updateRenderSourcesIfNecessary):(WebCore::AudioMediaStreamTrackRendererUnit::render):platform/mediastream/cocoa/AudioMediaStreamTrackRendererUnit.h:(WebCore::AudioMediaStreamTrackRendererUnit::WTF_GUARDED_BY_LOCK):(): Deleted. 2 edits in trunk/Source/WebKitAdopt CheckedLock in NetworkCache::Storage::TraverseOperation​https://bugs.webkit.org/show_bug.cgi?id=226101Reviewed by Darin Adler.Adopt CheckedLock in NetworkCache::Storage::TraverseOperation to benefit from ClangThread Safety Analysis.NetworkProcess/cache/NetworkCacheStorage.cpp:(WebKit::NetworkCache::Storage::TraverseOperation::WTF_GUARDED_BY_LOCK):(WebKit::NetworkCache::Storage::traverse): 3 edits in trunk/Source/WebCoreAdopt CheckedLock / CheckedCondition in CDMProxy​https://bugs.webkit.org/show_bug.cgi?id=226103Reviewed by Darin Adler.Adopt CheckedLock / CheckedCondition in CDMProxy to benefit from Clang Thread SafetyAnalysis.platform/encryptedmedia/CDMProxy.cpp:(WebCore::CDMProxy::updateKeyStore):(WebCore::CDMProxy::keyHandle const):(WebCore::CDMProxy::tryWaitForKeyHandle const):(WebCore::CDMProxy::keyAvailable const):platform/encryptedmedia/CDMProxy.h: 2 edits in trunk/Source/WebCoreVideo player enters a bad state after trying to enter picture-in-picture on YouTube.com videos​https://bugs.webkit.org/show_bug.cgi?id=226042Reviewed by Daniel Bates.The quirk shouldDisableEndFullscreenEventWhenEnteringPictureInPictureFromFull wasalways true. This patch fixes that.page/Quirks.cpp:(WebCore::Quirks::shouldDisableEndFullscreenEventWhenEnteringPictureInPictureFromFullscreenQuirk const): 3 edits in trunk/Source/WebKitAdopt CheckedLock in MediaFormatReader and fix threading bug​https://bugs.webkit.org/show_bug.cgi?id=226100Reviewed by Darin Adler.Adopt CheckedLock in MediaFormatReader and fix threading bug found by Clang Thread SafetyAnalysis. In particular, parseByteSource() was failing to grab the lock before updatingm_parseTracksStatus in one of its branches.Shared/mac/MediaFormatReader/MediaFormatReader.cpp:(WebKit::MediaFormatReader::parseByteSource):(WebKit::MediaFormatReader::didParseTracks):(WebKit::MediaFormatReader::didProvideMediaData):(WebKit::MediaFormatReader::finishParsing):(WebKit::MediaFormatReader::copyProperty):(WebKit::MediaFormatReader::copyTrackArray):Shared/mac/MediaFormatReader/MediaFormatReader.h: 5 edits in trunk/ToolsRun layout tests in stress mode for 10 iterations on regular EWS layout-test queues​https://bugs.webkit.org/show_bug.cgi?id=226097Reviewed by Jonathan Bedard.CISupport/ews-build/factories.py:CISupport/ews-build/factories_unittest.py:CISupport/ews-build/steps.py:(AnalyzePatch.getResultSummary):(FindModifiedLayoutTests.init):(FindModifiedLayoutTests.start):(RunWebKitTestsInStressMode):(RunWebKitTestsInStressMode.init):(RunWebKitTestsInStressMode.setLayoutTestCommand):(RunWebKitTestsInStressMode.doStepIf):CISupport/ews-build/steps_unittest.py: 4 edits in trunk/Source/JavaScriptCoreIntroducing JITThunks::preinitializeCTIThunks().​https://bugs.webkit.org/show_bug.cgi?id=226105Reviewed by Geoffrey Garen.We're basically renaming JITThunks::preinitializeExtraCTIThunks() toJITThunks::preinitializeCTIThunks() and making it not conditional on#if ENABLE(EXTRA_CTI_THUNKS). Some thunks need to be initialized independent of#if ENABLE(EXTRA_CTI_THUNKS).jit/JITThunks.cpp:(JSC::JITThunks::preinitializeCTIThunks):(JSC::JITThunks::preinitializeExtraCTIThunks): Deleted.jit/JITThunks.h:runtime/VM.cpp:(JSC::VM::VM): 5 edits in trunk/Source[Cocoa] Unable to upload files that are stored in the cloud (without a local copy)​https://bugs.webkit.org/show_bug.cgi?id=226090 rdar://77775887 Reviewed by Darin Adler.Source/WebKit:Allow the network process to load / read dataless files stored in the cloud by allowingthe process to materialize such files. I initially only allowed the AsyncFileStreamthread to materialize the dataless files and this was enough to make the file uploaduse cases work. However, I noticed that drag and dropping such file in the Safari URLbar would fail loading, which I think is bad user experience. As a result, I havedecided to allow the materializing at network process level.I have verified manually that I can now upload such dataless files via either filepicker or drag and drop (used ​https://blueimp.github.io/jQuery-File-Upload/). I havealso verified that drag and dropping such a file in the Safari URL bar successfulyloads that file.NetworkProcess/cocoa/NetworkProcessCocoa.mm:(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):Source/WTF:Add FileSystem API to allow/disallow the materializing of dataless files storedin the cloud, at process or thread level.wtf/FileSystem.h:wtf/cocoa/FileSystemCocoa.mm:(WTF::FileSystemImpl::toIOPolicyScope):(WTF::FileSystemImpl::setAllowsMaterializingDatalessFiles):(WTF::FileSystemImpl::allowsMaterializingDatalessFiles): 52 edits in trunk/SourceReplace more static Locks with CheckedLocks in WTF / WebCore​https://bugs.webkit.org/show_bug.cgi?id=226040Reviewed by Darin Adler.Replace more static Locks with CheckedLocks so that we can benefit from Clang Thread Safety Analysis.Source/WebCore:Modules/indexeddb/server/IDBSerializationContext.cpp:(WebCore::IDBServer::IDBSerializationContext::getOrCreateForCurrentThread):(WebCore::IDBServer::IDBSerializationContext::~IDBSerializationContext):Modules/mediastream/RTCDataChannel.cpp:(WebCore::WTF_REQUIRES_LOCK):(WebCore::RTCDataChannel::detach):(WebCore::RTCDataChannel::removeFromDataChannelLocalMapIfNeeded):(WebCore::RTCDataChannel::handlerFromIdentifier):Modules/webdatabase/Database.cpp:(WebCore::WTF_REQUIRES_LOCK):(WebCore::Database::Database):(WebCore::Database::performOpenAndVerify):(WebCore::Database::closeDatabase):(WebCore::Database::getCachedVersion const):(WebCore::Database::setCachedVersion):Modules/webgpu/WebGPUDevice.cpp:(WebCore::WebGPUDevice::instancesLock):(WebCore::WebGPUDevice::~WebGPUDevice):Modules/webgpu/WebGPUDevice.h:Modules/webgpu/WebGPUPipeline.cpp:(WebCore::WebGPUPipeline::instancesLock):(WebCore::WebGPUPipeline::WebGPUPipeline):(WebCore::WebGPUPipeline::~WebGPUPipeline):Modules/webgpu/WebGPUPipeline.h:Modules/websockets/WebSocket.cpp:(WebCore::WebSocket::WebSocket):(WebCore::WebSocket::~WebSocket):(WebCore::WebSocket::allActiveWebSocketsLock):Modules/websockets/WebSocket.h:bridge/objc/WebScriptObject.mm:(WebCore::getJSWrapper):(WebCore::addJSWrapper):(WebCore::removeJSWrapper):(WebCore::removeJSWrapperIfRetainCountOne):crypto/CryptoAlgorithmRegistry.cpp:(WebCore::CryptoAlgorithmRegistry::singleton):(WebCore::CryptoAlgorithmRegistry::identifier):(WebCore::CryptoAlgorithmRegistry::name):(WebCore::CryptoAlgorithmRegistry::create):(WebCore::CryptoAlgorithmRegistry::registerAlgorithm):crypto/CryptoAlgorithmRegistry.h:dom/MessagePort.cpp:(WebCore::MessagePort::deref const):(WebCore::MessagePort::isExistingMessagePortLocallyReachable):(WebCore::MessagePort::notifyMessageAvailable):(WebCore::MessagePort::MessagePort):dom/ScriptExecutionContext.cpp:(WebCore::ScriptExecutionContext::contextIdentifier const):(WebCore::ScriptExecutionContext::removeFromContextsMap):(WebCore::ScriptExecutionContext::~ScriptExecutionContext):(WebCore::ScriptExecutionContext::postTaskTo):html/canvas/CanvasRenderingContext.cpp:(WebCore::CanvasRenderingContext::instancesLock):(WebCore::CanvasRenderingContext::CanvasRenderingContext):(WebCore::CanvasRenderingContext::~CanvasRenderingContext):html/canvas/CanvasRenderingContext.h:html/canvas/WebGLProgram.cpp:(WebCore::WebGLProgram::instancesLock):(WebCore::WebGLProgram::WebGLProgram):(WebCore::WebGLProgram::~WebGLProgram):html/canvas/WebGLProgram.h:html/canvas/WebGLRenderingContextBase.cpp:(WebCore::WebGLRenderingContextBase::~WebGLRenderingContextBase):inspector/InspectorCanvas.cpp:(WebCore::InspectorCanvas::canvasElement const):(WebCore:: const):inspector/agents/InspectorCanvasAgent.cpp:(WebCore::InspectorCanvasAgent::enable):inspector/agents/InspectorNetworkAgent.cpp:(WebCore::InspectorNetworkAgent::enable):(WebCore::InspectorNetworkAgent::webSocketForRequestId):inspector/agents/InspectorNetworkAgent.h:inspector/agents/page/PageNetworkAgent.cpp:inspector/agents/page/PageNetworkAgent.h:inspector/agents/worker/WorkerNetworkAgent.cpp:inspector/agents/worker/WorkerNetworkAgent.h:page/SecurityPolicy.cpp:(WebCore::WTF_REQUIRES_LOCK):(WebCore::SecurityPolicy::isAccessAllowed):(WebCore::SecurityPolicy::addOriginAccessAllowlistEntry):(WebCore::SecurityPolicy::removeOriginAccessAllowlistEntry):(WebCore::SecurityPolicy::resetOriginAccessAllowlists):(WebCore::SecurityPolicy::allowAccessTo):page/cocoa/ResourceUsageThreadCocoa.mm:(WebCore::ResourceUsageThread::platformCollectCPUData):page/linux/ResourceUsageThreadLinux.cpp:(WebCore::ResourceUsageThread::platformCollectCPUData):platform/GenericTaskQueue.cpp:(WebCore::TaskDispatcher Timer ::postTask):(WebCore::TaskDispatcher Timer ::sharedTimerFired):(WebCore::TaskDispatcher Timer ::pendingDispatchers):(WebCore::TaskDispatcher Timer ::dispatchOneTask):platform/GenericTaskQueue.h:platform/LegacySchemeRegistry.cpp:(WebCore::allBuiltinSchemes):(WebCore::WTF_REQUIRES_LOCK):(WebCore::LegacySchemeRegistry::registerURLSchemeAsLocal):(WebCore::LegacySchemeRegistry::removeURLSchemeRegisteredAsLocal):(WebCore::LegacySchemeRegistry::registerURLSchemeAsHandledBySchemeHandler):(WebCore::LegacySchemeRegistry::schemeIsHandledBySchemeHandler):(WebCore::LegacySchemeRegistry::shouldTreatURLSchemeAsLocal):(WebCore::LegacySchemeRegistry::registerURLSchemeAsNoAccess):(WebCore::LegacySchemeRegistry::shouldTreatURLSchemeAsNoAccess):(WebCore::LegacySchemeRegistry::registerURLSchemeAsDisplayIsolated):(WebCore::LegacySchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):(WebCore::LegacySchemeRegistry::registerURLSchemeAsSecure):(WebCore::LegacySchemeRegistry::shouldTreatURLSchemeAsSecure):(WebCore::LegacySchemeRegistry::canDisplayOnlyIfCanRequest):(WebCore::LegacySchemeRegistry::registerAsCanDisplayOnlyIfCanRequest):(WebCore::LegacySchemeRegistry::registerURLSchemeAsBypassingContentSecurityPolicy):(WebCore::LegacySchemeRegistry::removeURLSchemeRegisteredAsBypassingContentSecurityPolicy):(WebCore::LegacySchemeRegistry::schemeShouldBypassContentSecurityPolicy):(WebCore::LegacySchemeRegistry::registerURLSchemeAsCachePartitioned):(WebCore::LegacySchemeRegistry::shouldPartitionCacheForURLScheme):platform/audio/mac/FFTFrameMac.cpp:(WebCore::WTF_REQUIRES_LOCK):(WebCore::FFTFrame::fftSetupForSize):platform/graphics/MediaPlayer.cpp:(WebCore::WTF_REQUIRES_LOCK):(WebCore::installedMediaEngines):(WebCore::MediaPlayer::resetMediaEngines):platform/ios/QuickLook.mm:(WebCore::WTF_REQUIRES_LOCK):(WebCore::removeQLPreviewConverterForURL):(WebCore::addQLPreviewConverterWithFileForURL):platform/ios/WebSQLiteDatabaseTrackerClient.mm:(WTF_REQUIRES_LOCK):(+[WebDatabaseTransactionBackgroundTaskController startBackgroundTask]):(+[WebDatabaseTransactionBackgroundTaskController endBackgroundTask]):platform/network/mac/UTIUtilities.mm:(WebCore::WTF_REQUIRES_LOCK):(WebCore::UTIFromMIMEType):platform/sql/SQLiteDatabase.cpp:(WebCore::WTF_GUARDED_BY_LOCK):(WebCore::SQLiteDatabase::setIsDatabaseOpeningForbidden):(WebCore::SQLiteDatabase::open):platform/sql/SQLiteDatabaseTracker.cpp:(WebCore::SQLiteDatabaseTracker::WTF_GUARDED_BY_LOCK):(WebCore::SQLiteDatabaseTracker::setClient):(WebCore::SQLiteDatabaseTracker::incrementTransactionInProgressCount):(WebCore::SQLiteDatabaseTracker::decrementTransactionInProgressCount):(WebCore::SQLiteDatabaseTracker::hasTransactionInProgress):platform/text/TextEncodingRegistry.cpp:(WebCore::WTF_REQUIRES_LOCK):(WebCore::newTextCodec):(WebCore::atomCanonicalTextEncodingName):workers/WorkerGlobalScope.cpp:(WebCore::WTF_REQUIRES_LOCK):(WebCore::WorkerGlobalScope::WorkerGlobalScope):(WebCore::WorkerGlobalScope::~WorkerGlobalScope):(WebCore::WorkerGlobalScope::releaseMemoryInWorkers):workers/WorkerOrWorkletThread.cpp:(WebCore::WorkerOrWorkletThread::workerOrWorkletThreadsLock):(WebCore::WorkerOrWorkletThread::WorkerOrWorkletThread):(WebCore::WorkerOrWorkletThread::~WorkerOrWorkletThread):(WebCore::WorkerOrWorkletThread::releaseFastMallocFreeMemoryInAllThreads):workers/WorkerOrWorkletThread.h:Source/WTF:wtf/Threading.cpp:(WTF::Thread::allThreadsLock):(WTF::Thread::create):(WTF::Thread::didExit):wtf/Threading.h:wtf/URL.cpp:(WTF::WTF_REQUIRES_LOCK):(WTF::registerDefaultPortForProtocolForTesting):(WTF::clearDefaultPortForProtocolMapForTesting):(WTF::defaultPortForProtocol):wtf/cf/LanguageCF.cpp:(WTF::WTF_REQUIRES_LOCK):(WTF::platformLanguageDidChange):(WTF::platformUserPreferredLanguages):wtf/text/StringView.cpp:(WTF::StringView::invalidate):(WTF::StringView::adoptUnderlyingString):(WTF::StringView::setUnderlyingString):wtf/unicode/icu/CollatorICU.cpp:(WTF::Collator::Collator):(WTF::Collator::~Collator): 4 edits in trunk/Source/WebKit[Cocoa] GPU Process should recognize that pathForProcessContainer() might fail and handle it gracefully​https://bugs.webkit.org/show_bug.cgi?id=226086 rdar://problem/78288016 Reviewed by Tim Horton.The GPU Process implementation of gpuProcessCachesDirectory does not recognize that WebKit often runs withouta container (e.g., as part of a daemon process). In such cases, the GPU process will attempt to create acache directory someplace outside of its sandbox and fail, preventing caching from happening.We need to use the same logic we use in the WebContent process to address this use case.To avoid making this mistake again, let's consolidate the logic in one method, and use it in the multiple placesthat have this same code.UIProcess/Cocoa/WebProcessPoolCocoa.mm:(WebKit::WebProcessPool::cacheDirectoryInContainerOrHomeDirectory): Added.(WebKit::WebProcessPool::cookieStorageDirectory): Use the new 'cacheDirectoryInContainerOrHomeDirectory' method.(WebKit::WebProcessPool::networkingCachesDirectory): Ditto.(WebKit::WebProcessPool::webContentCachesDirectory): Ditto.UIProcess/GPU/GPUProcessProxy.cpp:(WebKit::gpuProcessCachesDirectory): Ditto.UIProcess/WebProcessPool.h: 6 edits in trunk/Source/WebCoreASSERTION FAILED: m_imageBufferResult- colorSpace() == m_resultColorSpace in FilterEffect::copyPremultipliedResult​https://bugs.webkit.org/show_bug.cgi?id=225907Reviewed by Said Abou-Hallawa.FilterEffect::copyPremultipliedResult has the assertion ensuringm_imageBufferResult- colorSpace() matches m_resultColorSpace.However, it happened to fail in !USE(CG) ports.FilterEffect::transformResultColorSpace does nothing if USE(CG),but it calls ImageBuffer::transformColorSpace otherwise.ImageBuffer::colorSpace() and ImageBufferBackend::colorSpace()returned the old color space after ImageBuffer::transformColorSpace.They should return the new color space.After fixing the above problem, an assertion inWebCore::convertImagePixels was going to fail. It asserts no colorspace conversion happens.FEColorMatrix, FEDropShadow andImageBufferBackend::convertToLuminanceMask were explicitlyspecifying DestinationColorSpace::SRGB to getPixelBuffer. Theyshouldn't convert the color space.platform/graphics/ConcreteImageBuffer.h:platform/graphics/ImageBufferBackend.cpp:(WebCore::ImageBufferBackend::convertToLuminanceMask):platform/graphics/cairo/ImageBufferCairoBackend.cpp:(WebCore::ImageBufferCairoBackend::transformColorSpace):platform/graphics/filters/FEColorMatrix.cpp:(WebCore::FEColorMatrix::platformApplySoftware):platform/graphics/filters/FEDropShadow.cpp:(WebCore::FEDropShadow::platformApplySoftware): 7 edits in trunk/SourceReplace more static Locks with CheckedLocks in WebKit / WebKitLegacy​https://bugs.webkit.org/show_bug.cgi?id=226093Reviewed by Darin Adler.Replace more static Locks with CheckedLocks so that we can benefit from Clang Thread Safety Analysis.Source/WebKit:NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:(WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated):(WebKit::WebResourceLoadStatisticsStore::suspend):(WebKit::WebResourceLoadStatisticsStore::resume):NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:Platform/IPC/Connection.cpp:(IPC::WTF_REQUIRES_LOCK):(IPC::addAsyncReplyHandler):(IPC::clearAsyncReplyHandlers):(IPC::CompletionHandler void):WebProcess/Network/WebSocketStream.cpp:(WebKit::WebSocketStream::streamWithIdentifier):(WebKit::WebSocketStream::networkProcessCrashed):(WebKit::WebSocketStream::WebSocketStream):(WebKit::WebSocketStream::~WebSocketStream):Source/WebKitLegacy/mac:DOM/DOMInternal.mm:(getDOMWrapper):(addDOMWrapper):(removeDOMWrapper):[Cocoa] Update AudioSession buffer size handling​https://bugs.webkit.org/show_bug.cgi?id=225927rdar://76920375Reviewed by Jer Noble.Source/WebCore:Previously we only set the audio session buffer size when there was an activeMediaSession. This meant that when no audio was being played or captured, the buffersize would be left at whatever size was appropriate for the last MediaSessionstopped. This was especially bad when the last MediaSession played WebAudioor captured audio because those require a smaller buffer size than the default,and was made even worse when using the GPU process because it may live for muchlonger than the last web process that played audio. Fix this by using the low powerbuffer size when playing audio or when there is no MediaSession at all.Add AudioBufferSize API test.Modules/webaudio/AudioContext.h:Make mediaType() return None if the context is suspended or stopped so the mediasession manager won't set the buffer size for WebAudio.platform/audio/cocoa/MediaSessionManagerCocoa.h:platform/audio/cocoa/MediaSessionManagerCocoa.mm:(WebCore::MediaSessionManagerCocoa::updateSessionState): Always use "low power"buffer size when there is no WebAudio or audio capture.(WebCore::MediaSessionManagerCocoa::addSession): Cache supported hardware buffer sizes.(WebCore::MediaSessionManagerCocoa::audioOutputDeviceChanged): Update cached buffersizes.testing/Internals.cpp:(WebCore::Internals::currentAudioBufferSize const): Expose current audio session buffersize for testing.testing/Internals.h:testing/Internals.idl:Tools:TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:TestWebKitAPI/Tests/WebKit/audio-buffer-size.html: Added.TestWebKitAPI/Tests/WebKitCocoa/AudioBufferSize.mm: Added.(TestWebKitAPI::waitForBufferSizeChange):(TestWebKitAPI::TEST):TestWebKitAPI/Tests/WebKitCocoa/PreferredAudioBufferSize.mm:(TEST_F):Use CheckedLock more in cases where we try-lock​https://bugs.webkit.org/show_bug.cgi?id=226056Reviewed by Alex Christensen.Use CheckedLock more in cases where we try-lock to benefit from ClangThread Safety Analysis.Source/WebCore:Modules/webaudio/AudioParamTimeline.cpp:(WebCore::AudioParamTimeline::setValueAtTime):(WebCore::AudioParamTimeline::linearRampToValueAtTime):(WebCore::AudioParamTimeline::exponentialRampToValueAtTime):(WebCore::AudioParamTimeline::setTargetAtTime):(WebCore::AudioParamTimeline::setValueCurveAtTime):(WebCore::AudioParamTimeline::cancelScheduledValues):(WebCore::AudioParamTimeline::cancelAndHoldAtTime):(WebCore::AudioParamTimeline::valueForContextTime):(WebCore::AudioParamTimeline::valuesForFrameRange):(WebCore::AudioParamTimeline::hasValues const):Modules/webaudio/AudioParamTimeline.h:platform/audio/AudioDestination.h:(WebCore::AudioDestination::WTF_GUARDED_BY_LOCK):(WebCore::AudioDestination::AudioDestination):(WebCore::AudioDestination::clearCallback):(WebCore::AudioDestination::callRenderCallback):platform/mediastream/cocoa/AudioMediaStreamTrackRendererUnit.cpp:(WebCore::AudioMediaStreamTrackRendererUnit::addSource):(WebCore::AudioMediaStreamTrackRendererUnit::removeSource):(WebCore::AudioMediaStreamTrackRendererUnit::render):platform/mediastream/cocoa/AudioMediaStreamTrackRendererUnit.h:Source/WebKit:WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:(WebKit::LibWebRTCCodecs::releaseDecoder):(WebKit::LibWebRTCCodecs::registerDecodeFrameCallback):(WebKit::LibWebRTCCodecs::completedDecoding):(WebKit::LibWebRTCCodecs::releaseEncoder):(WebKit::LibWebRTCCodecs::registerEncodeFrameCallback):(WebKit::LibWebRTCCodecs::completedEncoding):WebProcess/GPU/webrtc/LibWebRTCCodecs.h:(WebKit::LibWebRTCCodecs::Decoder::WTF_GUARDED_BY_LOCK):(WebKit::LibWebRTCCodecs::Encoder::WTF_GUARDED_BY_LOCK):Source/WTF:wtf/Logger.cpp:wtf/Logger.h:(WTF::Logger::addObserver):(WTF::Logger::removeObserver):(WTF::Logger::log):(WTF::Logger::logVerbose):(WTF::Logger::WTF_RETURNS_LOCK): 5 edits in trunk/SourceAccessibility caption styles does not always reflect the selection​https://bugs.webkit.org/show_bug.cgi?id=226084 rdar://75426845 Reviewed by Chris Fleizach.Source/WebCore:Export a soft linked constant.WebCore.xcodeproj/project.pbxproj:platform/cf/MediaAccessibilitySoftLink.cpp:Source/WebKit:This is caused by a race between pushing the caption preference value to the WebContent process and receiving the notification in that process.This patch addresses this by reposting the notification after having set the preference value in the WebContent process.WebProcess/cocoa/WebProcessCocoa.mm:(WebKit::captionProfilePreferenceKey):(WebKit::dispatchSimulatedNotificationsForPreferenceChange): 2 edits in trunk/Source/WebKit[Cocoa] REGRESSION(Sandbox): Font smoothing within Safari doesn't seem to respect AppleFontSmoothing​https://bugs.webkit.org/show_bug.cgi?id=226066 rdar://problem/72795817 Reviewed by Per Arne Vollan.We accidentally blocked access to the relevant defaults database.It turns out this is untestable. I can't use the actual functionality without actually setting the preferencefor the whole user (and all their apps). And, I can't use sandbox_check() to make sure the file is readablebecause it's in the user's home directory, so the path to check will be different for every user.WebProcess/com.apple.WebProcess.sb.in: 3 edits in trunk/Source/WebKit[iOS] Plumb element bounds when presenting QLPreviewController for image extraction​https://bugs.webkit.org/show_bug.cgi?id=226085rdar://76020349Reviewed by Tim Horton.Include the previewed element's bounding rect when presenting QuickLook for image extraction. See the bug formore details.UIProcess/ios/WKActionSheetAssistant.h:UIProcess/ios/WKActionSheetAssistant.mm:(-[WKActionSheetAssistant handleElementActionWithType:element:needsInteraction:]): 1 edit83 deletes in trunk/LayoutTests[LayoutTests] Delete unused LayoutTests/svg resources​https://bugs.webkit.org/show_bug.cgi?id=226057 rdar://problem/78284735 Reviewed by Alexey Proskuryakov.svg/W3C-SVG-1.1/resources/SVG-1.1-monolithic-fixed.dtd: Removed.svg/W3C-SVG-1.1/resources/SVGImageTest.svg: Removed.svg/W3C-SVG-1.1/resources/animation-extRef-image1.svg: Removed.svg/W3C-SVG-1.1/resources/animation-extRef-image2.svg: Removed.svg/W3C-SVG-1.1/resources/animation-extRef-image3.svg: Removed.svg/W3C-SVG-1.1/resources/bullet-small.png: Removed.svg/W3C-SVG-1.1/resources/bullet-white.png: Removed.svg/W3C-SVG-1.1/resources/bullet.png: Removed.svg/W3C-SVG-1.1/resources/bumpMap.png: Removed.svg/W3C-SVG-1.1/resources/coords-units-01-f.png: Removed.svg/W3C-SVG-1.1/resources/coords-units-01-f.svg: Removed.svg/W3C-SVG-1.1/resources/diagarrow.png: Removed.svg/W3C-SVG-1.1/resources/fillChangeColor.ICM: Removed.svg/W3C-SVG-1.1/resources/filters-composite-01-f.svg: Removed.svg/W3C-SVG-1.1/resources/gam030b.png: Removed.svg/W3C-SVG-1.1/resources/gam045b.png: Removed.svg/W3C-SVG-1.1/resources/gam056b.png: Removed.svg/W3C-SVG-1.1/resources/gam100b.png: Removed.svg/W3C-SVG-1.1/resources/gam200b.png: Removed.svg/W3C-SVG-1.1/resources/greentopbutton.jpg: Removed.svg/W3C-SVG-1.1/resources/image1.png: Removed.svg/W3C-SVG-1.1/resources/image1_b.png: Removed.svg/W3C-SVG-1.1/resources/image2_b.jpg: Removed.svg/W3C-SVG-1.1/resources/image2_b.png: Removed.svg/W3C-SVG-1.1/resources/leftarrow.png: Removed.svg/W3C-SVG-1.1/resources/linking-uri-01-f-1st.png: Removed.svg/W3C-SVG-1.1/resources/linking-uri-01-f-2nd.png: Removed.svg/W3C-SVG-1.1/resources/linking-uri-01-f-3rd.png: Removed.svg/W3C-SVG-1.1/resources/linking-uri-01-f-4th.png: Removed.svg/W3C-SVG-1.1/resources/linking-uri-01-f-start.png: Removed.svg/W3C-SVG-1.1/resources/linking-uri-03-f-1st.png: Removed.svg/W3C-SVG-1.1/resources/linking-uri-03-f-start.png: Removed.svg/W3C-SVG-1.1/resources/makealpha.svg: Removed.svg/W3C-SVG-1.1/resources/myimage.jpg: Removed.svg/W3C-SVG-1.1/resources/nav_bullet.png: Removed.svg/W3C-SVG-1.1/resources/nav_down.png: Removed.svg/W3C-SVG-1.1/resources/nav_downleft.png: Removed.svg/W3C-SVG-1.1/resources/nav_downright.png: Removed.svg/W3C-SVG-1.1/resources/nav_frame.png: Removed.svg/W3C-SVG-1.1/resources/nav_left.png: Removed.svg/W3C-SVG-1.1/resources/nav_noframe.png: Removed.svg/W3C-SVG-1.1/resources/nav_right.png: Removed.svg/W3C-SVG-1.1/resources/nav_svg.png: Removed.svg/W3C-SVG-1.1/resources/nav_up.png: Removed.svg/W3C-SVG-1.1/resources/nav_upleft.png: Removed.svg/W3C-SVG-1.1/resources/nav_upright.png: Removed.svg/W3C-SVG-1.1/resources/old-name-2-new-name1.html: Removed.svg/W3C-SVG-1.1/resources/paths-data-01-f.png: Removed.svg/W3C-SVG-1.1/resources/paths-data-01-f.svg: Removed.svg/W3C-SVG-1.1/resources/paths-data-02-f.png: Removed.svg/W3C-SVG-1.1/resources/paths-data-02-f.svg: Removed.svg/W3C-SVG-1.1/resources/paths-data-03-f.png: Removed.svg/W3C-SVG-1.1/resources/paths-data-04-f.png: Removed.svg/W3C-SVG-1.1/resources/paths-data-04-f.svg: Removed.svg/W3C-SVG-1.1/resources/plant.jpg: Removed.svg/W3C-SVG-1.1/resources/rects_b.svg: Removed.svg/W3C-SVG-1.1/resources/rightarrow.png: Removed.svg/W3C-SVG-1.1/resources/shapes-ellipse-01-b.svg: Removed.svg/W3C-SVG-1.1/resources/shapes-ellipse-01-f.png: Removed.svg/W3C-SVG-1.1/resources/shapes-ellipse-01-f.svg: Removed.svg/W3C-SVG-1.1/resources/shapes-rect-01-b.svg: Removed.svg/W3C-SVG-1.1/resources/shapes-rect-01-f.png: Removed.svg/W3C-SVG-1.1/resources/shapes-rect-01-f.svg: Removed.svg/W3C-SVG-1.1/resources/struct-frag-01-B.svg: Removed.svg/W3C-SVG-1.1/resources/struct-image-02.png: Removed.svg/W3C-SVG-1.1/resources/svgRef4.css: Removed.svg/W3C-SVG-1.1/resources/svgRef4.svg: Removed.svg/W3C-SVG-1.1/resources/text-align-01-f.svg: Removed.svg/W3C-SVG-1.1/resources/text-align-03-f.svg: Removed.svg/W3C-SVG-1.1/resources/text-tref-01-f.svg: Removed.svg/W3C-SVG-1.1/resources/text-ws-01-f.svg: Removed.svg/W3C-SVG-1.1/resources/toc-sv.svg: Removed.svg/W3C-SVG-1.1/resources/toc-svcmp.svg: Removed.svg/W3C-SVG-1.1/resources/uparrow.png: Removed.svg/as-image/resources/circle-nosize.svg: Removed.svg/custom/resources/object-sizing-height-50p.svg: Removed.svg/custom/resources/object-sizing-width-50p-height-50p.svg: Removed.svg/custom/resources/object-sizing-width-50p-height-75p.svg: Removed.svg/custom/resources/object-sizing-width-50p.svg: Removed.svg/custom/resources/object-sizing-width-75p-height-50p.svg: Removed.svg/dom/SVGScriptElement/resources/script-load2.js: Removed.svg/dom/SVGScriptElement/resources/script-load3.js: Removed.svg/dom/SVGScriptElement/resources/script-load4.js: Removed.grid track size should reject unitless length​https://bugs.webkit.org/show_bug.cgi?id=189137Patch by Rob Buis ​rbuis@igalia.com on 2021-05-21Reviewed by Sergio Villar Senin.LayoutTests/imported/w3c:Update improved test result.web-platform-tests/quirks/unitless-length/excluded-properties-001-expected.txt:Source/WebCore:Reject unitless length's for grid track sizes in quirks mode.Behavior matches Chrome and Firefox.css/parser/CSSPropertyParser.cpp:(WebCore::consumeGridBreadth): 3 edits4 adds in trunk[Cocoa] Last few seconds of 'audio/webm; codecs=vorbis' appended to a SampleBuffer are not played​https://bugs.webkit.org/show_bug.cgi?id=226069 rdar://78004793 Reviewed by Eric Carlson.Source/WebCore:Test: platform/mac-bigsur/media/media-source/media-vorbis-partial.htmlWhen parsing samples from a WebM file, the samples emitted by the parser can be very short induration, which is ineffecient both in storage costs in our SampleMap, as well as in decodingCPU costs, as each sample must be fed into the decoder separately. So the parser will grouptogether these small samples into a larger "meta sample" with a duration no shorter than 2s.However, at the end of a file, no more sample data will be appended, up to 2s of audio datawill not be emitted from the parser.At the end of an append, always flush audio track data to ensure that all parsed samples areemitted, regardless of their collective duration.platform/graphics/cocoa/SourceBufferParserWebM.cpp:(WebCore::SourceBufferParserWebM::appendData):LayoutTests:platform/mac-bigsur/media/media-source/content/test-vorbis-manifest.json: Added.platform/mac-bigsur/media/media-source/content/test-vorbis.webm: Added.platform/mac-bigsur/media/media-source/media-vorbis-partial-expected.txt: Added.platform/mac-bigsur/media/media-source/media-vorbis-partial.html: Added. 2 edits in branches/safari-612.1.15.0-branch/Source/WebKitCherry-pick r277791. rdar://problem/78313265[iOS] Add missing method in sandbox IOKit filter​https://bugs.webkit.org/show_bug.cgi?id=225975 rdar://78212330 8 edits8 adds in trunkFrameLoader::loadURL, FrameLoader::loadPostRequest not attributing requests as app bound​https://bugs.webkit.org/show_bug.cgi?id=225923 rdar://problem/78160933 Reviewed by Alex Christensen.Source/WebCore:Tests: http/tests/in-app-browser-privacy/app-bound-attribution-load-url.htmlhttp/tests/in-app-browser-privacy/app-bound-attribution-ping-load.htmlhttp/tests/in-app-browser-privacy/app-bound-attribution-post-request.htmlUpdate FrameLoader::addExtraFieldsToRequest to add the app-boundvalue to a request, like for loadURL, loadPostRequest, or ping loads.Change the name to reflect this use case, which updates the requestbut does not add any extra header fields.Other cases are already covered in WebLoaderStrategy::loadResource.loader/FrameLoader.cpp:(WebCore::FrameLoader::loadURL):(WebCore::FrameLoader::load):The main navigation uses the old document loader, so we don't want toset the app-bound value based on that. The request should have thecorrect value already from the UIProcess.(WebCore::FrameLoader::updateRequestAndAddExtraFields):(WebCore::FrameLoader::loadPostRequest):(WebCore::FrameLoader::loadResourceSynchronously):We can remove setting the app bound value here now that we set the value inaddExtraFieldsToRequest.(WebCore::FrameLoader::loadDifferentDocumentItem):(WebCore::FrameLoader::addExtraFieldsToRequest): Deleted.loader/FrameLoader.h:loader/PingLoader.cpp:(WebCore::PingLoader::loadImage):(WebCore::PingLoader::sendPing):(WebCore::PingLoader::sendViolationReport):loader/ResourceLoader.cpp:(WebCore::ResourceLoader::init):loader/cache/CachedResource.cpp:(WebCore::CachedResource::load):LayoutTests:http/tests/in-app-browser-privacy/app-bound-attribution-load-url-expected.txt: Added.http/tests/in-app-browser-privacy/app-bound-attribution-load-url.html: Added.http/tests/in-app-browser-privacy/app-bound-attribution-ping-load-expected.txt: Added.http/tests/in-app-browser-privacy/app-bound-attribution-ping-load.html: Added.http/tests/in-app-browser-privacy/app-bound-attribution-post-request-expected.txt: Added.http/tests/in-app-browser-privacy/app-bound-attribution-post-request.html: Added.http/tests/in-app-browser-privacy/resources/post.py: Added.http/tests/navigation/resources/check-ping-app-bound-data.py: Added.platform/ios-wk2/TestExpectations:These tests rely on internal additions, so I will skip it here andunskip in the future. 2 edits in trunk/Source/WebCoreAdd some logging for the 'FetchEvent is destroyed' case​https://bugs.webkit.org/show_bug.cgi?id=226071Reviewed by Kate Cheney.workers/service/FetchEvent.cpp:(WebCore::FetchEvent::~FetchEvent):Fix use after move bug in WebXRSession​https://bugs.webkit.org/show_bug.cgi?id=226074Reviewed by Sergio Villar Senin.Source/WebCore:This patch fixes FrameData usage after move in WebXRSession, a regression from bug 226074.It also removes an unneeded FrameData copy into WebXRFrame.Tested by WebXR WPT.Modules/webxr/WebXRFrame.cpp: Use frameData from session instead of holding an extra copy(WebCore::WebXRFrame::populatePose):(WebCore::WebXRFrame::getViewerPose):Modules/webxr/WebXRFrame.h: Remove setFrameData and m_data.(WebCore::WebXRFrame::setTime):Modules/webxr/WebXRSession.cpp: Fix usage after move.(WebCore::WebXRSession::onFrame):platform/xr/PlatformXR.h:(PlatformXR::Device::FrameData::copy const): Add missing members in the copy function.LayoutTests:Update WebXR test expectations.platform/wpe/TestExpectations: 2 edits in trunk/Source/WebCoreFunction paintRenderingResultsToCanvas expects a reference, not apointer. Fixed the compile error.​https://bugs.webkit.org/show_bug.cgi?id=226073Patch by Eleni Maria Stea hikiko on 2021-05-21Reviewed by Adrian Perez de Castro.platform/graphics/nicosia/texmap/NicosiaGCGLLayer.cpp:(Nicosia::GCGLLayer::swapBuffersIfNeeded): 2 edits in trunk/Source/WebCoreFixed unreached end of function compiler warning in DataURLDecoder.​https://bugs.webkit.org/show_bug.cgi?id=226079Patch by Eleni Maria Stea hikiko on 2021-05-21Reviewed by Adrian Perez de Castro.platform/network/DataURLDecoder.cpp:(WebCore::DataURLDecoder::decodeBase64): 1 edit251 deletes in trunk/LayoutTests[LayoutTests] Delete unused imported/blink resources​https://bugs.webkit.org/show_bug.cgi?id=226047 rdar://problem/78280660 Reviewed by Dewei Zhu.imported/blink/compositing/iframes/resources/subframe-with-fixed-position-element.html: Removed.imported/blink/compositing/layer-creation/resources: Removed.imported/blink/compositing/overflow/resources: Removed.imported/blink/css3/blending/resources: Removed.imported/blink/editing/execCommand/resources: Removed.imported/blink/editing/selection/resources: Removed.imported/blink/fast/canvas/resources: Removed.imported/blink/fast/css/resources/ahem.html: Removed.imported/blink/fast/css/resources/circle-small.svg: Removed.imported/blink/fast/css/resources/font-face-local-file-frame.html: Removed.imported/blink/fast/css/resources/media-query-with-cached-sheet-next.html: Removed.imported/blink/fast/css/resources/resize-corner-tracking-touch-iframe.html: Removed.imported/blink/fast/dom/HTMLDialogElement/resources: Removed.imported/blink/fast/dom/HTMLImageElement/resources: Removed.imported/blink/fast/dom/Range/resources: Removed.imported/blink/fast/dom/Window/resources: Removed.imported/blink/fast/dom/custom/resources: Removed.imported/blink/fast/dom/shadow/resources: Removed.imported/blink/fast/events/resources: Removed.imported/blink/fast/events/touch/gesture/resources: Removed.imported/blink/fast/events/touch/resources: Removed.imported/blink/fast/forms/date-multiple-fields/resources: Removed.imported/blink/fast/forms/datetimelocal-multiple-fields/resources: Removed.imported/blink/fast/forms/month-multiple-fields/resources: Removed.imported/blink/fast/forms/resources/popup-no-crash.html: Removed.imported/blink/fast/forms/time-multiple-fields/resources: Removed.imported/blink/fast/forms/week-multiple-fields/resources: Removed.imported/blink/fast/frames/resources/detach-frame-nested-subframe.html: Removed.imported/blink/fast/frames/resources/frame-set-location-badstring.html: Removed.imported/blink/fast/html/imports/resources/async-child.html: Removed.imported/blink/fast/html/imports/resources/async-root-child-1.html: Removed.imported/blink/fast/html/imports/resources/async-root-child-2.html: Removed.imported/blink/fast/html/imports/resources/async-root.html: Removed.imported/blink/fast/html/imports/resources/child-frame-with-import.html: Removed.imported/blink/fast/html/imports/resources/custom-element-hello-1.html: Removed.imported/blink/fast/html/imports/resources/custom-element-hello-2.html: Removed.imported/blink/fast/html/imports/resources/custom-element-hello-3.html: Removed.imported/blink/fast/html/imports/resources/custom-element-hello-4.html: Removed.imported/blink/fast/html/imports/resources/custom-element-hello-5.html: Removed.imported/blink/fast/html/imports/resources/custom-element-hello-6.html: Removed.imported/blink/fast/html/imports/resources/custom-element-hello-7.html: Removed.imported/blink/fast/html/imports/resources/custom-element-hello-8.html: Removed.imported/blink/fast/html/imports/resources/custom-element-hello-parent-12.html: Removed.imported/blink/fast/html/imports/resources/custom-element-hello-parent-34.html: Removed.imported/blink/fast/html/imports/resources/custom-element-hello-parent-56.html: Removed.imported/blink/fast/html/imports/resources/custom-element-hello.html: Removed.imported/blink/fast/html/imports/resources/custom-element-style.html: Removed.imported/blink/fast/html/imports/resources/cycle-two-parents-2-b.html: Removed.imported/blink/fast/html/imports/resources/cycle-two-parents-3-a.html: Removed.imported/blink/fast/html/imports/resources/do-document-write.html: Removed.imported/blink/fast/html/imports/resources/events-inline.html: Removed.imported/blink/fast/html/imports/resources/hello-css.html: Removed.imported/blink/fast/html/imports/resources/hello-legacy.html: Removed.imported/blink/fast/html/imports/resources/hello-nodtd.html: Removed.imported/blink/fast/html/imports/resources/import-custom-element-onload-child.html: Removed.imported/blink/fast/html/imports/resources/import-custom-element-onload-grandchild.html: Removed.imported/blink/fast/html/imports/resources/import-events-target.html: Removed.imported/blink/fast/html/imports/resources/import-link-with-media-query.html: Removed.imported/blink/fast/html/imports/resources/meta-encoding.html: Removed.imported/blink/fast/html/imports/resources/nest-dup-2-parent.html: Removed.imported/blink/fast/html/imports/resources/nest-dup-2.html: Removed.imported/blink/fast/html/imports/resources/nest-dup-child.html: Removed.imported/blink/fast/html/imports/resources/nest-dup-grand-parent.html: Removed.imported/blink/fast/html/imports/resources/nest-dup-parent.html: Removed.imported/blink/fast/html/imports/resources/nest-dup.html: Removed.imported/blink/fast/html/imports/resources/no-encoding.html: Removed.imported/blink/fast/html/imports/resources/nr1-i0.html: Removed.imported/blink/fast/html/imports/resources/nr1-i1.html: Removed.imported/blink/fast/html/imports/resources/nr1-i2.html: Removed.imported/blink/fast/html/imports/resources/nr1-i3.html: Removed.imported/blink/fast/html/imports/resources/nr1-i4.html: Removed.imported/blink/fast/html/imports/resources/nr1-i5.html: Removed.imported/blink/fast/html/imports/resources/nr2-i0.html: Removed.imported/blink/fast/html/imports/resources/nr2-i1.html: Removed.imported/blink/fast/html/imports/resources/nr2-i2.html: Removed.imported/blink/fast/html/imports/resources/nr2-i3.html: Removed.imported/blink/fast/html/imports/resources/nr2-i4.html: Removed.imported/blink/fast/html/imports/resources/nr2-i5.html: Removed.imported/blink/fast/html/imports/resources/nr2-i6.html: Removed.imported/blink/fast/html/imports/resources/nr2-i7.html: Removed.imported/blink/fast/html/imports/resources/nr3-i6.html: Removed.imported/blink/fast/html/imports/resources/nr3-i7.html: Removed.imported/blink/fast/html/imports/resources/nr4-i0.html: Removed.imported/blink/fast/html/imports/resources/nr4-i1.html: Removed.imported/blink/fast/html/imports/resources/nr4-i2.html: Removed.imported/blink/fast/html/imports/resources/nr4-i3.html: Removed.imported/blink/fast/html/imports/resources/nr4-i4.html: Removed.imported/blink/fast/html/imports/resources/nr4-i5.html: Removed.imported/blink/fast/html/imports/resources/nr4-i6.html: Removed.imported/blink/fast/html/imports/resources/nr4-i7.html: Removed.imported/blink/fast/html/imports/resources/nr4-i8.html: Removed.imported/blink/fast/html/imports/resources/nr4-i9.html: Removed.imported/blink/fast/html/imports/resources/nr4-ia.html: Removed.imported/blink/fast/html/imports/resources/nr5-i9.html: Removed.imported/blink/fast/html/imports/resources/nr5-ia.html: Removed.imported/blink/fast/html/imports/resources/onload-root.html: Removed.imported/blink/fast/html/imports/resources/script-document-write.html: Removed.imported/blink/fast/html/imports/resources/script-leaf.html: Removed.imported/blink/fast/html/imports/resources/script-prototype-test.html: Removed.imported/blink/fast/html/imports/resources/setting-greet-var.html: Removed.imported/blink/fast/html/imports/resources/shared-crash-child.html: Removed.imported/blink/fast/html/imports/resources/shared-crash-dup.html: Removed.imported/blink/fast/html/imports/resources/shared-crash-grandchild.html: Removed.imported/blink/fast/html/imports/resources/shared-crash-root.html: Removed.imported/blink/fast/html/imports/resources/style-basic-child-dynamic.html: Removed.imported/blink/fast/html/imports/resources/style-basic-child.html: Removed.imported/blink/fast/html/imports/resources/style-basic-grandchild.html: Removed.imported/blink/fast/html/imports/resources/style-blue.html: Removed.imported/blink/fast/html/imports/resources/style-link-block-child.html: Removed.imported/blink/fast/html/imports/resources/style-link-child.html: Removed.imported/blink/fast/html/imports/resources/style-link-grandchild.html: Removed.imported/blink/fast/html/imports/resources/style-red-parent.html: Removed.imported/blink/fast/html/imports/resources/style-red.html: Removed.imported/blink/fast/html/imports/resources/style-target-blue.html: Removed.imported/blink/fast/html/imports/resources/style-tree-order-dynamic-following.html: Removed.imported/blink/fast/html/imports/resources/style-tree-order-dynamic-leading.html: Removed.imported/blink/fast/html/imports/resources/style-tree-order-hide-import-green.html: Removed.imported/blink/fast/html/imports/resources/style-tree-order-hide-import-red.html: Removed.imported/blink/fast/html/imports/resources/style-tree-order-hide-link.html: Removed.imported/blink/fast/html/imports/resources/style-tree-order-hide-shared.html: Removed.imported/blink/fast/html/imports/resources/style-tree-order-hide-style.html: Removed.imported/blink/fast/html/imports/resources/style-tree-order-hide-subimport-green.html: Removed.imported/blink/fast/html/imports/resources/style-tree-order-hide-subimport-red.html: Removed.imported/blink/fast/html/imports/resources/style-tree-order-hide-subimport.html: Removed.imported/blink/fast/html/resources: Removed.imported/blink/fast/images/resources: Removed.imported/blink/fast/loader/resources/javascript-detached-frame-iframe.html: Removed.imported/blink/fast/multicol/resources: Removed.imported/blink/fast/parser/resources: Removed.imported/blink/fast/repaint/resources: Removed.imported/blink/fast/workers/resources: Removed.imported/blink/fast/xsl/resources: Removed.imported/blink/fullscreen/resources: Removed.imported/blink/http/tests/css/resources/cors-ahem.php: Removed.imported/blink/http/tests/css/resources/delayedCircle.php: Removed.imported/blink/http/tests/css/resources/performance-info-with-cached-sheet-next.html: Removed.imported/blink/http/tests/css/resources/referrer-check.php: Removed.imported/blink/http/tests/history/resources/frameset-dest.html: Removed.imported/blink/http/tests/history/resources/push-state-in-grandchild-child.html: Removed.imported/blink/http/tests/history/resources/push-state-in-grandchild-grandchild.html: Removed.imported/blink/http/tests/misc/resources/form-post-success.html: Removed.imported/blink/http/tests/misc/resources/frame-with-form-action-using-replace-child.html: Removed.imported/blink/http/tests/misc/resources/generatedimage.php: Removed.imported/blink/http/tests/misc/resources/iframe-accept-ch.php: Removed.imported/blink/http/tests/misc/resources/image-checks-for-dpr.php: Removed.imported/blink/http/tests/misc/resources/image-checks-for-viewport-width.php: Removed.imported/blink/http/tests/misc/resources/image-checks-for-width.php: Removed.imported/blink/http/tests/misc/resources/image-slow-out-of-viewport.pl: Removed.imported/blink/http/tests/misc/resources/nearly-empty-content-disposition.php: Removed.imported/blink/http/tests/misc/resources/reentrant-beforeunload-helper.html: Removed.imported/blink/http/tests/misc/resources/slow-frame-with-image.php: Removed.imported/blink/http/tests/misc/resources/webtiming-cross-origin-and-back-redirect3.php: Removed.imported/blink/http/tests/plugins/resources: Removed.imported/blink/http/tests/resources/accept-ch.php: Removed.imported/blink/http/tests/resources/dpr.php: Removed.imported/blink/http/tests/resources/iframe-no-accept-ch.php: Removed.imported/blink/http/tests/resources/no-last-modified.php: Removed.imported/blink/http/tests/resources/slow-image-dimensions.php: Removed.imported/blink/http/tests/resources/testharness-helpers.js: Removed.imported/blink/http/tests/resources/testharness.css: Removed.imported/blink/http/tests/resources/tripmine.php: Removed.imported/blink/http/tests/security/contentSecurityPolicy/resources: Removed.imported/blink/http/tests/security/mixedContent/resources: Removed.imported/blink/http/tests/security/mixedContent/websocket/resources: Removed.imported/blink/http/tests/security/resources/conditional-cors.php: Removed.imported/blink/http/tests/security/resources/cors-font.php: Removed.imported/blink/http/tests/security/resources/cors-hello.php: Removed.imported/blink/http/tests/security/resources/cors-redir.php: Removed.imported/blink/http/tests/security/resources/cors-redirect.php: Removed.imported/blink/http/tests/security/resources/cors-style.php: Removed.imported/blink/http/tests/security/resources/cross-origin-iframe-for-shared-worker.html: Removed.imported/blink/http/tests/security/resources/doc-with-iframe.html: Removed.imported/blink/http/tests/security/resources/echo-referrer-header.php: Removed.imported/blink/http/tests/security/resources/green-background-allow-credentials-import.php: Removed.imported/blink/http/tests/security/resources/green-background-allow-credentials.php: Removed.imported/blink/http/tests/security/resources/green-background-allow-star-import.php: Removed.imported/blink/http/tests/security/resources/green-background-allow-star.php: Removed.imported/blink/http/tests/security/resources/green-if-cors-anonymous.php: Removed.imported/blink/http/tests/security/resources/green-if-cors-credentialed.php: Removed.imported/blink/http/tests/security/resources/iframe-crossorigin-script.html: Removed.imported/blink/http/tests/security/resources/iframe-for-naked-global-object.html: Removed.imported/blink/http/tests/security/resources/iframe-for-storage-blocking-changed-shared-worker.html: Removed.imported/blink/http/tests/security/resources/image-wrapper-with-no-image.svg: Removed.imported/blink/http/tests/security/resources/img-basic-auth.php: Removed.imported/blink/http/tests/security/resources/post-origin-to-opener.html: Removed.imported/blink/http/tests/security/resources/postmessage-document-origin.html: Removed.imported/blink/http/tests/security/resources/redir.php: Removed.imported/blink/http/tests/security/resources/referrer-attr-anchor-noreferrer-target.html: Removed.imported/blink/http/tests/security/resources/referrer-attr-anchor-target.html: Removed.imported/blink/http/tests/security/resources/referrer-on-client-redirect.html: Removed.imported/blink/http/tests/security/resources/referrer-policy-conflicting-policies.html: Removed.imported/blink/http/tests/security/resources/referrer-policy-script.php: Removed.imported/blink/http/tests/security/resources/referrer-policy-start-crossorigin.html: Removed.imported/blink/http/tests/security/resources/script-allow-credentials.php: Removed.imported/blink/http/tests/security/resources/script-allow-star.php: Removed.imported/blink/http/tests/security/resources/webaudio: Removed.imported/blink/http/tests/security/resources/xorigincss7.html: Removed.imported/blink/http/tests/svg/resources/delayCachedLoadScript.php: Removed.imported/blink/http/tests/webfont/resources: Removed.imported/blink/http/tests/websocket/resources: Removed.imported/blink/http/tests/xmlhttprequest/resources/access-control-basic-post-success-no-content-type.php: Removed.imported/blink/http/tests/xmlhttprequest/resources/access-control-preflight-request-header-sorted.php: Removed.imported/blink/http/tests/xmlhttprequest/resources/access-control-preflight-request-headers-origin.php: Removed.imported/blink/http/tests/xmlhttprequest/resources/access-control-preflight-request-invalid-status.php: Removed.imported/blink/http/tests/xmlhttprequest/resources/access-control-preflight-request-must-not-contain-cookie.php: Removed.imported/blink/http/tests/xmlhttprequest/resources/access-control-sandboxed-iframe-allow-origin-null-iframe.html: Removed.imported/blink/http/tests/xmlhttprequest/resources/echo-random.php: Removed.imported/blink/http/tests/xmlhttprequest/resources/echo-request-origin.php: Removed.imported/blink/http/tests/xmlhttprequest/resources/frame-with-insecure-xhr.html: Removed.imported/blink/http/tests/xmlhttprequest/resources/invalid-utf8-json.pl: Removed.imported/blink/http/tests/xmlhttprequest/resources/json-response-overflow.php: Removed.imported/blink/http/tests/xmlhttprequest/resources/multiple-send.html: Removed.imported/blink/http/tests/xmlhttprequest/resources/navigation-abort-detaches-frame-subframe.html: Removed.imported/blink/http/tests/xmlhttprequest/resources/noscript-check.html: Removed.imported/blink/http/tests/xmlhttprequest/resources/post-echo.php: Removed.imported/blink/http/tests/xmlhttprequest/resources/redirect-cors-origin-null-pass.php: Removed.imported/blink/http/tests/xmlhttprequest/resources/redirect-cors-origin-null.php: Removed.imported/blink/http/tests/xmlhttprequest/resources/redirect-loop.php: Removed.imported/blink/http/tests/xmlhttprequest/resources/request-encoding4-doc.html: Removed.imported/blink/http/tests/xmlhttprequest/resources/xmlhttprequest-in-unload-sync.html: Removed.imported/blink/http/tests/xmlhttprequest/resources/xmlhttprequest-no-content-type-with-text.php: Removed.imported/blink/http/tests/xmlhttprequest/workers/resources: Removed.imported/blink/imported/web-platform-tests/screen-orientation/resources: Removed.imported/blink/imported/web-platform-tests/shadow-dom/resources: Removed.imported/blink/imported/web-platform-tests/webstorage/resources: Removed.imported/blink/plugins/resources/empty2.html: Removed.imported/blink/resources: Removed.imported/blink/scrollbars/resources: Removed.imported/blink/svg/animations/resources/animate-fill-freeze-with-repeatDur.svg: Removed.imported/blink/svg/animations/resources/animate-no-matching-end-value.svg: Removed.imported/blink/svg/animations/resources/animateMotion-fill-freeze.svg: Removed.imported/blink/svg/animations/resources/animateMotion-fill-remove.svg: Removed.imported/blink/svg/animations/resources/animateMotion-multiple.svg: Removed.imported/blink/svg/animations/resources/animation-policy.svg: Removed.imported/blink/svg/animations/resources/cyclic-syncbase.svg: Removed.imported/blink/svg/animations/resources/discard-on-discard.svg: Removed.imported/blink/svg/animations/resources/repeatn-remove-add-animation.svg: Removed.imported/blink/svg/animations/resources/viewspec-checkaspectparams.svg: Removed.imported/blink/svg/as-background-image/resources: Removed.imported/blink/svg/as-image/resources/actually-xhtml-with-media.svg: Removed.imported/blink/svg/as-image/resources/animated-rect-color.svg: Removed.imported/blink/svg/as-image/resources/animated-visited-link.svg: Removed.imported/blink/svg/as-image/resources/circle-200px-none.svg: Removed.imported/blink/svg/as-image/resources/css-animation.svg: Removed.imported/blink/svg/as-image/resources/default-font-settings.svg: Removed.imported/blink/svg/as-image/resources/image-with-data-uri.svg: Removed.imported/blink/svg/as-image/resources/image-with-svg-data-uri.svg: Removed.imported/blink/svg/as-image/resources/svg-with-image-with-link.svg: Removed.imported/blink/svg/custom/resources/draw-image-crash.svg: Removed.imported/blink/svg/dom/resources/import-other-svg.svg: Removed.imported/blink/svg/dom/resources/svg-with-animate-use.svg: Removed.imported/blink/svg/dom/resources/svg-with-animate.svg: Removed.Non-unified build fixes, late-ish May 2021 edition​https://bugs.webkit.org/show_bug.cgi?id=225990Unreviewed non-unified build fixes.Source/JavaScriptCore:jit/CCallHelpers.cpp: Add missing LinkBuffer.h header.Source/WebCore:No new tests needed.Modules/indexeddb/server/MemoryObjectStore.cpp: Add missing pal/SessioID.h header.Modules/webaudio/OfflineAudioContext.cpp: Add missing OfflineAudioCompletionEvent.h header.Modules/webaudio/OfflineAudioContext.h: Add missing wtf/UniqueRef.h header.Modules/websockets/WebSocketDeflateFramer.h: Add missing WebSocketExtensionProcessor.hheader, remove wtf/text/WTFString.h as it is already included by the former.bindings/js/JSDOMConvertEnumeration.h: Add missing JSDOMGlobalObject.h header.contentextensions/DFANode.cpp: Add missing wtf/HashMap.h header.html/HTMLFrameElement.cpp: Add missing HTMLParserIdioms.h header.html/HTMLHRElement.cpp: Ditto.html/HTMLIFrameElement.cpp: Ditto.html/HTMLLIElement.cpp: Ditto.html/HTMLMetaElement.cpp: Add missing HTMLParserIdioms.h, Frame.h, and FrameView.h headers.html/HTMLOutputElement.cpp:(WebCore::HTMLOutputElement::parseAttribute): Add missing HTMLNames:: namespace prefix inusage of HTMLNames::forAttr.(WebCore::HTMLOutputElement::htmlFor): Ditto.html/OffscreenCanvas.cpp: Add missing RuntimeEnabledFeatures.h header.layout/formattingContexts/FormattingGeometry.cpp: Add missing FormattingQuirks.h header.layout/formattingContexts/FormattingQuirks.cpp: Add missing FormattingGeometry.h header.layout/formattingContexts/block/BlockFormattingGeometry.cpp: Add missingBlockFormattingContext.h, BlockFormattingQuirks.h, and BlockMarginCollapse.h headers;remove unneeded BlockFormattingState.h and FormattingContext.h headers.layout/formattingContexts/block/BlockFormattingGeometry.h: Add missing forwarddeclaration for BlockFormattingContext.layout/formattingContexts/block/BlockFormattingQuirks.cpp: Add missingBlockFormattingContext.h and BlockMarginCollapse.h headers, remove unneededBlockFormattingState.h header.layout/formattingContexts/block/PrecomputedBlockMarginCollapse.cpp: Add missingBlockFormattingContext.h and BlockFormattingQuirks.h headers, remove unneededBlockFormattingState.h header.layout/formattingContexts/block/tablewrapper/TableWrapperBlockFormattingContext.cpp:Add missing BlockMarginCollapse.h header.layout/formattingContexts/block/tablewrapper/TableWrapperBlockFormattingQuirks.cpp:Add missing TableWrapperBlockFormattingContext.h header.layout/formattingContexts/block/tablewrapper/TableWrapperBlockFormattingQuirks.h:Add missing forward declaration for TableWrapperBlockFormattingContext.layout/formattingContexts/flex/FlexFormattingGeometry.cpp: Add missingFlexFormattingContext.h header, remove unneeded FlexFormattingState.h andFormattingContext.h headers.layout/formattingContexts/flex/FlexFormattingGeometry.h: Add missing forward declarationfor FlexFormattingContext.layout/formattingContexts/inline/InlineFormattingGeometry.cpp: Add missingInlineFormattingContext.h header, remove unneeded InlineLineBox.h header.layout/formattingContexts/inline/InlineFormattingGeometry.h: Add missing InlineLineBox.hand InlineLineBuilder.h headers, add missing forward declaration forInlineFormattingContext.layout/formattingContexts/inline/InlineFormattingQuirks.cpp: Add missingInlineFormattingContext.h header.layout/formattingContexts/inline/InlineFormattingQuirks.h: Add missing InlineLineBox.hheader, add missing forward declaration for InlineFormattingContext.layout/formattingContexts/inline/InlineLineBuilder.cpp: Add missingInlineFormattingQuirks.h header.layout/formattingContexts/table/TableFormattingGeometry.cpp: Add missingTableFormattingContext.h header, remove unneeded TableFormattingState.h header.layout/formattingContexts/table/TableFormattingGeometry.h: Add missing TableGrid.hheader, add missing forward declaration for TableFormattingContext.layout/formattingContexts/table/TableFormattingQuirks.cpp: Add missingTableFormattingContext.h header.layout/formattingContexts/table/TableFormattingQuirks.h: Add missing forward declarationfor TableFormattingContext.layout/formattingContexts/table/TableLayout.cpp: Add missing TableFormattingGeometry.hheader.page/FrameViewLayoutContext.cpp: Add missing StyleScope.h header.page/ImageOverlayController.h: Add missing LayoutRect.h header.page/PageConfiguration.h: Add missing wtf/HashSet.h header.platform/network/soup/SoupNetworkSession.cpp: Add missing wtf/text/StringHash.h header.style/StyleScopeRuleSets.cpp: Add missing StyleScope.h header.style/Styleable.cpp: Ditto.svg/SVGDocumentExtensions.cpp: Add missing SVGUseElement.h header.svg/SVGDocumentExtensions.h: Add missing wtf/WeakHashSet.h header, add missingforward declaration for SVGUseElement.workers/WorkerGlobalScope.cpp: Add missing FontCustomPlatformData.h header.Source/WebKit:NetworkProcess/PreconnectTask.h: Add missing forward declaration for NetworkSession.NetworkProcess/WebStorage/LocalStorageDatabase.h: Add missing wtf/HashMap.h header,remove unneeded wtf/RefCounted.h header.Shared/WebPageCreationParameters.cpp:(WebKit::WebPageCreationParameters::decode): Add missing WebCore:: namespace prefix tousage of WebCore::MediaProducer::MutedStateFlags. 4 edits in trunk[GLIB] fast/canvas/canvas-conic-gradient-angle.html is failing since added in r277547​https://bugs.webkit.org/show_bug.cgi?id=225916Reviewed by Adrian Perez de Castro.Source/WebCore:Covered by existing tests.In some cases, like negative or large enough "from" angles, the angleStartvariable would fall outside of the 0-360 range, making the center offsetadjust to always fall in the last quadrant instead of the correct one.This commit normalizes the starting angle to fall between 0-360 whencalculating the quadrant. While it makes the positive "from" angle testcases to pass, there are still some issues with negative "from", drawingslightly offset/slanted section borders, likely due to precision issues.platform/graphics/cairo/GradientCairo.cpp:(WebCore::normalizeAngle): Added helper.(WebCore::addConicSector): Check quadrant with a normalized (0-360) angle.LayoutTests:platform/glib/TestExpectations: Unskip and mark as passing to override root dir. 5 edits2 adds in trunk[LFC][TFC][Quirks] Use box-sizing: border-box when computing cell height​https://bugs.webkit.org/show_bug.cgi?id=226063Reviewed by Simon Fraser.Source/WebCore:Test: fast/layoutformattingcontext/table-simple-quirk-td-height-with-padding.htmllayout/Verification.cpp:(WebCore::Layout::LayoutContext::verifyAndOutputMismatchingLayoutTree):layout/formattingContexts/table/TableFormattingContext.cpp:(WebCore::Layout::TableFormattingContext::layoutCell):layout/formattingContexts/table/TableFormattingGeometry.cpp:(WebCore::Layout::TableFormattingGeometry::cellBoxContentHeight const):(WebCore::Layout::TableFormattingGeometry::cellHeigh const): Deleted.layout/formattingContexts/table/TableFormattingGeometry.h:LayoutTests:fast/layoutformattingcontext/table-simple-quirk-td-height-with-padding-expected.html: Added.fast/layoutformattingcontext/table-simple-quirk-td-height-with-padding.html: Added. 2 edits in trunk/Source/WebCore[GTK] REGRESSION: Broken scrolling on element.io with async scrolling​https://bugs.webkit.org/show_bug.cgi?id=222265Reviewed by Carlos Garcia Campos.Fix transform order for layer clipping in TextureMapperLayer.No new tests.platform/graphics/texmap/TextureMapperLayer.cpp:(WebCore::TextureMapperLayer::paintSelfAndChildren):Detect invalid InlinePathData in FillInlinePath​https://bugs.webkit.org/show_bug.cgi?id=225693Patch by Rob Buis ​rbuis@igalia.com on 2021-05-21Reviewed by Ryosuke Niwa.Detect invalid InlinePathData in FillInlinePath.platform/graphics/displaylists/DisplayListItems.h:(WebCore::DisplayList::InlinePathDataStorage::InlinePathDataStorage):(WebCore::DisplayList::InlinePathDataStorage::isValid const):(WebCore::DisplayList::FillInlinePath::FillInlinePath):(WebCore::DisplayList::FillInlinePath::path const): Deleted.Fix Python 3.6+ DeprecationWarnings about unknown escapes​https://bugs.webkit.org/show_bug.cgi?id=226018Reviewed by Jonathan Bedard.Fix Python 3.6+ DeprecationWarnings about unknown escapesPerformanceTests:JetStream2/RAMification.py:JetStream2/RexBench/FlightPlanner/convert-nfdc.py:RexBench/FlightPlanner/convert-nfdc.py:Source/JavaScriptCore:wasm/generateWasmB3IRGeneratorInlinesHeader.py:Source/WebCore:No new tests.Modules/webgpu/WHLSL/WHLSLBuildStandardLibraryFunctionMap.py:Tools:CISupport/build-webkit-org/loadConfig.py:(getTagsForBuilder):CISupport/build-webkit-org/steps.py:(RunGLibAPITests.commandComplete):(RunWebDriverTests.commandComplete):CISupport/ews-app/ews/common/bugzilla.py:(BugzillaBeautifulSoup._parse_attachment_ids_request_query):CISupport/ews-app/ews/common/buildbot.py:(Buildbot._get_display_name_from_builder_name):CISupport/ews-build/loadConfig.py:(getTagsForBuilder):CISupport/ews-build/steps.py:(CleanUpGitIndexLock.start):(FindModifiedLayoutTests):(BuildLogLineObserver.init):(PushCommitToWebKitRepo):CISupport/ews-build/steps_unittest.py:Scripts/ic-stats.py:Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py:(Svn):Scripts/webkitpy/common/checkout/changelog.py:(parse_bug_id_from_changelog):(ChangeLogEntry):(update_with_unreviewed_message):(set_reviewer):Scripts/webkitpy/common/checkout/diff_parser.py:(git_diff_to_svn_diff):Scripts/webkitpy/common/checkout/diff_test_data.py:Scripts/webkitpy/common/checkout/scm/commitmessage.py:(_first_non_empty_line_after_index):(CommitMessage.description):Scripts/webkitpy/common/checkout/scm/git.py:(Git.commit_success_regexp):(Git.timestamp_of_revision):(Git.git_commit_from_svn_revision):Scripts/webkitpy/common/checkout/scm/scm.py:(SCM.strip_r_from_svn_revision):Scripts/webkitpy/common/checkout/scm/svn.py:(SVN.commit_success_regexp):(SVN.revisions_changing_file):Scripts/webkitpy/common/checksvnconfigfile.py:(check):Scripts/webkitpy/common/config/contributionareas.py:(ContributionAreas._split_camelcase):Scripts/webkitpy/common/config/urls.py:Scripts/webkitpy/common/find_files_unittest.py:(TestWinNormalize.assert_filesystem_normalizes):Scripts/webkitpy/common/net/bugzilla/bug.py:(Bug.commit_revision):Scripts/webkitpy/common/net/bugzilla/bugzilla.py:(BugzillaQueries._parse_attachment_ids_request_query):(Bugzilla._parse_bug_id_from_attachment_page):(Bugzilla._parse_attachment_id_from_add_patch_to_bug_response):(Bugzilla._check_create_bug_response):Scripts/webkitpy/common/net/buildbot/buildbot.py:(BuildBot._parse_current_build_cell):Scripts/webkitpy/common/net/credentials.py:(Credentials._parse_security_tool_output):Scripts/webkitpy/common/net/resultsjsonparser_unittest.py:(ParsedJSONResultsTest):Scripts/webkitpy/common/system/crashlogs.py:(CrashLogs.get_timestamp_from_log):Scripts/webkitpy/common/system/crashlogs_unittest.py:Scripts/webkitpy/common/system/platforminfo.py:(PlatformInfo.available_sdks):Scripts/webkitpy/common/system/user.py:(User._wait_on_list_response):Scripts/webkitpy/common/watchlist/watchlistparser.py:(WatchListParser._rule_definitions_as_set):Scripts/webkitpy/layout_tests/models/test_expectations.py:(TestExpectationParser):(TestExpectationParser._parse_modifiers):(TestExpectationParser._tokenize_line):Scripts/webkitpy/performance_tests/perftest.py:(PerfTest):Scripts/webkitpy/port/base.py:(Port._natural_sort_key):Scripts/webkitpy/port/driver.py:(DriverOutput):(Driver._check_for_driver_timeout):(Driver._check_for_driver_crash_or_unresponsiveness):Scripts/webkitpy/port/image_diff.py:(ImageDiffer._read):Scripts/webkitpy/port/win.py:(WinPort.write_registry_value):Scripts/webkitpy/pytest.ini:Scripts/webkitpy/style/checker.py:(CheckerDispatcher._should_skip_file_path):Scripts/webkitpy/style/checkers/changelog.py:(ChangeLogChecker.check_entry):Scripts/webkitpy/style/checkers/cmake.py:(CMakeChecker._process_line):(CMakeChecker._check_no_space_cmds):(CMakeChecker._check_one_space_cmds):(CMakeChecker._check_non_lowercase_cmd):(CMakeChecker._check_list_order):Scripts/webkitpy/style/checkers/cpp.py:(FileInfo.repository_name):(check_for_non_standard_constructs):(check_spacing):(check_language):Scripts/webkitpy/style/checkers/cpp_unittest.py:Scripts/webkitpy/style/checkers/jstest.py:(map_functions_to_dict):(strip_trailing_blank_lines_and_comments):Scripts/webkitpy/style/checkers/messagesin.py:(MessagesInChecker.check_WTF_prefix):Scripts/webkitpy/style/patchreader.py:(PatchReader.check):Scripts/webkitpy/test/runner.py:Scripts/webkitpy/test/runner_unittest.py:(FakeLoader.init):Scripts/webkitpy/tool/commands/analyzechangelog.py:(AnalyzeChangeLog._enumerate_changelogs):Scripts/webkitpy/tool/commands/queries.py:(PrintBaselines.init):(FindResolvedBugs.execute):Scripts/webkitpy/tool/commands/upload.py:(MarkBugFixed._determine_bug_id_and_svn_revision):Scripts/webkitpy/tool/steps/promptforbugortitle.py:(PromptForBugOrTitle.run):Scripts/webkitpy/w3c/test_converter.py:(_W3CTestConverter.init):(_W3CTestConverter.read_webkit_prefixed_css_property_list):(_W3CTestConverter.legacy_read_webkit_prefixed_css_property_list):Scripts/webkitpy/w3c/test_parser.py:(TestParser.support_files):lldb/lldb_dump_class_layout.py:(LLDBDebuggerInstance._get_first_file_architecture):Websites/browserbench.org:JetStream2.0/RexBench/FlightPlanner/convert-nfdc.py: 18 edits7 adds in trunk/SourceImplement a remote Internal Unit in GPUProcess for audio MediaStreamTrack rendering​https://bugs.webkit.org/show_bug.cgi?id=225603Source/WebCore: rdar://problem/78114391 Reviewed by Eric Carlson.Fixed the case where we were calling start even though a source was already being played.This is more consistent since we are doing those checks for stop.Reduce the code where we lock sources to the minimum.In case we want to lock the sources copy in audio thread and we fail, continue rendering audio instead of dropping everything.Add some main thread assertions in AudioMediaStreamTrackRendererUnit methods.Manually tested.platform/mediastream/cocoa/AudioMediaStreamTrackRendererUnit.cpp:(WebCore::AudioMediaStreamTrackRendererUnit::addSource):(WebCore::AudioMediaStreamTrackRendererUnit::removeSource):(WebCore::AudioMediaStreamTrackRendererUnit::render):Source/WebKit:Reviewed by Eric Carlson.Implement an InternalUnit by creating a ring buffer that gets written on WebProcess and read on GPUProcess by an audio unit.In the previous implementation, each audio track was sent to GPUProcess that was doing the mixing.Sending was done by sending IPC message for each audio sample, which was also processing inefficient.We are now creating an Audio Unit in GPUProcess and similarly to WebAudio asking WebProcess to render audio in a buffer that will be actually rendered by the audio unit.The mixing happens in WebProcess so only one buffer is shared between GPUProcess and WebProcess, and no IPC message is sent for each chunk.The potential downside is that the mixing is done with fixed chunk size instead of chunk size requested by the audio unit.This might trigger some latency or some overhead if the fixed chunk size is too far from what the audio unit is asking.In case of GPUProcess crash, we keep the same format description but we delay recreation of the unit if the unit is stopped.DerivedSources-input.xcfilelist:DerivedSources-output.xcfilelist:DerivedSources.make:GPUProcess/GPUConnectionToWebProcess.cpp:(WebKit::GPUConnectionToWebProcess::audioMediaStreamTrackRendererInternalUnitManager):(WebKit::GPUConnectionToWebProcess::dispatchMessage):GPUProcess/GPUConnectionToWebProcess.h:GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp:(WebKit::RemoteAudioMediaStreamTrackRenderer::start):GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp: Added.(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::RemoteAudioMediaStreamTrackRendererInternalUnitManager):(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::~RemoteAudioMediaStreamTrackRendererInternalUnitManager):(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::createUnit):(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::deleteUnit):(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::startUnit):(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::stopUnit):(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::setAudioOutputDevice):(WebKit::renderCallback):(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit::Unit):(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit::~Unit):(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit::start):(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit::stop):(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit::setAudioOutputDevice):(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit::render):GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.h: Added.GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.messages.in: Added.Scripts/webkit/messages.py:(types_that_cannot_be_forward_declared):Sources.txt:SourcesCocoa.txt:WebKit.xcodeproj/project.pbxproj:WebProcess/GPU/GPUProcessConnection.h:WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.cpp:(WebKit::AudioMediaStreamTrackRenderer::start):WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.h:WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererInternalUnitIdentifier.h: Added.WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererInternalUnitManager.cpp: Added.(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::add):(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::remove):(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::createRemoteInternalUnit):(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::gpuProcessConnectionClosed):(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::Proxy::Proxy):(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::Proxy::~Proxy):(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::Proxy::createRemoteUnit):(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::Proxy::initialize):(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::Proxy::start):(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::Proxy::storageChanged):(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::Proxy::stop):(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::Proxy::setAudioOutputDevice):(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::Proxy::retrieveFormatDescription):(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::Proxy::stopThread):(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::Proxy::startThread):(WebKit::AudioMediaStreamTrackRendererInternalUnitManager::Proxy::restartIfNeeded):WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererInternalUnitManager.h: Added.WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererInternalUnitManager.messages.in: Added.WebProcess/WebProcess.cpp:(WebKit::WebProcess::audioMediaStreamTrackRendererInternalUnitManager):WebProcess/WebProcess.h:WebProcess/cocoa/UserMediaCaptureManager.cpp:(WebKit::UserMediaCaptureManager::setupCaptureProcesses): 2 edits in trunk/JSTestsUnskip type-check-hoisting-phase-hoist-check-structure-on-tdz-this-value on MIPS​https://bugs.webkit.org/show_bug.cgi?id=226011Unreviewed gardening.Appears to no longer be flaky.stress/type-check-hoisting-phase-hoist-check-structure-on-tdz-this-value.js: 12 edits1 add in trunk[ Catalina Release JSC] A large number of JSC test appear to be flaky failing​https://bugs.webkit.org/show_bug.cgi?id=225998 rdar://problem/78235001 Reviewed by Yusuke Suzuki.JSTests:stress/dont-link-virtual-calls-on-compiler-thread.js: Added.Source/JavaScriptCore:This patch is fixing some fallout from moving JIT::link() to a backgroundthread:We can't shrink the CodeBlock's constant pool on a background threadsince we read from it without grabbing a lock on the main thread (whenreading things off the stack in slow path calls).We can't create GCAwareJITStubRoutines on the compilation thread, sincecreating a GCAwareJITStubRoutines adds to a global hash table inside Heap. Thismeans that we have to do that step of emitting virtual calls for eval whenwe're finalizing code on the main thread.This patch also makes it so that a baseline JIT compilation thread iscorrectly marked as such.heap/JITStubRoutineSet.cpp:(JSC::JITStubRoutineSet::add):jit/AssemblyHelpers.cpp:(JSC::AssemblyHelpers::emitUnlinkedVirtualCall):(JSC::AssemblyHelpers::emitVirtualCall):jit/AssemblyHelpers.h:jit/JIT.cpp:(JSC::JIT::link):(JSC::JIT::finalizeOnMainThread):jit/JIT.h:jit/JITCall.cpp:(JSC::JIT::compileCallEvalSlowCase):jit/JITCall32_64.cpp:(JSC::JIT::compileCallEvalSlowCase):jit/JITWorklist.cpp: 4 edits in trunkWKRemoteObjectRegistry _invokeMethod needs to check for nil completionHandlers​https://bugs.webkit.org/show_bug.cgi?id=225941Patch by Julian Gonzalez ​julian_a_gonzalez@apple.com on 2021-05-20Reviewed by Ryosuke Niwa.Source/WebKit:_invokeMethod's argument-checking loop needs to be runeven if replyInfo is nil, as otherwise we can perform an invocationif a method signature specifies a completion handler even thoughnone is provided.Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:(-[_WKRemoteObjectRegistry _invokeMethod:]):Tools:Add an IPC test with a nil (really malformed) completion handlerthat makes sure the invocation is not performed.TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:(-[IPCTestingAPIDelegate sayHello:completionHandler:]):(-[IPCTestingAPIDelegate sayHelloWasCalled]):(TEST): 2 edits in trunk/Source/ThirdParty/ANGLE[Metal ANGLE] Handle NAN constant folding correctly​https://bugs.webkit.org/show_bug.cgi?id=226052NAN values (0.0f/0.0f) were being handled incorrectly. MSL was being emitted as lowercase 'nanf', instead of NANCheck for an unlikely NAN case, and emit correct MSLReviewed by Dean Jackson.src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:(GenMetalTraverser::emitSingleConstant):Use CheckedLock more in WTF​https://bugs.webkit.org/show_bug.cgi?id=226045Reviewed by Darin Adler.Use CheckedLock more in WTF to benefit from Clang Thread Safety Analysis.wtf/CrossThreadQueue.h:(WTF::CrossThreadQueue DataType ::append):(WTF::CrossThreadQueue DataType ::waitForMessage):(WTF::CrossThreadQueue DataType ::tryGetMessage):(WTF::CrossThreadQueue DataType ::kill):(WTF::CrossThreadQueue DataType ::isKilled const):(WTF::CrossThreadQueue DataType ::isEmpty const):wtf/CrossThreadTaskHandler.cpp:(WTF::CrossThreadTaskHandler::postTaskReply):(WTF::CrossThreadTaskHandler::handleTaskRepliesOnMainThread):wtf/CrossThreadTaskHandler.h:(WTF::CrossThreadTaskHandler::WTF_GUARDED_BY_LOCK):wtf/CryptographicallyRandomNumber.cpp:wtf/FastMalloc.cpp:(WTF::MallocCallTracker::recordMalloc):(WTF::MallocCallTracker::recordRealloc):(WTF::MallocCallTracker::recordFree):(WTF::MallocCallTracker::dumpStats):wtf/MessageQueue.h:(WTF::MessageQueue DataType ::append):(WTF::MessageQueue DataType ::appendAndKill):(WTF::MessageQueue DataType ::appendAndCheckEmpty):(WTF::MessageQueue DataType ::prepend):(WTF::MessageQueue DataType ::waitForMessageFilteredWithTimeout):(WTF::MessageQueue DataType ::tryGetMessage):(WTF::MessageQueue DataType ::takeAllMessages):(WTF::MessageQueue DataType ::tryGetMessageIgnoringKilled):(WTF::MessageQueue DataType ::removeIf):(WTF::MessageQueue DataType ::isEmpty):(WTF::MessageQueue DataType ::kill):(WTF::MessageQueue DataType ::killed const):wtf/OSLogPrintStream.cpp:(WTF::OSLogPrintStream::vprintf):wtf/OSLogPrintStream.h:wtf/ParallelJobsGeneric.h:(WTF::ParallelEnvironment::ThreadPrivate::WTF_GUARDED_BY_LOCK):wtf/ParallelVectorIterator.h:(WTF::ParallelVectorIterator::iterate):(WTF::ParallelVectorIterator::WTF_GUARDED_BY_LOCK):wtf/ReadWriteLock.cpp:(WTF::ReadWriteLock::readLock):(WTF::ReadWriteLock::readUnlock):(WTF::ReadWriteLock::writeLock):(WTF::ReadWriteLock::writeUnlock):wtf/ReadWriteLock.h:(WTF::ReadWriteLock::WTF_GUARDED_BY_LOCK): 2 edits in trunk/Source/WebKit[iOS][FCR] select options are unnecessarily truncated​https://bugs.webkit.org/show_bug.cgi?id=226048 rdar://problem/76008154 Reviewed by Tim Horton.UIProcess/ios/forms/WKFormSelectPicker.mm:(-[WKSelectPicker createMenu]):UIMenu's currently limit action titles to two lines. Use SPI to removethe limit and avoid unnecessary truncation.Fix locking in PlatformCALayer​https://bugs.webkit.org/show_bug.cgi?id=226062Reviewed by Tim Horton.Fix locking issue in PlatformCALayer found by Clang Thread Safety Analysis.We were locking before querying layerToPlatformLayerMap(), but failing todo so when adding or removing from layerToPlatformLayerMap().platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:(WebCore::WTF_REQUIRES_LOCK):(WebCore::PlatformCALayer::platformCALayerForLayer):(WebCore::PlatformCALayerCocoa::commonInit):(WebCore::PlatformCALayerCocoa::~PlatformCALayerCocoa):(WebCore::layerToPlatformLayerMap): Deleted.Add missing lock in AXIsolatedTree::treeForID()​https://bugs.webkit.org/show_bug.cgi?id=226060 rdar://problem/78287227 Reviewed by Alex Christensen.Add missing lock in AXIsolatedTree::treeForID(). This was found via Clang Thread SafetyAnalysis. This was the only call site that was failing to grab the s_cacheLock beforecalling treeIDCache().accessibility/isolatedtree/AXIsolatedTree.cpp:(WebCore::AXIsolatedTree::treeForID):(WebCore::AXIsolatedTree::create):(WebCore::AXIsolatedTree::removeTreeForPageID):(WebCore::AXIsolatedTree::treeForPageID):accessibility/isolatedtree/AXIsolatedTree.h:Add missing locks in Language.cpp​https://bugs.webkit.org/show_bug.cgi?id=226059Reviewed by Alex Christensen.Add missing locks in Language.cpp. This was found via Clang Thread Safety Analysis.Some of the overrideUserPreferredLanguages() call sites were failing to grab thelock first.Also use NeverDestroyed in preferredLanguagesOverride() instead of LazyNeverDestroyedwith std::call_once. All call sites are already grabbing a lock so there is no needfor extra synchronization.wtf/Language.cpp:(WTF::WTF_REQUIRES_LOCK):(WTF::userPreferredLanguagesOverride):(WTF::overrideUserPreferredLanguages):(WTF::userPreferredLanguages):(WTF::preferredLanguagesOverride): Deleted. 6 edits in trunk[WPE] Spatial navigation tests fail with async overflow scrolling enabled​https://bugs.webkit.org/show_bug.cgi?id=225922Reviewed by Simon Fraser.Source/WebCore:Add absoluteClippedOverflowRectForSpatialNavigation for when theclipped overflow rect not taking into account composited scrolling isnecessary.No new tests, covered by existing tests.accessibility/AccessibilityRenderObject.cpp:(WebCore::AccessibilityRenderObject::isOffScreen const):page/SpatialNavigation.cpp:(WebCore::hasOffscreenRect):rendering/RenderObject.h:(WebCore::RenderObject::absoluteClippedOverflowRectForSpatialNavigation const):(WebCore::RenderObject::visibleRectContextForSpatialNavigation):LayoutTests:Some spatial navigation tests now pass on WPE.platform/wpe/TestExpectations: 5 edits in trunkUnreviewed, reverting r277606.rdar://78283324Source/WebKit:Need to wait for more projects to migrate to new API.Reverted changeset:"[Cocoa] Remove prototype loadSimulatedRequest methods"​https://bugs.webkit.org/show_bug.cgi?id=223658​https://commits.webkit.org/r277606Tools:Need to wait for more projects to migrateReverted changeset:"[Cocoa] Remove prototype loadSimulatedRequest methods"​https://bugs.webkit.org/show_bug.cgi?id=223658​https://commits.webkit.org/r277606 4 edits in trunk/Source/JavaScriptCoreMake polymorphic calls play nice with Data Call ICs​https://bugs.webkit.org/show_bug.cgi?id=225793Reviewed by Robin Morisset.This patch makes it so that Polymorphic stubs don't repatch when usingData Call ICs. We add a branch to the Data IC fast path to see if we'repolymorphic. If we are, then we either call or tail call the polymorphicstub, depending on the CallLinkInfo's call type. This patch also changesthe polymorphic stub to handle being called instead of jumped to, since thatwill now happen for Data ICs of non tail calls.bytecode/CallLinkInfo.cpp:(JSC::CallLinkInfo::setMonomorphicCallee):(JSC::CallLinkInfo::callee):(JSC::CallLinkInfo::visitWeak):(JSC::CallLinkInfo::emitFastPathImpl):(JSC::CallLinkInfo::revertCallToStub):(JSC::CallLinkInfo::setStub):(JSC::CallLinkInfo::emitFirstInstructionForDataIC): Deleted.bytecode/CallLinkInfo.h:jit/Repatch.cpp:(JSC::linkPolymorphicCall):Mark ServiceWorkerThreadProxy with a default app-bound value​https://bugs.webkit.org/show_bug.cgi?id=223201 rdar://problem/77664416 Reviewed by Youenn Fablet.Source/WebCore:Service worker loads have their own document loader, so they don'talways get properly marked as app-bound based on the main framenavigation. Prior fixes handled some fetch events, syntheticresponses, and soft updates. But we need to set a default value whenwe install the service worker.We had to pick a best-effort heuristic to do this. If any client forthe worker is app-bound, then all loads with that worker will bemarked app-bound.testing/ServiceWorkerInternals.cpp:(WebCore::ServiceWorkerInternals::lastNavigationWasAppBound):testing/ServiceWorkerInternals.h:testing/ServiceWorkerInternals.idl:workers/WorkerRunLoop.h:To test this, I added a new API to ServiceWorkerInternals to get theworker's app bound value.workers/service/ServiceWorkerClientData.cpp:(WebCore::ServiceWorkerClientData::isolatedCopy const):(WebCore::ServiceWorkerClientData::from):workers/service/ServiceWorkerClientData.h:(WebCore::ServiceWorkerClientData::encode const):(WebCore::ServiceWorkerClientData::decode):Store the main navigation app-bound value when we register a client.workers/service/ServiceWorkerContextData.cpp:(WebCore::ServiceWorkerContextData::isolatedCopy const):workers/service/ServiceWorkerContextData.h:(WebCore::ServiceWorkerContextData::encode const):(WebCore::ServiceWorkerContextData::decode):workers/service/context/ServiceWorkerThreadProxy.cpp:(WebCore::ServiceWorkerThreadProxy::ServiceWorkerThreadProxy):(WebCore::ServiceWorkerThreadProxy::lastNavigationWasAppBound):workers/service/context/ServiceWorkerThreadProxy.h:workers/service/server/RegistrationDatabase.cpp:(WebCore::RegistrationDatabase::importRecords):workers/service/server/SWServer.cpp:(WebCore::SWServer::updateWorker):(WebCore::SWServer::clientIsAppBoundForRegistrableDomain):Best-effort heuristic to mark a load as app bound if any client forthat origin was registered as app-bound.Source/WebKit:NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:(WebKit::WebSWServerConnection::controlClient):NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:(WebKit::WebSWServerToContextConnection::updateAppBoundValue):NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h:Scripts/webkit/messages.py:(headers_for_type):WebProcess/Storage/WebSWContextManagerConnection.cpp:(WebKit::WebSWContextManagerConnection::updateAppBoundValue):WebProcess/Storage/WebSWContextManagerConnection.h:WebProcess/Storage/WebSWContextManagerConnection.messages.in:Tools:Test coverage.TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:(-[SWAppBoundRequestMessageHandler userContentController:didReceiveScriptMessage:]): 2 edits in trunk/LayoutTests[macOS] imported/w3c/web-platform-tests/IndexedDB/blob-valid-before-commit.any.html is a flaky failure​https://bugs.webkit.org/show_bug.cgi?id=226050Unreviewed test gardening.platform/mac/TestExpectations:Allow GPU process log channels to be configured​https://bugs.webkit.org/show_bug.cgi?id=226036 rdar://problem/78271211 Reviewed by Jer Noble.GPUProcess/GPUConnectionToWebProcess.cpp:(WebKit::GPUConnectionToWebProcess::configureLoggingChannel): Configure WebCore andWebKit logging channels because classes used in the GPU process use both.GPUProcess/GPUConnectionToWebProcess.h:GPUProcess/GPUConnectionToWebProcess.messages.in:WebProcess/GPU/GPUProcessConnection.cpp:(WebKit::GPUProcessConnection::configureLoggingChannel): Send configureLoggingChannelmessage to the GPU process.WebProcess/GPU/GPUProcessConnection.h:WebProcess/WebPage/WebPage.cpp:(WebKit::WebPage::configureLoggingChannel): Send configureLoggingChannel to theGPU process connection, if there is one. 2 edits in trunk/Source/WebKit[Cocoa] Adopt "com.apple.QuartzCore.webkit-limited-types" entitlement​https://bugs.webkit.org/show_bug.cgi?id=226044 rdar://problem/60549120 Reviewed by Per Arne Vollan.WebKit should adopt the "com.apple.QuartzCore.webkit-limited-types" entitlement as a further hardening measure to helpQuartzCore limit the features accessible from the WebContent and GPU Process. WebKit only needs a subset of thefeatures of QuartzCore, and this entitlement allows the framework to block certain code paths.Tested by existing rendering test cases.Scripts/process-entitlements.sh: 121 edits9 adds3 deletes in trunk[WebIDL] Remove [ImplicitThis] and [CustomProxyToJSObject] extended attributes​https://bugs.webkit.org/show_bug.cgi?id=223758Reviewed by Sam Weinig.LayoutTests/imported/w3c:web-platform-tests/WebIDL/ecmascript-binding/global-object-implicit-this-value.any-expected.txt: Added.web-platform-tests/WebIDL/ecmascript-binding/global-object-implicit-this-value.any.html: Added.web-platform-tests/WebIDL/ecmascript-binding/global-object-implicit-this-value.any.js: Added.web-platform-tests/WebIDL/ecmascript-binding/global-object-implicit-this-value.any.worker-expected.txt: Added.web-platform-tests/WebIDL/ecmascript-binding/global-object-implicit-this-value.any.worker.html: Added.web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-registerprocessor-called-on-globalthis.https-expected.txt: Added.web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-registerprocessor-called-on-globalthis.https.html: Added.web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/processors/dummy-processor-globalthis.js: Added.Source/WebCore:This change introduces castThisValue JSClass , taking a step towards unification of |this|value casting between IDLAttribute and IDLOperation. The helper uses compile-time inheritancecheck to provide implicit |this| value for DOM global objects [1], replacing [ImplicitThis]extended attribute, which was removed from the spec [2] a while ago.IDLAttribute can't perform toThis() with ECMAMode::strict(), like IDLOperation now does,because CustomValue getters are called with |this| value of JSGlobalObject type, which getstainted by JSScope::toThis(). #225397 will remove the need for toThis(), finally making |this|value casting consistent between attributes and operations.Also, this patch fixes Object.create(window).location to throw as per spec [1] by removingprototype chain traversal from toJSDOMWindow(), which aligns WebKit with Blink and Gecko.As DOM global objects are wrapped in proxies and require special casting, toJSDOMWindow() andfriends are merged into toJSDOMGlobalObject JSClass , which is aware of inheritance / JSProxy.It replaces [CustomProxyToJSObject] extended attribute, which could be missed when adding newDOM global objects, fixing worklets' global functions not to throw when called on globalThis.This change reduces WebCore --release binary size by 0.2% (147 KB).[1] ​https://heycam.github.io/webidl/#dfn-attribute-getter (step 1.1.2.3)[2] ​https://github.com/heycam/webidl/pull/155Tests: imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/global-object-implicit-this-value.any.jsimported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-registerprocessor-called-on-globalthis.https.htmlfast/css-custom-paint/registerPaintBindings.htmlhttp/tests/security/listener/*.htmlHeaders.cmake:Modules/webaudio/AudioWorkletGlobalScope.idl:WebCore.xcodeproj/project.pbxproj:bindings/js/JSDOMAttribute.h:(WebCore::IDLAttribute::set):(WebCore::IDLAttribute::setPassingPropertyName):(WebCore::IDLAttribute::get):(WebCore::IDLAttribute::getPassingPropertyName):bindings/js/JSDOMCastThisValue.h: Added.(WebCore::castThisValue):bindings/js/JSDOMCastedThisErrorBehavior.h: Removed.bindings/js/JSDOMGlobalObject.h:(WebCore::toJSDOMGlobalObject):bindings/js/JSDOMOperation.h:(WebCore::IDLOperation::cast):bindings/js/JSDOMWindowBase.cpp:bindings/js/JSDOMWindowBase.h:(WebCore::toJSDOMWindow):bindings/js/JSDOMWindowCustom.cpp:(WebCore::JSC_DEFINE_CUSTOM_GETTER):(WebCore::IDLOperation JSDOMWindow ::cast): Deleted.bindings/js/JSDocumentCustom.cpp:(WebCore::cachedDocumentWrapper):bindings/js/JSEventTargetCustom.cpp:(WebCore::jsEventTargetCast):bindings/js/JSEventTargetCustom.h:(WebCore::IDLOperation JSEventTarget ::call):bindings/js/JSRemoteDOMWindowBase.cpp:(WebCore::toJSRemoteDOMWindow): Deleted.bindings/js/JSRemoteDOMWindowBase.h:bindings/js/JSWorkerGlobalScopeBase.cpp:(WebCore::toJSDedicatedWorkerGlobalScope): Deleted.(WebCore::toJSWorkerGlobalScope): Deleted.(WebCore::toJSServiceWorkerGlobalScope): Deleted.bindings/js/JSWorkerGlobalScopeBase.h:bindings/js/JSWorkletGlobalScopeBase.cpp:(WebCore::toJSWorkletGlobalScope): Deleted.bindings/js/JSWorkletGlobalScopeBase.h:bindings/scripts/CodeGeneratorJS.pm:(ShouldGenerateToJSDeclaration):(IsAcceleratedDOMAttribute):(GenerateImplementation):bindings/scripts/IDLAttributes.json:bindings/scripts/test/JS/*: Updated.inspector/InspectorController.cpp:(WebCore::InspectorController::canAccessInspectedScriptState const):page/DOMWindow.idl:page/RemoteDOMWindow.idl:workers/DedicatedWorkerGlobalScope.idl:workers/WorkerGlobalScope.idl:workers/service/ServiceWorkerGlobalScope.idl:worklets/PaintWorkletGlobalScope.idl:worklets/WorkletGlobalScope.idl:Source/WebKit:Use inherits T instead of toJSDOMWindow() if the value is never a JSProxy.WebProcess/InjectedBundle/InjectedBundle.cpp:(WebKit::InjectedBundle::reportException):Source/WebKitLegacy/mac:Use inherits T instead of toJSDOMWindow() if the value is never a JSProxy.WebView/WebView.mm:(+[WebView _reportException:inContext:]):Source/WebKitLegacy/win:Use inherits T instead of toJSDOMWindow() if the value is never a JSProxy.WebView.cpp:(WebView::reportException):LayoutTests:fast/css-custom-paint/registerPaintBindings.html:http/tests/security/listener/*:This is a progression: Blink and Gecko don't call event listeners belonging to destroyed frames.js/property-of-window-as-prototype-expected.txt: Removed.js/property-of-window-as-prototype.html: Removed. 10 edits2 adds in trunkAlign internal methods of WindowProperties object with the spec​https://bugs.webkit.org/show_bug.cgi?id=222918Reviewed by Sam Weinig.LayoutTests/imported/w3c:web-platform-tests/WebIDL/ecmascript-binding/class-string-named-properties-object.window-expected.txt:web-platform-tests/WebIDL/ecmascript-binding/class-string-named-properties-object.window.js:web-platform-tests/WebIDL/ecmascript-binding/window-named-properties-object-expected.txt: Added.web-platform-tests/WebIDL/ecmascript-binding/window-named-properties-object.html: Added.web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html:web-platform-tests/html/browsers/the-window-object/named-access-on-the-window-object/window-named-properties-expected.txt:web-platform-tests/html/browsers/the-window-object/named-access-on-the-window-object/window-named-properties.html:Source/WebCore:This patch:Implements PreventExtensions?, DefineOwnProperty?, and Delete? methods that always fail [1],ensuring Set? with altered receiver is passed through, indexed properties are rejected as well,and an exception is thrown if neccessary.Adding a put() override would a) slow down global var creation and b) require factoring out most ofJSObject::putInlineSlow(). Instead, we prevent extensions on a structure while defining isExtensible()override to cover that up.Corrects property attributes reported by GetOwnProperty? methods of cross-origin WindowProxy [2]and WindowProperties, bringing these objects in compliance with invariants of internal methods [3].Removes comments on cross-browser differences and priority order from GetOwnProperty? becauseit correctly implements the now detailed spec [4]. Browsing contexts precedence is covered bywpt/html/browsers/the-window-object/named-access-on-the-window-object/named-objects.html test.Asserts that WindowProperties Prototype? is an object, as guaranteed by its SetPrototypeOf?.This change fully implements the current spec, aligning WebKit with Blink and Gecko.[1] ​https://heycam.github.io/webidl/#named-properties-object-defineownproperty[2] ​https://html.spec.whatwg.org/multipage/window-object.html#windowproxy-getownproperty (step 6.2)[3] ​https://tc39.es/ecma262/#sec-invariants-of-the-essential-internal-methods[4] ​https://html.spec.whatwg.org/multipage/window-object.html#dom-window-nameditem (step 2)Tests: imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/window-named-properties-object.htmlimported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.htmlimported/w3c/web-platform-tests/html/browsers/the-window-object/named-access-on-the-window-object/window-named-properties.htmlbindings/js/JSDOMWindowCustom.cpp:(WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess):bindings/js/JSDOMWindowProperties.cpp:(WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter):(WebCore::JSDOMWindowProperties::finishCreation):(WebCore::JSDOMWindowProperties::getOwnPropertySlot):(WebCore::JSDOMWindowProperties::deleteProperty):(WebCore::JSDOMWindowProperties::deletePropertyByIndex):(WebCore::JSDOMWindowProperties::preventExtensions):(WebCore::JSDOMWindowProperties::isExtensible):(WebCore::JSDOMWindowProperties::defineOwnProperty):bindings/js/JSDOMWindowProperties.h:[Flatpak SDK] Remove PHP packages​https://bugs.webkit.org/show_bug.cgi?id=226037Reviewed by Philippe Normand.Remove the PHP package from the SDK now that the layout tests do not use PHP.Tools/buildstream:elements/test-infra.bst: Remove php.bst from the element list.elements/test-infra/php.bst: Removed.LayoutTests:http/conf/flatpak-httpd.conf: Remove usage of mod_php7. 2 edits in trunk/Source/WebKitREGRESSION(r277505): Crash under WTF::Detail::CallableWrapper WebKit::WebPageProxy::setUnderPageBackgroundColorOverride(WebCore::Color )::$_10, void ::call​https://bugs.webkit.org/show_bug.cgi?id=225979 rdar://problem/78130098 Reviewed by Tim Horton.UIProcess/WebPageProxy.cpp:(WebKit::WebPageProxy::setUnderPageBackgroundColorOverride):Semi-speculative fix by checking the weakly-held PageClient before attempting to use it.Dissasembly suggests this as the cause as the invalid access occurs early in the lambda. 2 edits in trunk/Websites/perf.webkit.orgNeed to use default git pull to remove the fake svn commit when syncing with SVN​https://bugs.webkit.org/show_bug.cgi?id=226039Reviewed by Jonathan Bedard.tools/sync-commits.py:(GitRepository._fetch_remote):Use Python 3 for running various scripts on EWS​https://bugs.webkit.org/show_bug.cgi?id=226041Reviewed by Jonathan Bedard.CISupport/ews-build/steps.py: Use Python 3.(CleanBuild):(TriggerCrashLogSubmission):(WaitForCrashCollection):(ArchiveBuiltProduct):(ExtractBuiltProduct):CISupport/ews-build/steps_unittest.py: Updated unit-tests. 10 edits in trunk/Source/ThirdParty/ANGLERed flashes zooming on Google Maps when using external monitor on multi-gpu systems​https://bugs.webkit.org/show_bug.cgi?id=225956 rdar://77024179 Reviewed by Dean Jackson.IOSurface presentation swaps require that a command buffer is queued for execution beforeswapping. Otherwise, we're liable to drop frames, or present old IOSurface buffers.Ensure work flushed via glFlush completes before presenation by waiting for it to enqueue beforeswapping a surface.src/libANGLE/renderer/metal/ContextMtl.mm:(rx::ContextMtl::flush):src/libANGLE/renderer/metal/mtl_command_buffer.h:src/libANGLE/renderer/metal/mtl_command_buffer.mm:(rx::mtl::CommandBuffer::waitUntilScheduled):(rx::mtl::CommandBuffer::commitImpl): 2 edits in trunk/Source/WebKitConfigure fullscreen view after it has transitioned​https://bugs.webkit.org/show_bug.cgi?id=226031 rdar://problem/78277029 Reviewed by Tim Horton.Call an internal configuration method after the fullscreen transition.UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:(-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]): 3 edits in trunk/Source/WebKit[macOS] Allow access to the 'DiskImageURL' IOKit property​https://bugs.webkit.org/show_bug.cgi?id=226033 rdar://problem/78199855 Reviewed by Per Arne Vollan.Access to certain disk image types is affected by the ability to read the DiskImageURL IOKit property. Since fileURLs may reference such locations (and indeed, telemetry shows that this is happening) we should grant this propertyaccess to avoid users encountering file access errors when attempting to load content backed by relevant disk images.GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:WebProcess/com.apple.WebProcess.sb.in: 2 edits in trunk/Source/WebCoreWebAudioBufferList::setSampleCount() should early return if computeBufferSizes() fails​https://bugs.webkit.org/show_bug.cgi?id=226028rdar://78222414Reviewed by Eric Carlson.If computeBufferSizes() fails (returns WTF::nullopt), we now early return on releasebuilds, without modifying the WebAudioBufferList's internal state in any way. InDebug, we would still hit the assertion.platform/audio/cocoa/WebAudioBufferList.cpp:(WebCore::WebAudioBufferList::setSampleCount):Move off UIKit IPI in WKMouseGestureRecognizer​https://bugs.webkit.org/show_bug.cgi?id=226030rdar://78266173Reviewed by Devin Rousso and Wenson Hsieh.Use UIGestureRecognizerDelegate instead of IPI.UIProcess/ios/WKContentViewInteraction.mm:(-[WKContentView gestureRecognizer:shouldReceiveTouch:]):(-[WKContentView gestureRecognizer:shouldReceivePress:]):UIProcess/ios/WKMouseGestureRecognizer.mm:(-[WKMouseGestureRecognizer _shouldReceiveTouch:forEvent:recognizerView:]): Deleted.(-[WKMouseGestureRecognizer _shouldReceivePress:]): Deleted.HTML parser should yield more aggressively​https://bugs.webkit.org/show_bug.cgi?id=224609rdar://73458064Reviewed by Darin Adler.During page loading we may spend substantial amount of time in individual invocations ofthe HTML parser. This can be a problem since it blocks rendering updates and so visualpage load progression.Most of this time is not actually spend parsing, it rather goes into synchronous scriptexecution and DOM work triggered by scripts. This patch adds a more effective mechanismwhere we may decide to yield the parser before executing a script.dom/ScriptElement.h:html/parser/HTMLDocumentParser.cpp:(WebCore::HTMLDocumentParser::pumpTokenizerLoop):html/parser/HTMLParserScheduler.cpp:(WebCore::parserTimeLimit):(WebCore::PumpSession::PumpSession):(WebCore::HTMLParserScheduler::HTMLParserScheduler):(WebCore::HTMLParserScheduler::shouldYieldBeforeExecutingScript):Consider yielding before script execution after 16ms has elapsed and at least 256 tokens have been parsed.Only yield for synchronous scripts.Don't yield on very short inline scripts (this is an imperfect way to try to guess the execution cost).html/parser/HTMLParserScheduler.h:(WebCore::HTMLParserScheduler::shouldYieldBeforeToken):(WebCore::HTMLParserScheduler::checkForYield):Don't reset the token count, instead track the last yield check point.html/parser/HTMLTreeBuilder.h:(WebCore::HTMLTreeBuilder::scriptToProcess const): 2 edits in trunk/ToolsThe test of SmallSet.cpp should pass the right HashTrait to the HashSet it uses as a reference​https://bugs.webkit.org/show_bug.cgi?id=226027Reviewed by Mark Lam.SmallSet allows all values except for the max value.So we test it on small values, including 0.HashSet by default forbids 0, so it made the test crash.We can trivially fix it by passing UnsignedWithZeroKeyHashTraits, which allows everything which is not max() or max()-1TestWebKitAPI/Tests/WTF/SmallSet.cpp:(TestWebKitAPI::testSmallSetOfUnsigned): 2 edits in trunk/Source/WebCore[Hardening] Use CheckedArithmetics in WebAudioBufferList constructor​https://bugs.webkit.org/show_bug.cgi?id=226029 rdar://78222665 Reviewed by Eric Carlson.platform/audio/cocoa/WebAudioBufferList.cpp:(WebCore::WebAudioBufferList::WebAudioBufferList): 3 edits in branches/safari-611-branchCherry-pick r277713. rdar://problem/78264364allowsContentJavaScript API not applied from defaultWebpagePreferences​https://bugs.webkit.org/show_bug.cgi?id=225957(API::WebsitePolicies::copy const):allowsContentJavaScript works fine on the per-navigation-level WKWebpagePreferences,but is ignored if applied on the WKWebViewConfiguration's defaultWebpagePreferences,because it is not copied in copy(). Copy it!git-svn-id: ​https://svn.webkit.org/repository/webkit/trunk@277713 268f45cc-cd09-0410-ab3c-d52691b4dbfcstress/caller-and-arguments-properties-for-functions-that-dont-have-them.js: Now covers #157461 and #157863.stress/function-caller-cross-realm-via-call-apply.js: Added, coverage for #34553.stress/function-hidden-as-caller.js: Also adds test case for #102276.Source/JavaScriptCore:This patch loosens function.caller to allow non-strict getters, setters, arrow functions,and ES6 methods to be returned as callers, fixing web compatibility. 2 edits in branches/safari-611-branch/Source/JavaScriptCoreCherry-pick r277477. rdar://problem/78264390[REGRESSION: r271876] Web Inspector: [Cocoa] Remote inspection crashes when using WEB_THREAD​https://bugs.webkit.org/show_bug.cgi?id=225794For WEB_THREAD, move callback in dispatchAsyncOnTarget to block scope to ensure it is available for thelifetime of the block.inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm:(Inspector::RemoteConnectionToTarget::dispatchAsyncOnTarget):git-svn-id: ​https://svn.webkit.org/repository/webkit/trunk@277477 268f45cc-cd09-0410-ab3c-d52691b4dbfc 2 edits in branches/safari-611-branch/Source/WebCoreCherry-pick r277390. rdar://problem/78264321TapStorage::lock freed while locked in AudioSourceProviderAVFObjC::destroyMixIfNeeded()​https://bugs.webkit.org/show_bug.cgi?id=225706 rdar://77719381 In r275933, an update was made to protect access to TapStorage during destruction bylocking its lock inside destroyMixIfNeeded(), but if TapStorage has a refCount==1during that teardown, the lock itself is destroyed while it is still held. Add anexplicit scoping to the lock holder, and only deref the TapStorage outside thatlocking scope.platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:(WebCore::AudioSourceProviderAVFObjC::destroyMixIfNeeded):git-svn-id: ​https://svn.webkit.org/repository/webkit/trunk@277390 268f45cc-cd09-0410-ab3c-d52691b4dbfc 2 edits in branches/safari-611-branch/Source/WebKitCherry-pick r277375. rdar://problem/78264303Crash in WebPageProxy::endColorPicker()​https://bugs.webkit.org/show_bug.cgi?id=225679Patch by Julian Gonzalez ​julian_a_gonzalez@apple.com on 2021-05-12Reviewed by Ryosuke Niwa.Make sure that endColorPicker() and didEndColorPicker()do not both attempt to null-out m_colorPicker.UIProcess/WebPageProxy.cpp:(WebKit::WebPageProxy::endColorPicker):(WebKit::WebPageProxy::didEndColorPicker):git-svn-id: ​https://svn.webkit.org/repository/webkit/trunk@277375 268f45cc-cd09-0410-ab3c-d52691b4dbfc 2 edits in branches/safari-611-branch/Source/ThirdParty/libwebrtcCherry-pick r277332. rdar://problem/78264344Improve usrsctp restart handling​https://bugs.webkit.org/show_bug.cgi?id=225638 rdar://77582953 Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c:(sctp_process_cookie_existing):git-svn-id: ​https://svn.webkit.org/repository/webkit/trunk@277332 268f45cc-cd09-0410-ab3c-d52691b4dbfc 4 edits in branches/safari-611-branch/Source/WebCoreCherry-pick r277232. rdar://problem/78264335Add bounds checks around calls to GlyphBuffer::stringOffsetAt()​https://bugs.webkit.org/show_bug.cgi?id=225335 rdar://problem/75663608 We're getting crash reports that look like they're from string offsets being out-of-bounds.These string offsets round-trip through Core Text, which is allowed to modify them, whichcan end up making them out-of-bounds.No new tests because I don't have a reproducible test case; just crash reports.platform/graphics/FontCascade.cpp:(WebCore::computeUnderlineType):platform/graphics/GlyphBuffer.h:(WebCore::GlyphBuffer::uncheckedStringOffsetAt const):(WebCore::GlyphBuffer::checkedStringOffsetAt const):(WebCore::GlyphBuffer::stringOffsetAt const): Deleted.platform/graphics/WidthIterator.cpp:(WebCore::WidthIterator::applyFontTransforms):(WebCore::WidthIterator::applyExtraSpacingAfterShaping):git-svn-id: ​https://svn.webkit.org/repository/webkit/trunk@277232 268f45cc-cd09-0410-ab3c-d52691b4dbfcAdd tox file for webkitpy​https://bugs.webkit.org/show_bug.cgi?id=226016Reviewed by Jonathan Bedard.Scripts/webkitpy/tox.ini: Added. 5 edits in branches/safari-611-branch/SourceCherry-pick r276788. rdar://problem/78264378Reduce memory footprint for background tabs​https://bugs.webkit.org/show_bug.cgi?id=225007When a WebContent process contains only non-visible pages (e.g. if it is a background tab),we should attempt to reduce our memory footprint after some time interval to help relievesystem-wide memory pressure. This is enabled only on Mac because iOS already does somethingsimilar just before WebContent suspends.One exception to this is that we don't do this proactive slimming for processes that are inthe back/forward cache or in the WebProcess cache. This is because dropping the memory cachein those types of processes leads to perf regressions in benchmarks that do certain types ofcross-origin navigations. We'll use a separate mechanism for controlling the memory usage ofthose processes; our current logic keeps those processes around until we are at the warningor critical memory pressure level.WebProcess/WebProcess.cpp:(WebKit::WebProcess::pageDidEnterWindow):(WebKit::WebProcess::pageWillLeaveWindow):(WebKit::WebProcess::nonVisibleProcessGraphicsCleanupTimerFired):(WebKit::WebProcess::nonVisibleProcessMemoryCleanupTimerFired):(WebKit::WebProcess::nonVisibleProcessCleanupTimerFired): Deleted.WebProcess/WebProcess.h:Source/WTF:Add an option to slim background tabs by proactively calling WebCore::releaseMemory on Macs.wtf/PlatformEnableCocoa.h:git-svn-id: ​https://svn.webkit.org/repository/webkit/trunk@276788 268f45cc-cd09-0410-ab3c-d52691b4dbfcUse CheckedLock more in IPC::Connection​https://bugs.webkit.org/show_bug.cgi?id=226021Reviewed by Darin Adler.Use CheckedLock more in IPC::Connection. This is heavily multithreaded code andit would benefit significantly from Clang Thread Safety Analysis.Platform/IPC/Connection.cpp:(IPC::Connection::SyncMessageState::processIncomingMessage):(IPC::Connection::enqueueMatchingMessagesToMessageReceiveQueue):(IPC::Connection::addMessageReceiveQueue):(IPC::Connection::addWorkQueueMessageReceiver):(IPC::Connection::addThreadMessageReceiver):(IPC::Connection::removeMessageReceiveQueue):(IPC::Connection::sendMessage):(IPC::Connection::waitForMessage):(IPC::Connection::pushPendingSyncRequestID):(IPC::Connection::popPendingSyncRequestID):(IPC::Connection::waitForSyncReply):(IPC::Connection::processIncomingSyncReply):(IPC::Connection::processIncomingMessage):(IPC::Connection::installIncomingSyncMessageCallback):(IPC::Connection::uninstallIncomingSyncMessageCallback):(IPC::Connection::hasIncomingSyncMessage):(IPC::Connection::connectionDidClose):(IPC::Connection::sendOutgoingMessages):(IPC::Connection::enqueueIncomingMessage):(IPC::Connection::dispatchMessage):(IPC::Connection::dispatchOneIncomingMessage):(IPC::Connection::dispatchIncomingMessages):Platform/IPC/Connection.h:(IPC::Connection::WTF_GUARDED_BY_LOCK):Use CheckedLock more in WebCore​https://bugs.webkit.org/show_bug.cgi?id=226026Reviewed by Geoffrey Garen.Use CheckedLock more in WebCore to benefit from Clang Thread Safety Analysis.Modules/indexeddb/IDBObjectStore.cpp:(WebCore::IDBObjectStore::createIndex):(WebCore::IDBObjectStore::index):(WebCore::IDBObjectStore::deleteIndex):(WebCore::IDBObjectStore::rollbackForVersionChangeAbort):(WebCore::IDBObjectStore::visitReferencedIndexes const):(WebCore::IDBObjectStore::renameReferencedIndex):Modules/indexeddb/IDBObjectStore.h:Modules/indexeddb/IDBTransaction.cpp:(WebCore::IDBTransaction::objectStore):(WebCore::IDBTransaction::internalAbort):(WebCore::IDBTransaction::createObjectStore):(WebCore::IDBTransaction::renameObjectStore):(WebCore::IDBTransaction::renameIndex):(WebCore::IDBTransaction::deleteObjectStore):(WebCore::IDBTransaction::visitReferencedObjectStores const):Modules/indexeddb/IDBTransaction.h:Modules/indexeddb/client/IDBConnectionProxy.cpp:(WebCore::IDBClient::IDBConnectionProxy::openDatabase):(WebCore::IDBClient::IDBConnectionProxy::deleteDatabase):(WebCore::IDBClient::IDBConnectionProxy::completeOpenDBRequest):(WebCore::IDBClient::IDBConnectionProxy::saveOperation):(WebCore::IDBClient::IDBConnectionProxy::completeOperation):(WebCore::IDBClient::IDBConnectionProxy::fireVersionChangeEvent):(WebCore::IDBClient::IDBConnectionProxy::notifyOpenDBRequestBlocked):(WebCore::IDBClient::IDBConnectionProxy::establishTransaction):(WebCore::IDBClient::IDBConnectionProxy::didStartTransaction):(WebCore::IDBClient::IDBConnectionProxy::commitTransaction):(WebCore::IDBClient::IDBConnectionProxy::didCommitTransaction):(WebCore::IDBClient::IDBConnectionProxy::abortTransaction):(WebCore::IDBClient::IDBConnectionProxy::didAbortTransaction):(WebCore::IDBClient::IDBConnectionProxy::didCloseFromServer):(WebCore::IDBClient::IDBConnectionProxy::connectionToServerLost):(WebCore::IDBClient::IDBConnectionProxy::scheduleMainThreadTasks):(WebCore::IDBClient::IDBConnectionProxy::handleMainThreadTasks):(WebCore::IDBClient::IDBConnectionProxy::getAllDatabaseNamesAndVersions):(WebCore::IDBClient::IDBConnectionProxy::didGetAllDatabaseNamesAndVersions):(WebCore::IDBClient::IDBConnectionProxy::registerDatabaseConnection):(WebCore::IDBClient::IDBConnectionProxy::unregisterDatabaseConnection):(WebCore::IDBClient::IDBConnectionProxy::forgetActiveOperations):(WebCore::IDBClient::IDBConnectionProxy::forgetTransaction):(WebCore::IDBClient::IDBConnectionProxy::forgetActivityForCurrentThread):(WebCore::IDBClient::IDBConnectionProxy::setContextSuspended):Modules/indexeddb/client/IDBConnectionProxy.h:Modules/mediastream/RTCRtpSFrameTransformer.cpp:(WebCore::RTCRtpSFrameTransformer::setEncryptionKey):(WebCore::RTCRtpSFrameTransformer::decryptFrame):(WebCore::RTCRtpSFrameTransformer::encryptFrame):Modules/mediastream/RTCRtpSFrameTransformer.h:Modules/mediastream/RTCRtpScriptTransform.cpp:(WebCore::RTCRtpScriptTransform::setTransformer):(WebCore::RTCRtpScriptTransform::setupTransformer):(WebCore::RTCRtpScriptTransform::clear):Modules/mediastream/RTCRtpScriptTransform.h:Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp:(WebCore::LibWebRTCDataChannelHandler::setClient):(WebCore::LibWebRTCDataChannelHandler::checkState):(WebCore::LibWebRTCDataChannelHandler::OnMessage):(WebCore::LibWebRTCDataChannelHandler::OnBufferedAmountChange):Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.h:Modules/mediastream/libwebrtc/LibWebRTCRtpTransformBackend.cpp:(WebCore::LibWebRTCRtpTransformBackend::setInputCallback):(WebCore::LibWebRTCRtpTransformBackend::setOutputCallback):(WebCore::LibWebRTCRtpTransformBackend::processTransformedFrame):(WebCore::LibWebRTCRtpTransformBackend::Transform):Modules/mediastream/libwebrtc/LibWebRTCRtpTransformBackend.h:inspector/agents/WebHeapAgent.cpp:(WebCore::SendGarbageCollectionEventsTask::addGarbageCollection):(WebCore::SendGarbageCollectionEventsTask::reset):(WebCore::SendGarbageCollectionEventsTask::timerFired):page/ResourceUsageThread.cpp:(WebCore::ResourceUsageThread::addObserver):(WebCore::ResourceUsageThread::removeObserver):(WebCore::ResourceUsageThread::waitUntilObservers):(WebCore::ResourceUsageThread::notifyObservers):page/ResourceUsageThread.h:page/WheelEventTestMonitor.cpp:(WebCore::WheelEventTestMonitor::clearAllTestDeferrals):(WebCore::WheelEventTestMonitor::setTestCallbackAndStartMonitoring):(WebCore::WheelEventTestMonitor::deferForReason):(WebCore::WheelEventTestMonitor::removeDeferralForReason):(WebCore::WheelEventTestMonitor::receivedWheelEvent):(WebCore::WheelEventTestMonitor::checkShouldFireCallbacks):page/WheelEventTestMonitor.h:(WebCore::WheelEventTestMonitor::WTF_GUARDED_BY_LOCK):page/scrolling/ScrollingTree.cpp:(WebCore::ScrollingTree::computeWheelProcessingSteps):(WebCore::ScrollingTree::determineWheelEventProcessing):(WebCore::ScrollingTree::handleWheelEvent):(WebCore::ScrollingTree::commitTreeState):(WebCore::ScrollingTree::mainFrameScrollPosition const):(WebCore::ScrollingTree::setMainFrameScrollPosition):(WebCore::ScrollingTree::setGestureState):(WebCore::ScrollingTree::gestureState):(WebCore::ScrollingTree::eventTrackingTypeForPoint):(WebCore::ScrollingTree::isRubberBandInProgressForNode):(WebCore::ScrollingTree::setRubberBandingInProgressForNode):(WebCore::ScrollingTree::isUserScrollInProgressForNode):(WebCore::ScrollingTree::setUserScrollInProgressForNode):(WebCore::ScrollingTree::clearNodesWithUserScrollInProgress):(WebCore::ScrollingTree::isScrollSnapInProgressForNode):(WebCore::ScrollingTree::setNodeScrollSnapInProgress):(WebCore::ScrollingTree::setMainFramePinnedState):(WebCore::ScrollingTree::setMainFrameCanRubberBand):(WebCore::ScrollingTree::mainFrameCanRubberBandInDirection):(WebCore::ScrollingTree::addPendingScrollUpdate):(WebCore::ScrollingTree::takePendingScrollUpdates):(WebCore::ScrollingTree::setScrollPinningBehavior):(WebCore::ScrollingTree::scrollPinningBehavior):(WebCore::ScrollingTree::willWheelEventStartSwipeGesture):(WebCore::ScrollingTree::windowScreenDidChange):(WebCore::ScrollingTree::displayID):(WebCore::ScrollingTree::hasProcessedWheelEventsRecently):(WebCore::ScrollingTree::willProcessWheelEvent):(WebCore::ScrollingTree::nominalFramesPerSecond):(WebCore::ScrollingTree::scrollingTreeAsText):page/scrolling/ScrollingTree.h:page/scrolling/ScrollingTreeLatchingController.cpp:(WebCore::ScrollingTreeLatchingController::receivedWheelEvent):(WebCore::ScrollingTreeLatchingController::latchingDataForEvent const):(WebCore::ScrollingTreeLatchingController::latchedNodeID const):(WebCore::ScrollingTreeLatchingController::latchedNodeAndSteps const):(WebCore::ScrollingTreeLatchingController::nodeDidHandleEvent):(WebCore::ScrollingTreeLatchingController::nodeWasRemoved):(WebCore::ScrollingTreeLatchingController::clearLatchedNode):page/scrolling/ScrollingTreeLatchingController.h:platform/audio/HRTFDatabaseLoader.cpp:(WebCore::HRTFDatabaseLoader::loadAsynchronously):(WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):platform/audio/HRTFDatabaseLoader.h:platform/audio/cocoa/AudioDestinationCocoa.cpp:(WebCore::AudioDestinationCocoa::hasEnoughFrames const):(WebCore::AudioDestinationCocoa::render):(WebCore::AudioDestinationCocoa::renderOnRenderingThead):platform/audio/cocoa/AudioDestinationCocoa.h:platform/encryptedmedia/CDMProxy.cpp:(WebCore::CDMProxy::instance const):(WebCore::CDMProxy::setInstance):(WebCore::CDMProxy::startedWaitingForKey const):(WebCore::CDMProxy::stoppedWaitingForKey const):platform/encryptedmedia/CDMProxy.h:platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:(WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):(WebCore::MediaPlayerPrivateAVFoundation::setDelayCallbacks const):(WebCore::MediaPlayerPrivateAVFoundation::clearMainThreadPendingFlag):(WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification):(WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::processNewVideoSample):platform/graphics/cg/IOSurfacePool.cpp:(WebCore::IOSurfacePool::takeSurface):(WebCore::IOSurfacePool::addSurface):(WebCore::IOSurfacePool::setPoolSize):(WebCore::IOSurfacePool::collectionTimerFired):(WebCore::IOSurfacePool::discardAllSurfaces):platform/graphics/cg/IOSurfacePool.h:(WebCore::IOSurfacePool::WTF_GUARDED_BY_LOCK):platform/graphics/cg/SubimageCacheWithTimer.cpp:(WebCore::SubimageCacheWithTimer::pruneCacheTimerFired):(WebCore::SubimageCacheWithTimer::subimage):(WebCore::SubimageCacheWithTimer::clearImageAndSubimages):(WebCore::SubimageCacheWithTimer::clearAll):platform/graphics/cg/SubimageCacheWithTimer.h:platform/graphics/cocoa/FontCacheCoreText.cpp:(WebCore::FontDatabase::collectionForFamily):(WebCore::FontDatabase::clear):platform/network/cocoa/WebCoreNSURLSession.mm:(WebCore::WebCoreNSURLSessionDataTaskClient::clearTask):(WebCore::WebCoreNSURLSessionDataTaskClient::dataSent):(WebCore::WebCoreNSURLSessionDataTaskClient::responseReceived):(WebCore::WebCoreNSURLSessionDataTaskClient::shouldCacheResponse):(WebCore::WebCoreNSURLSessionDataTaskClient::dataReceived):(WebCore::WebCoreNSURLSessionDataTaskClient::redirectReceived):(WebCore::WebCoreNSURLSessionDataTaskClient::accessControlCheckFailed):(WebCore::WebCoreNSURLSessionDataTaskClient::loadFailed):(WebCore::WebCoreNSURLSessionDataTaskClient::loadFinished):platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h:platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:(-[WebCoreResourceHandleAsOperationQueueDelegate detachHandle]):(-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]):(-[WebCoreResourceHandleAsOperationQueueDelegate connection:canAuthenticateAgainstProtectionSpace:]):(-[WebCoreResourceHandleAsOperationQueueDelegate connection:willCacheResponse:]):storage/StorageQuotaManager.cpp:(WebCore::StorageQuotaManager::requestSpaceOnBackgroundThread):(WebCore::StorageQuotaManager::resetQuotaUpdatedBasedOnUsageForTesting):(WebCore::StorageQuotaManager::resetQuotaForTesting):storage/StorageQuotaManager.h:(WebCore::StorageQuotaManager::WTF_GUARDED_BY_LOCK):workers/WorkerOrWorkletScriptController.cpp:(WebCore::WorkerOrWorkletScriptController::scheduleExecutionTermination):(WebCore::WorkerOrWorkletScriptController::isTerminatingExecution const):workers/WorkerOrWorkletScriptController.h:(WebCore::WorkerOrWorkletScriptController::WTF_GUARDED_BY_LOCK): 5 edits in trunk/Source/WebCore[GPU Process] ItemHandle::safeCopy is not actually safe, does no bounds-checking​https://bugs.webkit.org/show_bug.cgi?id=226022rdar://78181677Reviewed by Chris Dumez.Currently, it's possible for DisplayList iteration to trigger out-of-bounds access when decoding inline displaylist items; this patch adds hardening to prevent this. See below for more details.platform/graphics/displaylists/DisplayListItemBuffer.cpp:Add an ItemType argument to safeCopy, and use this ItemType instead of assuming that the item type of theItemHandle we're copying from hasn't changed since we've validated it.(WebCore::DisplayList::ItemHandle::safeCopy const):platform/graphics/displaylists/DisplayListItemBuffer.h:platform/graphics/displaylists/DisplayListIterator.cpp:(WebCore::DisplayList::DisplayList::Iterator::updateCurrentItem):Verify that the remaining item buffer capacity is at least as large as paddedSizeOfTypeAndItem, such that wewon't go out of bounds when attempting to read from the item handle in safeCopy.platform/graphics/displaylists/InMemoryDisplayList.cpp:(WebCore::DisplayList::InMemoryDisplayList::ReadingClient::decodeItem): 36 edits in trunk/Source/WebCoreAllow passing a VisibleRectContext when calculating the clipped overflow rect​https://bugs.webkit.org/show_bug.cgi?id=226007Reviewed by Simon Fraser.Refactor rendering classes to allow specifying a VisibleRectContextwhen calculating the clipped overflow rect.No new tests, this is just a small refactor.accessibility/AccessibilityRenderObject.cpp:(WebCore::AccessibilityRenderObject::isOffScreen const):dom/DocumentMarkerController.cpp:(WebCore::DocumentMarkerController::renderedRectsForMarkers):page/SpatialNavigation.cpp:(WebCore::hasOffscreenRect):rendering/RenderBox.cpp:(WebCore::RenderBox::clippedOverflowRect const):rendering/RenderBox.h:rendering/RenderElement.cpp:(WebCore::RenderElement::mayCauseRepaintInsideViewport const):(WebCore::RenderElement::isVisibleInDocumentRect const):rendering/RenderInline.cpp:(WebCore::RenderInline::clippedOverflowRect const):rendering/RenderInline.h:rendering/RenderLineBreak.h:rendering/RenderObject.cpp:(WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect const):(WebCore::RenderObject::clippedOverflowRect const):(WebCore::RenderObject::computeRect const):(WebCore::absoluteRectsForRangeInText):rendering/RenderObject.h:(WebCore::RenderObject::absoluteClippedOverflowRectForRepaint const):(WebCore::RenderObject::clippedOverflowRectForRepaint const):(WebCore::RenderObject::outlineBoundsForRepaint const):(WebCore::RenderObject::computeAbsoluteRepaintRect const):(WebCore::RenderObject::computeRectForRepaint const):rendering/RenderReplaced.cpp:(WebCore::RenderReplaced::clippedOverflowRect const):rendering/RenderReplaced.h:rendering/RenderTableCell.cpp:(WebCore::RenderTableCell::clippedOverflowRect const):rendering/RenderTableCell.h:rendering/RenderTableCol.cpp:(WebCore::RenderTableCol::clippedOverflowRect const):rendering/RenderTableCol.h:rendering/RenderTableRow.cpp:(WebCore::RenderTableRow::layout):(WebCore::RenderTableRow::clippedOverflowRect const):rendering/RenderTableRow.h:rendering/RenderText.cpp:(WebCore::RenderText::clippedOverflowRect const):rendering/RenderText.h:rendering/RenderView.cpp:(WebCore::RenderView::updateVisibleViewportRect):rendering/svg/RenderSVGForeignObject.cpp:(WebCore::RenderSVGForeignObject::clippedOverflowRect const):rendering/svg/RenderSVGForeignObject.h:rendering/svg/RenderSVGGradientStop.h:rendering/svg/RenderSVGHiddenContainer.h:rendering/svg/RenderSVGInline.cpp:(WebCore::RenderSVGInline::clippedOverflowRect const):rendering/svg/RenderSVGInline.h:rendering/svg/RenderSVGModelObject.cpp:(WebCore::RenderSVGModelObject::clippedOverflowRect const):rendering/svg/RenderSVGModelObject.h:rendering/svg/RenderSVGRoot.cpp:(WebCore::RenderSVGRoot::clippedOverflowRect const):rendering/svg/RenderSVGRoot.h:rendering/svg/RenderSVGText.cpp:(WebCore::RenderSVGText::clippedOverflowRect const):rendering/svg/RenderSVGText.h:rendering/svg/SVGRenderTreeAsText.cpp: 2 edits in trunk/Source/WebCoreAdd null checks in FrameSelection::selectFrameElementInParentIfFullySelected​https://bugs.webkit.org/show_bug.cgi?id=225973 rdar://78200977 Patch by Alex Christensen ​achristensen@webkit.org on 2021-05-20Reviewed by Katherine Cheney.editing/FrameSelection.cpp:(WebCore::FrameSelection::selectFrameElementInParentIfFullySelected): 5 edits in trunk/Source/WebCore[Modern Media Controls] add a suffix based on TextTrack::Kind when generating display names for TrackBase​https://bugs.webkit.org/show_bug.cgi?id=225995Reviewed by Eric Carlson.page/CaptionUserPreferencesMediaAF.cpp:(WebCore::buildDisplayStringForTrackBase):platform/LocalizedStrings.h:platform/LocalizedStrings.cpp:(WebCore::captionsTextTrackWithoutLabelMenuItemText): Added.(WebCore::descriptionsTextTrackWithoutLabelMenuItemText): Added.(WebCore::chaptersTextTrackWithoutLabelMenuItemText): Added.(WebCore::metadataTextTrackWithoutLabelMenuItemText): Added.en.lproj/Localizable.strings: 2 edits in branches/safari-612.1.15.1-branch/Source/WebCoreCherry-pick r277784. rdar://problem/78264934CRASH: Null-pointer deref in MediaSessionManagerCocoa::setNowPlayingInfo()​https://bugs.webkit.org/show_bug.cgi?id=225999 rdar://78232970 platform/audio/cocoa/MediaSessionManagerCocoa.mm:(WebCore::MediaSessionManagerCocoa::setNowPlayingInfo):git-svn-id: ​https://svn.webkit.org/repository/webkit/trunk@277784 268f45cc-cd09-0410-ab3c-d52691b4dbfc 3 edits2 adds in branches/safari-612.1.15.1-branchCherry-pick r277726. rdar://problem/78260457[Mac] MSE-based video pauses when put in background; PiP context menu disabled​https://bugs.webkit.org/show_bug.cgi?id=225958 rdar://78130303 In r277116, in order to reduce the CPU usage incurred when pushing state changes fromthe GPU process to the WebContent process, state changes to hasAudio and hasVideowere now only updated when the MediaPlayer indicated that its characteristicsChanged().However, in SourceBufferPrivateAVFObjC, this call was performed too early, before theSourceBuffer in the WebContent process had informed SourceBufferPrivate of newly addedaudio and video tracks. Thus the cached values of hasAudio and hasVideo inside theWebContent process were never updated.Call characteristicsChanged() from the callback handler of didReceiveInitializationSegment(),which will be called only after the WebContent process completes its handling of thenew initialization segment, which includes telling the SourceBufferPrivate in the GPUprocess about newly added audio and video tracks.platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:(WebCore::SourceBufferPrivateAVFObjC::didParseInitializationData):LayoutTests:media/media-source/media-source-has-audio-video-expected.txt: Added.media/media-source/media-source-has-audio-video.html: Added.git-svn-id: ​https://svn.webkit.org/repository/webkit/trunk@277726 268f45cc-cd09-0410-ab3c-d52691b4dbfc 2 edits in branches/safari-612.1.15.1-branch/Source/WebKitCherry-pick r277518. rdar://problem/78260425Web Inspector: _WKInspector leaks WebInspectorUIProxy​https://bugs.webkit.org/show_bug.cgi?id=225815Add a missing call in _WKInspector's destructor to destruct the WebInspectorUIProxy in API object storage.UIProcess/API/Cocoa/_WKInspector.mm:(-[_WKInspector dealloc]):git-svn-id: ​https://svn.webkit.org/repository/webkit/trunk@277518 268f45cc-cd09-0410-ab3c-d52691b4dbfc 3 edits in trunk/Source/WebCore[Modern Media Controls] should not use codePointCompare as it doesn't take into account language specific sorting rules​https://bugs.webkit.org/show_bug.cgi?id=225993Reviewed by Eric Carlson.page/CaptionUserPreferences.cpp:(WebCore::CaptionUserPreferences::sortedTrackListForMenu):page/CaptionUserPreferencesMediaAF.cpp:(WebCore::textTrackCompare):(WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu):GraphicsLayer::setName() causes heap fragmentation​https://bugs.webkit.org/show_bug.cgi?id=225838Reviewed by Simon Fraser.Profiling for heap fragmentation shows that GraphicsLayer::setName() isa top contributor. Worth about 5MB maximum on GMail.Use MAKE_STATIC_STRING_IMPL for our constant layer names so we end upwith only one copy and no heap allocation in the many cases that arecompile-time constants.Source/WebCore:display/compositing/DisplayLayerController.cpp:(WebCore::Display::LayerController::setupRootLayerHierarchy):page/PageOverlayController.cpp:(WebCore::PageOverlayController::createRootLayersIfNeeded):(WebCore::PageOverlayController::installPageOverlay):platform/graphics/ca/GraphicsLayerCA.cpp:(WebCore::GraphicsLayerCA::setContentsToSolidColor):(WebCore::GraphicsLayerCA::setContentsToModel):(WebCore::GraphicsLayerCA::updateBackdropFilters):(WebCore::GraphicsLayerCA::updateContentsImage):(WebCore::GraphicsLayerCA::updateClippingStrategy):(WebCore::GraphicsLayerCA::updateContentsRects):platform/graphics/ca/TileCoverageMap.cpp:(WebCore::TileCoverageMap::TileCoverageMap):platform/graphics/ca/win/CACFLayerTreeHost.cpp:(WebCore::CACFLayerTreeHost::initialize):(WebCore::CACFLayerTreeHost::updateDebugInfoLayer):platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):rendering/RenderLayerCompositor.cpp:(WebCore::RenderLayerCompositor::updateLayerForTopOverhangArea):(WebCore::RenderLayerCompositor::updateLayerForBottomOverhangArea):(WebCore::RenderLayerCompositor::updateLayerForHeader):(WebCore::RenderLayerCompositor::updateLayerForFooter):(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):(WebCore::RenderLayerCompositor::ensureRootLayer):Source/WebKit:WebProcess/Inspector/WebInspectorClient.cpp:(WebKit::WebInspectorClient::showPaintRect):WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:(WebKit::CompositingCoordinator::CompositingCoordinator):WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp:(WebKit::LayerTreeHost::LayerTreeHost):WebProcess/WebPage/CoordinatedGraphics/LayerTreeHostTextureMapper.cpp:(WebKit::LayerTreeHost::LayerTreeHost):WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):[iOS] Add missing method in sandbox IOKit filter​https://bugs.webkit.org/show_bug.cgi?id=225975 rdar://78212330 Reviewed by Brent Fulgham.Add missing method in IOSurfaceRootUserClient filter on iOS.Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: 2 edits in trunk/Source/WebCore[Modern Media Controls] should not include TextTrack when sorting TextTrackList if it doesn't have a desired TextTrack::Kind when CaptionDisplayMode::Manual​https://bugs.webkit.org/show_bug.cgi?id=225992Reviewed by Eric Carlson.page/CaptionUserPreferencesMediaAF.cpp:(WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu): 2 edits in trunk/Source/WebCoreAirPlay icon of the Vimeo.com video player is missing after reloading the page​https://bugs.webkit.org/show_bug.cgi?id=226005Reviewed by Eric Carlson.Some sites, e.g., vimeo.com, depends on the "webkitplaybacktargetavailabilitychanged"event to setup the player related to AirPlay feature properly. When we reload apage including media element(s), the element's media session will be constructedwith m_hasPlaybackTargets be true, so no "webkitplaybacktargetavailabilitychanged"event will be fired.This patch ensures that an HTMLMediaElement always fires that event when wereload the page.html/MediaElementSession.cpp:(WebCore::MediaElementSession::MediaElementSession): 2 edits in trunk/Source/WebCoreAirPlay icon of the Vimeo.com video player is missing​https://bugs.webkit.org/show_bug.cgi?id=226004Reviewed by Eric Carlson.With the optimizations in r276883, an HTMLMediaElement will activate itsMediaSession just before creating its MediaPlayer inside prepareForLoad()or loadNextSourceChild(), and will deactivate its MediaSession after tearingdown its MediaPlayer inside mediaLoadingFailed().However, with these changes, when a new HTMLMediaElement is created and anevent handler of "webkitplaybacktargetavailabilitychanged" is added to the element,the element's MediaSession might be inactive when functionMediaSessionManageriOS::configureWireLessTargetMonitoring() runs, so itsMediaSession won't monitor wireless routes, and no "webkitplaybacktargetavailabilitychanged"will be fired thereafter.This patch fixes this issue by activating an HTMLMediaElement's MediaSessionwhen adding the first event handler to "webkitplaybacktargetavailabilitychanged" event.It also keeps the MediaSession active if there is event handler to"webkitplaybacktargetavailabilitychanged" after tearing down the HTMLMediaElement'sMediaPlayer (in HTMLMediaElement::mediaLoadingFailed()).We can improve the fix by refactoring the way to activate/deactivatean HTMLMediaElement's MediaSession.html/HTMLMediaElement.cpp:(WebCore::HTMLMediaElement::prepareForLoad):(WebCore::HTMLMediaElement::loadNextSourceChild):(WebCore::HTMLMediaElement::mediaLoadingFailed):(WebCore::HTMLMediaElement::addEventListener):(WebCore::HTMLMediaElement::createMediaPlayer):Replace two mediaSession().setActive(true); in prepareForLoad()and loadNextSourceChild() with one in createMediaPlayer().Use CheckedLock more in WebKit2 code​https://bugs.webkit.org/show_bug.cgi?id=226001Reviewed by Alex Christensen.Use CheckedLock more in WebKit2 code to benefit from Clang Thread Safety Analysis.NetworkProcess/CustomProtocols/Cocoa/LegacyCustomProtocolManagerCocoa.mm:(LegacyCustomProtocolManager::networkProcessCreated):(WebKit::LegacyCustomProtocolManager::registerScheme):(WebKit::LegacyCustomProtocolManager::unregisterScheme):(WebKit::LegacyCustomProtocolManager::supportsScheme):(WebKit::LegacyCustomProtocolManager::protocolForID):NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.cpp:(WebKit::LegacyCustomProtocolManager::addCustomProtocol):(WebKit::LegacyCustomProtocolManager::removeCustomProtocol):NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.h:NetworkProcess/NetworkProcess.cpp:(WebKit::NetworkProcess::addSessionStorageQuotaManager):(WebKit::NetworkProcess::removeSessionStorageQuotaManager):(WebKit::NetworkProcess::setSessionStorageQuotaManagerIDBRootPath):(WebKit::NetworkProcess::resetQuota):(WebKit::NetworkProcess::storageQuotaManager):NetworkProcess/NetworkProcess.h:NetworkProcess/WebStorage/StorageManagerSet.cpp:(WebKit::StorageManagerSet::suspend):(WebKit::StorageManagerSet::resume):NetworkProcess/WebStorage/StorageManagerSet.h:NetworkProcess/cocoa/LaunchServicesDatabaseObserver.h:NetworkProcess/cocoa/LaunchServicesDatabaseObserver.mm:(WebKit::LaunchServicesDatabaseObserver::LaunchServicesDatabaseObserver):(WebKit::LaunchServicesDatabaseObserver::startObserving):(WebKit::LaunchServicesDatabaseObserver::handleEvent):Shared/BlockingResponseMap.h:(BlockingResponseMap::waitForResponse):(BlockingResponseMap::didReceiveResponse):Shared/Cocoa/XPCEndpointClient.h:Shared/Cocoa/XPCEndpointClient.mm:(WebKit::XPCEndpointClient::setEndpoint):(WebKit::XPCEndpointClient::connection):UIProcess/WebURLSchemeTask.cpp:(WebKit::WebURLSchemeTask::request const):(WebKit::WebURLSchemeTask::willPerformRedirection):(WebKit::WebURLSchemeTask::didPerformRedirection):(WebKit::WebURLSchemeTask::pageDestroyed):(WebKit::WebURLSchemeTask::stop):(WebKit::WebURLSchemeTask::nsRequest const):UIProcess/WebURLSchemeTask.h:UIProcess/mac/DisplayLink.cpp:(WebKit::DisplayLink::addObserver):(WebKit::DisplayLink::removeObserver):(WebKit::DisplayLink::removeObservers):(WebKit::DisplayLink::incrementFullSpeedRequestClientCount):(WebKit::DisplayLink::decrementFullSpeedRequestClientCount):(WebKit::DisplayLink::setPreferredFramesPerSecond):(WebKit::DisplayLink::notifyObserversDisplayWasRefreshed):UIProcess/mac/DisplayLink.h:WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:(WebKit::LibWebRTCCodecs::ensureGPUProcessConnectionOnMainThread):(WebKit::LibWebRTCCodecs::ensureGPUProcessConnectionAndDispatchToThread):(WebKit::LibWebRTCCodecs::createDecoder):(WebKit::LibWebRTCCodecs::decodeFrame):(WebKit::LibWebRTCCodecs::createEncoder):(WebKit::LibWebRTCCodecs::encodeFrame):(WebKit::LibWebRTCCodecs::setEncodeRates):(WebKit::LibWebRTCCodecs::gpuProcessConnectionDidClose):(WebKit::LibWebRTCCodecs::setLoggingLevel):WebProcess/GPU/webrtc/LibWebRTCCodecs.h:WebProcess/Plugins/PluginProcessConnectionManager.cpp:(WebKit::PluginProcessConnectionManager::getPluginProcessConnection):(WebKit::PluginProcessConnectionManager::removePluginProcessConnection):(WebKit::PluginProcessConnectionManager::pluginProcessCrashed):WebProcess/Plugins/PluginProcessConnectionManager.h:WebProcess/WebPage/EventDispatcher.cpp:(WebKit::EventDispatcher::addScrollingTreeForPage):(WebKit::EventDispatcher::removeScrollingTreeForPage):(WebKit::EventDispatcher::wheelEvent):(WebKit::EventDispatcher::takeQueuedTouchEventsForPage):(WebKit::EventDispatcher::touchEvent):(WebKit::EventDispatcher::dispatchTouchEvents):(WebKit::EventDispatcher::notifyScrollingTreesDisplayWasRefreshed):WebProcess/WebPage/EventDispatcher.h:WebProcess/WebPage/ViewUpdateDispatcher.cpp:(WebKit::ViewUpdateDispatcher::visibleContentRectUpdate):(WebKit::ViewUpdateDispatcher::dispatchVisibleContentRectUpdate):WebProcess/WebPage/ViewUpdateDispatcher.h: 2 edits in trunk/Source/JavaScriptCore$vm should have a function for checking if ASan is enabled similar to $vm.assertEnabled​https://bugs.webkit.org/show_bug.cgi?id=226019Patch by Tuomas Karkkainen ​tuomas.webkit@apple.com on 2021-05-20Reviewed by Mark Lam.Add method $vm.asanEnabled(), which parallels $vm.assertEnabled(), and allows checking atruntime whether the current JavaScriptCore build is instrumented with AddressSanitizer.tools/JSDollarVM.cpp:Enable VCP for H264 baseline​https://bugs.webkit.org/show_bug.cgi?id=224043Reviewed by Eric Carlson.Enable VCP for baseline past BigSur/iOS14.Add macros and introduce _useBaseline in addition to _useVCP for that purpose.Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:(-[RTCVideoEncoderH264 initWithCodecInfo:]):(-[RTCVideoEncoderH264 configureCompressionSession]): 2 edits in trunk/Source/WebCoreCRASH: Null-pointer deref in MediaSessionManagerCocoa::setNowPlayingInfo()​https://bugs.webkit.org/show_bug.cgi?id=225999 rdar://78232970 Reviewed by Eric Carlson.Null-check nowPlayingInfo.artwork- imageData before dereferencing.platform/audio/cocoa/MediaSessionManagerCocoa.mm:(WebCore::MediaSessionManagerCocoa::setNowPlayingInfo): 6 edits2 adds in trunk video rendered inside template shows black for webcam stream (Safari 14.0.3 only)​https://bugs.webkit.org/show_bug.cgi?id=222115 rdar://problem/74546659 Reviewed by Eric Carlson.Source/WebCore:Update element visibility if changing of document. Add internals API to test this.Test: fast/media/template-hidden.htmlhtml/HTMLMediaElement.cpp:(WebCore::HTMLMediaElement::didMoveToNewDocument):testing/Internals.cpp:(WebCore::Internals::isMediaElementHidden):testing/Internals.h:testing/Internals.idl:LayoutTests:fast/media/template-hidden-expected.txt: Added.fast/media/template-hidden.html: Added. 2 edits in trunk/Tools[webkitpy] Forward booted simulators to children processes​https://bugs.webkit.org/show_bug.cgi?id=225933 rdar://problem/78169900 Rubber-stamped by Aakash Jain.Scripts/webkitpy/api_tests/runner.py:(setup_shard): Set DeviceManager global variable from parent process.(Runner.command_for_port): Use Port's device manager instead of simulated device manager.(Runner.run): Pass DeviceManager details to children processes.Store whether a test is slow on TestInput​https://bugs.webkit.org/show_bug.cgi?id=224563Reviewed by Jonathan Bedard.Additionally, notably, this makes a TestResult store a TestInput rather than atest_name string. With that there, we then don't need to punch through multiplelayers to find out whether a test is slow or not. Note that replacing thetest_name with a Test or TestInput as part of removing the 1:1 relationshipbetween files and tests.With this done, we don't have to pass around a test_is_slow_fn, as we can directlylook at the result to determine whether or not it is slow.Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:(LayoutTestRunner.init): Remove test_is_slow_fn argument(LayoutTestRunner._mark_interrupted_tests_as_skipped): Remove test_is_slow argument(LayoutTestRunner._update_summary_with_result): Remove test_is_slow argument(Worker._run_test_in_another_thread): Remove test_is_slow argumentScripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:(LayoutTestRunnerTests._runner): Remove test_is_slow_fn argument(LayoutTestRunnerTests.test_update_summary_with_result): TestResult arg renameScripts/webkitpy/layout_tests/controllers/manager.py:(Manager): Improve docstring(Manager.init): Tidy up reading tests-options.json(Manager._test_input_for_file): Set is_slow(Manager.run): Remove test_is_slow_fn argument(Manager._look_for_new_crash_logs): Remove test_is_slow_fn/test_is_slow argumentScripts/webkitpy/layout_tests/controllers/single_test_runner.py:(SingleTestRunner.init): Store TestInput object(SingleTestRunner._test_name): Replacement getter(SingleTestRunner._should_run_pixel_test): Replacement getter(SingleTestRunner._should_dump_jsconsolelog_in_stderr): Replacement getter(SingleTestRunner._reference_files): Replacement getter(SingleTestRunner._timeout): Replacement getter(SingleTestRunner._compare_output): Pass TestInput to TestResult(SingleTestRunner._run_reftest): Pass TestInput to TestResult(SingleTestRunner._compare_output_with_reference): Pass TestInput to TestResultScripts/webkitpy/layout_tests/models/test_input.py:(TestInput): Add is_slow booleanScripts/webkitpy/layout_tests/models/test_results.py:(TestResult.init): Rename test_name - test_input, construct TestInput if we must(TestResult.test_name): Replacement getterScripts/webkitpy/layout_tests/models/test_results_unittest.py:(TestResultsTest.test_pickle_roundtrip): TestResult arg renameScripts/webkitpy/layout_tests/models/test_run_results.py:(TestRunResults.add): Remove test_is_slow argument, look at TestResultScripts/webkitpy/layout_tests/models/test_run_results_unittest.py:(summarized_results): Remove test_is_slow argumentScripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:(RunTest.test_tests_options): Add a test that test-options.json works 4 edits2 adds in trunk[LFC][TFC] Available space distribution should account for the top and bottom table spacing​https://bugs.webkit.org/show_bug.cgi?id=226003Reviewed by Antti Koivisto.Source/WebCore:The available space for the table content is the table width/height minus the left-right/top-bottom spacing, minusthe additional spacing between the rows/columns.Tests: fast/inline/vertical-top-on-subpixel-makes-inline-box-overflow.htmlfast/layoutformattingcontext/table-simple-row-height.htmllayout/formattingContexts/table/TableLayout.cpp:(WebCore::Layout::distributeAvailableSpace):LayoutTests:TestExpectations: rendering code disagrees here.fast/layoutformattingcontext/table-simple-row-height-expected.html: Added.fast/layoutformattingcontext/table-simple-row-height.html: Added. 2 edits in trunk/Source/WebKitThe test fast/images/eps-as-image.html is a constant crash​https://bugs.webkit.org/show_bug.cgi?id=225989 rdar://77354349 Reviewed by Maciej Stachowiak.This is caused by an incorrect sandbox rule. A related service is referred to as an XPC service, but it should be a global name.WebProcess/com.apple.WebProcess.sb.in: 4 edits2 adds in trunkValue of a color input does not update visually when using setAttribute​https://bugs.webkit.org/show_bug.cgi?id=166930 rdar://problem/29983218 Reviewed by Simon Fraser.Source/WebCore:Test: fast/forms/color/color-input-set-attribute-value.htmlhtml/ColorInputType.cpp:(WebCore::ColorInputType::attributeChanged):Update the color swatch when the value attribute is changed.html/ColorInputType.h:LayoutTests:fast/forms/color/color-input-set-attribute-value-expected.html: Added.fast/forms/color/color-input-set-attribute-value.html: Added. 5 edits2 adds in trunk[css-flexbox] Wrong height of an empty table inside an orthogonal flex parent​https://bugs.webkit.org/show_bug.cgi?id=225339Patch by Felipe Erias ​felipeerias@igalia.com on 2021-05-20Reviewed by Sergio Villar Senin.LayoutTests/imported/w3c:Add a test for an empty table inside a flexbox container, where the logical heights of both elementsare orthogonal to each other (the table has vertical writing mode and the flexbox uses row direction).This is a flipped version of table-as-item-specified-height.html.web-platform-tests/css/css-flexbox/table-as-item-specified-width-vertical-expected.html: Added.web-platform-tests/css/css-flexbox/table-as-item-specified-width-vertical.html: Added.Source/WebCore:When setting the height of an empty table, give precedence to the overriding value if it has been set.Do not cache the height of that empty table as the intrinsic content height, because doing so may causelayout problems (the table is actually empty and may be assigned a different height by its parent).Test: imported/w3c/web-platform-tests/css/css-flexbox/table-as-item-specified-height.htmlimported/w3c/web-platform-tests/css/css-flexbox/table-as-item-specified-width-vertical.htmlrendering/RenderTable.cpp:(WebCore::RenderTable::layout):LayoutTests:TestExpectations: Remove one WPT test that now passes.

TAGS:时间 WebKit 

<<< Thank you for your visit >>>

Websites to related :
Stratics Community Forums

  Stratics Central Please use these forums for Stratics website related questions, suggestions, and support. These forums should not be used for support

Learning and Creativity - Silho

  A hand-picked basket of cherries from the world of most talked about books and popular posts on creative literature, reviews and interviews, movies an

ps-2.kev009.com

  boo2pdf Web Service - This Web Service converts IBM BookManager files (.BOO) into PDFsAS/400 Info - aka Hobbying the AS/400? Work in progressMy Comput

Gazmik Fizzwidgets

  Greetings! You ve just found your way to the doorstep of Azeroth s foremost gadget genius! Using a revolutionary new Goblin technology (I call it Exam

Pyromation | Thermocouple, RTD

  The Premier Manufacturer of RTD Temperature Sensors, Thermocouples & Thermowells in North America Pyromation began operations in 1962 and is one of th

Home - Scott Precision Wire

  That’s right, and not many companies are as confident as we are in our equipment, capabilities our experienced staff, thats why we offer a 100% quali

Magnet Wire | Specialty Wire Man

  World’s Largest Selection of Magnet Wire 818-264-4130 MWS is now open at 3000 Camino del Sol, Oxnard, CA 93030 Gold, Silver, Nickel Plated Magnet Wi

hypertextbook

  Free books to read and enjoy online. General interest hypertext-books and technical hyper-textbooks. Math, physics, cycling, education, media, skeptic

Informaţia Zilei

  Satu Mare: doar 4 cazuri noi, raportate în 23 mai UPDATE: Satu Mare: Maratonul Vaccinării continuă cu a treia ediţie Satu Mare: incidenţa Cov

Licitatii Publice / Achizitii Pu

  Licitatii Publice"> Carburanti auto sub forma de bonuri valorice Autoritate Contractanta: Institutul National de Cercetare-Dezvoltare Marina Grigore

ads

Hot Websites