⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



May 24, 2021:

11:22 PM Changeset in webkit [277999] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

GLContextEGL::swapBuffers() shouldn't do anything for Surfaceless contexts
https://bugs.webkit.org/show_bug.cgi?id=226164

Patch by Zan Dobersek <zdobersek@igalia.com> on 2021-05-24
Reviewed by Philippe Normand.

In case of a surfaceless GLContextEGL, the swapBuffers() method should
return early, avoiding an assert expecting a non-null EGLSurface (not
viable for surfaceless context) and a call to eglSwapBuffers(), which
on some drivers could still fail even when the surfaceless context
support is present and active.

  • platform/graphics/egl/GLContextEGL.cpp:

(WebCore::GLContextEGL::swapBuffers):

11:14 PM Changeset in webkit [277998] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[CoordinatedGraphics] Handle null native surface handle for surfaceless rendering
https://bugs.webkit.org/show_bug.cgi?id=226165

Patch by Zan Dobersek <zdobersek@igalia.com> on 2021-05-24
Reviewed by Philippe Normand.

During ThreadedCompositor initialization, a null native surface handle
would represent a surfaceless rendering target. Assuming corresponding
driver support for this behavior, the GL context creation would still
succeed and composition could be performed.

To support this behavior, the GL context is now spawned first, and if
successful, the scene is set as active. But in case of a null native
surface (i.e. surfaceless rendering), the painting has to be mirrored
by default because of the OpenGL coordinate system being the immediate
coordinate system inside which we end up working.

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::m_displayRefreshMonitor):
(WebKit::ThreadedCompositor::createGLContext):

10:39 PM Changeset in webkit [277997] by cathiechen
  • 13 edits in trunk

Use the parsed width and height attributes as a presentational hint for aspect-ratio CSS property
https://bugs.webkit.org/show_bug.cgi?id=217529

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Update the expected results of test_computed_style which are passed now.

  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-aspect-ratio-expected.txt:
  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/video-aspect-ratio-expected.txt:

Source/WebCore:

The feature "mapping attributes width and height to aspect ratio" currently is handled by RenderReplaced::computeIntrinsicRatioInformation.
However, per [1], the non-negative width and height attributes are expected to be used as a presentational hint for the aspect-ratio property.
This patch addes HTMLElement::applyAspectRatioFromWidthAndHeightAttributesToStyle to apply the attributes to m_presentationAttributeStyle.
Also this patch supports the feature for <video> and <input> with type="image".

[1] https://html.spec.whatwg.org/#map-to-the-aspect-ratio-property-(using-dimension-rules)

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::applyAspectRatioFromWidthAndHeightAttributesToStyle): Apply attributes width / height to aspectRatio of style if they aren't negative.

  • html/HTMLElement.h:
  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::collectStyleForPresentationAttribute): Use attributes width and height as a presentational hint for aspect-ratio.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::collectStyleForPresentationAttribute): If isImageButton(), collect attributes width and height as aspect-ratio of m_presentationAttributeStyle.

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::collectStyleForPresentationAttribute): Ditto.

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::computeIntrinsicRatioInformation const): The intrinsicRatio is logicalAspectRatio()
if error image is not showing alt text.
(WebCore::RenderImage::canMapWidthHeightToAspectRatio const): Deleted. Remove the legacy code.

  • rendering/RenderImage.h:
  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::computeIntrinsicRatioInformation const): Ditto.
(WebCore::RenderReplaced::intrinsicAspectRatioFromWidthHeight const): Deleted. Ditto.

  • rendering/RenderReplaced.h:

(WebCore::RenderReplaced::canMapWidthHeightToAspectRatio const): Deleted. Ditto.

9:13 PM Changeset in webkit [277996] by commit-queue@webkit.org
  • 3 edits
    4 deletes in trunk

Unreviewed, reverting r277867.
https://bugs.webkit.org/show_bug.cgi?id=226211

Causes problems playing YouTube videos

Reverted changeset:

"[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
https://trac.webkit.org/changeset/277867

8:59 PM Changeset in webkit [277995] by Chris Dumez
  • 2 edits in trunk/Source/WTF

Stop using UncheckedLock in WTF::RecursiveLock
https://bugs.webkit.org/show_bug.cgi?id=226206

Reviewed by Sam Weinig.

Stop using UncheckedLock in WTF::RecursiveLock and use a regular Lock instead.
This is a step towards phasing out UncheckedLock.

Note that despite this change, RecursiveLock still doesn't benefit from
Clang thread safety analysis. Its functions do conditional locking / unlocking
which are not currently supported by analysis. Even if they were, we'd need
a template specialization for RecursiveLockAdapter<Lock> since
RecursiveLockAdapter may wrap other types of Lock which do not support analysis.

  • wtf/RecursiveLockAdapter.h:
8:36 PM Changeset in webkit [277994] by weinig@apple.com
  • 3 edits in trunk/Source/WebCore

DestinationColorSpace's well known color space accessors cause unnecessary retain count churn
https://bugs.webkit.org/show_bug.cgi?id=226160

Reviewed by Darin Adler.

While unlikely to be hot, we can avoid unnecessary retain count churn of
the well known color spaces on DestinationColorSpace by switching their
signature to return a const-reference and storing/returning a static instance.

  • platform/graphics/DestinationColorSpace.cpp:

(WebCore::knownColorSpace):
(WebCore::DestinationColorSpace::SRGB):
(WebCore::DestinationColorSpace::LinearSRGB):
(WebCore::DestinationColorSpace::DisplayP3):

  • platform/graphics/DestinationColorSpace.h:
8:23 PM Changeset in webkit [277993] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[GStreamer] Stop using UncheckedLock in VideoRenderRequestScheduler
https://bugs.webkit.org/show_bug.cgi?id=226192

Reviewed by Sam Weinig.

Stop using UncheckedLock in VideoRenderRequestScheduler to benefit from Clang thread safety
analysis.

  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:

(VideoRenderRequestScheduler::start):
(VideoRenderRequestScheduler::stop):
(VideoRenderRequestScheduler::drain):
(VideoRenderRequestScheduler::requestRender):

8:16 PM Changeset in webkit [277992] by Chris Dumez
  • 2 edits in trunk/Tools

Stop using UncheckedLock in Condition API tests
https://bugs.webkit.org/show_bug.cgi?id=226198

Reviewed by Sam Weinig.

Stop using UncheckedLock in Condition API tests. This is a step towards phasing out UncheckedLock
in favor the Lock so that we can benefit from Clang Thread Safety Analysis.

  • TestWebKitAPI/Tests/WTF/Condition.cpp:
8:13 PM Changeset in webkit [277991] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

[GLIB] Stop using UncheckedLock in IconDatabase
https://bugs.webkit.org/show_bug.cgi?id=226190

Reviewed by Sam Weinig.

Stop using UncheckedLock in IconDatabase to benefit from Clang thread-safety analysis.

  • UIProcess/API/glib/IconDatabase.h:
8:04 PM Changeset in webkit [277990] by Wenson Hsieh
  • 3 edits
    2 adds in trunk

[iOS] Adjust meaningful click heuristic to detect focus changes and editable content
https://bugs.webkit.org/show_bug.cgi?id=226199
rdar://78368624

Reviewed by Tim Horton.

Source/WebKit:

Fine tune the "meaningful click" heuristic by not dispatching a non-meaningful click message to the UI process
in the cases where the tap:

  • Causes the focused element to change.
  • Is over a form control or editable element.

Test: fast/events/ios/meaningful-click-when-focusing-body.html

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::completeSyntheticClick):

LayoutTests:

Add a layout test to exercise the change.

  • fast/events/ios/meaningful-click-when-focusing-body-expected.txt: Added.
  • fast/events/ios/meaningful-click-when-focusing-body.html: Added.
8:00 PM Changeset in webkit [277989] by mark.lam@apple.com
  • 2 edits in trunk/Tools

Raise jitMemoryReservationSize for ftl-no-cjit-small-pool* tests.
https://bugs.webkit.org/show_bug.cgi?id=226205

Reviewed by Saam Barati.

Raise jitMemoryReservationSize for ftl-no-cjit-small-pool* tests from 50000 to

  1. The 50000 number was picked years ago to be a size that is small, but is

still large enough for JSC tests to pass. 50000 appears to not be sufficient
anymore. This has caused some JSC tests to fail intermittently on the EWS bots.

Raising the size to 75000 to give the tests a little more room to work in.

  • Scripts/run-jsc-stress-tests:
7:52 PM Changeset in webkit [277988] by Devin Rousso
  • 2 edits in trunk/Source/WebKit

[iOS DnD] [WK2] don't cancel the long-press gesture until we know we have UIDragItem
https://bugs.webkit.org/show_bug.cgi?id=226188
<rdar://problem/77448503>

Reviewed by Wenson Hsieh.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _dragInteraction:prepareForSession:completion:]):
(-[WKContentView dragInteraction:itemsForBeginningSession:]):
Instead of _cancelLongPressGestureRecognizer when first asked to get UIDragItem, only
call it once we actually have UIDragItem. This shouldn't change the behavior of r218812
as we're still _cancelLongPressGestureRecognizer before generating UITargetedDragPreview
or animating them (i.e. before the drag starts). This allows a synthetic click from a
long-press gesture to be dispatched in the case that drag gesture has no items.

7:33 PM Changeset in webkit [277987] by Chris Fleizach
  • 5 edits in trunk

AX: Fix build failure for WK API WTF::String usage
https://bugs.webkit.org/show_bug.cgi?id=226204
Source/WebKit:

Reviewed by Tim Horton.

Build fix for WTF string usage.

  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKAccessibilityTestingInjectPreference):

  • WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:

Tools:

<rdar://problem/78428840>

Reviewed by Tim Horton.

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:

(WTR::AccessibilityController::injectAccessibilityPreference):

6:26 PM Changeset in webkit [277986] by weinig@apple.com
  • 173 edits
    2 copies
    1 add
    2 deletes in trunk

Convert DestinationColorSpace from an enum to class wrapping a platform color space (CGColorSpaceRef for CG ports, etc.)
https://bugs.webkit.org/show_bug.cgi?id=226143

Reviewed by Darin Adler.

Source/WebCore:

Replace enumeration based DestinationColorSpace with a struct wrapping
a platform color space (CGColorSpaceRef for CG ports, etc.). For ports
that don't have a platform level color space type, a builtin PlatformColorSpace
type 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 an
ImageBuffer's color space, which previosly could either be based on the
DestinationColorSpace (and reflected in the colorSpace() member function),
or (for CG ports) based on a CGColorSpaceRef, with the colorSpace() function
returning 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&" to conform to the base class.
  • Replace ColorSpaceData with Optional<DestinationColorSpace>. No reason to have two types that are the same.
  • Give all ports a color space configuration for ShareableBitmap now that there is a common class for representing color space.
  • Update DisplayList decoding to account for BeginClipToDrawingCommands and GetPixelBuffer no longer being inlineable due to now having non-trivial destructors due to DestinationColorSpace 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.

5:07 PM Changeset in webkit [277985] by stephan.szabo@sony.com
  • 2 edits in trunk/Tools

[PlayStation] Update scripts for JSC test changes
https://bugs.webkit.org/show_bug.cgi?id=226181

Reviewed by Ross Kirsling.

Update the scripts to pass the status file location and
unique test id into the runner for handling some crash
cases, and update the status command because the status
is written as a number in our case rather than being
the return type from executing the program directly.

  • Scripts/webkitruby/jsc-stress-test-writer-playstation.rb:
5:03 PM Changeset in webkit [277984] by rmorisset@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

When running with --reportTotalPhaseTimes=1, we should also log the max time in a phase
https://bugs.webkit.org/show_bug.cgi?id=226196

Reviewed by Saam Barati.

It is especially useful when looking at DFG phases, since the GC may have to wait for them to finish.

  • tools/CompilerTimingScope.cpp:
4:47 PM Changeset in webkit [277983] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Remove deprecated API usage in PageClientImplMac
https://bugs.webkit.org/show_bug.cgi?id=226184

Patch by Dana Estra <destra@apple.com> on 2021-05-24
Reviewed by Devin Rousso.

Covered by existing tests.

  • UIProcess/mac/PageClientImplMac.mm:

(WebKit::PageClientImpl::screenToRootView):
(WebKit::PageClientImpl::rootViewToScreen):

4:44 PM Changeset in webkit [277982] by Ruben Turcios
  • 1 copy in tags/Safari-612.1.15.1.10

Tag Safari-612.1.15.1.10.

4:43 PM Changeset in webkit [277981] by Ruben Turcios
  • 1 copy in tags/Safari-612.1.15.0.6

Tag Safari-612.1.15.0.6.

4:43 PM Changeset in webkit [277980] by Alan Coon
  • 1 copy in tags/Safari-611.3.6.0.1

Tag Safari-611.3.6.0.1.

4:42 PM Changeset in webkit [277979] by Alan Coon
  • 1 copy in tags/Safari-611.3.6.1.1

Tag Safari-611.3.6.1.1.

4:36 PM Changeset in webkit [277978] by Alan Coon
  • 13 edits in branches/safari-611.3.6.1-branch/Source/bmalloc

Cherry-pick r277898. rdar://problem/78411705

[bmalloc] Rollout r276266 because WebKit processes are spending much more time in madvise
https://bugs.webkit.org/show_bug.cgi?id=226122

Unreviewed 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:

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

4:18 PM Changeset in webkit [277977] by Alan Coon
  • 13 edits in branches/safari-611.3.6.0-branch/Source

Cherry-pick r274746. rdar://78422238

Cannot login to microsoftonline.com without allowing storage access
https://bugs.webkit.org/show_bug.cgi?id=223510
<rdar://problem/75619058>

Reviewed by John Wilander.

Source/WebCore:

This patch introduces two changes:

  1. Activate the storage access quirks for default browsers only. This is the main place we test them, and can lead to unexpected behavior in apps otherwise.
  1. Doesn't cancel the click even if the user denies storage access. Previously we we were not allowing the click because it produces unexpected behavior. But, sites like login.microsoftonline.com are used by multiple Microsoft login flows. Since only a subset require storage access, canceling the click across the board could be considered regressing behavior.

Since storage access data is stored in the network process, we
currently cancel the user's click on quirked sites while we wait
asyncronously for the IPC response. If the user grants storage access,
we store this in the web content process and dispatch a synthetic
click. In this case, when the click triggers another storage access
check, we can allow the click because we no longer need to wait for
information from the network process.

We need some heuristic in the web content process to handle the case
of the user denying storage access to know whether to allow a
synthetic click to happen. This patch introduces
hasDeniedCrossPageStorageAccess which stores domains in the web
content process which have been denied storage access via quirk. If
a user has previously denied storage access in that web content
process, we don't prompt again. A new web content process will give them
another opportunity to allow/deny storage access.

  • dom/Element.cpp: (WebCore::Element::dispatchMouseEvent):
  • loader/FrameLoaderClient.h: Add a client function to check if the parent process is a full web browser, and pass this to the place we apply the quirks.
  • loader/ResourceLoadObserver.h: (WebCore::ResourceLoadObserver::setHasDeniedCrossPageStorageAccess): (WebCore::ResourceLoadObserver::hasDeniedCrossPageStorageAccess const):
  • page/Quirks.cpp: (WebCore::hasDeniedCrossPageStorageAccess): (WebCore::Quirks::requestStorageAccessAndHandleClick const): (WebCore::Quirks::triggerOptionalStorageAccessQuirk const):
  • page/Quirks.h:

Source/WebKit:

Disable the storage access quirk for non-default web browsers and
don't cancel the login click on sites even if the user denies storage
access. See WebCore changelog for more details.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::isParentProcessAFullWebBrowser const):
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  • WebProcess/WebCoreSupport/WebResourceLoadObserver.cpp: (WebKit::WebResourceLoadObserver::hasDeniedCrossPageStorageAccess const): (WebKit::WebResourceLoadObserver::setHasDeniedCrossPageStorageAccess):
  • WebProcess/WebCoreSupport/WebResourceLoadObserver.h:
  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::pageIsParentProcessAFullWebBrowser): (WebKit::WebPage::updatePreferences):
  • WebProcess/WebPage/WebPage.h:

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

4:14 PM Changeset in webkit [277976] by Alan Coon
  • 8 edits in branches/safari-611.3.6.0-branch/Source

Versioning.

WebKit-7611.3.6.0.1

3:39 PM Changeset in webkit [277975] by Alan Coon
  • 1 copy in branches/safari-611.3.6.0-branch

New branch.

3:34 PM Changeset in webkit [277974] by sbarati@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

Allow CTI stubs to be generated off the main thread
https://bugs.webkit.org/show_bug.cgi?id=226180

Reviewed by Mark Lam.

We make this work by tracking if we're a compiler thread when generating
the CTI stub. If so, it means that the main thread needs to issue a
crossModifyingCodeFence when it's going to run the CTI stub for the first
time.

This patch also does away with pre-generating thunks. Thunks can now generate
other thunks while they're running. To do this, we make JITThunks lock a
recursive lock. The reason this is ok is that we don't have any recursive
thunks in the thunk graph. It's a DAG.

  • dfg/DFGDriver.cpp:

(JSC::DFG::compileImpl):

  • jit/JITOpcodes.cpp:

(JSC::JIT::op_check_traps_handlerGenerator):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::slow_op_get_from_scopeGenerator):
(JSC::JIT::slow_op_put_to_scopeGenerator):

  • jit/JITThunks.cpp:

(JSC::JITThunks::ctiInternalFunctionCall):
(JSC::JITThunks::ctiInternalFunctionConstruct):
(JSC::JITThunks::ctiStubImpl):
(JSC::JITThunks::ctiStub):
(JSC::JITThunks::ctiSlowPathFunctionStub):
(JSC::JITThunks::existingCTIStub): Deleted.
(JSC::JITThunks::preinitializeCTIThunks): Deleted.

  • jit/JITThunks.h:
  • jit/SlowPathCall.cpp:

(JSC::JITSlowPathCall::generateThunk):

  • jit/ThunkGenerators.cpp:

(JSC::popThunkStackPreservesAndHandleExceptionGenerator):
(JSC::checkExceptionGenerator):
(JSC::virtualThunkFor):

  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::VM::getCTIInternalFunctionTrampolineFor):

  • runtime/VM.h:
3:31 PM Changeset in webkit [277973] by Alan Coon
  • 8 edits in branches/safari-611.3.6.1-branch/Source

Versioning.

WebKit-7611.3.6.1.1

3:30 PM Changeset in webkit [277972] by Alan Bujtas
  • 34 edits in trunk/Source/WebCore

[LFC] Add support for geometry/quirks virtual functions
https://bugs.webkit.org/show_bug.cgi?id=226150

Reviewed by Antti Koivisto.

This enables us to override quirks/geometry functionality at the subclasses.

  • layout/formattingContexts/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry):
(WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry):
(WebCore::Layout::FormattingContext::computeBorderAndPadding):
(WebCore::Layout::FormattingContext::layoutOutOfFlowContent):
(WebCore::Layout::FormattingContext::geometry const): Deleted.
(WebCore::Layout::FormattingContext::quirks const): Deleted.

  • layout/formattingContexts/FormattingContext.h:
  • layout/formattingContexts/FormattingGeometry.cpp:

(WebCore::Layout::FormattingGeometry::computedHeightValue const):

  • layout/formattingContexts/FormattingGeometry.h:

(WebCore::Layout::FormattingGeometry::isBlockFormattingGeometry const):
(WebCore::Layout::FormattingGeometry::isInlineFormattingGeometry const):
(WebCore::Layout::FormattingGeometry::isFlexFormattingGeometry const):
(WebCore::Layout::FormattingGeometry::isTableFormattingGeometry const):

  • layout/formattingContexts/FormattingQuirks.cpp:

(WebCore::Layout::FormattingQuirks::heightValueOfNearestContainingBlockWithFixedHeight const):

  • layout/formattingContexts/FormattingQuirks.h:

(WebCore::Layout::FormattingQuirks::isBlockFormattingQuirks const):
(WebCore::Layout::FormattingQuirks::isInlineFormattingQuirks const):
(WebCore::Layout::FormattingQuirks::isTableFormattingQuirks const):

  • layout/formattingContexts/block/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::BlockFormattingContext):
(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):
(WebCore::Layout::BlockFormattingContext::placeInFlowPositionedChildren):
(WebCore::Layout::BlockFormattingContext::computeStaticVerticalPosition):
(WebCore::Layout::BlockFormattingContext::computeStaticHorizontalPosition):
(WebCore::Layout::BlockFormattingContext::precomputeVerticalPositionForBoxAndAncestors):
(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::computedIntrinsicWidthConstraints):
(WebCore::Layout::BlockFormattingContext::geometry const): Deleted.

  • layout/formattingContexts/block/BlockFormattingContext.h:

(WebCore::Layout::BlockFormattingContext::formattingState):
(WebCore::Layout::BlockFormattingContext::blockFormattingGeometry const):
(WebCore::Layout::BlockFormattingContext::blockFormattingQuirks const):

  • layout/formattingContexts/block/BlockFormattingGeometry.cpp:

(WebCore::Layout::BlockFormattingGeometry::inFlowContentHeightAndMargin const):

  • layout/formattingContexts/block/BlockFormattingGeometry.h:
  • layout/formattingContexts/block/BlockFormattingQuirks.cpp:

(WebCore::Layout::BlockFormattingQuirks::stretchedInFlowHeightIfApplicable const):

  • layout/formattingContexts/block/BlockFormattingQuirks.h:
  • layout/formattingContexts/block/tablewrapper/TableWrapperBlockFormattingContext.cpp:

(WebCore::Layout::TableWrapperBlockFormattingContext::TableWrapperBlockFormattingContext):
(WebCore::Layout::TableWrapperBlockFormattingContext::layoutTableBox):
(WebCore::Layout::TableWrapperBlockFormattingContext::computeBorderAndPaddingForTableBox):
(WebCore::Layout::TableWrapperBlockFormattingContext::computeWidthAndMarginForTableBox):
(WebCore::Layout::TableWrapperBlockFormattingContext::computeHeightAndMarginForTableBox):

  • layout/formattingContexts/block/tablewrapper/TableWrapperBlockFormattingContext.h:
  • layout/formattingContexts/block/tablewrapper/TableWrapperBlockFormattingQuirks.cpp:

(WebCore::Layout::TableWrapperQuirks::overriddenTableHeight const):

  • layout/formattingContexts/block/tablewrapper/TableWrapperBlockFormattingQuirks.h:
  • layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::FlexFormattingContext):
(WebCore::Layout::FlexFormattingContext::sizeAndPlaceFlexItems):
(WebCore::Layout::FlexFormattingContext::computeIntrinsicWidthConstraintsForFlexItems):
(WebCore::Layout::FlexFormattingContext::geometry const): Deleted.

  • layout/formattingContexts/flex/FlexFormattingContext.h:
  • layout/formattingContexts/flex/FlexFormattingGeometry.h:
  • layout/formattingContexts/inline/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::InlineFormattingContext):
(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):
(WebCore::Layout::InlineFormattingContext::lineLayout):
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthConstraints):
(WebCore::Layout::InlineFormattingContext::computeIntrinsicWidthForFormattingRoot):
(WebCore::Layout::InlineFormattingContext::computeHorizontalMargin):
(WebCore::Layout::InlineFormattingContext::computeWidthAndMargin):
(WebCore::Layout::InlineFormattingContext::computeHeightAndMargin):
(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):
(WebCore::Layout::InlineFormattingContext::geometry const): Deleted.

  • layout/formattingContexts/inline/InlineFormattingContext.h:
  • layout/formattingContexts/inline/InlineFormattingGeometry.cpp:

(WebCore::Layout::LineBoxBuilder::computeLineBoxHeightAndAlignInlineLevelBoxesVertically):
(WebCore::Layout::InlineFormattingGeometry::lineBoxForLineContent const):
(WebCore::Layout::InlineFormattingGeometry::inlineLevelBoxAffectsLineBox const):
(WebCore::Layout::InlineFormattingGeometry::lineBoxForLineContent): Deleted.

  • layout/formattingContexts/inline/InlineFormattingGeometry.h:
  • layout/formattingContexts/inline/InlineFormattingQuirks.h:
  • layout/formattingContexts/inline/InlineLineBuilder.cpp:

(WebCore::Layout::isAtSoftWrapOpportunity):

  • layout/formattingContexts/table/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::TableFormattingContext):
(WebCore::Layout::TableFormattingContext::setUsedGeometryForRows):
(WebCore::Layout::TableFormattingContext::layoutCell):
(WebCore::Layout::TableFormattingContext::computedPreferredWidthForColumns):
(WebCore::Layout::TableFormattingContext::computeAndDistributeExtraSpace):
(WebCore::Layout::TableFormattingContext::geometry const): Deleted.

  • layout/formattingContexts/table/TableFormattingContext.h:
  • layout/formattingContexts/table/TableFormattingGeometry.h:
  • layout/formattingContexts/table/TableFormattingQuirks.h:
  • layout/formattingContexts/table/TableLayout.cpp:

(WebCore::Layout::TableFormattingContext::TableLayout::distributedVerticalSpace):

  • layout/integration/LayoutIntegrationInlineContentBuilder.cpp:

(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayNonRootInlineBoxes const):

3:27 PM Changeset in webkit [277971] by Chris Fleizach
  • 16 edits
    3 adds in trunk

AX: Settings: Increase contrast isn't detected in browser until an additional setting is applied
https://bugs.webkit.org/show_bug.cgi?id=225909

Reviewed by Per Arne Vollan.

Source/WebCore/PAL:

  • pal/spi/mac/HIServicesSPI.h:

Source/WebKit:

Tests: accessibility/mac/media-query-values-change.html

1) WebContent blocks access to distributed notification center, so we can't rely on that to re-post notifications
2) AppKit caches the values of these AX settings, so we need to invalidate that cache directly

  • Platform/spi/mac/AppKitSPI.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKAccessibilityTestingInjectPreference):

  • WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::invertColorsPreferenceKey):
(WebKit::dispatchSimulatedNotificationsForPreferenceChange):
(WebKit::setPreferenceValue):
(WebKit::reduceMotionPreferenceKey): Deleted.

Tools:

  • WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:

(WTR::AccessibilityController::injectAccessibilityPreference):

  • WebKitTestRunner/InjectedBundle/AccessibilityController.h:
  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityController.idl:
  • WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:

(WTR::AccessibilityController::injectAccessibilityPreference):

LayoutTests:

  • accessibility/mac/media-query-values-change-expected.txt: Added.
  • accessibility/mac/media-query-values-change.html: Added.
3:24 PM Changeset in webkit [277970] by Cameron McCormack
  • 21 edits
    13 copies
    13 adds
    1 delete in trunk/LayoutTests

Add missing operators.woff that a few WPTs reference.
https://bugs.webkit.org/show_bug.cgi?id=225586
<rdar://77527890>

Reviewed by Frédéric Wang.

LayoutTests/imported/w3c:

  • web-platform-tests/fonts/math/operators.woff: Added.
  • web-platform-tests/mathml/presentation-markup/operators/mo-font-relative-lengths-001-expected.txt:
  • web-platform-tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001-expected.txt:
  • web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt:
  • web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-combining-expected.txt: Added.
  • web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt:
  • web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt:
  • web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003-expected.txt:
  • web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt:
  • web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005-expected.txt:
  • web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt:

LayoutTests:

  • platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-combining-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt:
  • platform/mac-catalina-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001-expected.txt.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-combining-expected.txt: Added.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt: Copied from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt: Copied from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005-expected.txt: Added.
  • platform/mac-catalina/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt: Copied from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt.
  • platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001-expected.txt.
  • platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt.
  • platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-combining-expected.txt: Removed.
  • platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt.
  • platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt: Copied from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt.
  • platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt: Copied from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt.
  • platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005-expected.txt: Added.
  • platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt: Copied from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt.
  • platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-combining-expected.txt:
  • platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002-expected.txt:
  • platform/mac/TestExpectations:
3:15 PM Changeset in webkit [277969] by Alan Coon
  • 1 copy in branches/safari-611.3.6.1-branch

New branch.

3:11 PM Changeset in webkit [277968] by Alan Coon
  • 1 copy in tags/Safari-611.3.6

Tag Safari-611.3.6.

2:51 PM Changeset in webkit [277967] by Darin Adler
  • 163 edits in trunk

Remove StringBuilder::appendLiteral
https://bugs.webkit.org/show_bug.cgi?id=226137

Reviewed by Chris Dumez.

Source/JavaScriptCore:

  • API/tests/PingPongStackOverflowTest.cpp:

(PingPongStackOverflowObject_hasInstance): Use append instead of appendLiteral.

  • bindings/ScriptFunctionCall.cpp:

(Deprecated::ScriptCallArgumentHandler::appendArgument): Remove unnecessary cast
from const char* to String, which defeats optimization and has no benefit.

  • bytecompiler/NodesCodegen.cpp:

(JSC::ArrayPatternNode::toString const): Use append instead of appendLiteral.
(JSC::RestParameterNode::toString const): Ditto.

  • heap/HeapSnapshotBuilder.cpp:

(JSC::HeapSnapshotBuilder::json): Use append instead of appendLiteral.
Removed unnecesary use of appendQuotedJSONString to append the result of
snapshotTypeToString and edgeTypeToString, which return a const char* that
never contains characters that require special quoting consideration, so
can be appended efficiently with the normal append function.

  • inspector/agents/InspectorAuditAgent.cpp:

(Inspector::InspectorAuditAgent::run): Use makeString instead of StringBuilder.

  • inspector/agents/InspectorConsoleAgent.cpp: Use auto for the result of makeString.
  • jsc.cpp: Use appned instead of appendLiteral.
  • parser/ParserArena.cpp:

(JSC::IdentifierArena::makePrivateIdentifier): Use auto for the result of makeString.

  • runtime/ConsoleClient.cpp:

(JSC::ConsoleClient::printConsoleMessage): Use append instead of appendLiteral.
Also use variadic append when practical for better efficiency.
(JSC::ConsoleClient::printConsoleMessageWithArguments): Ditto.

  • runtime/DateConversion.cpp:

(JSC::formatDateTime): Ditto.

  • runtime/ErrorInstance.cpp:

(JSC::ErrorInstance::sanitizedToString): Use makeString instead of StringBuilder.

  • runtime/ExceptionHelpers.cpp:

(JSC::notAFunctionSourceAppender): Use append instead of appendLiteral.

  • runtime/IntlDateTimeFormat.cpp:

(JSC::IntlDateTimeFormat::initializeDateTimeFormat): Ditto.

  • runtime/IntlNumberFormat.cpp:

(JSC::IntlNumberFormat::initializeNumberFormat): Ditto.

  • runtime/JSCustomGetterFunction.cpp:

(JSC::JSCustomGetterFunction::create): Use auto and cut down on reference count
churn by using passing the StringImpl to makeString.

  • runtime/JSCustomSetterFunction.cpp:

(JSC::JSCustomSetterFunction::create): Ditto.

  • runtime/JSGlobalObjectFunctions.cpp: Use more const and use variadic

append for better efficiency.

  • runtime/JSONObject.cpp:

(JSC::Stringifier::appendStringifiedValue): Use append instead of appendLiteral.
(JSC::Stringifier::Holder::appendNextProperty): Ditto.

  • runtime/JSStringJoiner.h: Deleted unused appendLiteral function.

Unrelated to StringBuilder::appendLiteral, but dead code.

  • runtime/Options.cpp:

(JSC::Options::dumpOption): Use append instead of appendLiteral.

  • runtime/RegExpPrototype.cpp:

(JSC::appendLineTerminatorEscape<UChar>): Ditto.

  • runtime/SamplingProfiler.cpp:

(JSC::SamplingProfiler::reportTopFunctions): Use auto for the result of makeString.
(JSC::SamplingProfiler::reportTopBytecodes): Ditto.

  • runtime/TypeProfiler.cpp:

(JSC::TypeProfiler::typeInformationForExpressionAtOffset): Use append instead of
appendLiteral.

  • runtime/TypeSet.cpp:

(JSC::TypeSet::dumpTypes const): Use append instead of appendLiteral.
(JSC::TypeSet::toJSONString const): Ditto.
(JSC::StructureShape::propertyHash): Ditto.
(JSC::StructureShape::toJSONString const): Ditto.

Source/WebCore:

  • Modules/fetch/FetchBodyConsumer.cpp:

(WebCore::packageFormData): Use auto for the result of makeString.

  • Modules/indexeddb/IDBKeyData.cpp:

(WebCore::IDBKeyData::loggingString const): Use append instead
of appendLiteral.

  • Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:

(WebCore::IDBServer::SQLiteIDBBackingStore::addRecord): Use auto
for the result of makeString.

  • Modules/indexeddb/server/SQLiteIDBCursor.cpp:

(WebCore::IDBServer::buildPreIndexStatement): Use makeString
instead of StringBuilder.
(WebCore::IDBServer::buildIndexStatement): Ditto.
(WebCore::IDBServer::buildObjectStoreStatement): Ditto.

  • Modules/websockets/WebSocket.cpp:

(WebCore::encodeProtocolString): Use append instead of appendLiteral.

  • Modules/websockets/WebSocketExtensionDispatcher.cpp:

(WebCore::WebSocketExtensionDispatcher::appendAcceptedExtension): Ditto.

  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::WebSocketHandshake::clientHandshakeMessage const): Use
makeString instead of StringBuilder.
(WebCore::WebSocketHandshake::clientHandshakeRequest const): Tweak
to match the function above more closely, and use ASCIILiteral.

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(formatForDebugger): Use makeString instead of StringBuilder.

  • contentextensions/CombinedURLFilters.cpp:

(WebCore::ContentExtensions::prefixTreeVertexToString): Use
append instead of appendLiteral.

  • css/CSSBasicShapes.cpp:

(WebCore::buildCircleString): Ditto.
(WebCore::buildEllipseString): Ditto.
(WebCore::buildPathString): Ditto.
(WebCore::buildPolygonString): Ditto.
(WebCore::buildInsetString): Ditto.

  • css/CSSGradientValue.cpp:

(WebCore::CSSLinearGradientValue::customCSSText const): Ditto.
(WebCore::CSSRadialGradientValue::customCSSText const): Ditto.
(WebCore::CSSConicGradientValue::customCSSText const): Ditto.

  • css/CSSGridIntegerRepeatValue.cpp:

(WebCore::CSSGridIntegerRepeatValue::customCSSText const):
Use makeString instead of StringBuilder.

  • css/CSSImageSetValue.cpp:

(WebCore::CSSImageSetValue::customCSSText const): Use append
instead of appendLiteral.

  • css/CSSImportRule.cpp:

(WebCore::CSSImportRule::cssText const): Use makeString instead
of StringBuilder.

  • css/CSSKeyframeRule.cpp:

(WebCore::StyleRuleKeyframe::cssText const): Ditto.

  • css/CSSKeyframesRule.cpp:

(WebCore::CSSKeyframesRule::cssText const): Use variadic append.

  • css/CSSLineBoxContainValue.cpp:

(WebCore::CSSLineBoxContainValue::customCSSText const): Use
append instead of appendLiteral.

  • css/CSSNamespaceRule.cpp:

(WebCore::CSSNamespaceRule::cssText const): Ditto.

  • css/CSSPageRule.cpp:

(WebCore::CSSPageRule::cssText const): Use makeString instead of
StringBuilder.

  • css/CSSPaintImageValue.cpp:

(WebCore::CSSPaintImageValue::customCSSText const): Ditto.

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText const):
Use append instead of appendLiteral.

  • css/CSSSelector.cpp:

(WebCore::appendLangArgumentList): Use variadic append.
(WebCore::CSSSelector::selectorText const): Ditto. Also use
append instead of appendLiteral and make some improvements to
cut down on allocations a little.

  • css/CSSSelectorList.cpp:

(WebCore::CSSSelectorList::buildSelectorsText const): Use
append instead of appendLiteral.

  • css/CSSStyleSheet.cpp:

(WebCore::CSSStyleSheet::CSSStyleSheet): Moved more of the
data member initialization to the class definition.
(WebCore::CSSStyleSheet::addRule): Use makeString instead of
StringBuilder.

  • css/CSSStyleSheet.h: Moved initialization here.
  • css/CSSTimingFunctionValue.cpp:

(WebCore::CSSStepsTimingFunctionValue::customCSSText const):
Use makeString instead of StringBuilder.
(WebCore::CSSSpringTimingFunctionValue::customCSSText const):
Ditto.

  • css/MediaList.cpp:

(WebCore::MediaQuerySet::mediaText const): Use append instead
of appendLiteral.

  • css/MediaQuery.cpp:

(WebCore::MediaQuery::serialize const): Ditto.

  • css/MediaQueryExpression.cpp:

(WebCore::MediaQueryExpression::serialize const): Use makeString
instead of StringBuilder.

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::getLayeredShorthandValue const):
Use append instead of appendLiteral.

  • css/parser/CSSParserToken.cpp:

(WebCore::CSSParserToken::serialize const): Removed a lot of
unnecessary braces. Use variadic append and append instead of appendLiteral.

  • dom/Document.cpp:

(WebCore::Document::initSecurityContext): Use auto for the result
of makeString.

  • dom/Element.cpp:

(WebCore::appendAttributes): Use variadic append and append
instead of appendLiteral.

  • dom/SecurityContext.cpp:

(WebCore::SecurityContext::parseSandboxPolicy): Ditto.

  • editing/HTMLInterchange.cpp:

(WebCore::convertHTMLTextToInterchangeFormat): Ditto.

  • editing/TextIterator.cpp:

(WebCore::createSearcher): Use auto for the result of makeString.

  • editing/markup.cpp:

(WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
Use append instead of appendLiteral.
(WebCore::StyledMarkupAccumulator::appendStartTag): Ditto.
(WebCore::urlToMarkup): Ditto.

  • html/FormController.cpp:

(WebCore::recordFormStructure): Ditto.

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::reportValidity): Use auto for
the result of makeString.

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::validateInteractively): Ditto.

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::completeURLsInAttributeValue const):
Use append insteaed of appendLiteral.

  • html/MediaElementSession.cpp:

(WebCore::restrictionNames): Use auto for the result of makeString.

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::getUniformLocation): Ditto.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemaining): Ditto.

  • html/parser/XSSAuditorDelegate.cpp:

(WebCore::buildConsoleError): Use makeString instead of StringBuilder.

  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::rebuildDisplayTree): Ditto.

  • inspector/InspectorFrontendAPIDispatcher.cpp:

(WebCore::expressionForEvaluatingCommand): Use append instead of appendLiteral.

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::drawElementTitle): Use auto for the result of makeString.

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::addRule): Use append instead of appendLiteral.

  • inspector/agents/InspectorApplicationCacheAgent.cpp:

(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
Use makeString instead of StringBuilder.

  • inspector/agents/WebConsoleAgent.cpp:

(WebCore::WebConsoleAgent::didReceiveResponse): Use auto for the result of makeString.
(WebCore::WebConsoleAgent::didFailLoading): Ditto.

  • loader/MixedContentChecker.cpp:

(WebCore::logWarning): Ditto
(WebCore::MixedContentChecker::checkFormForMixedContent): Ditto

  • loader/PrivateClickMeasurement.cpp:

(WebCore::makeValidURL): Added. Used for various cases below that all construct
URLs in the same way with the same kinds of checks. Use makeString here instead
of StringBuilder.
(WebCore::attributionReportURL): Call makeValidURL.
(WebCore::PrivateClickMeasurement::tokenSignatureURL const): Ditto.
(WebCore::PrivateClickMeasurement::tokenPublicKeyURL const): Ditto.

  • loader/ResourceLoadStatistics.cpp:

(WebCore::appendBoolean): Use append instead of appendLiteral.
(WebCore::appendHashSet): Ditto.
(WebCore::appendNavigatorAPIOptionSet): Ditto.
(WebCore::appendScreenAPIOptionSet): Ditto.
(WebCore::ResourceLoadStatistics::toString const): Ditto.

  • loader/WorkerThreadableLoader.cpp:

(WebCore::WorkerThreadableLoader::loadResourceSynchronously): Use auto for
the result of makeString.

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::postMessage): Ditto.

  • page/Frame.cpp:

(WebCore::createRegExpForLabels): Use append instead of appendLiteral.
Also tweak coding style a bit.

  • page/FrameView.cpp:

(WebCore::FrameView::logMockScrollAnimatorMessage const): Use makeString
instead of StringBuilder.

  • page/PageSerializer.cpp:

(WebCore::PageSerializer::SerializerMarkupAccumulator::appendStartTag):
Use append instead of appendLiteral.
(WebCore::PageSerializer::serializeCSSStyleSheet): Ditto.
(WebCore::PageSerializer::urlForBlankFrame): Use auto for the result of
makeString.

  • page/PerformanceLoggingClient.cpp:

(WebCore::PerformanceLoggingClient::synchronousScrollingReasonsAsString):
Use makeString instead of StringBuilder.

  • page/cocoa/ResourceUsageOverlayCocoa.mm:

(WebCore::ResourceUsageOverlay::platformDraw): Use auto for the result of
makeString.

  • page/csp/ContentSecurityPolicy.cpp:

(WebCore::consoleMessageForViolation): Use makeString instsead of StringBuilder.
(WebCore::ContentSecurityPolicy::allowRunningOrDisplayingInsecureContent): Ditto.
(WebCore::ContentSecurityPolicy::reportInvalidDirectiveValueCharacter const):
Get rid of local variable for result of makeString.
(WebCore::ContentSecurityPolicy::reportInvalidPathCharacter const): Ditto.
(WebCore::ContentSecurityPolicy::reportInvalidSourceExpression const): Ditto.

  • page/csp/ContentSecurityPolicyDirectiveList.cpp:

(WebCore::ContentSecurityPolicyDirectiveList::create): Get rid of local
variable for result of makeString.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::synchronousScrollingReasonsAsText):
Use makeString instead of StringBulder.

  • platform/Decimal.cpp:

(WebCore::Decimal::toString const): Use append instead of appendLiteral.

  • platform/animation/TimingFunction.cpp:

(WebCore::TimingFunction::createFromCSSText): Use makeString instead
of StringBuilder.

  • platform/audio/HRTFElevation.cpp:

(WebCore::HRTFElevation::calculateKernelsForAzimuthElevation): Use auto
for the result of makeString.

  • platform/glib/UserAgentGLib.cpp:

(WebCore::buildUserAgentString): Use append instead of appendLiteral.

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:

(WebCore::InbandTextTrackPrivateAVF::processCueAttributes): Use
append instead of appendLiteral.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::recursiveCommitChanges): Got rid of local
variable for result of makeString.
(WebCore::GraphicsLayerCA::appendToUncommittedAnimations): Use auto
for result of makeString.

  • platform/graphics/ca/TileController.cpp:

(WebCore::TileController::tileRevalidationTimerFired): Update to
use OptionSet.

  • platform/graphics/ca/TileGrid.cpp:

(WebCore::validationPolicyAsString): Use OptionSet.
(WebCore::TileGrid::setNeedsDisplayInRect): Use auto for iterator
and range-based for loop.
(WebCore::TileGrid::updateTileLayerProperties): Ditto.
(WebCore::TileGrid::blankPixelCount const): Ditto.
(WebCore::TileGrid::removeTiles): Use HashCountedSet.
(WebCore::TileGrid::revalidateTiles): Use OptionSet.
(WebCore::TileGrid::retainedTileBackingStoreMemory const): Use
ranged-based for loop.
(WebCore::TileGrid::drawTileMapContents const): Use range-based
for loop and use writeIntegerToBuffer instead of String::number.
(WebCore::TileGrid::platformCALayerRepaintCount const): Use
HashCountedSet.
(WebCore::TileGrid::platformCALayerIncrementRepaintCount): Ditto.
This cuts us down from 3 hash table lookups to 1.
(WebCore::TileGrid::removeUnparentedTilesNow): Removed local
variable to make code a little tighter.

  • platform/graphics/ca/TileGrid.h: Use OptionSet and HashCountedSet.

Removed some type names.

  • platform/graphics/ca/cocoa/PlatformCAFiltersCocoa.mm:

(WebCore::PlatformCAFilters::setFiltersOnLayer): Use auto for
reuslt of makeString.

  • platform/mock/MockRealtimeVideoSource.cpp:

(WebCore::MockRealtimeVideoSource::drawText): Ditto.

  • platform/mock/ScrollAnimatorMock.cpp:

(WebCore::ScrollAnimatorMock::scrollbarPrefix const): Added
helper function for use below.
(WebCore::ScrollAnimatorMock::mouseEnteredScrollbar const): Use
makeString instead of StringBuilder.
(WebCore::ScrollAnimatorMock::mouseExitedScrollbar const): Ditto.
(WebCore::ScrollAnimatorMock::mouseIsDownInScrollbar const): Ditto.

  • platform/mock/ScrollAnimatorMock.h: Ditto.
  • platform/network/ProxyServer.cpp:

(WebCore::appendProxyServerString): Use append instead of appendLiteral.
(WebCore::toString): Ditto.

  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::sanitizeSuggestedFilename): Get rid
of local variable with result of maekString in it.

  • platform/playstation/UserAgentPlayStation.cpp:

(WebCore::platformForUAString): Deleted. No need for a global variable
to hold the result of something called only once.
(WebCore::platformVersionForUAString): Ditto.
(WebCore::buildUserAgentString): Deleted.
(WebCore::standardUserAgentStatic): Moved the logic from buildUserAgentString
here, using makeString instead of StringBuilder.

  • platform/sql/SQLiteDatabase.cpp:

(WebCore::SQLiteDatabase::open): Use auto for result of makeString.

  • platform/sql/SQLiteFileSystem.cpp:

(WebCore::SQLiteFileSystem::deleteDatabaseFile): Ditto.

  • platform/text/DateTimeFormat.cpp:

(WebCore::DateTimeFormat::quoteAndAppendLiteral): Use append instead
of appendLiteral and StringView::substring instead of String::substring.

  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::replaceNewlinesWithWindowsStyleNewlines): Use append
instead of appendLiteral.

  • platform/win/UserAgentWin.cpp:

(WebCore::standardUserAgent): Use makeString instead of StringBuildeer.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::name const): Ditto.
(WebCore::RenderLayer::debugDescription const): Ditto.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::logLayerInfo): Use append instead of
appendLiteral.

  • rendering/RenderTreeAsText.cpp:

(WebCore::quoteAndEscapeNonPrintables): Ditto.
(WebCore::nodePosition): Ditto.

  • svg/SVGPathStringBuilder.cpp:

(WebCore::SVGPathStringBuilder::moveTo): Ditto.
(WebCore::SVGPathStringBuilder::lineTo): Ditto.
(WebCore::SVGPathStringBuilder::lineToHorizontal): Ditto.
(WebCore::SVGPathStringBuilder::lineToVertical): Ditto.
(WebCore::SVGPathStringBuilder::curveToCubic): Ditto.
(WebCore::SVGPathStringBuilder::curveToCubicSmooth): Ditto.
(WebCore::SVGPathStringBuilder::curveToQuadratic): Ditto.
(WebCore::SVGPathStringBuilder::curveToQuadraticSmooth): Ditto.
(WebCore::SVGPathStringBuilder::arcTo): Ditto.
(WebCore::SVGPathStringBuilder::closePath): Ditto.

  • testing/Internals.cpp:

(WebCore::Internals::dumpMarkerRects): Ditto.
(WebCore::appendOffsets):
(WebCore::Internals::scrollSnapOffsets): Ditto.

  • workers/WorkerScriptLoader.cpp:

(WebCore::WorkerScriptLoader::validateWorkerResponse): Use auto
for reuslt of makeString.

Source/WebKit:

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:

(WebKit::ResourceLoadStatisticsDatabaseStore::ensureAndMakeDomainList): Use append
instead of appendLiteral.
(WebKit::domainsToString): Ditto.
(WebKit::buildList): Ditto.
(WebKit::ResourceLoadStatisticsDatabaseStore::findNotVeryPrevalentResources): Ditto.
(WebKit::ResourceLoadStatisticsDatabaseStore::dumpResourceLoadStatistics): Ditto.
(WebKit::appendBoolean): Ditto.
(WebKit::appendNextEntry): Ditto.
(WebKit::ResourceLoadStatisticsDatabaseStore::appendSubStatisticList const): Ditto.
(WebKit::ResourceLoadStatisticsDatabaseStore::resourceToString const): Ditto.
(WebKit::ResourceLoadStatisticsDatabaseStore::attributionToString): Ditto.
(WebKit::ResourceLoadStatisticsDatabaseStore::privateClickMeasurementToString): Ditto.

  • NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:

(WebKit::ResourceLoadStatisticsMemoryStore::dumpResourceLoadStatistics): Ditto.

  • NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp: Ditto.

(WebKit::domainsToString): Ditto.

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::create): Moved this here from the header.
(WebKit::WebResourceLoadStatisticsStore::ThirdPartyDataForSpecificFirstParty::toString const): Ditto.
(WebKit::WebResourceLoadStatisticsStore::ThirdPartyDataForSpecificFirstParty::encode const): Ditto.
(WebKit::WebResourceLoadStatisticsStore::ThirdPartyDataForSpecificFirstParty::decode): Ditto.
(WebKit::WebResourceLoadStatisticsStore::ThirdPartyDataForSpecificFirstParty::operator== const): Ditto.
(WebKit::WebResourceLoadStatisticsStore::ThirdPartyData::toString const): Ditto.
(WebKit::WebResourceLoadStatisticsStore::ThirdPartyData::encode const): Ditto.
(WebKit::WebResourceLoadStatisticsStore::ThirdPartyData::decode): Ditto.
(WebKit::WebResourceLoadStatisticsStore::ThirdPartyData::operator< const): Ditto.

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h: Moved member

functions of the nested structures into the implementation file and fixed
the indentation of the structures to indicate the nesting.

  • NetworkProcess/NetworkLoadChecker.cpp:

(WebKit::NetworkLoadChecker::continueCheckingRequest): Do not use a local
variable for the reuslt of makeString.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::newTestingSession): Ditto.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::Cache::dumpContentsToFile): Use append instead of appendLiteral

  • NetworkProcess/cache/NetworkCacheEntry.cpp:

(WebKit::NetworkCache::Entry::asJSON const): Ditto.

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::makeVersionedDirectoryPath): Do not use a local variable for
the result of makeString.

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::buildAcceptLanguages): Use append instead of appendLiteral.

  • NetworkProcess/soup/WebSocketTaskSoup.cpp:

(WebKit::WebSocketTask::acceptedExtensions const): Ditto.

  • NetworkProcess/webrtc/NetworkMDNSRegister.cpp:

(WebKit::NetworkMDNSRegister::registerMDNSName): Use auto for the result of makeString.

  • Shared/WebMemorySampler.cpp:

(WebKit::WebMemorySampler::writeHeaders): Ditto.

  • Shared/mac/AuxiliaryProcessMac.mm:

(WebKit::initializeSandboxParameters): Do not use a local variable for the result of
makeString. Also, take advantage of the support for concatenating an NSString instead
of converting it to a WTF::String.

  • Shared/mac/WebMemorySampler.mac.mm:

(WebKit::WebMemorySampler::sampleWebKit const): Use ASCIILiteral and remove explicit
conversion to String.

  • UIProcess/API/glib/WebKitWebView.cpp:

(webkitWebViewRunJavaScriptCallback): Use append instead of appendLiteral.

  • UIProcess/Automation/WebAutomationSession.cpp:

(WebKit::fileCanBeAcceptedForUpload): Use auto for result of makeString.

  • WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp: Use makeString instead of

StringBuilder.

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::requestStorageSpace): Use auto for result of makeString.

  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::loggingString): Use append instead of appendLiteral.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::processDidFinishLaunching): Use auto for result of makeString.
(WebKit::WebProcessPool::startMemorySampler): Ditto.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::dumpHistoryItem): Use append instead of appendLiteral.
(WebKit::WebPage::getContentsAsString): Ditto.

Source/WebKitLegacy:

  • WebCoreSupport/NetworkStorageSessionMap.cpp:

(NetworkStorageSessionMap::switchToNewTestingSession): Do not use local
for return value of makeString.

Source/WebKitLegacy/mac:

  • WebView/WebHTMLRepresentation.mm:

(regExpForLabels): Use append instead of appendLiteral.
Also imrpove local variable names a bit.

Source/WebKitLegacy/win:

  • AccessibleBase.cpp:

(AccessibleBase::get_accKeyboardShortcut): Use append instead of appnedLiteral.

  • WebView.cpp: Ditto.

Source/WTF:

The optimization done by appendLiteral has minimal value and is something we
can do without. It does not cut down the number of allocations, which is the
main cost of the StringBuilder class. Getting rid of the differently named
appendLiteral improves the design of the StringBuilder class for callers.
Our goal is to get as close as possible to a single append function.

If we decide we need an optimization for literals, we can come up with a
different way that is compatible with append. For example, we could assume
that any char array is a literal and check that at compile time in
StringConcatenate; that optimization would work for both makeString and
StringBuilder. Or we could use a strategy like ASCIILiteral.

  • wtf/FileSystem.cpp:

(WTF::FileSystemImpl::encodeForFileName): Streamline logic,
and use variadic append to make this more efficient.

  • wtf/JSONValues.cpp:

(WTF::JSONImpl::Value::escapeString): Use append instead
of appendLiteral.
(WTF::JSONImpl::Value::writeJSON const): Ditto.

  • wtf/Logger.h:

(WTF::Logger::log): Use auto for result of makeString.
(WTF::Logger::logVerbose): Ditto.

  • wtf/MediaTime.cpp:

(WTF::MediaTime::toString const): Use makeString instead of StringBuilder.

  • wtf/text/IntegerToStringConversion.h:

Made lengthOfIntegerAsString a constexpr function so we can use it to
compute the required size of arrays for conversion. Added using for both
lengthOfIntegerAsString and writeIntegerToBuffer so we can use them without
the WTF prefix as is customary for functions in WTF.

  • wtf/text/StringBuilder.h:

(WTF::StringBuilder::appendLiteral): Deleted.

  • wtf/text/StringConcatenate.h: Added support for appending StringImpl&,

StringImpl*, AtomStringImpl&, and AtomStringImpl*.

Tools:

  • TestWebKitAPI/Tests/WTF/StringBuilder.cpp:

Use append instead of appendLiteral.

  • TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:

(TestWebKitAPI::createCommand): Use makeString instead of StringBuilder.

  • TestWebKitAPI/Tests/WebCore/Logging.cpp:

(TestWebKitAPI::TEST_F): Made lots of fixes to code inside #if TEST_OUTPUT,
which hasn't compiled in a long time. Still not 100% there, but closer.

  • TestWebKitAPI/Tests/WebCore/TextCodec.cpp:

(TestWebKitAPI::testDecode): Use append instead of appendLiteral.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::helpText const): Ditto.

2:44 PM Changeset in webkit [277966] by Jonathan Bedard
  • 1 edit
    12 deletes in trunk/LayoutTests

[LayoutTests] Delete unused jquery resources
https://bugs.webkit.org/show_bug.cgi?id=226043
<rdar://problem/78277881>

Reviewed by Dewei Zhu.

  • jquery/resources/src/intro.js: Removed.
  • jquery/resources/src/outro.js: Removed.
  • jquery/resources/src/selector.js: Removed.
  • jquery/resources/test/csp.php: Removed.
  • jquery/resources/test/data/readywaitasset.js: Removed.
  • jquery/resources/test/data/readywaitloader.js: Removed.
  • jquery/resources/test/delegatetest.html: Removed.
  • jquery/resources/test/localfile.html: Removed.
  • jquery/resources/test/networkerror.html: Removed.
  • jquery/resources/test/polluted.php: Removed.
  • jquery/resources/test/readywait.html: Removed.
  • jquery/resources/test/xhtml.php: Removed.
2:05 PM Changeset in webkit [277965] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Stop using UncheckedLock in ShadowBlur's ScratchBuffer
https://bugs.webkit.org/show_bug.cgi?id=226183

Reviewed by Simon Fraser.

Stop using UncheckedLock in ShadowBlur's ScratchBuffer to benefit from Clang
Thread Safety Analysis. Note that I had to factor the code a bit differently
because analysis doesn't support conditionally held locks. I could have also
used WTF_IGNORES_THREAD_SAFETY_ANALYSIS but I think it is better to factor
the code so that we do get the validation.

  • platform/graphics/ShadowBlur.cpp:

(WebCore::ScratchBuffer::WTF_REQUIRES_LOCK):
(WebCore::ScratchBuffer::WTF_RETURNS_LOCK):
(WebCore::ShadowBlur::drawRectShadowWithTiling):
(WebCore::ShadowBlur::drawRectShadowWithTilingWithLayerImageBuffer):
(WebCore::ShadowBlur::drawInsetShadowWithTiling):
(WebCore::ShadowBlur::drawInsetShadowWithTilingWithLayerImageBuffer):

  • platform/graphics/ShadowBlur.h:
1:11 PM Changeset in webkit [277964] by Chris Gambrell
  • 17 edits in trunk/LayoutTests

[LayoutTests] Remove straggling PHP references
https://bugs.webkit.org/show_bug.cgi?id=226179
<rdar://problem/78407224>

Reviewed by Jonathan Bedard.

  • http/tests/blink/sendbeacon/beacon-cross-origin-redirect-blob-expected.txt:
  • http/tests/blink/sendbeacon/beacon-cross-origin-redirect-blob.html:
  • http/tests/blink/sendbeacon/beacon-cross-origin-redirect-expected.txt:
  • http/tests/blink/sendbeacon/beacon-cross-origin-redirect.html:
  • http/tests/eventsource/eventsource-events-after-close.html:
  • http/tests/images/avif-partial-load-crash.html:
  • http/tests/inspector/css/bad-mime-type-expected.txt:
  • http/tests/inspector/css/bad-mime-type.html:
  • http/tests/loading/resources/post-in-iframe-with-back-navigation-page-2.py:
  • http/tests/media/resources/serve_video.py:
  • http/tests/navigation/redirect-to-fragment2-expected.txt:
  • http/tests/navigation/slow-loading-page-with-slow-script.py:
  • http/tests/security/contentSecurityPolicy/resources/worker.py:
  • http/tests/security/xssAuditor/resources/echo-intertag.pl:
  • http/tests/workers/service/basic-register-exceptions-expected.txt:
  • http/tests/workers/service/resources/basic-register-exceptions.js:
12:29 PM Changeset in webkit [277963] by keith_miller@apple.com
  • 6 edits in trunk/Source

Unreviewed, revert r276610 because it causes a 1% PLT regression.

Source/JavaScriptCore:

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::visitChildren):
(JSC::CodeBlock::JITData::size const): Deleted.

  • bytecode/CodeBlock.h:
  • jit/JITCodeMap.h:

(JSC::JITCodeMap::memorySize const): Deleted.

Source/WTF:

  • wtf/Bag.h:
11:58 AM Changeset in webkit [277962] by Ruben Turcios
  • 13 edits in branches/safari-612.1.15.1-branch/Source/bmalloc

Cherry-pick r277898. rdar://problem/78411755

[bmalloc] Rollout r276266 because WebKit processes are spending much more time in madvise
https://bugs.webkit.org/show_bug.cgi?id=226122

Unreviewed 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:

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

11:54 AM Changeset in webkit [277961] by commit-queue@webkit.org
  • 173 edits
    2 copies
    3 deletes in trunk

Unreviewed, reverting r277940.
https://bugs.webkit.org/show_bug.cgi?id=226182

Caused Safari crash under IPC::typeFromCFTypeRef

Reverted changeset:

"Convert DestinationColorSpace from an enum to class wrapping
a platform color space (CGColorSpaceRef for CG ports, etc.)"
https://bugs.webkit.org/show_bug.cgi?id=226143
https://trac.webkit.org/changeset/277940

11:52 AM Changeset in webkit [277960] by Alan Coon
  • 2 edits in branches/safari-611-branch/Source/WebCore

Cherry-pick r277177. rdar://problem/78411433

AudioWorkletProcessor which does not extend base class crashes Safari
https://bugs.webkit.org/show_bug.cgi?id=225449
<rdar://problem/77624792>

Reviewed by Sam Weinig.

Update AudioWorkletGlobalScope::createProcessor() to validate the type of the processor
after constructing it.

  • Modules/webaudio/AudioWorkletGlobalScope.cpp: (WebCore::AudioWorkletGlobalScope::createProcessor):

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

11:50 AM Changeset in webkit [277959] by Alan Coon
  • 8 edits in branches/safari-611-branch/Source

Versioning.

WebKit-7611.3.6

11:29 AM Changeset in webkit [277958] by Chris Dumez
  • 167 edits
    4 deletes in trunk

Drop CheckedLock / CheckedCondition aliases
https://bugs.webkit.org/show_bug.cgi?id=226176

Reviewed by Kate Cheney.

Drop CheckedLock / CheckedCondition aliases now that they are the default.

Source/JavaScriptCore:

  • API/JSVirtualMachine.mm:
  • API/glib/JSCVirtualMachine.cpp:
  • assembler/PerfLog.h:
  • assembler/testmasm.cpp:
  • bytecode/StructureStubInfo.h:
  • bytecode/SuperSampler.cpp:
  • dfg/DFGCommon.cpp:
  • dfg/DFGCommonData.cpp:
  • dfg/DFGPlan.h:
  • dfg/DFGThreadData.h:
  • dfg/DFGWorklist.cpp:

(JSC::DFG::Worklist::Worklist):

  • dfg/DFGWorklist.h:
  • disassembler/Disassembler.cpp:
  • dynbench.cpp:
  • heap/BlockDirectory.cpp:

(JSC::BlockDirectory::parallelNotEmptyBlockSource):

  • heap/BlockDirectory.h:

(JSC::BlockDirectory::bitvectorLock):

  • heap/CodeBlockSet.h:

(JSC::CodeBlockSet::getLock):

  • heap/Heap.cpp:

(JSC::Heap::Heap):

  • heap/Heap.h:
  • heap/IsoSubspacePerVM.h:
  • heap/MarkedSpace.h:

(JSC::MarkedSpace::directoryLock):

  • heap/MarkingConstraintSolver.h:
  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::donateKnownParallel):

  • heap/SlotVisitor.h:
  • inspector/remote/socket/RemoteInspectorConnectionClient.h:
  • inspector/remote/socket/RemoteInspectorSocketEndpoint.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:

  • Modules/indexeddb/IDBObjectStore.h:
  • Modules/indexeddb/IDBTransaction.h:
  • Modules/indexeddb/client/IDBConnectionProxy.h:
  • Modules/indexeddb/server/IDBSerializationContext.cpp:
  • Modules/indexeddb/server/IDBServer.cpp:
  • Modules/mediastream/RTCDataChannel.cpp:
  • Modules/mediastream/RTCRtpSFrameTransformer.h:
  • Modules/mediastream/RTCRtpScriptTransform.h:
  • Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.h:
  • Modules/mediastream/libwebrtc/LibWebRTCRtpTransformBackend.h:
  • Modules/speech/SpeechRecognitionCaptureSourceImpl.h:
  • Modules/webaudio/AudioParamTimeline.h:
  • Modules/webaudio/MediaElementAudioSourceNode.h:
  • Modules/webdatabase/Database.cpp:
  • Modules/webdatabase/Database.h:
  • Modules/webdatabase/DatabaseManager.h:
  • Modules/webdatabase/DatabaseTask.h:
  • Modules/webdatabase/DatabaseThread.h:
  • Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::openDatabaseMutex):

  • Modules/webdatabase/DatabaseTracker.h:
  • Modules/webdatabase/OriginLock.cpp:
  • Modules/webdatabase/SQLCallbackWrapper.h:
  • Modules/webdatabase/SQLTransaction.h:
  • Modules/webgpu/WebGPUDevice.cpp:

(WebCore::WebGPUDevice::instancesLock):

  • Modules/webgpu/WebGPUDevice.h:
  • Modules/webgpu/WebGPUPipeline.cpp:

(WebCore::WebGPUPipeline::instancesLock):

  • Modules/webgpu/WebGPUPipeline.h:
  • Modules/websockets/WebSocket.cpp:

(WebCore::WebSocket::allActiveWebSocketsLock):

  • Modules/websockets/WebSocket.h:
  • accessibility/isolatedtree/AXIsolatedTree.cpp:
  • accessibility/isolatedtree/AXIsolatedTree.h:
  • bindings/js/JSDOMGlobalObject.h:
  • bridge/objc/WebScriptObject.mm:
  • crypto/CryptoAlgorithmRegistry.h:
  • dom/MessagePort.cpp:
  • dom/Node.cpp:
  • dom/ScriptExecutionContext.cpp:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::createMediaPlayer):

  • html/canvas/CanvasRenderingContext.cpp:

(WebCore::CanvasRenderingContext::instancesLock):

  • html/canvas/CanvasRenderingContext.h:
  • 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/WebGLProgram.cpp:

(WebCore::WebGLProgram::instancesLock):

  • html/canvas/WebGLProgram.h:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::objectGraphLock):

  • html/canvas/WebGLRenderingContextBase.h:
  • html/canvas/WebGLSharedObject.cpp:

(WebCore::WebGLSharedObject::objectGraphLockForContext):

  • html/canvas/WebGLSharedObject.h:
  • inspector/agents/WebHeapAgent.cpp:
  • page/ResourceUsageThread.h:
  • page/SecurityPolicy.cpp:
  • page/WheelEventTestMonitor.h:
  • page/scrolling/ScrollingTree.h:

(WebCore::ScrollingTree::WTF_RETURNS_LOCK):

  • page/scrolling/ScrollingTreeLatchingController.h:
  • page/scrolling/ThreadedScrollingTree.h:

(WebCore::ThreadedScrollingTree::WTF_RETURNS_LOCK):

  • page/scrolling/mac/ScrollingTreeMac.h:
  • platform/AbortableTaskQueue.h:
  • platform/GenericTaskQueue.cpp:
  • platform/GenericTaskQueue.h:
  • platform/LegacySchemeRegistry.cpp:
  • platform/audio/AudioDestination.h:
  • platform/audio/HRTFDatabaseLoader.h:
  • platform/audio/ReverbConvolver.cpp:

(WebCore::ReverbConvolver::backgroundThreadEntry):

  • platform/audio/cocoa/AudioDestinationCocoa.h:
  • platform/audio/gstreamer/AudioSourceProviderGStreamer.h:
  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
  • platform/audio/mac/FFTFrameMac.cpp:
  • platform/encryptedmedia/CDMProxy.h:
  • platform/graphics/MediaPlayer.cpp:
  • platform/graphics/ShadowBlur.cpp:

(WebCore::ScratchBuffer::lock):
(WebCore::ShadowBlur::drawRectShadowWithTiling):
(WebCore::ShadowBlur::drawInsetShadowWithTiling):

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
  • platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
  • platform/graphics/cg/IOSurfacePool.h:
  • platform/graphics/cg/SubimageCacheWithTimer.h:
  • platform/graphics/cocoa/FontCacheCoreText.cpp:
  • platform/graphics/gstreamer/ImageDecoderGStreamer.h:
  • platform/graphics/gstreamer/MainThreadNotifier.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
  • platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:
  • platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
  • platform/graphics/texmap/TextureMapperPlatformLayerProxy.h:

(WebCore::TextureMapperPlatformLayerProxy::WTF_RETURNS_LOCK):

  • platform/image-decoders/ScalableImageDecoder.h:
  • platform/ios/QuickLook.mm:
  • platform/ios/WebSQLiteDatabaseTrackerClient.mm:
  • platform/ios/wak/WebCoreThreadRun.cpp:
  • platform/mediarecorder/MediaRecorderPrivateMock.h:
  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
  • platform/mediastream/RealtimeMediaSource.h:
  • platform/mediastream/RealtimeOutgoingAudioSource.h:
  • platform/mediastream/RealtimeOutgoingVideoSource.h:
  • platform/mediastream/cocoa/AudioMediaStreamTrackRendererUnit.h:
  • platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.h:
  • platform/network/cf/LoaderRunLoopCF.cpp:

(WebCore::loaderRunLoop):

  • platform/network/cocoa/WebCoreNSURLSession.mm:
  • platform/network/mac/UTIUtilities.mm:
  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h:
  • platform/sql/SQLiteDatabase.cpp:
  • platform/sql/SQLiteDatabase.h:
  • platform/sql/SQLiteDatabaseTracker.cpp:
  • platform/text/TextEncodingRegistry.cpp:
  • storage/StorageQuotaManager.h:
  • workers/WorkerGlobalScope.cpp:
  • workers/WorkerOrWorkletScriptController.h:
  • workers/WorkerOrWorkletThread.cpp:

(WebCore::WorkerOrWorkletThread::workerOrWorkletThreadsLock):

  • workers/WorkerOrWorkletThread.h:
  • worklets/PaintWorkletGlobalScope.h:

Source/WebKit:

  • GPUProcess/graphics/RemoteGraphicsContextGL.cpp:

(WebKit::RemoteGraphicsContextGL::paintPixelBufferToImageBuffer):

  • GPUProcess/webrtc/LibWebRTCCodecsProxy.h:
  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
  • NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.h:
  • NetworkProcess/IndexedDB/WebIDBServer.cpp:
  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/WebStorage/StorageManagerSet.h:
  • NetworkProcess/cache/NetworkCacheStorage.cpp:
  • NetworkProcess/cocoa/LaunchServicesDatabaseObserver.h:
  • NetworkProcess/glib/DNSCache.h:
  • Platform/IPC/Connection.cpp:
  • Platform/IPC/Connection.h:
  • Platform/IPC/StreamConnectionWorkQueue.h:
  • Platform/IPC/StreamServerConnection.h:
  • Shared/BlockingResponseMap.h:
  • Shared/Cocoa/XPCEndpointClient.h:
  • Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h:
  • Shared/mac/MediaFormatReader/MediaFormatReader.h:
  • Shared/mac/MediaFormatReader/MediaSampleCursor.h:
  • Shared/mac/MediaFormatReader/MediaTrackReader.h:
  • UIProcess/API/glib/IconDatabase.h:
  • UIProcess/WebURLSchemeTask.h:
  • UIProcess/mac/DisplayLink.h:
  • UIProcess/mac/WKPrintingView.mm:

(-[WKPrintingView knowsPageRange:]):

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
  • WebProcess/GPU/webrtc/LibWebRTCCodecs.h:
  • WebProcess/Network/WebSocketStream.cpp:
  • WebProcess/Plugins/PluginProcessConnectionManager.h:
  • WebProcess/WebPage/EventDispatcher.h:
  • WebProcess/WebPage/ViewUpdateDispatcher.h:

Source/WebKitLegacy:

  • Storage/StorageAreaSync.h:

Source/WebKitLegacy/mac:

  • DOM/DOMInternal.mm:

Source/WTF:

  • WTF.xcodeproj/project.pbxproj:
  • wtf/Assertions.cpp:
  • wtf/AutomaticThread.cpp:

(WTF::AutomaticThreadCondition::wait):
(WTF::AutomaticThreadCondition::waitFor):
(WTF::AutomaticThread::AutomaticThread):

  • wtf/AutomaticThread.h:
  • wtf/CMakeLists.txt:
  • wtf/CheckedCondition.h: Removed.
  • wtf/CheckedLock.h: Removed.
  • wtf/Condition.h:
  • wtf/CrossThreadQueue.h:
  • wtf/CrossThreadTaskHandler.h:
  • wtf/CryptographicallyRandomNumber.cpp:
  • wtf/FastMalloc.cpp:
  • wtf/Forward.h:
  • wtf/Language.cpp:
  • wtf/Lock.cpp:

(WTF::UncheckedLock::lockSlow):
(WTF::UncheckedLock::unlockSlow):
(WTF::UncheckedLock::unlockFairlySlow):
(WTF::UncheckedLock::safepointSlow):

  • wtf/Lock.h:

(WTF::WTF_ASSERTS_ACQUIRED_LOCK):

  • wtf/Logger.cpp:
  • wtf/Logger.h:

(WTF::Logger::WTF_RETURNS_LOCK):

  • wtf/MessageQueue.h:
  • wtf/MetaAllocator.cpp:

(WTF::MetaAllocator::release):
(WTF::MetaAllocator::MetaAllocator):
(WTF::MetaAllocator::allocate):
(WTF::MetaAllocator::currentStatistics):

  • wtf/MetaAllocator.h:
  • wtf/OSLogPrintStream.h:
  • wtf/ParallelHelperPool.cpp:

(WTF::ParallelHelperPool::ParallelHelperPool):

  • wtf/ParallelHelperPool.h:
  • wtf/ParallelJobsGeneric.h:
  • wtf/ParallelVectorIterator.h:
  • wtf/ReadWriteLock.h:
  • wtf/RecursiveLockAdapter.h:
  • wtf/RunLoop.h:
  • wtf/SynchronizedFixedQueue.h:
  • wtf/Threading.cpp:

(WTF::Thread::allThreadsLock):

  • wtf/Threading.h:
  • wtf/TimingScope.cpp:
  • wtf/URL.cpp:
  • wtf/WTFSemaphore.h:
  • wtf/WorkQueue.cpp:

(WTF::WorkQueue::concurrentApply):

  • wtf/WorkerPool.cpp:

(WTF::WorkerPool::WorkerPool):

  • wtf/WorkerPool.h:
  • wtf/cf/LanguageCF.cpp:
  • wtf/text/AtomStringImpl.cpp:

(WTF::AtomStringTableLocker::AtomStringTableLocker):

  • wtf/text/StringView.cpp:
  • wtf/threads/BinarySemaphore.h:
  • wtf/unicode/icu/CollatorICU.cpp:

Tools:

  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/CheckedConditionTest.cpp: Removed.
  • TestWebKitAPI/Tests/WTF/CheckedLockTest.cpp: Removed.
  • TestWebKitAPI/Tests/WTF/Condition.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/Lock.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/MetaAllocator.cpp:
  • WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:

(WTR::AXThread::createThreadIfNeeded):

11:08 AM Changeset in webkit [277957] by Alan Bujtas
  • 14 edits in trunk/Source/WebCore

[LFC] Rename the geometry() helpers to formattingGeometry()
https://bugs.webkit.org/show_bug.cgi?id=226153

Reviewed by Antti Koivisto.

  • layout/formattingContexts/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry):
(WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry):
(WebCore::Layout::FormattingContext::computeBorderAndPadding):
(WebCore::Layout::FormattingContext::layoutOutOfFlowContent):
(WebCore::Layout::FormattingContext::formattingGeometry const):
(WebCore::Layout::FormattingContext::geometry const): Deleted.

  • layout/formattingContexts/FormattingContext.h:
  • layout/formattingContexts/FormattingQuirks.cpp:

(WebCore::Layout::FormattingQuirks::heightValueOfNearestContainingBlockWithFixedHeight const):

  • layout/formattingContexts/block/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):
(WebCore::Layout::BlockFormattingContext::placeInFlowPositionedChildren):
(WebCore::Layout::BlockFormattingContext::computeStaticVerticalPosition):
(WebCore::Layout::BlockFormattingContext::computeStaticHorizontalPosition):
(WebCore::Layout::BlockFormattingContext::precomputeVerticalPositionForBoxAndAncestors):
(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::computedIntrinsicWidthConstraints):
(WebCore::Layout::BlockFormattingContext::formattingGeometry const):
(WebCore::Layout::BlockFormattingContext::geometry const): Deleted.

  • layout/formattingContexts/block/BlockFormattingContext.h:
  • layout/formattingContexts/block/tablewrapper/TableWrapperBlockFormattingContext.cpp:

(WebCore::Layout::TableWrapperBlockFormattingContext::layoutTableBox):
(WebCore::Layout::TableWrapperBlockFormattingContext::computeBorderAndPaddingForTableBox):
(WebCore::Layout::TableWrapperBlockFormattingContext::computeWidthAndMarginForTableBox):
(WebCore::Layout::TableWrapperBlockFormattingContext::computeHeightAndMarginForTableBox):

  • layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::sizeAndPlaceFlexItems):
(WebCore::Layout::FlexFormattingContext::computeIntrinsicWidthConstraintsForFlexItems):
(WebCore::Layout::FlexFormattingContext::formattingGeometry const):
(WebCore::Layout::FlexFormattingContext::geometry const): Deleted.

  • layout/formattingContexts/flex/FlexFormattingContext.h:
  • layout/formattingContexts/inline/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):
(WebCore::Layout::InlineFormattingContext::lineLayout):
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthConstraints):
(WebCore::Layout::InlineFormattingContext::computeIntrinsicWidthForFormattingRoot):
(WebCore::Layout::InlineFormattingContext::computeHorizontalMargin):
(WebCore::Layout::InlineFormattingContext::computeWidthAndMargin):
(WebCore::Layout::InlineFormattingContext::computeHeightAndMargin):
(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):
(WebCore::Layout::InlineFormattingContext::formattingGeometry const):
(WebCore::Layout::InlineFormattingContext::geometry const): Deleted.

  • layout/formattingContexts/inline/InlineFormattingContext.h:
  • layout/formattingContexts/table/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::setUsedGeometryForRows):
(WebCore::Layout::TableFormattingContext::layoutCell):
(WebCore::Layout::TableFormattingContext::computedPreferredWidthForColumns):
(WebCore::Layout::TableFormattingContext::computeAndDistributeExtraSpace):
(WebCore::Layout::TableFormattingContext::formattingGeometry const):
(WebCore::Layout::TableFormattingContext::geometry const): Deleted.

  • layout/formattingContexts/table/TableFormattingContext.h:
  • layout/formattingContexts/table/TableLayout.cpp:

(WebCore::Layout::TableFormattingContext::TableLayout::distributedVerticalSpace):

10:11 AM Changeset in webkit [277956] by Alan Bujtas
  • 13 edits in trunk/Source/WebCore

[LFC] FormattingGeometry functions should all be const
https://bugs.webkit.org/show_bug.cgi?id=226147

Reviewed by Simon Fraser.

While the const_cast is unfortunate, those functions do not mutate *this*.

  • layout/LayoutState.cpp:

(WebCore::Layout::LayoutState::hasFormattingState const):

  • layout/LayoutState.h:
  • layout/formattingContexts/FormattingGeometry.cpp:

(WebCore::Layout::FormattingGeometry::computedWidthValue const):
(WebCore::Layout::FormattingGeometry::computedWidth const):
(WebCore::Layout::FormattingGeometry::computedMinWidth const):
(WebCore::Layout::FormattingGeometry::computedMaxWidth const):
(WebCore::Layout::FormattingGeometry::shrinkToFitWidth const):
(WebCore::Layout::FormattingGeometry::outOfFlowNonReplacedHorizontalGeometry const):
(WebCore::Layout::FormattingGeometry::outOfFlowReplacedHorizontalGeometry const):
(WebCore::Layout::FormattingGeometry::floatingNonReplacedContentWidthAndMargin const):
(WebCore::Layout::FormattingGeometry::floatingReplacedContentWidthAndMargin const):
(WebCore::Layout::FormattingGeometry::outOfFlowHorizontalGeometry const):
(WebCore::Layout::FormattingGeometry::floatingContentWidthAndMargin const):
(WebCore::Layout::FormattingGeometry::inlineReplacedContentWidthAndMargin const):
(WebCore::Layout::FormattingGeometry::constraintsForOutOfFlowContent const):
(WebCore::Layout::FormattingGeometry::computedWidthValue): Deleted.
(WebCore::Layout::FormattingGeometry::computedWidth): Deleted.
(WebCore::Layout::FormattingGeometry::computedMinWidth): Deleted.
(WebCore::Layout::FormattingGeometry::computedMaxWidth): Deleted.
(WebCore::Layout::FormattingGeometry::shrinkToFitWidth): Deleted.
(WebCore::Layout::FormattingGeometry::outOfFlowNonReplacedHorizontalGeometry): Deleted.
(WebCore::Layout::FormattingGeometry::outOfFlowReplacedHorizontalGeometry): Deleted.
(WebCore::Layout::FormattingGeometry::floatingNonReplacedContentWidthAndMargin): Deleted.
(WebCore::Layout::FormattingGeometry::floatingReplacedContentWidthAndMargin): Deleted.
(WebCore::Layout::FormattingGeometry::outOfFlowHorizontalGeometry): Deleted.
(WebCore::Layout::FormattingGeometry::floatingContentWidthAndMargin): Deleted.
(WebCore::Layout::FormattingGeometry::inlineReplacedContentWidthAndMargin): Deleted.
(WebCore::Layout::FormattingGeometry::constraintsForOutOfFlowContent): Deleted.

  • layout/formattingContexts/FormattingGeometry.h:

(WebCore::Layout::FormattingGeometry::layoutState const):
(WebCore::Layout::FormattingGeometry::layoutState): Deleted.

  • layout/formattingContexts/block/BlockFormattingGeometry.cpp:

(WebCore::Layout::BlockFormattingGeometry::inFlowNonReplacedContentHeightAndMargin const):
(WebCore::Layout::BlockFormattingGeometry::inFlowNonReplacedContentWidthAndMargin const):
(WebCore::Layout::BlockFormattingGeometry::inFlowReplacedContentWidthAndMargin const):
(WebCore::Layout::BlockFormattingGeometry::inFlowContentHeightAndMargin const):
(WebCore::Layout::BlockFormattingGeometry::inFlowContentWidthAndMargin const):
(WebCore::Layout::BlockFormattingGeometry::computedContentWidthAndMargin const):
(WebCore::Layout::BlockFormattingGeometry::intrinsicWidthConstraints const):
(WebCore::Layout::BlockFormattingGeometry::inFlowNonReplacedContentHeightAndMargin): Deleted.
(WebCore::Layout::BlockFormattingGeometry::inFlowNonReplacedContentWidthAndMargin): Deleted.
(WebCore::Layout::BlockFormattingGeometry::inFlowReplacedContentWidthAndMargin): Deleted.
(WebCore::Layout::BlockFormattingGeometry::inFlowContentHeightAndMargin): Deleted.
(WebCore::Layout::BlockFormattingGeometry::inFlowContentWidthAndMargin): Deleted.
(WebCore::Layout::BlockFormattingGeometry::computedContentWidthAndMargin): Deleted.
(WebCore::Layout::BlockFormattingGeometry::intrinsicWidthConstraints): Deleted.

  • layout/formattingContexts/block/BlockFormattingGeometry.h:
  • layout/formattingContexts/flex/FlexFormattingGeometry.cpp:

(WebCore::Layout::FlexFormattingGeometry::intrinsicWidthConstraints const):
(WebCore::Layout::FlexFormattingGeometry::intrinsicWidthConstraints): Deleted.

  • layout/formattingContexts/flex/FlexFormattingGeometry.h:
  • layout/formattingContexts/inline/InlineFormattingGeometry.cpp:

(WebCore::Layout::InlineFormattingGeometry::inlineBlockContentWidthAndMargin const):
(WebCore::Layout::InlineFormattingGeometry::inlineBlockContentWidthAndMargin): Deleted.

  • layout/formattingContexts/inline/InlineFormattingGeometry.h:
  • layout/formattingContexts/table/TableFormattingGeometry.cpp:

(WebCore::Layout::TableFormattingGeometry::computedColumnWidth const):
(WebCore::Layout::TableFormattingGeometry::intrinsicWidthConstraintsForCell const):
(WebCore::Layout::TableFormattingGeometry::usedBaselineForCell const):
(WebCore::Layout::TableFormattingGeometry::computedColumnWidth): Deleted.
(WebCore::Layout::TableFormattingGeometry::intrinsicWidthConstraintsForCell): Deleted.
(WebCore::Layout::TableFormattingGeometry::usedBaselineForCell): Deleted.

  • layout/formattingContexts/table/TableFormattingGeometry.h:
10:04 AM Changeset in webkit [277955] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][TFC] Add a helper function to compute the intrinsic vertical paddings for the cell
https://bugs.webkit.org/show_bug.cgi?id=226130

Reviewed by Antti Koivisto.

Add a comment explaining what the intrinsic vertical padding is.

  • layout/formattingContexts/table/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::setUsedGeometryForCells):
(WebCore::Layout::TableFormattingContext::layoutCell):

  • layout/formattingContexts/table/TableFormattingContext.h:
9:07 AM Changeset in webkit [277954] by imanol
  • 6 edits
    5 adds in trunk/Source/WebCore

Implement OpenXR input sources
https://bugs.webkit.org/show_bug.cgi?id=224931

Reviewed by Sergio Villar Senin.

  • Sources.txt: Add OpenXRInput and OpenXRInputSource files
  • platform/xr/openxr/OpenXRInput.cpp: Entry point to query and sync input in OpenXR.

(PlatformXR::OpenXRInput::create):
(PlatformXR::OpenXRInput::OpenXRInput):
(PlatformXR::OpenXRInput::initialize):
(PlatformXR::OpenXRInput::getInputSources const):
(PlatformXR::OpenXRInput::updateInteractionProfile):

  • platform/xr/openxr/OpenXRInput.h: Added.
  • platform/xr/openxr/OpenXRInputMappings.h: Mapping definition for supported input profiles.

(PlatformXR::buttonTypeToString):
(PlatformXR::axisTypetoString):

  • platform/xr/openxr/OpenXRInputSource.cpp: Handles tracking and status of a specific input source.

(PlatformXR::OpenXRInputSource::create):
(PlatformXR::OpenXRInputSource::~OpenXRInputSource):
(PlatformXR::OpenXRInputSource::initialize):
(PlatformXR::OpenXRInputSource::suggestBindings const):
(PlatformXR::OpenXRInputSource::getInputSource const):
(PlatformXR::OpenXRInputSource::updateInteractionProfile):
(PlatformXR::OpenXRInputSource::createSpaceAction const):
(PlatformXR::OpenXRInputSource::createAction const):
(PlatformXR::OpenXRInputSource::createButtonActions const):
(PlatformXR::OpenXRInputSource::createBinding const):
(PlatformXR::OpenXRInputSource::getPose const):
(PlatformXR::OpenXRInputSource::getButton const):
(PlatformXR::OpenXRInputSource::getAxis const):
(PlatformXR::OpenXRInputSource::getActionState const):

  • platform/xr/openxr/OpenXRInputSource.h: Added.

(PlatformXR::OpenXRInputSource::OpenXRInputSource):
(PlatformXR::OpenXRInputSource::actionSet const):

  • platform/xr/openxr/OpenXRUtils.h:

(PlatformXR::XrPoseIdentity): Creates a identity pose.
(PlatformXR::handenessToString): Convert from handeness enum to string.

  • platform/xr/openxr/PlatformXROpenXR.cpp: Handle input sources in the OpenXR render loop.

(PlatformXR::OpenXRDevice::initializeTrackingAndRendering):
(PlatformXR::OpenXRDevice::requestFrame):
(PlatformXR::OpenXRDevice::pollEvents):
(PlatformXR::OpenXRDevice::resetSession):
(PlatformXR::OpenXRDevice::updateInteractionProfile):

  • platform/xr/openxr/PlatformXROpenXR.h:
8:30 AM Changeset in webkit [277953] by imanol
  • 148 edits
    5 copies
    44 adds in trunk/LayoutTests/imported/w3c

Update WebXR WPT tests
https://bugs.webkit.org/show_bug.cgi?id=224935
<rdar://problem/77323099>

Reviewed by Sergio Villar Senin.

  • resources/import-expectations.json:
  • web-platform-tests/webxr/META.yml:
  • web-platform-tests/webxr/anchors/META.yml: Added.
  • web-platform-tests/webxr/anchors/ar_anchor_freefloating_create_move.https.html:
  • web-platform-tests/webxr/anchors/ar_anchor_freefloating_delay_creation.https.html:
  • web-platform-tests/webxr/anchors/ar_anchor_freefloating_failure.https.html:
  • web-platform-tests/webxr/anchors/ar_anchor_freefloating_pause_resume_stop.https.html:
  • web-platform-tests/webxr/anchors/ar_anchor_states.https.html:
  • web-platform-tests/webxr/anchors/w3c-import.log:
  • web-platform-tests/webxr/ar-module/META.yml: Added.
  • web-platform-tests/webxr/ar-module/w3c-import.log:
  • web-platform-tests/webxr/ar-module/xrDevice_requestSession_immersive-ar.https-expected.txt:
  • web-platform-tests/webxr/ar-module/xrDevice_requestSession_immersive-ar.https.html:
  • web-platform-tests/webxr/ar-module/xrSession_environmentBlendMode.https.html:
  • web-platform-tests/webxr/ar-module/xrSession_interactionMode.https.html: Added.
  • web-platform-tests/webxr/depth-sensing/cpu/depth_sensing_cpu_dataUnavailable.https.html: Added.
  • web-platform-tests/webxr/depth-sensing/cpu/depth_sensing_cpu_inactiveFrame.https.html: Added.
  • web-platform-tests/webxr/depth-sensing/cpu/depth_sensing_cpu_incorrectUsage.https.html: Added.
  • web-platform-tests/webxr/depth-sensing/cpu/depth_sensing_cpu_luminance_alpha_dataValid.https.html: Added.
  • web-platform-tests/webxr/depth-sensing/cpu/depth_sensing_cpu_staleView.https.html: Added.
  • web-platform-tests/webxr/depth-sensing/cpu/w3c-import.log: Added.
  • web-platform-tests/webxr/depth-sensing/dataUnavailableTests.js: Added.

(return.session.requestReferenceSpace.then):
(const.dataUnavailableTestFunctionGenerator):

  • web-platform-tests/webxr/depth-sensing/depth_sensing_notEnabled.https.html: Added.
  • web-platform-tests/webxr/depth-sensing/gpu/depth_sensing_gpu_dataUnavailable.https.html: Added.
  • web-platform-tests/webxr/depth-sensing/gpu/depth_sensing_gpu_inactiveFrame.https.html: Added.
  • web-platform-tests/webxr/depth-sensing/gpu/depth_sensing_gpu_incorrectUsage.https.html: Added.
  • web-platform-tests/webxr/depth-sensing/gpu/depth_sensing_gpu_staleView.https.html: Added.
  • web-platform-tests/webxr/depth-sensing/gpu/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/webxr/ar-module/w3c-import.log.
  • web-platform-tests/webxr/depth-sensing/inactiveFrameTests.js: Added.

(return.session.requestReferenceSpace.then):
(const.inactiveFrameTestFunctionGenerator):

  • web-platform-tests/webxr/depth-sensing/staleViewsTests.js: Added.

(return.session.requestReferenceSpace.then):
(const.staleViewsTestFunctionGenerator):

  • web-platform-tests/webxr/depth-sensing/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/webxr/dom-overlay/w3c-import.log.
  • web-platform-tests/webxr/dom-overlay/META.yml: Added.
  • web-platform-tests/webxr/dom-overlay/ar_dom_overlay.https.html:
  • web-platform-tests/webxr/dom-overlay/idlharness.https.window.js:

(async idl_array):

  • web-platform-tests/webxr/dom-overlay/nested_fullscreen.https.html: Added.
  • web-platform-tests/webxr/dom-overlay/w3c-import.log:
  • web-platform-tests/webxr/events_input_source_recreation.https-expected.txt:
  • web-platform-tests/webxr/events_input_source_recreation.https.html:
  • web-platform-tests/webxr/events_input_sources_change.https-expected.txt:
  • web-platform-tests/webxr/events_input_sources_change.https.html:
  • web-platform-tests/webxr/events_referenceSpace_reset_immersive.https.html:
  • web-platform-tests/webxr/events_referenceSpace_reset_inline.https.html:
  • web-platform-tests/webxr/events_session_select.https-expected.txt:
  • web-platform-tests/webxr/events_session_select.https.html:
  • web-platform-tests/webxr/events_session_select_subframe.https-expected.txt:
  • web-platform-tests/webxr/events_session_select_subframe.https.html:
  • web-platform-tests/webxr/events_session_squeeze.https-expected.txt:
  • web-platform-tests/webxr/events_session_squeeze.https.html:
  • web-platform-tests/webxr/exclusive_requestFrame_nolayer.https.html:
  • web-platform-tests/webxr/gamepads-module/META.yml: Added.
  • web-platform-tests/webxr/gamepads-module/w3c-import.log:
  • web-platform-tests/webxr/gamepads-module/xrInputSource_gamepad_disconnect.https.html:
  • web-platform-tests/webxr/gamepads-module/xrInputSource_gamepad_input_registered.https.html:
  • web-platform-tests/webxr/getInputPose_handedness.https-expected.txt:
  • web-platform-tests/webxr/getInputPose_handedness.https.html:
  • web-platform-tests/webxr/getInputPose_pointer.https.html:
  • web-platform-tests/webxr/getViewerPose_emulatedPosition.https-expected.txt:
  • web-platform-tests/webxr/getViewerPose_emulatedPosition.https.html:
  • web-platform-tests/webxr/hand-input/META.yml: Added.
  • web-platform-tests/webxr/hand-input/idlharness.https.window.html: Added.
  • web-platform-tests/webxr/hand-input/idlharness.https.window.js: Copied from LayoutTests/imported/w3c/web-platform-tests/webxr/dom-overlay/idlharness.https.window.js.

(async idl_array):

  • web-platform-tests/webxr/hand-input/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/webxr/dom-overlay/w3c-import.log.
  • web-platform-tests/webxr/hit-test/META.yml: Added.
  • web-platform-tests/webxr/hit-test/ar_hittest_source_cancel.https.html: Added.
  • web-platform-tests/webxr/hit-test/ar_hittest_subscription_inputSources.https.html:
  • web-platform-tests/webxr/hit-test/ar_hittest_subscription_refSpaces.https.html:
  • web-platform-tests/webxr/hit-test/ar_hittest_subscription_states_regular.https.html:
  • web-platform-tests/webxr/hit-test/ar_hittest_subscription_states_transient.https.html:
  • web-platform-tests/webxr/hit-test/ar_hittest_subscription_transientInputSources.https.html:
  • web-platform-tests/webxr/hit-test/w3c-import.log:
  • web-platform-tests/webxr/layers/META.yml: Added.
  • web-platform-tests/webxr/layers/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/webxr/dom-overlay/w3c-import.log.
  • web-platform-tests/webxr/layers/xrWebGLBinding_constructor.https.html: Added.
  • web-platform-tests/webxr/light-estimation/w3c-import.log: Added.
  • web-platform-tests/webxr/light-estimation/xrFrame_getLightEstimate_oldSession.https.html: Added.
  • web-platform-tests/webxr/light-estimation/xrFrame_getLightEstimate_staleFrame.https.html: Added.
  • web-platform-tests/webxr/light-estimation/xrFrame_getLightEstimate_valid.https.html: Added.
  • web-platform-tests/webxr/light-estimation/xrSession_getLightProbe_ended.https.html: Added.
  • web-platform-tests/webxr/light-estimation/xrSession_getLightProbe_notEnabled.https.html: Added.
  • web-platform-tests/webxr/light-estimation/xrSession_getLightProbe_valid.https.html: Added.
  • web-platform-tests/webxr/light-estimation/xrWebGLBinding_getReflectionCubeMap.https.html: Added.
  • web-platform-tests/webxr/navigator_xr_sameObject.https-expected.txt:
  • web-platform-tests/webxr/navigator_xr_sameObject.https.html:
  • web-platform-tests/webxr/render_state_update.https-expected.txt:
  • web-platform-tests/webxr/render_state_update.https.html:
  • web-platform-tests/webxr/render_state_vertical_fov_immersive.https-expected.txt:
  • web-platform-tests/webxr/render_state_vertical_fov_immersive.https.html:
  • web-platform-tests/webxr/render_state_vertical_fov_inline.https.html:
  • web-platform-tests/webxr/resources/w3c-import.log:
  • web-platform-tests/webxr/resources/webxr_math_utils.js:

(let.flip_quaternion):

  • web-platform-tests/webxr/resources/webxr_test_asserts.js:

(const.get_mismatched_component):
(const.assert_point_approx_equals):
(const.assert_orientation_approx_equals):
(const.assert_point_significantly_not_equals):
(const.assert_transform_approx_equals):

  • web-platform-tests/webxr/resources/webxr_test_constants.js:
  • web-platform-tests/webxr/resources/webxr_test_constants_fake_depth.js: Added.

(const.convertDepthBufferToArrayBuffer):
(const.createDepthSensingData):
(const.getExpectedValueAt):

  • web-platform-tests/webxr/resources/webxr_util.js:

(async return):
(async loadChromiumResources):

  • web-platform-tests/webxr/w3c-import.log:
  • web-platform-tests/webxr/webGLCanvasContext_create_xrcompatible.https-expected.txt:
  • web-platform-tests/webxr/webGLCanvasContext_create_xrcompatible.https.html:
  • web-platform-tests/webxr/webGLCanvasContext_makecompatible_contextlost.https-expected.txt:
  • web-platform-tests/webxr/webGLCanvasContext_makecompatible_contextlost.https.html:
  • web-platform-tests/webxr/webGLCanvasContext_makecompatible_reentrant.https-expected.txt:
  • web-platform-tests/webxr/webGLCanvasContext_makecompatible_reentrant.https.html:
  • web-platform-tests/webxr/webxr_feature_policy.https.html:
  • web-platform-tests/webxr/xrBoundedReferenceSpace_updates.https-expected.txt:
  • web-platform-tests/webxr/xrBoundedReferenceSpace_updates.https.html:
  • web-platform-tests/webxr/xrDevice_disconnect_ends.https.html:
  • web-platform-tests/webxr/xrDevice_requestSession_immersive.https-expected.txt:
  • web-platform-tests/webxr/xrDevice_requestSession_immersive.https.html:
  • web-platform-tests/webxr/xrDevice_requestSession_optionalFeatures.https-expected.txt:
  • web-platform-tests/webxr/xrDevice_requestSession_optionalFeatures.https.html:
  • web-platform-tests/webxr/xrDevice_requestSession_requiredFeatures_unknown.https-expected.txt:
  • web-platform-tests/webxr/xrFrame_getPose.https-expected.txt:
  • web-platform-tests/webxr/xrFrame_getPose.https.html:
  • web-platform-tests/webxr/xrFrame_getViewerPose_getPose.https-expected.txt:
  • web-platform-tests/webxr/xrFrame_getViewerPose_getPose.https.html:
  • web-platform-tests/webxr/xrFrame_getViewerPose_getPose_identities.https.html: Added.
  • web-platform-tests/webxr/xrFrame_lifetime.https.html:
  • web-platform-tests/webxr/xrFrame_session_sameObject.https-expected.txt:
  • web-platform-tests/webxr/xrFrame_session_sameObject.https.html:
  • web-platform-tests/webxr/xrInputSource_add_remove.https-expected.txt:
  • web-platform-tests/webxr/xrInputSource_add_remove.https.html:
  • web-platform-tests/webxr/xrInputSource_emulatedPosition.https-expected.txt:
  • web-platform-tests/webxr/xrInputSource_emulatedPosition.https.html:
  • web-platform-tests/webxr/xrInputSource_profiles.https-expected.txt:
  • web-platform-tests/webxr/xrInputSource_profiles.https.html:
  • web-platform-tests/webxr/xrInputSource_sameObject.https-expected.txt:
  • web-platform-tests/webxr/xrInputSource_sameObject.https.html:
  • web-platform-tests/webxr/xrPose_transform_sameObject.https.html:
  • web-platform-tests/webxr/xrReferenceSpace_originOffset.https-expected.txt:
  • web-platform-tests/webxr/xrReferenceSpace_originOffset.https.html:
  • web-platform-tests/webxr/xrReferenceSpace_originOffsetBounded.https.html:
  • web-platform-tests/webxr/xrReferenceSpace_originOffset_viewer.https-expected.txt:
  • web-platform-tests/webxr/xrReferenceSpace_originOffset_viewer.https.html:
  • web-platform-tests/webxr/xrReferenceSpace_relationships.https-expected.txt:
  • web-platform-tests/webxr/xrReferenceSpace_relationships.https.html:
  • web-platform-tests/webxr/xrRigidTransform_constructor.https-expected.txt:
  • web-platform-tests/webxr/xrRigidTransform_constructor.https.html:
  • web-platform-tests/webxr/xrRigidTransform_inverse.https-expected.txt:
  • web-platform-tests/webxr/xrRigidTransform_inverse.https.html:
  • web-platform-tests/webxr/xrRigidTransform_sameObject.https-expected.txt:
  • web-platform-tests/webxr/xrRigidTransform_sameObject.https.html:
  • web-platform-tests/webxr/xrSession_cancelAnimationFrame.https-expected.txt:
  • web-platform-tests/webxr/xrSession_cancelAnimationFrame.https.html:
  • web-platform-tests/webxr/xrSession_cancelAnimationFrame_invalidhandle.https-expected.txt:
  • web-platform-tests/webxr/xrSession_cancelAnimationFrame_invalidhandle.https.html:
  • web-platform-tests/webxr/xrSession_end.https-expected.txt:
  • web-platform-tests/webxr/xrSession_end.https.html:
  • web-platform-tests/webxr/xrSession_input_events_end.https.html:
  • web-platform-tests/webxr/xrSession_requestAnimationFrame_callback_calls.https-expected.txt:
  • web-platform-tests/webxr/xrSession_requestAnimationFrame_callback_calls.https.html:
  • web-platform-tests/webxr/xrSession_requestAnimationFrame_data_valid.https-expected.txt:
  • web-platform-tests/webxr/xrSession_requestAnimationFrame_data_valid.https.html:
  • web-platform-tests/webxr/xrSession_requestAnimationFrame_getViewerPose.https-expected.txt:
  • web-platform-tests/webxr/xrSession_requestAnimationFrame_getViewerPose.https.html:
  • web-platform-tests/webxr/xrSession_requestAnimationFrame_timestamp.https-expected.txt:
  • web-platform-tests/webxr/xrSession_requestAnimationFrame_timestamp.https.html:
  • web-platform-tests/webxr/xrSession_requestReferenceSpace.https-expected.txt:
  • web-platform-tests/webxr/xrSession_requestReferenceSpace.https.html:
  • web-platform-tests/webxr/xrSession_requestReferenceSpace_features.https-expected.txt:
  • web-platform-tests/webxr/xrSession_requestReferenceSpace_features.https.html:
  • web-platform-tests/webxr/xrSession_requestSessionDuringEnd.https.html: Added.
  • web-platform-tests/webxr/xrSession_sameObject.https-expected.txt:
  • web-platform-tests/webxr/xrSession_sameObject.https.html:
  • web-platform-tests/webxr/xrSession_viewer_referenceSpace.https-expected.txt:
  • web-platform-tests/webxr/xrSession_viewer_referenceSpace.https.html:
  • web-platform-tests/webxr/xrSession_visibilityState.https.html:
  • web-platform-tests/webxr/xrStationaryReferenceSpace_floorlevel_updates.https.html:
  • web-platform-tests/webxr/xrView_eyes.https-expected.txt:
  • web-platform-tests/webxr/xrView_eyes.https.html:
  • web-platform-tests/webxr/xrView_match.https-expected.txt:
  • web-platform-tests/webxr/xrView_match.https.html:
  • web-platform-tests/webxr/xrView_oneframeupdate.https-expected.txt:
  • web-platform-tests/webxr/xrView_oneframeupdate.https.html:
  • web-platform-tests/webxr/xrView_sameObject.https-expected.txt:
  • web-platform-tests/webxr/xrView_sameObject.https.html:
  • web-platform-tests/webxr/xrViewerPose_views_sameObject.https-expected.txt:
  • web-platform-tests/webxr/xrViewerPose_views_sameObject.https.html:
  • web-platform-tests/webxr/xrViewport_valid.https-expected.txt:
  • web-platform-tests/webxr/xrViewport_valid.https.html:
  • web-platform-tests/webxr/xrWebGLLayer_constructor.https-expected.txt:
  • web-platform-tests/webxr/xrWebGLLayer_constructor.https.html:
  • web-platform-tests/webxr/xrWebGLLayer_framebuffer_draw.https-expected.txt:
  • web-platform-tests/webxr/xrWebGLLayer_framebuffer_draw.https.html:
  • web-platform-tests/webxr/xrWebGLLayer_framebuffer_sameObject.https-expected.txt:
  • web-platform-tests/webxr/xrWebGLLayer_framebuffer_sameObject.https.html:
  • web-platform-tests/webxr/xrWebGLLayer_framebuffer_scale.https.html:
  • web-platform-tests/webxr/xrWebGLLayer_opaque_framebuffer.https-expected.txt:
  • web-platform-tests/webxr/xrWebGLLayer_opaque_framebuffer.https.html:
  • web-platform-tests/webxr/xrWebGLLayer_opaque_framebuffer_stencil.https.html:
  • web-platform-tests/webxr/xrWebGLLayer_viewports.https-expected.txt:
  • web-platform-tests/webxr/xrWebGLLayer_viewports.https.html:
  • web-platform-tests/webxr/xr_viewport_scale.https.html: Added.
8:30 AM Changeset in webkit [277952] by Kate Cheney
  • 4 edits in trunk/LayoutTests

[ wk2 ] http/tests/security/contentSecurityPolicy/report-only-connect-src-xmlhttprequest-redirect-to-blocked.py is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=224626
<rdar://problem/76729427>

http/tests/security/contentSecurityPolicy/report-only-connect-src-beacon-redirect-blocked.py
initiates a redirect that generates a CSP violation, but does not wait
for the console logging. This results in flakiness of other test that
occasionally pick up this console logging in their output. To fix this,
we should wait to end the test until we get the CSP violation report.

Reviewed by Sam Weinig.

  • http/tests/security/contentSecurityPolicy/report-only-connect-src-beacon-redirect-blocked-expected.txt:

Update expectations now that we consistently expect to get report
violation console logging for this test.

  • http/tests/security/contentSecurityPolicy/report-only-connect-src-beacon-redirect-blocked.py:
  • platform/wk2/TestExpectations:
8:26 AM Changeset in webkit [277951] by sihui_liu@apple.com
  • 3 edits
    2 adds in trunk

REGRESSION(r256715): XSLTProcessor does not parse script when transforming to document
https://bugs.webkit.org/show_bug.cgi?id=226087

Reviewed by Darin Adler.

Source/WebCore:

Allow JavaScript if context document is null to match old behavior before r256715.

Test: fast/xsl/xslt-transform-script.html

  • dom/Document.cpp:

(WebCore::Document::allowsContentJavaScript const):

LayoutTests:

  • fast/xsl/xslt-transform-script.html: Added.
  • fast/xsl/xslt-transform-script-expected.txt: Added.
7:56 AM Changeset in webkit [277950] by Jonathan Bedard
  • 1 edit
    63 deletes in trunk/LayoutTests

[LayoutTests] Delete unused LayoutTests/http resources
https://bugs.webkit.org/show_bug.cgi?id=226065
<rdar://problem/78289889>

Reviewed by Darin Adler.

  • http/tests/appcache/resources/abort-cache-onprogress-4.text: Removed.
  • http/tests/cookies/resources/post-cookies-onmessage.py: Removed.
  • http/tests/cookies/resources/setArraycookies-expected.txt: Removed.
  • http/tests/cookies/resources/setUtf8Cookies-expected.txt: Removed.
  • http/tests/inspector/network/resources/stylesheet-with-sourcemap.scss: Removed.
  • http/tests/media/media-stream/resources/getUserMedia-helper.js: Removed.
  • http/tests/media/resources/hls/metadata/fileSequence0.ts: Removed.
  • http/tests/media/resources/hls/metadata/fileSequence1.ts: Removed.
  • http/tests/media/resources/media-source: Removed.
  • http/tests/mime/resources/accept-all-text-types.cgi: Removed.
  • http/tests/misc/resources/acid3/support-a.png.404: Removed.
  • http/tests/misc/resources/animated-gif-with-offsets.gif: Removed.
  • http/tests/misc/resources/chromium-selectionAsMarkup.html: Removed.
  • http/tests/misc/resources/generatedimage.bat: Removed.
  • http/tests/misc/resources/referrer-main-resource-expected.txt: Removed.
  • http/tests/misc/resources/referrer-main-resource.py: Removed.
  • http/tests/misc/resources/script-write-slow-stylesheet.js: Removed.
  • http/tests/navigation/resources/redirect-to-cookie.py: Removed.
  • http/tests/quicklook/resources/http-equiv-blocked.docx: Removed.
  • http/tests/security/XFrameOptions/resources/x-frame-options-parent-same-origin-deny.cgi: Removed.
  • http/tests/security/contentSecurityPolicy/block-all-mixed-content/resources/frame-with-insecure-image-and-without-policy.html: Removed.
  • http/tests/security/contentSecurityPolicy/resources/worker-eval.js: Removed.
  • http/tests/security/contentSecurityPolicy/resources/worker-function-function.js: Removed.
  • http/tests/security/contentSecurityPolicy/resources/worker-make-xhr.js: Removed.
  • http/tests/security/contentSecurityPolicy/resources/worker-set-timeout.js: Removed.
  • http/tests/security/mixedContent/resources/frame-with-programmatically-added-insecure-image-redirects-to-basic-auth-secure-image.html: Removed.
  • http/tests/security/postMessage/resources/middle-frame-for-lexical.html: Removed.
  • http/tests/security/postMessage/resources/post-message-listener-with-ready.html: Removed.
  • http/tests/security/resources/create-filesystem-file.html: Removed.
  • http/tests/security/resources/cross-origin-iframe-for-worker-websql.html: Removed.
  • http/tests/security/resources/document-for-cross-origin-worker-websql.html: Removed.
  • http/tests/security/resources/drag-drop-allowed-expected.txt: Removed.
  • http/tests/security/resources/image-wrapper.svg: Removed.
  • http/tests/security/resources/pass-if-no-referrer.py: Removed.
  • http/tests/security/resources/worker-for-websql.js: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/context: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/more/conformance: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/boolUniformShader.vert: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/glsl-conformance-test.js: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/glsl-feature-tests.css: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/glsl-generator.js: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/intArrayUniformShader.vert: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/intUniformShader.vert: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/matUniformShader.vert: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/noopUniformShader.vert: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/ogles-tests.css: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/samplerUniformShader.frag: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/structUniformShader.vert: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/resources/test-eval.js: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/resources/webgl-logo.png: Removed.
  • http/tests/workers/resources/sync-operations.js: Removed.
  • http/tests/xmlhttprequest/resources/access-control-basic-allow-print-headers.cgi: Removed.
  • http/tests/xmlhttprequest/resources/print-headers.py: Removed.
  • http/tests/xmlhttprequest/resources/reply2.txt: Removed.
  • http/tests/xmlhttprequest/resources/reply2.xml: Removed.
  • http/tests/xmlhttprequest/resources/reply3.txt: Removed.
  • http/tests/xmlhttprequest/resources/reply3.xml: Removed.
  • http/tests/xmlhttprequest/resources/reply4.txt: Removed.
  • http/tests/xmlhttprequest/resources/reply4.xml: Removed.
  • http/tests/xmlhttprequest/resources/reply5.txt: Removed.
  • http/tests/xmlhttprequest/resources/svgtest.svg: Removed.
  • http/tests/xmlhttprequest/resources/utf-8-no-charset.html: Removed.
6:59 AM Changeset in webkit [277949] by ntim@apple.com
  • 9 edits in trunk/Source/WebCore

Clean up handling of -webkit-inline-flex/-webkit-flex CSS display values
https://bugs.webkit.org/show_bug.cgi?id=224807

Reviewed by Antti Koivisto.

These are now aliased at parse-time, like the two-value CSS display syntax is.

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):

  • css/CSSValueKeywords.in:
  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeDisplay):

  • layout/layouttree/LayoutBox.cpp:

(WebCore::Layout::Box::isInlineLevelBox const):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::createFor):

  • rendering/style/RenderStyleConstants.cpp:

(WebCore::operator<<):

  • rendering/style/RenderStyleConstants.h:
  • style/StyleAdjuster.cpp:

(WebCore::Style::equivalentBlockDisplay):

6:48 AM Changeset in webkit [277948] by Lauro Moura
  • 2 edits in trunk/Source/WebCore

[GStreamer] WebProcess crashes when certain elements are missing
https://bugs.webkit.org/show_bug.cgi?id=226081
<rdar://problem/78394687>

Unreviewed LTS build fix.

  • platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:
4:22 AM Changeset in webkit [277947] by commit-queue@webkit.org
  • 22 edits in trunk/Source/WebCore

[GStreamer] WebProcess crashes when certain elements are missing
https://bugs.webkit.org/show_bug.cgi?id=226081

Patch by Philippe Normand <pnormand@igalia.com> on 2021-05-24
Reviewed by Xabier Rodriguez-Calvar.

Introducing makeGStreamerElement() and makeGStreamerBin() that should be used when
requesting non-WebKit and non-core GStreamer elements/bins to be created at runtime. The
goal is to prevent NULL pointers to be used in case the runtime host has an incomplete
GStreamer plugins installation.

  • platform/audio/gstreamer/AudioDestinationGStreamer.cpp:

(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):

  • platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:

(WebCore::AudioFileReader::handleNewDeinterleavePad):
(WebCore::AudioFileReader::plugDeinterleave):
(WebCore::AudioFileReader::decodeAudioForBusCreation):

  • platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:

(WebCore::AudioSourceProviderGStreamer::configureAudioBin):
(WebCore::AudioSourceProviderGStreamer::setClient):
(WebCore::AudioSourceProviderGStreamer::handleNewDeinterleavePad):

  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:

(webKitWebAudioSrcConstructed):

  • platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp:

(webKitGLVideoSinkConstructed):

  • platform/graphics/gstreamer/GStreamerAudioMixer.cpp:

(WebCore::GStreamerAudioMixer::GStreamerAudioMixer):
(WebCore::GStreamerAudioMixer::registerProducer):

  • platform/graphics/gstreamer/GStreamerCommon.cpp:

(WebCore::createPlatformAudioSink):
(WebCore::makeGStreamerElement):
(WebCore::makeGStreamerBin):

  • platform/graphics/gstreamer/GStreamerCommon.h:
  • platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:

(WebCore::ImageDecoderGStreamer::InnerDecoder::connectDecoderPad):
(WebCore::ImageDecoderGStreamer::InnerDecoder::preparePipeline):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
(WebCore::MediaPlayerPrivateGStreamer::createHolePunchVideoSink):
(WebCore::MediaPlayerPrivateGStreamer::createVideoSink):

  • platform/graphics/gstreamer/TextCombinerGStreamer.cpp:

(webKitTextCombinerHandleCapsEvent):

  • platform/graphics/gstreamer/TextSinkGStreamer.cpp:

(webkitTextSinkConstructed):

  • platform/graphics/gstreamer/WebKitAudioSinkGStreamer.cpp:

(webKitAudioSinkConfigure):

  • platform/graphics/gstreamer/mse/AppendPipeline.cpp:

(WebCore::AppendPipeline::AppendPipeline):
(WebCore::createOptionalParserForFormat):

  • platform/mediastream/gstreamer/GStreamerAudioCapturer.cpp:

(WebCore::GStreamerAudioCapturer::createConverter):

  • platform/mediastream/gstreamer/GStreamerCapturer.cpp:

(WebCore::GStreamerCapturer::makeElement):

  • platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:
  • platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp:

(WebCore::GStreamerVideoCapturer::createConverter):

  • platform/mediastream/libwebrtc/GStreamerVideoDecoderFactory.cpp:

(WebCore::GStreamerVideoDecoder::makeElement):

  • platform/mediastream/libwebrtc/GStreamerVideoEncoder.cpp:

(webrtcVideoEncoderSetEncoder):
(webrtcVideoEncoderSetFormat):

  • platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp:

(WebCore::GStreamerVideoEncoder::makeElement):

1:55 AM Changeset in webkit [277946] by commit-queue@webkit.org
  • 2 edits in trunk/Tools/buildstream

[Flatpak SDK] Update to libsoup3 2.99.6
https://bugs.webkit.org/show_bug.cgi?id=226166

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2021-05-24
Reviewed by Philippe Normand.

  • elements/sdk/libsoup3.bst:
1:13 AM Changeset in webkit [277945] by Angelos Oikonomopoulos
  • 3 edits in trunk/Tools

Be resilient against remote failure when determining the native architecture
https://bugs.webkit.org/show_bug.cgi?id=226009

Reviewed by Jonathan Bedard.

Change determineNativeArchitecture to not return an empty string if the
first remote host happens to be down. Instead, check every remote host in turn
until one responds.

Returning an empty string ended up passing an empty parameter to --arch when
invoking run-jsc-stress-tests, which resulted in an inappropriate set of tests
being selected, leading to occasional partial but massive test failures.

  • Scripts/run-javascriptcore-tests:

(runTest):
(runJSCStressTests):

  • Scripts/webkitdirs.pm:

(determineNativeArchitecture):
(determineArchitecture):
(nativeArchitecture):

12:19 AM Changeset in webkit [277944] by Fujii Hironori
  • 2 edits in trunk/LayoutTests

[WinCairo] Unreviewed test gardening

  • platform/wincairo/TestExpectations:

May 23, 2021:

10:37 PM Changeset in webkit [277943] by Chris Dumez
  • 94 edits in trunk

Make CheckedLock the default Lock
https://bugs.webkit.org/show_bug.cgi?id=226157

Reviewed by Darin Adler.

Make CheckedLock the default Lock so that we get more benefits from Clang
Thread Safety Analysis. Note that CheckedLock 100% relies on the existing
Source/JavaScriptCore:

Lock implementation and merely adds the clang anotations for thread
safety.

That this patch does is:

  1. Rename the Lock class to UncheckedLock
  2. Rename the CheckedLock class to Lock
  3. Rename the Condition class to UncheckedCondition
  4. Rename the CheckedCondition class to Condition
  5. Update the types of certain variables from Lock / Condition to UncheckedLock / UncheckedCondition if I got a build failure. Build failures are usually caused by the following facts:
    • Locker<CheckedLock> doesn't subclass AbstractLocker which a lot of JSC code passes as argument
    • Locker<CheckedLock> has no move constructor
    • Locker<CheckedLock> cannot be constructed from a lock pointer, only a reference

For now, CheckedLock and CheckedCondition remain as aliases to Lock and
Condition, 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 UncheckedLock
and UncheckedCondition as possible. I did not try very hard in this patch
to 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 thread
safety.

That this patch does is:

  1. Rename the Lock class to UncheckedLock
  2. Rename the CheckedLock class to Lock
  3. Rename the Condition class to UncheckedCondition
  4. Rename the CheckedCondition class to Condition
  5. Update the types of certain variables from Lock / Condition to UncheckedLock / UncheckedCondition if I got a build failure. Build failures are usually caused by the following facts:
    • Locker<CheckedLock> doesn't subclass AbstractLocker which a lot of JSC code passes as argument
    • Locker<CheckedLock> has no move constructor
    • Locker<CheckedLock> cannot be constructed from a lock pointer, only a reference

For now, CheckedLock and CheckedCondition remain as aliases to Lock and
Condition, 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 UncheckedLock
and UncheckedCondition as possible. I did not try very hard in this patch
to 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 thread
safety.

That this patch does is:

  1. Rename the Lock class to UncheckedLock
  2. Rename the CheckedLock class to Lock
  3. Rename the Condition class to UncheckedCondition
  4. Rename the CheckedCondition class to Condition
  5. Update the types of certain variables from Lock / Condition to UncheckedLock / UncheckedCondition if I got a build failure. Build failures are usually caused by the following facts:
    • Locker<CheckedLock> doesn't subclass AbstractLocker which a lot of JSC code passes as argument
    • Locker<CheckedLock> has no move constructor
    • Locker<CheckedLock> cannot be constructed from a lock pointer, only a reference

For now, CheckedLock and CheckedCondition remain as aliases to Lock and
Condition, 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 UncheckedLock
and UncheckedCondition as possible. I did not try very hard in this patch
to 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 thread
safety.

That this patch does is:

  1. Rename the Lock class to UncheckedLock
  2. Rename the CheckedLock class to Lock
  3. Rename the Condition class to UncheckedCondition
  4. Rename the CheckedCondition class to Condition
  5. Update the types of certain variables from Lock / Condition to UncheckedLock / UncheckedCondition if I got a build failure. Build failures are usually caused by the following facts:
    • Locker<CheckedLock> doesn't subclass AbstractLocker which a lot of JSC code passes as argument
    • Locker<CheckedLock> has no move constructor
    • Locker<CheckedLock> cannot be constructed from a lock pointer, only a reference

For now, CheckedLock and CheckedCondition remain as aliases to Lock and
Condition, 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 UncheckedLock
and UncheckedCondition as possible. I did not try very hard in this patch
to 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 thread
safety.

That this patch does is:

  1. Rename the Lock class to UncheckedLock
  2. Rename the CheckedLock class to Lock
  3. Rename the Condition class to UncheckedCondition
  4. Rename the CheckedCondition class to Condition
  5. Update the types of certain variables from Lock / Condition to UncheckedLock / UncheckedCondition if I got a build failure. Build failures are usually caused by the following facts:
    • Locker<CheckedLock> doesn't subclass AbstractLocker which a lot of JSC code passes as argument
    • Locker<CheckedLock> has no move constructor
    • Locker<CheckedLock> cannot be constructed from a lock pointer, only a reference

For now, CheckedLock and CheckedCondition remain as aliases to Lock and
Condition, 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 UncheckedLock
and UncheckedCondition as possible. I did not try very hard in this patch
to 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):

9:59 PM Changeset in webkit [277942] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Remove some now invalid tests in testmasm.
https://bugs.webkit.org/show_bug.cgi?id=226155

Reviewed by Yusuke Suzuki.

The ARM64E tests were checking that cageConditionallyAndUntag() would fail to
produce a caged pointer if fed invalid values. These tests are no longer feasible
because on ARM64E, feeding cageConditionallyAndUntag() invalid values will now
result in a crash. This patch removes these tests.

  • assembler/testmasm.cpp:

(JSC::testCagePreservesPACFailureBit):

8:42 PM Changeset in webkit [277941] by Lauro Moura
  • 2 edits in trunk/WebDriverTests

[WebDriver] Gardening local GTK and WPE failures

Unreviewed test gardening.

With these, no failures should happen running locally. Still a few
bits on the bots to check.

5:31 PM Changeset in webkit [277940] by weinig@apple.com
  • 173 edits
    2 copies
    1 add
    2 deletes in trunk

Convert DestinationColorSpace from an enum to class wrapping a platform color space (CGColorSpaceRef for CG ports, etc.)
https://bugs.webkit.org/show_bug.cgi?id=226143

Reviewed by Darin Adler.

Source/WebCore:

Replace enumeration based DestinationColorSpace with a struct wrapping
a platform color space (CGColorSpaceRef for CG ports, etc.). For ports
that don't have a platform level color space type, a builtin PlatformColorSpace
type 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 an
ImageBuffer's color space, which previosly could either be based on the
DestinationColorSpace (and reflected in the colorSpace() member function),
or (for CG ports) based on a CGColorSpaceRef, with the colorSpace() function
returning 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&" to conform to the base class.
  • Replace ColorSpaceData with Optional<DestinationColorSpace>. No reason to have two types that are the same.
  • Give all ports a color space configuration for ShareableBitmap now that there is a common class for representing color space.
  • Update DisplayList decoding to account for BeginClipToDrawingCommands and GetPixelBuffer no longer being inlineable due to now having non-trivial destructors due to DestinationColorSpace 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.

3:12 PM Changeset in webkit [277939] by Russell Epstein
  • 8 edits in branches/safari-612.1.15.0-branch/Source

Versioning.

WebKit-7612.1.15.0.6

3:07 PM Changeset in webkit [277938] by Russell Epstein
  • 8 edits in trunk/Source

Versioning.

WebKit-7612.1.16

3:05 PM Changeset in webkit [277937] by Russell Epstein
  • 8 edits in branches/safari-612.1.15.1-branch/Source

Versioning.

WebKit-7612.1.15.1.10

2:46 PM Changeset in webkit [277936] by mark.lam@apple.com
  • 22 edits in trunk/Source

Remove ENABLE(MASM_PROBE) flag.
https://bugs.webkit.org/show_bug.cgi?id=226154

Reviewed 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:
2:42 PM Changeset in webkit [277935] by Russell Epstein
  • 1 copy in tags/Safari-612.1.15.1.9

Tag Safari-612.1.15.1.9.

1:33 PM Changeset in webkit [277934] by Chris Dumez
  • 33 edits in trunk/Source

Use CheckedLock in even more places
https://bugs.webkit.org/show_bug.cgi?id=226152

Reviewed 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:
1:15 PM Changeset in webkit [277933] by Ross Kirsling
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed. Fix JSC Debug tests for r277926.

  • jit/JITThunks.cpp:

(JSC::JITThunks::preinitializeCTIThunks):
Address oversight, made visible by the assertion added in r277850.

12:55 PM Changeset in webkit [277932] by Chris Dumez
  • 32 edits in trunk

Drop WTF::tryHoldLock() as it is incompatible with Clang Thread Safety Analysis
https://bugs.webkit.org/show_bug.cgi?id=226145

Reviewed 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):

12:52 PM Changeset in webkit [277931] by Russell Epstein
  • 8 edits in branches/safari-612.1.15.1-branch/Source

Versioning.

WebKit-7612.1.15.1.9

6:59 AM Changeset in webkit [277930] by mark.lam@apple.com
  • 2 edits in trunk/Source/WTF

Build fix for JSCOnly-Linux-AArch64 bot.

Not reviewed.

  • wtf/Vector.h:

(WTF::Malloc>::expandCapacity):
(WTF::Malloc>::reserveCapacity):
(WTF::Malloc>::constructAndAppendSlowCase):

Note: See TracTimeline for information about the timeline view.