Timeline
Feb 9, 2022:
- 11:44 PM Changeset in webkit [289520] by
-
- 2 edits18 deletes in trunk/LayoutTests
[WPE] Mark several WPT SVG import filter tests as failure
Unreviewed test gardening.
r289510 updated the baselines of these tests, but this was not the
right fix. These tests were passing in WPE until r288412. The tests
should be marked as a failure in WPE TestExpectations.
- platform/wpe/TestExpectations:
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-composite-04-f-manual-expected.png: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-composite-04-f-manual-expected.txt: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-composite-05-f-manual-expected.png: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-composite-05-f-manual-expected.txt: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-conv-03-f-manual-expected.png: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-conv-03-f-manual-expected.txt: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-displace-01-f-manual-expected.png: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-displace-01-f-manual-expected.txt: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-01-b-manual-expected.png: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-01-b-manual-expected.txt: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-02-b-manual-expected.png: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-02-b-manual-expected.txt: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-03-f-manual-expected.png: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-03-f-manual-expected.txt: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-04-f-manual-expected.png: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-04-f-manual-expected.txt: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-05-f-manual-expected.png: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-05-f-manual-expected.txt: Removed.
- 10:00 PM Changeset in webkit [289519] by
-
- 4 edits in trunk
SharedMemoryUnix should use SHM_ANON when available
https://bugs.webkit.org/show_bug.cgi?id=236416
Reviewed by Don Olmstead.
.:
- Source/cmake/OptionsCommon.cmake: Check for SHM_ANON.
Source/WebKit:
FreeBSD is able to use shm_open(SHM_ANON, ...) to create an anonymous shared memory object which is subject to RAII:
https://www.freebsd.org/cgi/man.cgi?query=shm_open
- Platform/unix/SharedMemoryUnix.cpp:
(WebKit::createSharedMemory):
Make use of SHM_ANON if we have it.
- 9:18 PM Changeset in webkit [289518] by
-
- 42 edits in trunk/Source
[GPU Process] Move ImageBuffer::createCompatibleImageBuffer() and SVGRenderingContext::createImageBuffer to GraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=235758
rdar://88478470
Reviewed by Simon Fraser.
Source/WebCore:
The goal of this patch is to record the drawing if the concrete type of
the GraphicsContext is RemoteDisplayListRecorderProxy. Currently all the
intermediate compatible ImageBuffers are of type ConcreteImageBuffer.
The drawing to these ImageBuffers still happens in the WebProcess. Moreover
when we call drawImageBuffer() or clipToImageBuffer() for one of these
intermediate ImageBuffers to a remote ImageBuffer, we have to sink the
intermediate ImageBuffer to a NativeImage and send it to GPUProcess.
To fix this, the new enum 'RenderingMethod' will be used when creating
the ImageBuffer methods. The value of RenderingMethod can be one of the
following constants:
- Default: The type of the created ImageBuffer will match the type of the underlying ImageBuffer of the GraphicsContext.
- DisplayList: A DisplayList::ImageBuffer will be created whose GraphicsContext will be of type DisplayList::RecorderImpl.
- Local: The ImageBuffer will be of type ConcreteImageBuffer and it will hold a platform GraphicsContext.
Also GraphicsContext will provide these functions for creating an
ImageBuffer:
- GraphicsContext::createImageBuffer() (virtual): Creates a ConcreteImageBuffer or a DisplayList::ImageBuffer. The type of the created ImageBuffer is controlled by the argument 'renderingMethod'. Because RemoteDisplayListRecorderProxy is a super class of GraphicsContext, it overrides this method and returns the desired RemoteImageBuffer. RemoteDisplayListRecorderProxy has access to RemotRenderingBackendProxy so it can call its createImageBuffer().
- GraphicsContext::createImageBuffer() (non-virtual): Creates a scaled ImageBuffer and sets the context accordingly. The type of the created ImageBuffer is controlled by the argument 'renderingMethod'.
- GraphicsContext::createCompatibleImageBuffer() (virtual): Takes the scaleFactor() into consideration when creating the ImageBuffer. RemoteDisplayListRecorderProxy will override this function to return an Unaccelerated ImageBuffer if 'renderingMethod != Default'. This is to ensure that for GPUProcess drawing, no intermediate local ImageBuffers will draw to an IOSurface in WebProcess.
Two versions of these functions are provided: one takes a FloatSize and
the other takes a FloatRecct. The FloatRect version expands the four
corners of the rectangle to full pixels.
- html/CustomPaintCanvas.cpp:
(WebCore::CustomPaintCanvas::replayDisplayList const):
- html/CustomPaintImage.cpp:
(WebCore::CustomPaintImage::drawPattern):
- html/OffscreenCanvas.cpp:
(WebCore::OffscreenCanvas::transferToImageBitmap):
(WebCore::OffscreenCanvas::commitToPlaceholderCanvas):
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::drawImage):
- platform/cocoa/ThemeCocoa.mm:
(WebCore::drawApplePayButton):
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::drawPattern):
- platform/graphics/CrossfadeGeneratedImage.cpp:
(WebCore::CrossfadeGeneratedImage::drawPattern):
- platform/graphics/GradientImage.cpp:
(WebCore::GradientImage::drawPattern):
- platform/graphics/GraphicsContext.cpp:
(WebCore::scaledImageBufferSize):
(WebCore::scaledImageBufferRect):
(WebCore::clampingScaleForImageBufferSize):
(WebCore::GraphicsContext::compatibleImageBufferSize const):
(WebCore::GraphicsContext::createImageBuffer const):
(WebCore::GraphicsContext::createCompatibleImageBuffer const):
(WebCore::GraphicsContext::clipToDrawingCommands):
- platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::createImageBuffer):
- platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::clone const):
(WebCore::ImageBuffer::createCompatibleBuffer): Deleted.
(WebCore::ImageBuffer::compatibleBufferSize): Deleted.
(WebCore::ImageBuffer::compatibleBufferInfo): Deleted.
(WebCore::ImageBuffer::copyRectToBuffer): Deleted.
- platform/graphics/ImageBuffer.h:
- platform/graphics/NamedImageGeneratedImage.cpp:
(WebCore::NamedImageGeneratedImage::drawPattern):
- platform/graphics/RenderingMode.h:
- platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::updateCachedImageIfNeeded):
(WebCore::PDFDocumentImage::draw):
- platform/graphics/coretext/DrawGlyphsRecorderCoreText.cpp:
(WebCore::DrawGlyphsRecorder::drawOTSVGRun):
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::createImageBuffer const):
- platform/graphics/displaylists/DisplayListRecorder.h:
- platform/graphics/displaylists/DisplayListReplayer.cpp:
(WebCore::DisplayList::Replayer::applyItem):
- platform/mac/ThemeMac.mm:
(WebCore::ThemeMac::drawCellOrFocusRingWithViewIntoContext):
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setupFilters):
- rendering/RenderLayerBacking.cpp:
(WebCore::patternForDescription):
- rendering/RenderLayerFilters.cpp:
(WebCore::RenderLayerFilters::allocateBackingStoreIfNeeded):
(WebCore::RenderLayerFilters::beginFilterEffect):
- rendering/RenderLayerFilters.h:
- rendering/RenderThemeCocoa.mm:
(WebCore::RenderThemeCocoa::paintApplePayButton):
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintListButtonForInput):
(WebCore::RenderThemeMac::paintProgressBar):
- rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::applyClippingToContext):
- rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::applyResource):
- rendering/svg/RenderSVGResourceGradient.cpp:
(WebCore::createMaskAndSwapContextForTextGradient):
(WebCore::clipToTextMask):
- rendering/svg/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::applyResource):
- rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::buildPattern):
(WebCore::RenderSVGResourcePattern::createTileImage const):
- rendering/svg/RenderSVGResourcePattern.h:
- rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::clipToImageBuffer):
(WebCore::SVGRenderingContext::bufferForeground):
(WebCore::SVGRenderingContext::createImageBuffer): Deleted.
(WebCore::SVGRenderingContext::clear2DRotation): Deleted.
- rendering/svg/SVGRenderingContext.h:
- svg/SVGFEImageElement.cpp:
(WebCore::scaledImageBufferRect):
(WebCore::clampingScaleForImageBufferSize):
(WebCore::createImageBuffer):
(WebCore::SVGFEImageElement::imageBufferForEffect const):
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::drawPatternForContainer):
Source/WebKit:
- GPUProcess/graphics/RemoteDisplayListRecorder.cpp:
(WebKit::RemoteDisplayListRecorder::beginClipToDrawingCommands):
- WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
(WebKit::RemoteDisplayListRecorderProxy::createImageBuffer const):
(WebKit::RemoteDisplayListRecorderProxy::createCompatibleImageBuffer const):
- WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
- 8:11 PM Changeset in webkit [289517] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, non-unified build fix after r289474
https://bugs.webkit.org/show_bug.cgi?id=236425
- Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
- 5:50 PM Changeset in webkit [289516] by
-
- 15 edits1 copy24 adds198 deletes in trunk/LayoutTests
Resync web-platform-tests/html/browsers from upstream
https://bugs.webkit.org/show_bug.cgi?id=236370
Reviewed by Geoffrey Garen.
LayoutTests/imported/w3c:
Resync web-platform-tests/html/browsers from upstream 012f446eafc392c7.
- web-platform-tests/html/browsers/*: Updated.
LayoutTests:
- TestExpectations:
- platform/glib/TestExpectations:
- platform/gtk/TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/win/TestExpectations:
- platform/wpe/TestExpectations:
- tests-options.json:
- 5:50 PM Changeset in webkit [289515] by
-
- 7 edits in trunk/Source/JavaScriptCore
Use local variable pointer for concurrently load value
https://bugs.webkit.org/show_bug.cgi?id=236387
Reviewed by Saam Barati.
Consistently using local pointer to load member fields in
- WriteBarrierStructureID
- JSString's fiber
- Weak
- WriteBarrier<SomeKindOfCell>
to encourage compilers not to load the field twice.
- heap/Weak.cpp:
(JSC::weakClearSlowCase):
- heap/Weak.h:
(JSC::Weak::isHashTableEmptyValue const):
(JSC::Weak::unsafeImpl const):
(JSC::Weak::clear):
(JSC::Weak::impl const):
- heap/WeakInlines.h:
(JSC::Weak<T>::isHashTableDeletedValue const):
(JSC:: const):
(JSC::Weak<T>::operator const):
(JSC::Weak<T>::get const):
(JSC::Weak<T>::leakImpl):
- runtime/JSString.cpp:
(JSC::JSString::dumpToStream):
(JSC::JSString::estimatedSize):
(JSC::JSString::visitChildrenImpl):
- runtime/JSString.h:
(JSC::JSString::fiberConcurrently const):
(JSC::JSString::is8Bit const):
(JSC::JSString::length const):
(JSC::JSString::tryGetValueImpl const):
(JSC::JSString::isSubstring const):
- runtime/WriteBarrier.h:
(JSC::WriteBarrierBase::get const):
(JSC::WriteBarrierBase::operator* const):
(JSC::WriteBarrierBase::operator-> const):
(JSC::WriteBarrierBase::operator bool const):
(JSC::WriteBarrierBase::operator! const):
(JSC::WriteBarrierBase::unvalidatedGet const):
(JSC::WriteBarrierBase::cell const):
(JSC::WriteBarrierStructureID::get const):
(JSC::WriteBarrierStructureID::operator* const):
(JSC::WriteBarrierStructureID::operator-> const):
(JSC::WriteBarrierStructureID::operator bool const):
(JSC::WriteBarrierStructureID::operator! const):
(JSC::WriteBarrierStructureID::unvalidatedGet const):
- 5:27 PM Changeset in webkit [289514] by
-
- 6 edits in trunk/Source
Add some WebKitAdditions extension points in VisionKitCore SPI and softlinking headers
https://bugs.webkit.org/show_bug.cgi?id=236403
rdar://88709972
Reviewed by Aditya Keerthi.
Source/WebCore/PAL:
Add new WebKitAdditions header includes.
- pal/cocoa/VisionKitCoreSoftLink.h:
- pal/cocoa/VisionKitCoreSoftLink.mm:
Source/WebKit:
Declare a new helper function in TextRecognitionUtilities.h.
- Platform/cocoa/TextRecognitionUtilities.h:
- Platform/cocoa/TextRecognitionUtilities.mm:
- 5:27 PM Changeset in webkit [289513] by
-
- 7 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r289383. rdar://problem/88366849
[WebCore] JSValueInWrappedObject is not correct for concurrent GC
https://bugs.webkit.org/show_bug.cgi?id=236277
rdar://88366849
Reviewed by Saam Barati.
JSValueInWrappedObject is broken for concurrent GC's marking. It is using std::variant<> to store Weak / JSValue,
which is not safe if concurrent GC reads it while changing that std::variant. This patch fixes several problems
in JSValueInWrappedObject.
- We must not use std::variant here since concurrent access can happen. We have both JSValue and Weak, and change Weak after fully initialize WeakImpl's content in Weak. To ensure that, we emit storeStoreBarrier before setting Weak to the JSValueInWrappedObject's field.
- Assignment operator & copy constructor are basically wrong for this class as we need a write-barrier to set a value to the field. We remove them and make it explicit that we do not have write-barrier, which reveals that IDBRequest has a semantic bug.
- We also add clear() instead of assigning empty JSValueInWrappedObject. And we ensure that this new clear() works well with concurrent GC threads: we clear the underlying WeakImpl* pointer to nullptr. But since WeakImpl* is kept alive until GC clears weak-related things in its end phase, concurrent GC thread can access the old WeakImpl*.
- Modules/indexeddb/IDBCursor.cpp: (WebCore::IDBCursor::setGetResult):
- Modules/indexeddb/IDBRequest.cpp: (WebCore::IDBRequest::setResult): (WebCore::IDBRequest::setResultToStructuredClone): (WebCore::IDBRequest::setResultToUndefined): (WebCore::IDBRequest::willIterateCursor): (WebCore::IDBRequest::didOpenOrIterateCursor):
- Modules/paymentrequest/PaymentMethodChangeEvent.cpp:
- Modules/paymentrequest/PaymentResponse.cpp: (WebCore::PaymentResponse::setDetailsFunction):
- Modules/webaudio/AudioBuffer.cpp: (WebCore::AudioBuffer::getChannelData): (WebCore::AudioBuffer::visitChannelWrappers):
- bindings/js/JSValueInWrappedObject.h: (WebCore::JSValueInWrappedObject::JSValueInWrappedObject): (WebCore::JSValueInWrappedObject::operator JSC::JSValue const): (WebCore::JSValueInWrappedObject::visit const): (WebCore::JSValueInWrappedObject::setWeakly): (WebCore::JSValueInWrappedObject::set): (WebCore::JSValueInWrappedObject::clear): (WebCore::JSValueInWrappedObject::setWithoutBarrier): (WebCore::cachedPropertyValue): (WebCore::JSValueInWrappedObject::makeValue): Deleted. (WebCore::JSValueInWrappedObject::operator=): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289383 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:26 PM Changeset in webkit [289512] by
-
- 4 edits1 add in branches/safari-613-branch
Cherry-pick r289450. rdar://problem/88483574
[JSC] YarrJIT inlining should be disabled when we have DotStarEnclosure
https://bugs.webkit.org/show_bug.cgi?id=236332
rdar://88483574
Reviewed by Michael Saboff.
JSTests:
- stress/yarr-inlining-dot-star-enclosure.js: Added. (test):
Source/JavaScriptCore:
YarrJITRegisters::initialStart can be used when m_pattern.m_saveInitialStartValue is true while
it is not defined in YarrJIT inlining. As a result, we emit broken code using InvalidGPRReg.
This patch makes canInline false when m_pattern.m_saveInitialStartValue is true.
- yarr/YarrJIT.cpp:
- yarr/YarrJITRegisters.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289450 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:24 PM Changeset in webkit [289511] by
-
- 1 copy in tags/Safari-613.1.16.1.5
Tag Safari-613.1.16.1.5.
- 5:21 PM Changeset in webkit [289510] by
-
- 51 edits41 adds in trunk/LayoutTests
[WPE] Unreviewed test gardening, update baselines of tests failing
- platform/wpe/css1/font_properties/font-expected.png: Added.
- platform/wpe/css1/font_properties/font-expected.txt:
- platform/wpe/css2.1/t0905-c5525-fltwidth-00-c-g-expected.png: Added.
- platform/wpe/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:
- platform/wpe/fast/block/margin-collapse/103-expected.png: Added.
- platform/wpe/fast/block/margin-collapse/103-expected.txt:
- platform/wpe/fast/css/font-face-opentype-expected.png: Added.
- platform/wpe/fast/css/font-face-opentype-expected.txt:
- platform/wpe/fast/css/word-space-extra-expected.png:
- platform/wpe/fast/css/word-space-extra-expected.txt:
- platform/wpe/fast/dom/52776-expected.png: Added.
- platform/wpe/fast/dom/52776-expected.txt:
- platform/wpe/fast/table/text-field-baseline-expected.png: Added.
- platform/wpe/fast/table/text-field-baseline-expected.txt:
- platform/wpe/fast/text/atsui-multiple-renderers-expected.png: Added.
- platform/wpe/fast/text/atsui-multiple-renderers-expected.txt:
- platform/wpe/fast/text/atsui-negative-spacing-features-expected.png:
- platform/wpe/fast/text/atsui-negative-spacing-features-expected.txt:
- platform/wpe/fast/text/atsui-spacing-features-expected.png:
- platform/wpe/fast/text/atsui-spacing-features-expected.txt:
- platform/wpe/fast/text/basic/015-expected.png: Added.
- platform/wpe/fast/text/basic/015-expected.txt:
- platform/wpe/fast/text/capitalize-boundaries-expected.png: Added.
- platform/wpe/fast/text/capitalize-boundaries-expected.txt:
- platform/wpe/fast/text/international/arabic-justify-expected.png: Added.
- platform/wpe/fast/text/international/arabic-justify-expected.txt:
- platform/wpe/fast/text/international/bidi-AN-after-L-expected.png: Added.
- platform/wpe/fast/text/international/bidi-AN-after-L-expected.txt:
- platform/wpe/fast/text/international/bidi-AN-after-empty-run-expected.png: Added.
- platform/wpe/fast/text/international/bidi-AN-after-empty-run-expected.txt:
- platform/wpe/fast/text/international/bidi-CS-after-AN-expected.png: Added.
- platform/wpe/fast/text/international/bidi-CS-after-AN-expected.txt:
- platform/wpe/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.png: Added.
- platform/wpe/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt:
- platform/wpe/fast/text/international/bidi-linebreak-001-expected.png: Added.
- platform/wpe/fast/text/international/bidi-linebreak-001-expected.txt:
- platform/wpe/fast/text/international/bidi-linebreak-002-expected.png: Added.
- platform/wpe/fast/text/international/bidi-linebreak-002-expected.txt:
- platform/wpe/fast/text/international/bidi-linebreak-003-expected.png: Added.
- platform/wpe/fast/text/international/bidi-linebreak-003-expected.txt:
- platform/wpe/fast/text/international/bidi-listbox-atsui-expected.png: Added.
- platform/wpe/fast/text/international/bidi-listbox-atsui-expected.txt:
- platform/wpe/fast/text/international/bidi-mirror-he-ar-expected.png: Added.
- platform/wpe/fast/text/international/bidi-mirror-he-ar-expected.txt:
- platform/wpe/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.png: Added.
- platform/wpe/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.txt:
- platform/wpe/fast/text/international/bidi-neutral-run-expected.png: Added.
- platform/wpe/fast/text/international/bidi-neutral-run-expected.txt:
- platform/wpe/fast/text/international/bold-bengali-expected.png: Added.
- platform/wpe/fast/text/international/bold-bengali-expected.txt:
- platform/wpe/fast/text/international/danda-space-expected.png: Added.
- platform/wpe/fast/text/international/danda-space-expected.txt:
- platform/wpe/fast/text/international/hebrew-vowels-expected.png: Added.
- platform/wpe/fast/text/international/hebrew-vowels-expected.txt:
- platform/wpe/fast/text/international/hindi-whitespace-expected.png: Added.
- platform/wpe/fast/text/international/hindi-whitespace-expected.txt:
- platform/wpe/fast/text/international/thai-baht-space-expected.png: Added.
- platform/wpe/fast/text/international/thai-baht-space-expected.txt:
- platform/wpe/fast/text/international/thai-line-breaks-expected.png: Added.
- platform/wpe/fast/text/international/thai-line-breaks-expected.txt:
- platform/wpe/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.png: Added.
- platform/wpe/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt:
- platform/wpe/fast/text/khmer-lao-font-expected.png: Added.
- platform/wpe/fast/text/khmer-lao-font-expected.txt:
- platform/wpe/fast/text/unicode-variation-selector-expected.png: Added.
- platform/wpe/fast/text/unicode-variation-selector-expected.txt:
- platform/wpe/fast/text/wbr-expected.png:
- platform/wpe/fast/text/wbr-expected.txt:
- platform/wpe/fast/text/wide-zero-width-space-expected.png: Added.
- platform/wpe/fast/text/wide-zero-width-space-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-composite-04-f-manual-expected.png: Added.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-composite-04-f-manual-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-composite-05-f-manual-expected.png: Added.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-composite-05-f-manual-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-conv-03-f-manual-expected.png: Added.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-conv-03-f-manual-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-displace-01-f-manual-expected.png: Added.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-displace-01-f-manual-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-01-b-manual-expected.png: Added.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-01-b-manual-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-02-b-manual-expected.png: Added.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-02-b-manual-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-03-f-manual-expected.png: Added.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-03-f-manual-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-04-f-manual-expected.png: Added.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-04-f-manual-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-05-f-manual-expected.png: Added.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-05-f-manual-expected.txt:
- platform/wpe/tables/mozilla/bugs/bug30692-expected.png: Added.
- platform/wpe/tables/mozilla/bugs/bug30692-expected.txt:
- 5:12 PM Changeset in webkit [289509] by
-
- 2 edits in trunk/Source/WTF
[WK2] Turn on Shared Workers by default
https://bugs.webkit.org/show_bug.cgi?id=236396
Reviewed by Geoffrey Garen.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 4:46 PM Changeset in webkit [289508] by
-
- 17 edits1 copy in trunk/Source/WebKit
[iOS] Take adequate process assertion for the SharedWorker process
https://bugs.webkit.org/show_bug.cgi?id=236271
Reviewed by Brent Fulgham.
Keep track of client processes that rely on a particular SharedWorker process and take the adequate
process assertion to keep the process running on iOS when necessary. This allows us to get rid of
the hack I landed previously to always take a process assertion on behalf of the shared worker
process (even if all its clients are suspended).
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::sharedWorkerServerToContextConnectionIsNoLongerNeeded):
(WebKit::NetworkConnectionToWebProcess::serviceWorkerServerToContextConnectionNoLongerNeeded):
- NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::registerServiceWorkerClient):
(WebKit::WebSWServerConnection::unregisterServiceWorkerClient):
(WebKit::WebSWServerConnection::contextConnectionCreated):
- NetworkProcess/SharedWorker/WebSharedWorker.cpp:
(WebKit::WebSharedWorker::WebSharedWorker):
(WebKit::WebSharedWorker::didCreateContextConnection):
(WebKit::WebSharedWorker::addSharedWorkerObject):
(WebKit::WebSharedWorker::removeSharedWorkerObject):
(WebKit::WebSharedWorker::forEachSharedWorkerObject const):
(WebKit::WebSharedWorker::contextConnection const):
- NetworkProcess/SharedWorker/WebSharedWorker.h:
(WebKit::WebSharedWorker::sharedWorkerObjectsCount const):
(WebKit::WebSharedWorker::sharedWorkerObjects): Deleted.
- NetworkProcess/SharedWorker/WebSharedWorkerServer.cpp:
(WebKit::WebSharedWorkerServer::requestSharedWorker):
(WebKit::WebSharedWorkerServer::didFinishFetchingSharedWorkerScript):
(WebKit::WebSharedWorkerServer::createContextConnection):
(WebKit::WebSharedWorkerServer::removeContextConnection):
(WebKit::WebSharedWorkerServer::contextConnectionCreated):
(WebKit::WebSharedWorkerServer::sharedWorkerObjectIsGoingAway):
(WebKit::WebSharedWorkerServer::shutDownSharedWorker):
(WebKit::WebSharedWorkerServer::removeConnection):
(WebKit::WebSharedWorkerServer::postExceptionToWorkerObject):
- NetworkProcess/SharedWorker/WebSharedWorkerServerToContextConnection.cpp:
(WebKit::WebSharedWorkerServerToContextConnection::launchSharedWorker):
(WebKit::WebSharedWorkerServerToContextConnection::addSharedWorkerObject):
(WebKit::WebSharedWorkerServerToContextConnection::removeSharedWorkerObject):
- NetworkProcess/SharedWorker/WebSharedWorkerServerToContextConnection.h:
- Shared/RemoteWorkerType.h: Copied from Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorker.cpp.
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::terminateUnresponsiveServiceWorkerProcesses):
(WebKit::NetworkProcessProxy::registerRemoteWorkerClientProcess):
(WebKit::NetworkProcessProxy::unregisterRemoteWorkerClientProcess):
(WebKit::NetworkProcessProxy::remoteWorkerContextConnectionNoLongerNeeded):
(WebKit::NetworkProcessProxy::establishServiceWorkerContextConnectionToNetworkProcess):
(WebKit::NetworkProcessProxy::serviceWorkerContextConnectionNoLongerNeeded): Deleted.
(WebKit::NetworkProcessProxy::registerServiceWorkerClientProcess): Deleted.
(WebKit::NetworkProcessProxy::unregisterServiceWorkerClientProcess): Deleted.
(WebKit::NetworkProcessProxy::sharedWorkerContextConnectionNoLongerNeeded): Deleted.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setUserAgent):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::establishServiceWorkerContextConnectionToNetworkProcess):
(WebKit::WebProcessPool::establishSharedWorkerContextConnectionToNetworkProcess):
(WebKit::WebProcessPool::createWebPage):
(WebKit::WebProcessPool::updateRemoteWorkerUserAgent):
(WebKit::WebProcessPool::terminateServiceWorkers):
(WebKit::WebProcessPool::updateProcessAssertions):
(WebKit::WebProcessPool::updateWorkerUserAgent): Deleted.
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::createForRemoteWorkers):
(WebKit::WebProcessProxy::didBecomeUnresponsive):
(WebKit::WebProcessProxy::didStartProvisionalLoadForMainFrame):
(WebKit::WebProcessProxy::setRemoteWorkerUserAgent):
(WebKit::WebProcessProxy::updateRemoteWorkerPreferencesStore):
(WebKit::WebProcessProxy::updateRemoteWorkerProcessAssertion):
(WebKit::WebProcessProxy::registerRemoteWorkerClientProcess):
(WebKit::WebProcessProxy::unregisterRemoteWorkerClientProcess):
(WebKit::WebProcessProxy::startServiceWorkerBackgroundProcessing):
(WebKit::WebProcessProxy::endServiceWorkerBackgroundProcessing):
(WebKit::WebProcessProxy::disableRemoteWorkers):
(WebKit::WebProcessProxy::enableRemoteWorkers):
(WebKit::WebProcessProxy::createForWorkers): Deleted.
(WebKit::WebProcessProxy::setWorkerUserAgent): Deleted.
(WebKit::WebProcessProxy::updateWorkerPreferencesStore): Deleted.
(WebKit::WebProcessProxy::updateWorkerProcessAssertion): Deleted.
(WebKit::WebProcessProxy::registerServiceWorkerClientProcess): Deleted.
(WebKit::WebProcessProxy::unregisterServiceWorkerClientProcess): Deleted.
(WebKit::WebProcessProxy::disableWorkers): Deleted.
(WebKit::WebProcessProxy::enableWorkers): Deleted.
- UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::hasServiceWorkerPageProxy):
- WebKit.xcodeproj/project.pbxproj:
- 3:57 PM Changeset in webkit [289507] by
-
- 7 edits in trunk/LayoutTests
LayoutTests/imported/w3c:
Unreviewed gardening.
Add fuzzy data.
- web-platform-tests/css/css-grid/alignment/grid-item-aspect-ratio-stretch-2.html:
- web-platform-tests/css/motion/offset-rotate-003.html:
LayoutTests:
Unreviewed gardening
Update fuzzy data.
- css1/basic/class_as_selector.html:
- css3/color-filters/color-filter-color-text-decorations.html:
- css3/color-filters/color-filter-text-decoration-shadow.html:
- 3:48 PM Changeset in webkit [289506] by
-
- 3 edits in trunk/Tools
[EWS] Link commit URL to pull request
https://bugs.webkit.org/show_bug.cgi?id=236399
<rdar://problem/88707207>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(GitHub.commit_url): We should link to commit within pull request
(ConfigureBuild.add_pr_details): Pass pr_number to GitHub.commit_url.
- Tools/CISupport/ews-build/steps_unittest.py:
(TestGitHub.test_pr_url_with_repository):
(TestGitHub):
(TestGitHub.test_pr_url_with_invalid_repository):
(TestGitHub.test_commit_url_with_repository):
(TestGitHub.test_commit_url_with_invalid_repository):
Canonical link: https://commits.webkit.org/247040@main
- 2:59 PM Changeset in webkit [289505] by
-
- 1 copy in tags/Safari-614.1.1.5
Tag Safari-614.1.1.5.
- 2:58 PM Changeset in webkit [289504] by
-
- 3 edits in branches/safari-614.1.1-branch/Source/JavaScriptCore
Cherry-pick r289024. rdar://problem/88710933
SecureARM64EHashPins should check g_jscConfig.useFastJITPermissions
https://bugs.webkit.org/show_bug.cgi?id=236055
<rdar://88222677>
Reviewed by Mark Lam.
- assembler/SecureARM64EHashPins.cpp: (JSC::SecureARM64EHashPins::initializeAtStartup): (JSC::SecureARM64EHashPins::allocatePinForCurrentThread): (JSC::SecureARM64EHashPins::deallocatePinForCurrentThread):
- assembler/SecureARM64EHashPinsInlines.h: (JSC::SecureARM64EHashPins::pinForCurrentThread):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:58 PM Changeset in webkit [289503] by
-
- 6 edits in branches/safari-614.1.1-branch/Source
Cherry-pick r288970. rdar://problem/88710933
Update computation of FAST_TLS base.
https://bugs.webkit.org/show_bug.cgi?id=235934
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
- assembler/MacroAssemblerARM64.h: (JSC::MacroAssemblerARM64::loadFromTLS32): (JSC::MacroAssemblerARM64::loadFromTLS64): (JSC::MacroAssemblerARM64::storeToTLS32): (JSC::MacroAssemblerARM64::storeToTLS64):
- assembler/SecureARM64EHashPinsInlines.h: (JSC::SecureARM64EHashPins::keyForCurrentThread):
- offlineasm/arm64.rb:
Source/WTF:
- wtf/PlatformHave.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288970 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:55 PM Changeset in webkit [289502] by
-
- 4 edits in trunk
WKWebView: WKURLSchemeHandler “request to the end of the resource” produces an invalid header
https://bugs.webkit.org/show_bug.cgi?id=236401
rdar://88528286
Reviewed by Brent Fulgham.
Source/WebCore:
https://webkit.org/b/203302 added support for Range requests to AVAssetResourceLoadingDataRequest,
but it incorrectly used '*' instead of for "last-byte-pos:" for a request to the end of the resource.
API test URLSchemeHandler.Ranges was updated.
- platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
(WebCore::WebCoreAVFResourceLoader::startLoading):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
- 2:02 PM Changeset in webkit [289501] by
-
- 9 edits in branches/safari-614.1.1-branch/Source
Versioning.
WebKit-7614.1.1.5
- 1:18 PM Changeset in webkit [289500] by
-
- 3 edits1 copy in trunk/Source/WTF
Unreviewed, reverting r289490.
https://bugs.webkit.org/show_bug.cgi?id=236402
EWS gets build failures
Reverted changeset:
"Reland native Xcode build phases for "Copy WTF Headers""
https://bugs.webkit.org/show_bug.cgi?id=235744
https://commits.webkit.org/r289490
- 12:53 PM Changeset in webkit [289499] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Vertical writing mode with RTL text content has incorrect advances
https://bugs.webkit.org/show_bug.cgi?id=236345
Reviewed by Antti Koivisto.
contentRightInInlineDirectionVisualOrder is the visual offset of the adjoining runs ignoring the writing mode (horizontal vs. vertical).
It's visual in the inline direction sense (right to left vs. left to right), but it's not transformed in the context of writing mode, i.e. width and height are not flipped.
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):
- 12:48 PM Changeset in webkit [289498] by
-
- 5 edits4 adds in trunk
Dialog element only animates once
https://bugs.webkit.org/show_bug.cgi?id=236274
rdar://88635487
Reviewed by Tim Nguyen and Dean Jackson.
LayoutTests/imported/w3c:
Add two new tests that check that we correctly start, stop and resume animations on <dialog>
and ::backdrop as a <dialog> element is open, closed and open again.
- web-platform-tests/css/css-animations/dialog-animation-expected.txt: Added.
- web-platform-tests/css/css-animations/dialog-animation.html: Added.
- web-platform-tests/css/css-animations/dialog-backdrop-animation-expected.txt: Added.
- web-platform-tests/css/css-animations/dialog-backdrop-animation.html: Added.
- web-platform-tests/css/css-animations/support/testcommon.js:
(addElement):
(addDiv):
Source/WebCore:
Two issues related to CSS Animation surfaced in this bug which animates both <dialog>
and its ::backdrop as the dialog is open and eventually re-opened.
The first issue was that we didn't clear all CSS Animations state when a <dialog> was
closed and its style was set todisplay: none. We now use the clearCSSAnimationsForStyleable()
function (static so that it's not exposed on the Styleable struct) to correctly clear
such state both when we identify a Styleable is newly gettingdisplay: noneand when
cancelDeclarativeAnimations() was called. This allows us to remove removeCSSAnimationCreatedByMarkup()
a fair bit of work to clear CSS Animation state per-animation when we only ever used that
function for _all_ animations.
The second issue was that we never called cancelDeclarativeAnimations() for ::backdrop.
We now do that inside of Element::removeFromTopLayer() at a point where the code in
Styleable::fromRenderer() will still work as the element will still be contained in
Document::topLayerElements().
Tests: imported/w3c/web-platform-tests/css/css-animations/dialog-animation.html
imported/w3c/web-platform-tests/css/css-animations/dialog-backdrop-animation.html
- dom/Element.cpp:
(WebCore::Element::removeFromTopLayer):
- style/Styleable.cpp:
(WebCore::clearCSSAnimationsForStyleable):
(WebCore::Styleable::cancelDeclarativeAnimations const):
(WebCore::Styleable::updateCSSAnimations const):
(WebCore::removeCSSAnimationCreatedByMarkup): Deleted.
- 12:36 PM Changeset in webkit [289497] by
-
- 4 edits in trunk
compositing/masks/compositing-clip-path-mask-change.html is failing for ports using TextureMapper
https://bugs.webkit.org/show_bug.cgi?id=236323
Reviewed by Don Olmstead.
Source/WebCore:
Apple ports don't have this issue because GraphicsLayerCA support
Shape layer for clip-path.
The painting phase of the existing mask layer should be updated if
clip-path or mask are changed.
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateMaskingLayer):
LayoutTests:
- platform/gtk/TestExpectations:
- 12:25 PM Changeset in webkit [289496] by
-
- 5 edits in trunk/Tools
Move macOS EWS to Big Sur
https://bugs.webkit.org/show_bug.cgi?id=236035
Reviewed by Jonathan Bedard.
- CISupport/build-webkit-org/config.json:
- CISupport/build-webkit-org/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
- CISupport/ews-build/config.json:
- CISupport/ews-build/factories_unittest.py:
(TestExpectedBuildSteps):
Canonical link: https://commits.webkit.org/247033@main
- 12:20 PM Changeset in webkit [289495] by
-
- 22 edits in trunk/Source
[model] improve sizing on macOS
https://bugs.webkit.org/show_bug.cgi?id=236233
<rdar://problem/88569881>
Reviewed by Simon Fraser.
Source/WebCore:
We detect when the <model> layer size changes under RenderLayerBacking::updateGeometry()
and inform the associated HTMLModelElement through the new parentLayerSizeMayHaveChanged()
method that the size has changed. We then inform the backing player that sizeDidChange().
- Modules/model-element/HTMLModelElement.cpp:
(WebCore::HTMLModelElement::createModelPlayer):
(WebCore::HTMLModelElement::parentLayerSizeMayHaveChanged):
(WebCore::HTMLModelElement::platformLayerSize const):
- Modules/model-element/HTMLModelElement.h:
- Modules/model-element/ModelPlayer.h:
- Modules/model-element/dummy/DummyModelPlayer.cpp:
(WebCore::DummyModelPlayer::sizeDidChange):
- Modules/model-element/dummy/DummyModelPlayer.h:
- Modules/model-element/scenekit/SceneKitModelPlayer.h:
- Modules/model-element/scenekit/SceneKitModelPlayer.mm:
(WebCore::SceneKitModelPlayer::sizeDidChange):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::RenderLayerBacking::updateGeometry):
Source/WebCore/PAL:
Add newly-used CAFenceHandle and ASVInlinePreview SPIs.
- pal/spi/cocoa/QuartzCoreSPI.h:
- pal/spi/mac/SystemPreviewSPI.h:
Source/WebKit:
We override the new ModelPlayer::sizeDidChange() virtual method on ARKitInlinePreviewModelPlayerMac
to be notified when the <model> layer's has changed size. We then send the new ModelElementSizeDidChange
message to the UI process which will yield a call to ModelElementController::modelElementSizeDidChange().
In that new method, we call -[ASVInlinePreview updateFrame:completionHandler:] which provides us with a
CAFenceHandle which we copy to create a MachSendRight to send back to the Web process in the IPC callback.
Back in the Web process, we install this fence on the drawing area and finally call -[ASVInlinePreview
setFrameWithinFencedTransaction:] to complete the sizing update on both the ASVInlinePreview instances.
- UIProcess/Cocoa/ModelElementControllerCocoa.mm:
(WebKit::ModelElementController::modelElementSizeDidChange):
- UIProcess/ModelElementController.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::modelElementSizeDidChange):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/Model/ARKitInlinePreviewModelPlayer.h:
- WebProcess/Model/ARKitInlinePreviewModelPlayer.mm:
(WebKit::ARKitInlinePreviewModelPlayer::sizeDidChange):
- WebProcess/Model/mac/ARKitInlinePreviewModelPlayerMac.h:
- WebProcess/Model/mac/ARKitInlinePreviewModelPlayerMac.mm:
(WebKit::ARKitInlinePreviewModelPlayerMac::load):
(WebKit::ARKitInlinePreviewModelPlayerMac::sizeDidChange):
- 11:48 AM Changeset in webkit [289494] by
-
- 4 edits in trunk
Add TAO check to PerformanceResourceTiming::fetchStart
https://bugs.webkit.org/show_bug.cgi?id=236379
Patch by Alex Christensen <achristensen@webkit.org> on 2022-02-09
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/resource-timing/cross-origin-start-end-time-with-redirects-expected.txt:
Source/WebCore:
This matches the spec and was recently changed in Chromium.
<https://chromium-review.googlesource.com/c/chromium/src/+/3448777>
Covered by a newly passing WPT test.
- page/PerformanceResourceTiming.cpp:
(WebCore::fetchStart):
- 11:39 AM Changeset in webkit [289493] by
-
- 4 edits in trunk/Source/WebCore
Register strings in CSSTokenizer created from preprocessing
https://bugs.webkit.org/show_bug.cgi?id=236309
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-02-09
Reviewed by Michael Saboff.
Register strings in CSSTokenizer created from preprocessing. This will align with
what is currently done for strings with escapes in CSSTokenizer::consumeName().
- css/parser/CSSTokenizer.cpp:
(WebCore::CSSTokenizer::preprocessString):
(WebCore::CSSTokenizer::tryCreate):
(WebCore::CSSTokenizer::CSSTokenizer):
(WebCore::preprocessString): Deleted.
- css/parser/CSSTokenizer.h:
- css/parser/CSSTokenizerInputStream.h:
- 11:35 AM Changeset in webkit [289492] by
-
- 8 edits in trunk/Source
DisplayListRecorder implementations are not able to obtain extra information out of source ImageBuffers
https://bugs.webkit.org/show_bug.cgi?id=236296
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-09
Reviewed by Wenson Hsieh.
Source/WebCore:
Pass ImageBuffer& to various recording commands instead of the resource identifier.
This way implementations of DisplayListRecorder can obtain additional information
about the ImageBuffer, such as dependency information. This additional information is
not neccessarily needed for in-process display lists.
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::drawFilteredImageBuffer):
(WebCore::DisplayList::Recorder::drawImageBuffer):
(WebCore::DisplayList::Recorder::clipToImageBuffer):
- platform/graphics/displaylists/DisplayListRecorder.h:
- platform/graphics/displaylists/DisplayListRecorderImpl.cpp:
(WebCore::DisplayList::RecorderImpl::recordClipToImageBuffer):
(WebCore::DisplayList::RecorderImpl::recordDrawFilteredImageBuffer):
(WebCore::DisplayList::RecorderImpl::recordDrawImageBuffer):
- platform/graphics/displaylists/DisplayListRecorderImpl.h:
Source/WebKit:
RecorderImpl now passes ImageBuffers to the DisplayListRecorder calls.
Use the ImageBuffer& to get the resource identifier.
In future commits these places will obtain the read references, which
record the depenedency information needed for RemoteImageBuffers
created in multiple threads.
- WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
(WebKit::RemoteDisplayListRecorderProxy::recordClipToImageBuffer):
(WebKit::RemoteDisplayListRecorderProxy::recordDrawFilteredImageBuffer):
(WebKit::RemoteDisplayListRecorderProxy::recordDrawImageBuffer):
- WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
- 11:31 AM Changeset in webkit [289491] by
-
- 1 edit1 add in trunk/Source/bmalloc
[libpas] add documentation
https://bugs.webkit.org/show_bug.cgi?id=236385
Rubber stamped by Mark Lam.
- libpas/Documentation.md: Added.
- 10:56 AM Changeset in webkit [289490] by
-
- 3 edits1 delete in trunk/Source/WTF
Reland native Xcode build phases for "Copy WTF Headers"
https://bugs.webkit.org/show_bug.cgi?id=235744
Reviewed by Alexey Proskuryakov.
Changes since revert of r289256:
ICU headers, which are only needed for non-internal builds, are tracked in WTF.xcodeproj and
copied to /usr/local/include/unicode when building with the public SDK.
- Configurations/WTF.xcconfig: Skip coping ICU headers when USE_INTERNAL_SDK=YES.
- WTF.xcodeproj/project.pbxproj: Add ICU header directory and copy files phase.
- 10:51 AM Changeset in webkit [289489] by
-
- 6 edits in trunk
Worker scripts should always be decoded as UTF-8
https://bugs.webkit.org/show_bug.cgi?id=236319
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Rebaseline WPT tests that are now passing.
- web-platform-tests/workers/semantics/encodings/001-expected.txt:
- web-platform-tests/workers/semantics/encodings/002-expected.txt:
Source/WebCore:
Worker scripts should always be decoded as UTF-8:
No new tests, rebaselined existing tests.
- workers/WorkerScriptLoader.cpp:
(WebCore::WorkerScriptLoader::didReceiveData):
- 10:50 AM Changeset in webkit [289488] by
-
- 1 copy in tags/Safari-613.1.16.31.2
Tag Safari-613.1.16.31.2.
- 10:50 AM Changeset in webkit [289487] by
-
- 6 edits in branches/safari-613.1.16.31-branch/Source
Cherry-pick r288970. rdar://problem/88459807
Update computation of FAST_TLS base.
https://bugs.webkit.org/show_bug.cgi?id=235934
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
- assembler/MacroAssemblerARM64.h: (JSC::MacroAssemblerARM64::loadFromTLS32): (JSC::MacroAssemblerARM64::loadFromTLS64): (JSC::MacroAssemblerARM64::storeToTLS32): (JSC::MacroAssemblerARM64::storeToTLS64):
- assembler/SecureARM64EHashPinsInlines.h: (JSC::SecureARM64EHashPins::keyForCurrentThread):
- offlineasm/arm64.rb:
Source/WTF:
- wtf/PlatformHave.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288970 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:48 AM Changeset in webkit [289486] by
-
- 9 edits in branches/safari-613.1.16.31-branch/Source
Versioning.
WebKit-7613.1.16.31.2
- 10:45 AM Changeset in webkit [289485] by
-
- 5 edits in trunk/Source
Move Safe Browsing knowledge into SafariSafeBrowsing framework
https://bugs.webkit.org/show_bug.cgi?id=231692
Patch by Eliot Hsu <eliot_hsu@apple.com> on 2022-02-09
Reviewed by Alex Christensen.
Following up on an old FIXME, move Safari Safe Browsing-specific
knowledge out of WebKit and into the SafariSafeBrowsing framework.
This includes things like the Learn More URL, the Report an Error URL,
etc.
Source/WebKit:
- Platform/spi/Cocoa/SafeBrowsingSPI.h:
- UIProcess/Cocoa/SafeBrowsingWarningCocoa.mm:
(WebKit::malwareDetailsBase):
(WebKit::learnMoreURL):
(WebKit::reportAnErrorBase):
(WebKit::localizedProvider):
Rely on new SafariSafeBrowsing calls to provide
URL/provider information about Safe Browsing,
when available
Source/WTF:
- wtf/PlatformHave.h:
- 10:39 AM Changeset in webkit [289484] by
-
- 2 edits in trunk/LayoutTests
Unreviewed gardening.
Timeout due to turning WebGL on by default on bots. Will be addressed in b234536.
- platform/ios-wk2/TestExpectations:
- 10:30 AM Changeset in webkit [289483] by
-
- 29 edits in trunk
self.location.href is incorrect in shared workers in case of redirects
https://bugs.webkit.org/show_bug.cgi?id=236340
Reviewed by Geoffrey Garen.
LayoutTests/imported/w3c:
Rebaseline WPT tests that are now passing.
- web-platform-tests/workers/baseurl/alpha/importScripts-in-sharedworker-expected.txt:
- web-platform-tests/workers/baseurl/alpha/xhr-in-sharedworker-expected.txt:
- web-platform-tests/workers/interfaces/WorkerGlobalScope/location/redirect-sharedworker-expected.txt:
Source/WebCore:
self.location.href is incorrect in shared workers in case of redirects. It should be
the URL of the last request, not the first one.
No new tests, rebaselined existing tests.
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::redirectReceived):
- loader/ThreadableLoaderClient.h:
(WebCore::ThreadableLoaderClient::redirectReceived):
- loader/ThreadableLoaderClientWrapper.h:
(WebCore::ThreadableLoaderClientWrapper::redirectReceived):
- loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::MainThreadBridge::redirectReceived):
- loader/WorkerThreadableLoader.h:
- workers/Worker.cpp:
(WebCore::Worker::notifyFinished):
- workers/WorkerFetchResult.h:
(WebCore::WorkerFetchResult::isolatedCopy const):
(WebCore::workerFetchError):
(WebCore::WorkerFetchResult::encode const):
(WebCore::WorkerFetchResult::decode):
- workers/WorkerScriptLoader.cpp:
(WebCore::WorkerScriptLoader::loadSynchronously):
(WebCore::WorkerScriptLoader::loadAsynchronously):
(WebCore::WorkerScriptLoader::redirectReceived):
(WebCore::WorkerScriptLoader::fetchResult const):
- workers/WorkerScriptLoader.h:
(WebCore::WorkerScriptLoader::script const):
(WebCore::WorkerScriptLoader::lastRequestURL const):
(WebCore::WorkerScriptLoader::script): Deleted.
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::jobFinishedLoadingScript):
- workers/service/ServiceWorkerContainer.h:
- workers/service/ServiceWorkerJob.cpp:
(WebCore::ServiceWorkerJob::notifyFinished):
- workers/service/ServiceWorkerJobClient.h:
- workers/shared/SharedWorkerScriptLoader.cpp:
(WebCore::SharedWorkerScriptLoader::notifyFinished):
- workers/shared/context/SharedWorkerThreadProxy.cpp:
(WebCore::generateWorkerParameters):
(WebCore::SharedWorkerThreadProxy::SharedWorkerThreadProxy):
- workers/shared/context/SharedWorkerThreadProxy.h:
Source/WebKit:
self.location.href is incorrect in shared workers in case of redirects. It should be the URL of
the last request, not the first one.
- NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp:
(WebKit::ServiceWorkerSoftUpdateLoader::didFinishLoading):
- NetworkProcess/SharedWorker/WebSharedWorkerServerToContextConnection.cpp:
(WebKit::WebSharedWorkerServerToContextConnection::launchSharedWorker):
- WebProcess/Storage/WebSharedWorkerContextManagerConnection.cpp:
(WebKit::WebSharedWorkerContextManagerConnection::launchSharedWorker):
- WebProcess/Storage/WebSharedWorkerContextManagerConnection.h:
- WebProcess/Storage/WebSharedWorkerContextManagerConnection.messages.in:
- 10:17 AM Changeset in webkit [289482] by
-
- 5 edits in trunk
[WebAuthn] Specify LocalAuthenticatorAccessGroup when importing credentials
https://bugs.webkit.org/show_bug.cgi?id=236311
rdar://88394179
Reviewed by Brent Fulgham.
Source/WebKit:
Tested on device and added check for accessGroup in API test.
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(+[_WKWebAuthenticationPanel importLocalAuthenticatorCredential:error:]):
(+[_WKWebAuthenticationPanel importLocalAuthenticatorWithAccessGroup:credential:error:]):
Tools:
Added check for accessGroup to API test.
- TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::WebCore::addKeyToKeychain):
(TestWebKitAPI::TEST):
- 10:16 AM Changeset in webkit [289481] by
-
- 4 edits1 add in branches/safari-613.1.16.1-branch
Cherry-pick r289450. rdar://problem/88483574
[JSC] YarrJIT inlining should be disabled when we have DotStarEnclosure
https://bugs.webkit.org/show_bug.cgi?id=236332
rdar://88483574
Reviewed by Michael Saboff.
JSTests:
- stress/yarr-inlining-dot-star-enclosure.js: Added. (test):
Source/JavaScriptCore:
YarrJITRegisters::initialStart can be used when m_pattern.m_saveInitialStartValue is true while
it is not defined in YarrJIT inlining. As a result, we emit broken code using InvalidGPRReg.
This patch makes canInline false when m_pattern.m_saveInitialStartValue is true.
- yarr/YarrJIT.cpp:
- yarr/YarrJITRegisters.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289450 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:12 AM Changeset in webkit [289480] by
-
- 3 edits in trunk/Source/WebCore
[GStreamer] MediaPlayerPrivateGStreamer mishandles failure to create WebKitTextCombiner
https://bugs.webkit.org/show_bug.cgi?id=233230
<rdar://problem/86863068>
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-09
Reviewed by Xabier Rodriguez-Calvar.
Fallback to fakesink in case fakevideosink is not available. Also no longer RELEASE_ASSERT
in makeGStreamerElement and makeGStreamerBin. We should gracefully handle call sites when
these functions return nullptr.
- platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::makeGStreamerElement):
(WebCore::makeGStreamerBin):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::createVideoSink):
- 10:05 AM Changeset in webkit [289479] by
-
- 10 edits in trunk
Exceptions are not properly reported when initializing a worker as a module
https://bugs.webkit.org/show_bug.cgi?id=236334
Reviewed by Geoffrey Garen.
LayoutTests/imported/w3c:
Rebaseline WPT tests that are now passing.
- web-platform-tests/workers/interfaces/WorkerGlobalScope/onerror/exception-in-onerror-expected.txt:
- web-platform-tests/workers/interfaces/WorkerGlobalScope/onerror/message-module-DOMException-expected.txt:
Source/WebCore:
No new tests, rebaselined existing tests.
- workers/WorkerOrWorkletScriptController.cpp:
(WebCore::WorkerOrWorkletScriptController::linkAndEvaluateModule):
linkAndEvaluateModule() was failing to report the exception, unlike
evaluate() (which is used for classic workers).
- 9:43 AM Changeset in webkit [289478] by
-
- 9 edits in branches/safari-613.1.16.1-branch/Source
Versioning.
WebKit-7613.1.16.1.5
- 9:14 AM Changeset in webkit [289477] by
-
- 7 edits in trunk
Stop obfuscating exceptions thrown by scripts in data URLs
https://bugs.webkit.org/show_bug.cgi?id=236329
Reviewed by Brent Fulgham.
LayoutTests/imported/w3c:
Rebaseline WPT tests that are now passing or whose output looks different.
- web-platform-tests/workers/dedicated-worker-in-data-url-context.window-expected.txt:
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/004-expected.txt:
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/006-expected.txt:
Source/WebCore:
Stop obfuscating exceptions thrown by scripts in data URLs. This is causing some WPT tests to fail.
No new tests, rebaselined existing tests.
- dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::canIncludeErrorDetails):
- 9:06 AM Changeset in webkit [289476] by
-
- 11 edits in trunk/Source/WebCore
AudioBuffer should take a lock while visiting m_channelWrappers
https://bugs.webkit.org/show_bug.cgi?id=236279
Reviewed by Keith Miller.
This patch fixes AudioBuffer's m_channelWrappers concurrency bug and related issues.
- This patch removes problematic (and almost always wrong) move operator of JSValueInWrappedObject. To do that, we fixed AudioBuffer's concurrency issue where we access m_channelWrappers while it can be cleared concurrently in AudioBuffer::releaseMemory.
- MessageEvent's m_data access is broken with concurrent GC thread. We must take a lock. And we must not use JSValueInWrappedObject in std::variant if it can be changed after constructor invocation.
- Use JSValueInWrappedObject::clear instead of move with empty value.
- File https://bugs.webkit.org/show_bug.cgi?id=236353. AbortSignal, MessageEvent, and CustomEvent miss write-barrier, which is semantically wrong.
- Modules/webaudio/AudioBuffer.cpp:
(WebCore::AudioBuffer::AudioBuffer):
(WebCore::AudioBuffer::releaseMemory):
(WebCore::AudioBuffer::visitChannelWrappers):
- Modules/webaudio/AudioBuffer.h:
- Modules/webaudio/AudioWorkletProcessor.cpp:
(WebCore::AudioWorkletProcessor::buildJSArguments):
- bindings/js/JSMessageEventCustom.cpp:
(WebCore::JSMessageEvent::data const):
(WebCore::JSMessageEvent::visitAdditionalChildren):
- bindings/js/JSValueInWrappedObject.h:
- dom/AbortSignal.cpp:
(WebCore::AbortSignal::signalAbort):
- dom/CustomEvent.cpp:
(WebCore::CustomEvent::initCustomEvent):
- dom/MessageEvent.cpp:
(WebCore::MessageEvent::MessageEvent):
(WebCore::m_jsData):
(WebCore::MessageEvent::initMessageEvent):
(WebCore::MessageEvent::memoryCost const):
(WebCore::m_ports): Deleted.
- dom/MessageEvent.h:
- page/History.cpp:
(WebCore::History::stateObjectAdded):
- 8:56 AM Changeset in webkit [289475] by
-
- 3 edits in trunk/JSTests
Skip failing shadow realms tests on MIPS
https://bugs.webkit.org/show_bug.cgi?id=236361
Unreviewed gardening.
- stress/shadow-realm-evaluate.js:
- stress/shadow-realm-import-value.js:
- 8:55 AM Changeset in webkit [289474] by
-
- 57 edits1 copy9 adds in trunk
Manage IndexedDB storage by origin
https://bugs.webkit.org/show_bug.cgi?id=234925
<rdar://problem/87555014>
Reviewed by Chris Dumez.
Source/WebCore:
Both WebKit and WebKitLegacy used IDBServer to manage UniqueIDBDatabases, and UniqueIDBDatabase pointed to
IDBServer. Now that WebKit uses WebKit::IDBStorageManager to manage UniqueIDBDatabases. We untie the
knot between IDBServer and UniqueIDBDatabase by adding a new abstract class UniqueIDBDatabaseManager and make
UniqueIDBDatabase point to UniqueIDBDatabaseManager.
Also, as quota check is no longer async according to changes in WebKit, we need to update operations in
UniqueIDBDatabase to adopt the change.
Covered by existing tests.
- Headers.cmake:
- Modules/indexeddb/IDBDatabaseIdentifier.h:
- Modules/indexeddb/server/IDBConnectionToClient.h:
- Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::registerConnection):
(WebCore::IDBServer::IDBServer::unregisterConnection):
(WebCore::IDBServer::IDBServer::createBackingStore):
(WebCore::IDBServer::IDBServer::upgradedDatabaseDirectory):
(WebCore::IDBServer::IDBServer::registerDatabaseConnection): Deleted.
(WebCore::IDBServer::IDBServer::unregisterDatabaseConnection): Deleted.
(WebCore::IDBServer::IDBServer::closeAndTakeUniqueIDBDatabase): Deleted.
- Modules/indexeddb/server/IDBServer.h:
- Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
(WebCore::IDBServer::MemoryIDBBackingStore::MemoryIDBBackingStore):
(WebCore::IDBServer::MemoryIDBBackingStore::createObjectStore):
- Modules/indexeddb/server/MemoryIDBBackingStore.h:
- Modules/indexeddb/server/MemoryObjectStore.cpp:
(WebCore::IDBServer::MemoryObjectStore::create):
(WebCore::IDBServer::MemoryObjectStore::MemoryObjectStore):
- Modules/indexeddb/server/MemoryObjectStore.h:
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::SQLiteIDBBackingStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::encodeDatabaseName):
(WebCore::IDBServer::SQLiteIDBBackingStore::decodeDatabaseName):
(WebCore::IDBServer::SQLiteIDBBackingStore::getOrEstablishDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteBackingStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::filenameForDatabaseName const): Deleted.
(WebCore::IDBServer::SQLiteIDBBackingStore::fullDatabaseDirectoryWithUpgrade): Deleted.
- Modules/indexeddb/server/SQLiteIDBBackingStore.h:
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::UniqueIDBDatabase):
(WebCore::IDBServer::UniqueIDBDatabase::manager):
(WebCore::IDBServer::UniqueIDBDatabase::performCurrentOpenOperation):
(WebCore::IDBServer::UniqueIDBDatabase::performCurrentOpenOperationAfterSpaceCheck):
(WebCore::IDBServer::UniqueIDBDatabase::deleteBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::createObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::deleteObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::renameObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::clearObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::createIndex):
(WebCore::IDBServer::UniqueIDBDatabase::deleteIndex):
(WebCore::IDBServer::UniqueIDBDatabase::renameIndex):
(WebCore::IDBServer::UniqueIDBDatabase::putOrAdd):
(WebCore::IDBServer::UniqueIDBDatabase::putOrAddAfterSpaceCheck):
(WebCore::IDBServer::UniqueIDBDatabase::getRecord):
(WebCore::IDBServer::UniqueIDBDatabase::getAllRecords):
(WebCore::IDBServer::UniqueIDBDatabase::getCount):
(WebCore::IDBServer::UniqueIDBDatabase::deleteRecord):
(WebCore::IDBServer::UniqueIDBDatabase::openCursor):
(WebCore::IDBServer::UniqueIDBDatabase::iterateCursor):
(WebCore::IDBServer::UniqueIDBDatabase::commitTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::abortTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::hasDataInMemory const):
- Modules/indexeddb/server/UniqueIDBDatabase.h:
(WebCore::IDBServer::UniqueIDBDatabase::server): Deleted.
- Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseConnection::UniqueIDBDatabaseConnection):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::~UniqueIDBDatabaseConnection):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::manager):
- Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
(WebCore::IDBServer::UniqueIDBDatabaseConnection::server): Deleted.
- Modules/indexeddb/server/UniqueIDBDatabaseManager.h: Added.
(WebCore::IDBServer::UniqueIDBDatabaseManager::~UniqueIDBDatabaseManager):
- Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::UniqueIDBDatabaseTransaction):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::~UniqueIDBDatabaseTransaction):
- Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
- Modules/indexeddb/shared/IDBError.h:
(WebCore::IDBError::operator bool const):
- Modules/indexeddb/shared/IDBRequestData.h:
- Modules/indexeddb/shared/IDBResourceIdentifier.h:
(WebCore::IDBResourceIdentifier::operator!= const):
- WebCore.xcodeproj/project.pbxproj:
Source/WebKit:
In network process, IndexedDB data is managed by WebKit::WebIDBServer. Each session owns a WebIDBServer
(IDBServer) and each IDBServer owns one or more UniqueIDBDatabases (resprenting one actual database that
IDBDatabase connects to, can be identified by {session, origin, name}). Now that we have NetworkStorageManager,
which manages session storage by origin, we can merge WebIDBServer with NetworkStorageManager, since IndexedDB
storage is not shared across origins.
The old structure is:
NetworkSession - WebIDBServer - IDBServer - UniqueIDBDatabases
The new structure is:
NetworkSession - NetworkStorageManager - OriginStorageManager - IDBStorageManager - UniqueIDBDatabase
To complete this transition, we need to make a few changes:
- Web process now sends IndexedDB related messages to NetworkStorageManager instead of WebIDBServer.
- Some messages are sent to operate on UniqueIDBDatabaseConnection or UniqueIDBDatabaseTransaction, and they
use identifiers to specify the target. Therefore, NetworkStorageManagers needs to know the mapping between
identifiers and target objects. A new clas IDBStorageRegistry is added record this mapping. Each
NetworkStorageManager owns a IDBStorageRegistry and it passes IDBStorageRegistry to IDBStorageManager,
IDBStorageManager will register objects to IDBStorageRegistry and NetworkStorageManager can do search via
IDBStorageRegistry.
- Quota check for IndexedDB operations becomes async by adding new QuotaManager class, which is similar to
WebCore::StorageQuotaManager but provides async interfaces.
We used to block the IDBServer thread when it is waiting for quota check result from UI process, this is fine
because IDBServer runs on its own thread. Now that IDBStorageManager runs on the same thread as the other
storage types, we cannot block the thread on quota check.
- Rename WebIDBConnectionToClient to IDBStorageConnectionToClient to reflect the change on the structure. Also,
IDBStorageConnectionToClient does not keep reference to the IPC::Connection now, it only records
IPC::Connection::UniqueID.
- IndexedDB data may be put in different version dirctories. We used to migrate database to new version
diretory when the database is accessed. As IDBStorageManager now manages IndexedDB data of one origin, it's
simpler if it only keeps track of one directory. Therefore, we now migrate all databases of one origin
when the origin is accessed (see IDBStorageManager::idbStorageOriginDirectory).
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::updateQuotaBasedOnSpaceUsageForTesting):
(WebKit::NetworkConnectionToWebProcess::writeBlobsToTemporaryFilesForIndexedDB):
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didClose):
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
(WebKit::NetworkProcess::addWebsiteDataStore):
(WebKit::NetworkProcess::fetchWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcess::deleteAndRestrictWebsiteDataForRegistrableDomains):
(WebKit::NetworkProcess::registrableDomainsWithWebsiteData):
(WebKit::NetworkProcess::prepareToSuspend):
(WebKit::NetworkProcess::resume):
(WebKit::NetworkProcess::resetQuota):
(WebKit::NetworkProcess::didIncreaseQuota):
(WebKit::NetworkProcess::renameOriginInWebsiteData):
(WebKit::NetworkProcess::storageQuotaManager):
(WebKit::NetworkProcess::connectionToWebProcessClosed):
(WebKit::NetworkProcess::suspendIDBServers): Deleted.
- NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::shouldSuspendIDBServers const): Deleted.
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::invalidateAndCancel):
(WebKit::NetworkSession::addStorageManagerSession):
(WebKit::NetworkSession::ensureWebIDBServer): Deleted.
(WebKit::NetworkSession::closeIDBServer): Deleted.
(WebKit::NetworkSession::addIndexedDatabaseSession): Deleted.
- NetworkProcess/NetworkSession.h:
(WebKit::NetworkSession::webIDBServer): Deleted.
(WebKit::NetworkSession::hasIDBDatabasePath const): Deleted.
- NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::storagePath):
(WebKit::CacheStorage::Engine::diskUsage):
(WebKit::CacheStorage::Engine::requestSpace):
- NetworkProcess/cache/CacheStorageEngine.h:
- NetworkProcess/cache/CacheStorageEngineCaches.cpp:
(WebKit::CacheStorage::Caches::requestSpace):
- NetworkProcess/ios/NetworkProcessIOS.mm:
(WebKit::NetworkProcess::setIsHoldingLockedFiles):
- NetworkProcess/storage/IDBStorageConnectionToClient.cpp: Added.
(WebKit::IDBStorageConnectionToClient::IDBStorageConnectionToClient):
(WebKit::IDBStorageConnectionToClient::~IDBStorageConnectionToClient):
(WebKit::IDBStorageConnectionToClient::connectionToClient):
(WebKit::IDBStorageConnectionToClient::didGetResult):
(WebKit::IDBStorageConnectionToClient::didDeleteDatabase):
(WebKit::IDBStorageConnectionToClient::didOpenDatabase):
(WebKit::IDBStorageConnectionToClient::didStartTransaction):
(WebKit::IDBStorageConnectionToClient::didAbortTransaction):
(WebKit::IDBStorageConnectionToClient::didCommitTransaction):
(WebKit::IDBStorageConnectionToClient::didCreateObjectStore):
(WebKit::IDBStorageConnectionToClient::didDeleteObjectStore):
(WebKit::IDBStorageConnectionToClient::didRenameObjectStore):
(WebKit::IDBStorageConnectionToClient::didClearObjectStore):
(WebKit::IDBStorageConnectionToClient::didCreateIndex):
(WebKit::IDBStorageConnectionToClient::didDeleteIndex):
(WebKit::IDBStorageConnectionToClient::didRenameIndex):
(WebKit::IDBStorageConnectionToClient::didPutOrAdd):
(WebKit::IDBStorageConnectionToClient::didGetRecord):
(WebKit::IDBStorageConnectionToClient::didGetAllRecords):
(WebKit::IDBStorageConnectionToClient::didGetCount):
(WebKit::IDBStorageConnectionToClient::didDeleteRecord):
(WebKit::IDBStorageConnectionToClient::didOpenCursor):
(WebKit::IDBStorageConnectionToClient::didIterateCursor):
(WebKit::IDBStorageConnectionToClient::didGetAllDatabaseNamesAndVersions):
(WebKit::IDBStorageConnectionToClient::fireVersionChangeEvent):
(WebKit::IDBStorageConnectionToClient::didCloseFromServer):
(WebKit::IDBStorageConnectionToClient::notifyOpenDBRequestBlocked):
- NetworkProcess/storage/IDBStorageConnectionToClient.h: Added.
- NetworkProcess/storage/IDBStorageManager.cpp: Added.
(WebKit::migrateOriginData):
(WebKit::IDBStorageManager::idbStorageOriginDirectory):
(WebKit::IDBStorageManager::idbStorageSize):
(WebKit::getOriginsForVersion):
(WebKit::IDBStorageManager::originsOfIDBStorageData):
(WebKit::IDBStorageManager::IDBStorageManager):
(WebKit::IDBStorageManager::isActive const):
(WebKit::IDBStorageManager::hasDataInMemory const):
(WebKit::IDBStorageManager::closeDatabasesForDeletion):
(WebKit::IDBStorageManager::stopDatabaseActivitiesForSuspend):
(WebKit::IDBStorageManager::getOrCreateUniqueIDBDatabase):
(WebKit::IDBStorageManager::openDatabase):
(WebKit::IDBStorageManager::deleteDatabase):
(WebKit::IDBStorageManager::getAllDatabaseNamesAndVersions):
(WebKit::IDBStorageManager::openDBRequestCancelled):
(WebKit::IDBStorageManager::registerConnection):
(WebKit::IDBStorageManager::unregisterConnection):
(WebKit::IDBStorageManager::registerTransaction):
(WebKit::IDBStorageManager::unregisterTransaction):
(WebKit::IDBStorageManager::createBackingStore):
(WebKit::IDBStorageManager::requestSpace):
- NetworkProcess/storage/IDBStorageManager.h: Added.
- NetworkProcess/storage/IDBStorageRegistry.cpp: Added.
(WebKit::IDBStorageRegistry::ensureConnectionToClient):
(WebKit::IDBStorageRegistry::removeConnectionToClient):
(WebKit::IDBStorageRegistry::registerConnection):
(WebKit::IDBStorageRegistry::unregisterConnection):
(WebKit::IDBStorageRegistry::registerTransaction):
(WebKit::IDBStorageRegistry::unregisterTransaction):
(WebKit::IDBStorageRegistry::connection):
(WebKit::IDBStorageRegistry::transaction):
- NetworkProcess/storage/IDBStorageRegistry.h: Added.
- NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::create):
(WebKit::NetworkStorageManager::NetworkStorageManager):
(WebKit::NetworkStorageManager::canHandleTypes):
(WebKit::NetworkStorageManager::stopReceivingMessageFromConnection):
(WebKit::NetworkStorageManager::localOriginStorageManager):
(WebKit::NetworkStorageManager::didIncreaseQuota):
(WebKit::NetworkStorageManager::getAllOrigins):
(WebKit::NetworkStorageManager::moveData):
(WebKit::NetworkStorageManager::suspend):
(WebKit::NetworkStorageManager::registerTemporaryBlobFilePaths):
(WebKit::NetworkStorageManager::requestSpace):
(WebKit::NetworkStorageManager::resetQuotaForTesting):
(WebKit::NetworkStorageManager::resetQuotaUpdatedBasedOnUsageForTesting):
(WebKit::NetworkStorageManager::openDatabase):
(WebKit::NetworkStorageManager::openDBRequestCancelled):
(WebKit::NetworkStorageManager::deleteDatabase):
(WebKit::NetworkStorageManager::establishTransaction):
(WebKit::NetworkStorageManager::databaseConnectionPendingClose):
(WebKit::NetworkStorageManager::databaseConnectionClosed):
(WebKit::NetworkStorageManager::abortOpenAndUpgradeNeeded):
(WebKit::NetworkStorageManager::didFireVersionChangeEvent):
(WebKit::NetworkStorageManager::abortTransaction):
(WebKit::NetworkStorageManager::commitTransaction):
(WebKit::NetworkStorageManager::didFinishHandlingVersionChangeTransaction):
(WebKit::NetworkStorageManager::createObjectStore):
(WebKit::NetworkStorageManager::deleteObjectStore):
(WebKit::NetworkStorageManager::renameObjectStore):
(WebKit::NetworkStorageManager::clearObjectStore):
(WebKit::NetworkStorageManager::createIndex):
(WebKit::NetworkStorageManager::deleteIndex):
(WebKit::NetworkStorageManager::renameIndex):
(WebKit::NetworkStorageManager::putOrAdd):
(WebKit::NetworkStorageManager::getRecord):
(WebKit::NetworkStorageManager::getAllRecords):
(WebKit::NetworkStorageManager::getCount):
(WebKit::NetworkStorageManager::deleteRecord):
(WebKit::NetworkStorageManager::openCursor):
(WebKit::NetworkStorageManager::iterateCursor):
(WebKit::NetworkStorageManager::getAllDatabaseNamesAndVersions):
- NetworkProcess/storage/NetworkStorageManager.h:
- NetworkProcess/storage/NetworkStorageManager.messages.in:
- NetworkProcess/storage/OriginStorageManager.cpp:
(WebKit::OriginStorageManager::StorageBucket::StorageBucket):
(WebKit::OriginStorageManager::StorageBucket::toWebsiteDataType):
(WebKit::OriginStorageManager::StorageBucket::toStorageIdentifier):
(WebKit::OriginStorageManager::StorageBucket::idbStorageManager):
(WebKit::OriginStorageManager::StorageBucket::existingIDBStorageManager):
(WebKit::OriginStorageManager::StorageBucket::isActive const):
(WebKit::OriginStorageManager::StorageBucket::isEmpty const):
(WebKit::OriginStorageManager::StorageBucket::deleteData):
(WebKit::OriginStorageManager::StorageBucket::moveData):
(WebKit::OriginStorageManager::StorageBucket::fetchDataTypesInListFromMemory):
(WebKit::OriginStorageManager::StorageBucket::fetchDataTypesInListFromDisk):
(WebKit::OriginStorageManager::StorageBucket::deleteIDBStorageData):
(WebKit::createQuotaManager):
(WebKit::OriginStorageManager::OriginStorageManager):
(WebKit::OriginStorageManager::defaultBucket):
(WebKit::OriginStorageManager::quotaManager):
(WebKit::OriginStorageManager::idbStorageManager):
(WebKit::OriginStorageManager::existingIDBStorageManager):
(WebKit::OriginStorageManager::moveData):
- NetworkProcess/storage/OriginStorageManager.h:
- NetworkProcess/storage/QuotaManager.cpp: Added.
(WebKit::QuotaManager::create):
(WebKit::QuotaManager::QuotaManager):
(WebKit::QuotaManager::requestSpace):
(WebKit::QuotaManager::handleRequests):
(WebKit::QuotaManager::grantWithCurrentQuota):
(WebKit::QuotaManager::grantFastPath):
(WebKit::QuotaManager::didIncreaseQuota):
(WebKit::QuotaManager::resetQuotaUpdatedBasedOnUsageForTesting):
(WebKit::QuotaManager::resetQuotaForTesting):
- NetworkProcess/storage/QuotaManager.h: Added.
- Scripts/webkit/messages.py:
(types_that_cannot_be_forward_declared):
- Shared/WebsiteData/QuotaIncreaseRequestIdentifier.h: Added.
- Shared/WebsiteDataStoreParameters.h:
- Sources.txt:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::increaseQuota):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::perThirdPartyOriginStorageQuota const):
- UIProcess/WebsiteData/WebsiteDataStore.h:
(WebKit::WebsiteDataStore::defaultPerOriginQuota):
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:
(WebKit::WebsiteDataStoreConfiguration::WebsiteDataStoreConfiguration):
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
(WebKit::WebIDBConnectionToServer::deleteDatabase):
(WebKit::WebIDBConnectionToServer::openDatabase):
(WebKit::WebIDBConnectionToServer::abortTransaction):
(WebKit::WebIDBConnectionToServer::commitTransaction):
(WebKit::WebIDBConnectionToServer::didFinishHandlingVersionChangeTransaction):
(WebKit::WebIDBConnectionToServer::createObjectStore):
(WebKit::WebIDBConnectionToServer::deleteObjectStore):
(WebKit::WebIDBConnectionToServer::renameObjectStore):
(WebKit::WebIDBConnectionToServer::clearObjectStore):
(WebKit::WebIDBConnectionToServer::createIndex):
(WebKit::WebIDBConnectionToServer::deleteIndex):
(WebKit::WebIDBConnectionToServer::renameIndex):
(WebKit::WebIDBConnectionToServer::putOrAdd):
(WebKit::WebIDBConnectionToServer::getRecord):
(WebKit::WebIDBConnectionToServer::getAllRecords):
(WebKit::WebIDBConnectionToServer::getCount):
(WebKit::WebIDBConnectionToServer::deleteRecord):
(WebKit::WebIDBConnectionToServer::openCursor):
(WebKit::WebIDBConnectionToServer::iterateCursor):
(WebKit::WebIDBConnectionToServer::establishTransaction):
(WebKit::WebIDBConnectionToServer::databaseConnectionPendingClose):
(WebKit::WebIDBConnectionToServer::databaseConnectionClosed):
(WebKit::WebIDBConnectionToServer::abortOpenAndUpgradeNeeded):
(WebKit::WebIDBConnectionToServer::didFireVersionChangeEvent):
(WebKit::WebIDBConnectionToServer::openDBRequestCancelled):
(WebKit::WebIDBConnectionToServer::getAllDatabaseNamesAndVersions):
Source/WebKitLegacy:
- Storage/InProcessIDBServer.cpp:
(InProcessIDBServer::quotaManager):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBFileName.mm:
(runTest):
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm:
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBSuspendImminently.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/StoreBlobThenDelete.mm:
(TEST):
- 8:34 AM Changeset in webkit [289473] by
-
- 2 edits in trunk
[CMake] REGRESSION(r288994): Setting multiple values in LDFLAGS causes incorrect linker detection
https://bugs.webkit.org/show_bug.cgi?id=236365
Reviewed by Martin Robinson.
- Source/cmake/OptionsCommon.cmake: Use separate_arguments() to turn plain command strings
into lists of strings, which can then be passed down to execute_process() as it knows how
to handle lists properly.
- 8:15 AM Changeset in webkit [289472] by
-
- 23 edits3 copies14 adds6 deletes in trunk/LayoutTests
Resync web-platform-tests/html/dom from upstream
https://bugs.webkit.org/show_bug.cgi?id=236252
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Resync web-platform-tests/html/dom from upstream 893e71aa9c0a97d259ff009f.
- web-platform-tests/html/dom/*: Updated.
- web-platform-tests/html/resources/common.js:
- web-platform-tests/interfaces/html.idl:
LayoutTests:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/reflection-misc-expected.txt:
- 8:13 AM Changeset in webkit [289471] by
-
- 9 edits in trunk/Source/WebCore
[LFC][IFC] Transform root inline box's logical rect based on the writing mode
https://bugs.webkit.org/show_bug.cgi?id=236341
Reviewed by Antti Koivisto.
Make sure root inline box has the correct _visual_ coordinates in vertical mode.
(also let's rename DisplayLine::contentLeft to contentLogicalOffset. The emphasis is on _logical_. It helps to catch incorrect use (even this diff has a couple)).
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::build):
(WebCore::Layout::InlineDisplayContentBuilder::processNonBidiContent):
(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):
(WebCore::Layout::InlineDisplayContentBuilder::flipRootInlineBoxRectToVisualForWritingMode const):
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.h:
- layout/formattingContexts/inline/display/InlineDisplayLine.h:
(WebCore::InlineDisplay::Line::contentLogicalOffset const):
(WebCore::InlineDisplay::Line::Line):
(WebCore::InlineDisplay::Line::contentLeft const): Deleted.
- layout/integration/InlineIteratorBoxModernPath.h:
(WebCore::InlineIterator::BoxModernPath::createTextRun const):
- layout/integration/InlineIteratorLineModernPath.h:
(WebCore::InlineIterator::LineIteratorModernPath::contentLogicalLeft const):
- layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):
- layout/integration/LayoutIntegrationLine.h:
(WebCore::LayoutIntegration::Line::Line):
(WebCore::LayoutIntegration::Line::contentLogicalOffset const):
(WebCore::LayoutIntegration::Line::contentLeft const): Deleted.
- layout/integration/LayoutIntegrationPagination.cpp:
(WebCore::LayoutIntegration::makeAdjustedContent):
- 7:58 AM Changeset in webkit [289470] by
-
- 2 edits1 add in trunk/Tools
[Flatpak SDK] Add a wrapper for clangd
https://bugs.webkit.org/show_bug.cgi?id=236240
Reviewed by Philippe Normand.
- flatpak/flatpakutils.py: Refactor this file so that the build constants can be
reused in the new script.
(convert_webkit_source_path_to_sandbox_path):
(convert_sandbox_path_to_webkit_source_path):
(get_build_dir):
(WebkitFlatpak.init):
(WebkitFlatpak.clean_args):
(WebkitFlatpak.setup_gstbuild):
(WebkitFlatpak.is_build_jsc):
(WebkitFlatpak.run_in_sandbox):
(WebkitFlatpak.main):
(WebkitFlatpak.check_toolchains_generated):
(WebkitFlatpak.pack_toolchain):
(WebkitFlatpak.host_path_to_sandbox_path): Deleted.
(WebkitFlatpak.sandbox_path_to_host_path): Deleted.
- flatpak/webkit-clangd: Added.
- 7:13 AM Changeset in webkit [289469] by
-
- 14 edits in trunk/Source
Non-unified build fixes after r289247
https://bugs.webkit.org/show_bug.cgi?id=236343
Reviewed by Fujii Hironori.
Source/JavaScriptCore:
- runtime/JSRemoteFunction.h: Drive-by fix, add missing include.
Source/WebCore:
- accessibility/AccessibilityNodeObject.cpp: Drive-by fix. Missing
include.
- layout/formattingContexts/inline/display/InlineDisplayLine.h:
Drive-by fix. Missing include.
- workers/shared/SharedWorkerObjectConnection.cpp:
SharedWorkerScriptLoader only forward-declares WorkerScriptLoader.
- workers/shared/SharedWorkerScriptLoader.h: Missing CompletionHandler
include.
- workers/shared/context/SharedWorkerContextManager.cpp:
SharedWorkerThreadProxy only forward-declares SharedWorkerThread
Source/WebKit:
- NetworkProcess/SharedWorker/WebSharedWorkerServer.cpp: Moved
SharedWorkerKey include to .h file, as it declares a HashMap of it and
it has custom HashTraits that must be visible.
- NetworkProcess/SharedWorker/WebSharedWorkerServer.h: Ditto.
- NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.cpp: Add
missing includes.
- NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.h: Add
missing includes and forward declarations.
- NetworkProcess/SharedWorker/WebSharedWorkerServerToContextConnection.cpp:
Add missing include with proper coder/decoder support.
- 6:56 AM Changeset in webkit [289468] by
-
- 2 edits in trunk/Tools
Allow hanging run-javascriptcore-tests to print backtrace
https://bugs.webkit.org/show_bug.cgi?id=236355
Reviewed by Aakash Jain.
This is to debug 'command timed out: 3600 seconds without output'
issues on build.webkit.org, same as we do for EWS.
- CISupport/build-webkit-org/steps.py:
(RunJavaScriptCoreTests.init):
- 5:49 AM Changeset in webkit [289467] by
-
- 8 edits3 adds in trunk
WebDriver: add a javascript atom to get the visible text
https://bugs.webkit.org/show_bug.cgi?id=174617
<rdar://problem/32307461>
Reviewed by Adrian Perez de Castro.
Source/WebDriver:
Generate the JavaScript atoms using the new command and use the new atom to get element text.
- CMakeLists.txt:
- Session.cpp:
(WebDriver::Session::getElementText):
Source/WebKit:
Add a new JavaScript atom to get the visible text according to the spec. The new atom uses code from other atoms
like ElementDisplayed and it's also used now by FindNodes one. The atoms are now autogenerated using a script to
include the duplicated code from a common source utils.js.
- Scripts/generate-automation-atom.py: Added.
(collect_utils):
(parse_utils):
(append_functions):
(main):
- UIProcess/Automation/atoms/ElementDisplayed.js:
(isShown.nodeIsElement): Deleted.
(isShown.parentElementForElement): Deleted.
(isShown.enclosingNodeOrSelfMatchingPredicate): Deleted.
(isShown.enclosingElementOrSelfMatchingPredicate): Deleted.
(isShown.cascadedStylePropertyForElement): Deleted.
(isShown.elementSubtreeHasNonZeroDimensions): Deleted.
(isShown): Deleted.
(isShown.isElementSubtreeHiddenByOverflow): Deleted.
- UIProcess/Automation/atoms/ElementText.js: Added.
- UIProcess/Automation/atoms/FindNodes.js:
(tryToFindNode):
- UIProcess/Automation/atoms/utils.js: Added.
(utils.nodeIsElement):
(utils.enclosingNodeOrSelfMatchingPredicate):
(utils.parentElementForElement):
(utils.cascadedStylePropertyForElement):
(elementSubtreeHasNonZeroDimensions):
(isElementSubtreeHiddenByOverflow):
(utils.isShown):
(appendLines.currentLine):
(appendLines):
(utils.getText):
WebDriverTests:
Remove expectations of tests that are now passing.
- TestExpectations.json:
- 4:42 AM Changeset in webkit [289466] by
-
- 7 edits in trunk
[CSS Container Queries] Implement inline-size containment
https://bugs.webkit.org/show_bug.cgi?id=236354
Reviewed by Antoine Quint.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/container-type-containment-expected.txt:
Source/WebCore:
"Giving an element inline-size containment applies size containment to the inline-axis sizing
of its principal box. This means the inline-axis intrinsic sizes of the principal box are
determined as if the element had no content."
https://drafts.csswg.org/css-contain-3/#containment-inline-size
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths const):
Compute inline axis preferred width as if the block had no content.
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::effectiveContainment const):
- rendering/style/RenderStyleConstants.h:
For completeness, add an enum value for inline-size containment. It can only be set by 'container'
property for now.
- style/StyleScope.cpp:
(WebCore::Style::Scope::updateQueryContainerState):
Ignore block axis for inline-size containers.
- 2:37 AM Changeset in webkit [289465] by
-
- 24 edits in trunk
[Forms] Improving applyStep() to be in line with specs
https://bugs.webkit.org/show_bug.cgi?id=236134
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/forms/the-input-element/range-expected.txt:
Source/WebCore:
This is to improve applyStep() func to follow specs at
https://html.spec.whatwg.org/multipage/input.html#dom-input-stepup
Since Chromium implementation follows the specs steps, this patch imports the
Chromium implmentation.
This is a further patch after https://bugs.webkit.org/show_bug.cgi?id=235509. It has corrected
some changes on test files in fast/form directory in the previous patch submitted for Bug
- With this CL a few more sub-tests are now passing.
- html/InputType.cpp:
(WebCore::InputType::applyStep):
- html/StepRange.cpp:
(WebCore::StepRange::stepSnappedMaximum const):
- html/StepRange.h:
LayoutTests:
Update test expectations.
- fast/forms/date/date-stepup-stepdown-expected.txt:
- fast/forms/date/date-stepup-stepdown.html:
- fast/forms/datetimelocal/datetimelocal-stepup-stepdown-expected.txt:
- fast/forms/datetimelocal/datetimelocal-stepup-stepdown.html:
- fast/forms/month/month-stepup-stepdown-expected.txt:
- fast/forms/month/month-stepup-stepdown.html:
- fast/forms/number/number-stepup-stepdown-expected.txt:
- fast/forms/number/number-stepup-stepdown.html:
- fast/forms/range/range-stepup-stepdown-expected.txt:
- fast/forms/range/range-stepup-stepdown.html:
- fast/forms/time/time-stepup-stepdown-expected.txt:
- fast/forms/time/time-stepup-stepdown.html:
- fast/forms/week/week-stepup-stepdown-expected.txt:
- fast/forms/week/week-stepup-stepdown.html:
- platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/time-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/time-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/time-expected.txt:
- 1:52 AM Changeset in webkit [289464] by
-
- 2 edits in trunk/LayoutTests
[GLIB] Garden several WPT tests that are now passing
Unreviewed test gardening.
- platform/glib/TestExpectations:
- 1:30 AM Changeset in webkit [289463] by
-
- 14 edits in trunk/Source/WebKit
WKHoverPlatter should scale up the platter content to make it easier to see
https://bugs.webkit.org/show_bug.cgi?id=236289
Reviewed by Wenson Hsieh.
- Shared/NativeWebMouseEvent.h:
- Shared/ios/NativeWebMouseEventIOS.mm:
(WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
Add a NativeWebMouseEvent constructor that takes most properties from
another event, but allows overriding the positions and deltas.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::interactableRegionsInRootViewCoordinates):
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::interactableRegionsInRootViewCoordinates):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Add a method to count the number of clickable elements in a given rectangle.
This is just a first attempt at the heuristic; this will get more complex in the future.
- UIProcess/ios/WKContentViewInteraction.h:
Add a selection assistant suppression reason for WKHoverPlatter.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _createAndConfigureHighlightLongPressGestureRecognizer]):
Factor out highlight-long-press gesture creation like long-press. Bail if the platter is enabled.
(-[WKContentView setUpInteraction]):
Disable the selection assistant if WKHoverPlatter wants to use long press.
(-[WKContentView cleanUpInteraction]):
(-[WKContentView _locationForGesture:]):
(-[WKContentView _startPointForGesture:]):
Add funnels for extracting the primary location or starting location from
a gesture, allowing WKHoverPlatter to mutate it if it is currently engaged.
(-[WKContentView _highlightLongPressRecognized:]):
(-[WKContentView _doubleTapRecognizedForDoubleClick:]):
(-[WKContentView _twoFingerSingleTapGestureRecognized:]):
(-[WKContentView _singleTapIdentified:]):
(-[WKContentView _singleTapRecognized:]):
(-[WKContentView _doubleTapRecognized:]):
(-[WKContentView _nonBlockingDoubleTapRecognized:]):
(-[WKContentView _twoFingerDoubleTapRecognized:]):
Adopt _locationForGesture/_startPointForGesture.
(-[WKContentView _longPressRecognized:]):
Adopt _locationForGesture/_startPointForGesture.
Redirect a recognized long press to WKHoverPlatter if it wants to use long press.
(-[WKContentView _shouldUseContextMenus]):
Disable context menus if WKHoverPlatter wants to use long press.
(-[WKContentView setUpDragAndDropInteractions]):
Disable drag and drop if WKHoverPlatter wants to use long press.
(-[WKContentView mouseGestureRecognizerChanged:]):
Allow WKHoverPlatter to mutate the location of mouse events if it is currently engaged.
(-[WKContentView numberOfLinksForHoverPlatter:inRect:completionHandler:]):
- UIProcess/ios/WKHoverPlatter.h:
- UIProcess/ios/WKHoverPlatter.mm:
(-[WKHoverPlatter initWithView:delegate:]):
(-[WKHoverPlatter didReceiveMouseEvent:]):
(-[WKHoverPlatter didLongPressAtPoint:]):
(-[WKHoverPlatter platterBoundingRect]):
(-[WKHoverPlatter linkSearchRect]):
(-[WKHoverPlatter update]):
(-[WKHoverPlatter updateDebugIndicator]):
(-[WKHoverPlatter dismissPlatterWithAnimation:]):
(-[WKHoverPlatter didFinishDismissalAnimation:]):
(-[WKHoverPlatter clearLayers]):
(-[WKHoverPlatter adjustedPointForPoint:]):
(-[WKHoverPlatter adjustedEventForEvent:]):
(setAdditionalPlatterLayerProperties): Deleted.
(addAdditionalIncomingAnimations): Deleted.
(addAdditionalDismissalAnimations): Deleted.
(-[WKHoverPlatter setHoverPoint:]): Deleted.
(-[WKHoverPlatter requestPositionInformationForCurrentHoverPoint]): Deleted.
(-[WKHoverPlatter didReceivePositionInformation:]): Deleted.
(-[WKHoverPlatter didFinishAnimationForShadow:]): Deleted.
- UIProcess/ios/WKHoverPlatterParameters.h:
- UIProcess/ios/WKHoverPlatterParameters.mm:
(-[WKHoverPlatterParameters setDefaultValues]):
(-[WKHoverPlatterParameters enabled]):
(+[WKHoverPlatterParameters settingsControllerModule]):
(addAdditionalPlatterLayoutParameters): Deleted.
(setDefaultValuesForAdditionalPlatterLayoutParameters): Deleted.
Adjust WKHoverPlatter to scale up its content, and adjust the shape
and animations.
- 1:15 AM Changeset in webkit [289462] by
-
- 14 edits2 adds in trunk
Don't return an empty value from AbortController.signal.reason and make it harder to return empty values from JSValueInWrappedObject
https://bugs.webkit.org/show_bug.cgi?id=236318
<rdar://88580935>
Reviewed by Mark Lam.
Source/WebCore:
This patch makes it so we might not accidentally return the empty value to
JavaScript code from JSValueInWrappedObject. Previously, JSValueInWrappedObject
had an "operator JSValue()" method. This patch removes that, adds a new
conversion method for converting between JSValueInWrappedObject and JSValue,
and makes JSValueInWrappedObject return undefined inside this method
when it used to return the empty value. This fixes a crash where we'd return
the empty value to JS JIT code, and crash dereferencing a nullptr. It's never
valid for a JS function call (or getter, etc) to return the empty value.
Test: fast/dom/AbortSignal-reason-crash-2.html
- Modules/webaudio/AudioBuffer.cpp:
(WebCore::AudioBuffer::getChannelData):
- Modules/webaudio/AudioWorkletProcessor.cpp:
(WebCore::toJSArray):
(WebCore::toJSObject):
(WebCore::AudioWorkletProcessor::buildJSArguments):
- bindings/js/JSCustomEventCustom.cpp:
(WebCore::JSCustomEvent::detail const):
- bindings/js/JSDOMConvertAny.h:
(WebCore::JSConverter<IDLAny>::convert):
- bindings/js/JSMessageEventCustom.cpp:
(WebCore::JSMessageEvent::data const):
- bindings/js/JSPaymentMethodChangeEventCustom.cpp:
(WebCore::JSPaymentMethodChangeEvent::methodDetails const):
- bindings/js/JSPopStateEventCustom.cpp:
(WebCore::JSPopStateEvent::state const):
- bindings/js/JSValueInWrappedObject.h:
(WebCore::JSValueInWrappedObject::getValue const):
(WebCore::JSValueInWrappedObject::operator bool const):
(WebCore::cachedPropertyValue):
(WebCore::JSValueInWrappedObject::operator JSC::JSValue const): Deleted.
- dom/AbortSignal.cpp:
(WebCore::AbortSignal::signalFollow):
(WebCore::AbortSignal::throwIfAborted):
- dom/ErrorEvent.cpp:
(WebCore::ErrorEvent::error):
(WebCore::ErrorEvent::trySerializeError):
- dom/PopStateEvent.cpp:
(WebCore::PopStateEvent::trySerializeState):
- page/History.cpp:
(WebCore::History::cachedState):
LayoutTests:
- fast/dom/AbortSignal-reason-crash-2-expected.txt: Added.
- fast/dom/AbortSignal-reason-crash-2.html: Added.
- 1:14 AM Changeset in webkit [289461] by
-
- 1 copy in releases/WebKitGTK/webkit-2.35.3
WebKitGTK 2.35.3
- 1:13 AM Changeset in webkit [289460] by
-
- 4 edits in trunk
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.35.3 release
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit:
- gtk/NEWS: Add release notes for 2.35.3.
- 12:47 AM Changeset in webkit [289459] by
-
- 61 edits16 adds3 deletes in trunk/LayoutTests
[GTK][WPE] Update baselines after r288944
Unreviewed test gardening.
The bulk of these tests needed to update their baselines after
r288944, although other baseline updates in this patch might not due
to that change.
- platform/glib/fast/text/whitespace/nbsp-mode-and-linewraps-expected.png: Added.
- platform/glib/fast/text/whitespace/nbsp-mode-and-linewraps-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- platform/glib/webgl/1.0.3/conformance/extensions/oes-texture-half-float-expected.txt:
- platform/gtk/editing/deleting/5144139-2-expected.png:
- platform/gtk/editing/deleting/5144139-2-expected.txt:
- platform/gtk/fast/borders/rtl-border-04-expected.txt:
- platform/gtk/fast/borders/rtl-border-05-expected.png:
- platform/gtk/fast/borders/rtl-border-05-expected.txt:
- platform/gtk/fast/events/updateLayoutForHitTest-expected.txt:
- platform/gtk/fast/forms/select-visual-hebrew-expected.txt:
- platform/gtk/fast/forms/select-writing-direction-natural-expected.txt:
- platform/gtk/fast/text/basic/014-expected.txt:
- platform/gtk/fast/text/in-rendered-text-rtl-expected.txt:
- platform/gtk/fast/text/international/003-expected.png:
- platform/gtk/fast/text/international/003-expected.txt:
- platform/gtk/fast/text/international/bidi-L2-run-reordering-expected.txt:
- platform/gtk/fast/text/international/bidi-LDB-2-CSS-expected.png:
- platform/gtk/fast/text/international/bidi-LDB-2-CSS-expected.txt:
- platform/gtk/fast/text/international/bidi-LDB-2-HTML-expected.png:
- platform/gtk/fast/text/international/bidi-LDB-2-HTML-expected.txt:
- platform/gtk/fast/text/international/bidi-LDB-2-formatting-characters-expected.png:
- platform/gtk/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
- platform/gtk/fast/text/international/bidi-european-terminators-expected.png:
- platform/gtk/fast/text/international/bidi-european-terminators-expected.txt:
- platform/gtk/fast/text/international/bidi-ignored-for-first-child-inline-expected.png:
- platform/gtk/fast/text/international/bidi-ignored-for-first-child-inline-expected.txt:
- platform/gtk/fast/text/international/bidi-innertext-expected.png:
- platform/gtk/fast/text/international/bidi-innertext-expected.txt:
- platform/gtk/fast/text/international/bidi-menulist-expected.png:
- platform/gtk/fast/text/international/bidi-menulist-expected.txt:
- platform/gtk/fast/text/international/bidi-override-expected.png:
- platform/gtk/fast/text/international/bidi-override-expected.txt:
- platform/gtk/fast/text/international/rtl-caret-expected.png:
- platform/gtk/fast/text/international/rtl-caret-expected.txt:
- platform/gtk/fast/text/international/rtl-white-space-pre-wrap-expected.png:
- platform/gtk/fast/text/international/rtl-white-space-pre-wrap-expected.txt:
- platform/gtk/fast/text/midword-break-after-breakable-char-expected.txt:
- platform/gtk/fast/text/whitespace/nbsp-mode-and-linewraps-expected.png: Removed.
- platform/gtk/fast/text/whitespace/nbsp-mode-and-linewraps-expected.txt: Removed.
- platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug46924-expected.txt:
- platform/wpe/fast/borders/rtl-border-04-expected.png: Added.
- platform/wpe/fast/borders/rtl-border-04-expected.txt:
- platform/wpe/fast/borders/rtl-border-05-expected.png: Added.
- platform/wpe/fast/borders/rtl-border-05-expected.txt:
- platform/wpe/fast/events/updateLayoutForHitTest-expected.png: Added.
- platform/wpe/fast/events/updateLayoutForHitTest-expected.txt:
- platform/wpe/fast/text/basic/014-expected.png: Added.
- platform/wpe/fast/text/basic/014-expected.txt:
- platform/wpe/fast/text/in-rendered-text-rtl-expected.png: Added.
- platform/wpe/fast/text/in-rendered-text-rtl-expected.txt:
- platform/wpe/fast/text/international/003-expected.txt:
- platform/wpe/fast/text/international/bidi-L2-run-reordering-expected.png: Added.
- platform/wpe/fast/text/international/bidi-L2-run-reordering-expected.txt:
- platform/wpe/fast/text/international/bidi-LDB-2-CSS-expected.png:
- platform/wpe/fast/text/international/bidi-LDB-2-CSS-expected.txt:
- platform/wpe/fast/text/international/bidi-LDB-2-HTML-expected.png:
- platform/wpe/fast/text/international/bidi-LDB-2-HTML-expected.txt:
- platform/wpe/fast/text/international/bidi-LDB-2-formatting-characters-expected.png:
- platform/wpe/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
- platform/wpe/fast/text/international/bidi-european-terminators-expected.png: Added.
- platform/wpe/fast/text/international/bidi-european-terminators-expected.txt:
- platform/wpe/fast/text/international/bidi-ignored-for-first-child-inline-expected.png: Added.
- platform/wpe/fast/text/international/bidi-ignored-for-first-child-inline-expected.txt:
- platform/wpe/fast/text/international/bidi-innertext-expected.png: Added.
- platform/wpe/fast/text/international/bidi-innertext-expected.txt:
- platform/wpe/fast/text/international/bidi-menulist-expected.png: Added.
- platform/wpe/fast/text/international/bidi-menulist-expected.txt:
- platform/wpe/fast/text/international/bidi-override-expected.png: Added.
- platform/wpe/fast/text/international/bidi-override-expected.txt:
- platform/wpe/fast/text/international/rtl-caret-expected.png: Added.
- platform/wpe/fast/text/international/rtl-caret-expected.txt:
- platform/wpe/fast/text/international/rtl-white-space-pre-wrap-expected.png: Added.
- platform/wpe/fast/text/international/rtl-white-space-pre-wrap-expected.txt:
- platform/wpe/fast/text/midword-break-after-breakable-char-expected.png: Added.
- platform/wpe/fast/text/midword-break-after-breakable-char-expected.txt:
- platform/wpe/fast/text/whitespace/nbsp-mode-and-linewraps-expected.txt: Removed.
- platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- 12:34 AM Changeset in webkit [289458] by
-
- 3 edits in trunk/Source/WebCore
Remove some obsolete dependencies.
https://bugs.webkit.org/show_bug.cgi?id=236333
Reviewed by Chris Dumez.
These files in the dependency list don't even exist anymore.
- bindings/scripts/preprocess-idls.pl:
- bindings/scripts/test/SupplementalDependencies.dep:
Feb 8, 2022:
- 11:35 PM Changeset in webkit [289457] by
-
- 10 edits in trunk/Source/WebCore
[CSS Container Queries] Track query containers so they can be invalidated on size change
https://bugs.webkit.org/show_bug.cgi?id=236297
Reviewed by Alan Bujtas.
Add container size tracking.
- dom/Document.cpp:
(WebCore::Document::updateLayout):
- dom/Element.cpp:
(WebCore::Element::invalidateForQueryContainerChange):
- dom/Element.h:
- page/FrameView.cpp:
(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
- rendering/RenderBox.cpp:
(WebCore::RenderBox::willBeDestroyed):
(WebCore::RenderBox::styleWillChange):
- rendering/RenderView.cpp:
(WebCore::RenderView::registerContainerQueryBox):
(WebCore::RenderView::unregisterContainerQueryBox):
- rendering/RenderView.h:
- style/StyleScope.cpp:
(WebCore::Style::Scope::updateQueryContainerState):
Save the sizes after layout and invalidate if needed.
- style/StyleScope.h:
- 10:51 PM Changeset in webkit [289456] by
-
- 4 edits in trunk/LayoutTests
Unreviewed gardening.
Expand fuzzy ranges.
- compositing/filters/opacity-change-on-filtered-paints-into-ancestor.html:
- compositing/masks/become-tiled-mask.html:
- css3/masking/mask-repeat-space-padding.html:
- 10:39 PM Changeset in webkit [289455] by
-
- 8 edits in trunk/Source/WebCore
Move DocumentTimeline::runningAnimationsForRendererAreAllAccelerated() to Styleable
https://bugs.webkit.org/show_bug.cgi?id=236239
Reviewed by Dean Jackson.
This method has nothing to do with DocumentTimeline and everything to do with Styleable and its associated
effect stack. This also allows us to remove WebAnimation::isRunningAccelerated() since we don't need to go
through the animation as we iterate over keyframe effects directly.
This refactor surfaced an issue with Styleable::fromRenderer() where in the ::marker case we would fail
to correctly obtain the parent RenderListItem, we now recurse through parents until we find one instead
of stopping at the first ancestor with an element.
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::runningAnimationsForRendererAreAllAccelerated const): Deleted.
- animation/DocumentTimeline.h:
- animation/WebAnimation.cpp:
(WebCore::WebAnimation::isRunningAccelerated const): Deleted.
- animation/WebAnimation.h:
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::hasRunningAcceleratedAnimations const):
- style/Styleable.cpp:
(WebCore::Styleable::fromRenderer):
(WebCore::Styleable::runningAnimationsAreAllAccelerated const):
- style/Styleable.h:
- 10:25 PM Changeset in webkit [289454] by
-
- 5 edits in trunk
[web-animations] additive and accumulation interpolation does not work correctly with implicit 0% and 100% keyframes
https://bugs.webkit.org/show_bug.cgi?id=236314
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
Add some new WPT tests and mark our PASS results for the "add" case (we still fail for "accumulate").
- web-platform-tests/web-animations/animation-model/combining-effects/effect-composition-expected.txt:
- web-platform-tests/web-animations/animation-model/combining-effects/effect-composition.html:
Source/WebCore:
We incorrectly handled implicit keyframes for the additive and accumulate cases.
The spec says that for implicit 0% and 100% keyframes, a keyframe should be generated with a "neutral" keyframe which,
when added or accumulated with another keyframe, would yield the same style as the keyframe it's composed with. We sort
of did the right thing by cloning the underlying style for those keyframes, but then we would blame them anyway in the
composition case, whereas we should just use the underlying style as-is.
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::setAnimatedPropertiesInStyle):
- 10:22 PM Changeset in webkit [289453] by
-
- 4 edits in trunk
[web-animations] Animation.commitStyles() should use the non-animated style
https://bugs.webkit.org/show_bug.cgi?id=236315
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
Mark WPT progression.
- web-platform-tests/web-animations/interfaces/Animation/commitStyles-expected.txt:
Source/WebCore:
- animation/WebAnimation.cpp:
(WebCore::WebAnimation::commitStyles):
- 8:59 PM Changeset in webkit [289452] by
-
- 4 edits in trunk/LayoutTests
[GLIB] Remove tests passing from TestExpectations
Unreviewed test gardening.
Also sort lines in TestExpectations.
- platform/glib/TestExpectations:
- platform/gtk/TestExpectations:
- platform/wpe/TestExpectations:
- 6:32 PM Changeset in webkit [289451] by
-
- 4 edits in trunk
FileReaderSync should be exposed to shared workers
https://bugs.webkit.org/show_bug.cgi?id=236317
<rdar://problem/88644122>
Reviewed by Brent Fulgham.
LayoutTests/imported/w3c:
Rebaseline WPT test that is now passing.
- web-platform-tests/workers/semantics/interface-objects/003.any.sharedworker-expected.txt:
Source/WebCore:
FileReaderSync should be exposed to shared workers:
No new test, rebaselined existing one.
- fileapi/FileReaderSync.idl:
- 5:54 PM Changeset in webkit [289450] by
-
- 4 edits1 add in trunk
[JSC] YarrJIT inlining should be disabled when we have DotStarEnclosure
https://bugs.webkit.org/show_bug.cgi?id=236332
rdar://88483574
Reviewed by Michael Saboff.
JSTests:
- stress/yarr-inlining-dot-star-enclosure.js: Added.
(test):
Source/JavaScriptCore:
YarrJITRegisters::initialStart can be used when m_pattern.m_saveInitialStartValue is true while
it is not defined in YarrJIT inlining. As a result, we emit broken code using InvalidGPRReg.
This patch makes canInline false when m_pattern.m_saveInitialStartValue is true.
- yarr/YarrJIT.cpp:
- yarr/YarrJITRegisters.h:
- 4:35 PM Changeset in webkit [289449] by
-
- 7 edits in trunk/Source/WebKit
[Playstation] Fix build break after r289247 if ENABLE_SERVICE_WORKER is off
https://bugs.webkit.org/show_bug.cgi?id=236321
Patch by Jigen Zhou <jigen.zhou@sony.com> on 2022-02-08
Reviewed by Chris Dumez.
Unreviewed, build fix for playstation platform after r289247 for support of sharing Shared Workers.
This patch resolves compiling errors caused by unknow type name and undeclared identifiers,
and it also fixes linking error by making methods WebProcessProxy::createForWorkers and
WebProcessPool::userContentControllerIdentifierForWorkers() available when ENABLE_SERVICE_WORKER is off
- NetworkProcess/SharedWorker/WebSharedWorkerServer.h:
- NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.h:
- UIProcess/WebProcessPool.cpp:
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
- WebProcess/Storage/WebSharedWorkerContextManagerConnection.cpp:
- 4:26 PM Changeset in webkit [289448] by
-
- 1 copy in tags/Safari-613.1.16.3.1
Tag Safari-613.1.16.3.1.
- 4:19 PM Changeset in webkit [289447] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Set LineBox::setBaselineType when the line is computed to be IdeographicBaseline
https://bugs.webkit.org/show_bug.cgi?id=236310
Reviewed by Antti Koivisto.
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::adjustIdeographicBaselineIfApplicable):
- 4:17 PM Changeset in webkit [289446] by
-
- 1 copy in tags/Safari-613.1.16.0.5
Tag Safari-613.1.16.0.5.
- 4:14 PM Changeset in webkit [289445] by
-
- 1 copy in tags/Safari-613.1.16.1.4
Tag Safari-613.1.16.1.4.
- 4:14 PM Changeset in webkit [289444] by
-
- 1 copy in tags/Safari-613.1.16.2.1
Tag Safari-613.1.16.2.1.
- 3:49 PM Changeset in webkit [289443] by
-
- 3 edits2 adds in trunk
REGRESSION (15.4): Angular virtual scrollers no longer work (because of contain:strict)
https://bugs.webkit.org/show_bug.cgi?id=236260
Patch by Rob Buis <rbuis@igalia.com> on 2022-02-08
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/contain-paint-049-expected.txt: Added.
- web-platform-tests/css/css-contain/contain-paint-049.html: Added.
Source/WebCore:
Paint containment did not allow collecting scrollable overflow, breaking scrolling
of the container contents, this patch fixes that.
Test: imported/w3c/web-platform-tests/css/css-contain/contain-paint-049.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::addOverflowFromChild):
- 3:30 PM Changeset in webkit [289442] by
-
- 1 copy in releases/WPE WebKit/webkit-2.34.5
WPE WebKit 2.34.5
- 3:11 PM Changeset in webkit [289441] by
-
- 4 edits in releases/WebKitGTK/webkit-2.34
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.34.5 release
.:
- Source/cmake/OptionsWPE.cmake: Bump version numbers.
Source/WebKit:
- wpe/NEWS: Add release notes for 2.34.5
- 3:07 PM Changeset in webkit [289440] by
-
- 1 copy in tags/Safari-613.1.16.31.1
Tag Safari-613.1.16.31.1.
- 3:06 PM Changeset in webkit [289439] by
-
- 3 edits in branches/safari-613.1.16.31-branch/Source/JavaScriptCore
Cherry-pick r289024. rdar://problem/88654211
SecureARM64EHashPins should check g_jscConfig.useFastJITPermissions
https://bugs.webkit.org/show_bug.cgi?id=236055
<rdar://88222677>
Reviewed by Mark Lam.
- assembler/SecureARM64EHashPins.cpp: (JSC::SecureARM64EHashPins::initializeAtStartup): (JSC::SecureARM64EHashPins::allocatePinForCurrentThread): (JSC::SecureARM64EHashPins::deallocatePinForCurrentThread):
- assembler/SecureARM64EHashPinsInlines.h: (JSC::SecureARM64EHashPins::pinForCurrentThread):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:55 PM Changeset in webkit [289438] by
-
- 9 edits in branches/safari-613.1.16.31-branch/Source
Versioning.
WebKit-7613.1.16.31.1
- 2:51 PM Changeset in webkit [289437] by
-
- 3 edits in trunk/Source/WebCore
Grid may be empty in certain scenarios
https://bugs.webkit.org/show_bug.cgi?id=234578
Patch by Brandon Stewart <Brandon> on 2022-02-08
Reviewed by Darin Adler.
Add check to handle legend elements when inside a CSS Grid. The legend element should not be
added to aspectRatioBlockSizeDependentGridItems.
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutBlock):
- rendering/RenderGrid.h:
- 2:43 PM Changeset in webkit [289436] by
-
- 2 edits in trunk/Source/WebKit
[WebAuthn] Use AuthenticationServicesAgent for WebAuthn calls on iOS
https://bugs.webkit.org/show_bug.cgi?id=236151
rdar://87908259
Reviewed by Brent Fulgham.
This patch starts using the ASC apis to make WebAuthn calls on iOS the
same way they are made on macOS. Some cleanup work will be needed to
deprecate the WebAuthn process after this change is made.
- UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
(WebKit::WebAuthenticatorCoordinatorProxy::performRequest): Deleted.
(WebKit::WebAuthenticatorCoordinatorProxy::isUserVerifyingPlatformAuthenticatorAvailable): Deleted.
- 2:35 PM Changeset in webkit [289435] by
-
- 1 copy in branches/safari-613.1.16.31-branch
New branch.
- 2:27 PM Changeset in webkit [289434] by
-
- 1 copy in releases/WebKitGTK/webkit-2.34.5
WebKitGTK 2.34.5
- 2:25 PM Changeset in webkit [289433] by
-
- 4 edits in releases/WebKitGTK/webkit-2.34
.:
Unreviewed. Update OptionsGTK.cmake and NEWS for the 2.34.5 release
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit:
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.34.5 release
- gtk/NEWS: Add release notes for 2.34.5
- 2:25 PM Changeset in webkit [289432] by
-
- 6 edits in releases/WebKitGTK/webkit-2.34
Allow building with ICU 60
https://bugs.webkit.org/show_bug.cgi?id=235367
Unreviewed build fix.
Turns out we can reduce our ICU requirement from ICU 61 to ICU 60 with only minimal changes.
Patch by Michael Catanzaro <Michael Catanzaro> on 2022-02-08
.:
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWPE.cmake:
Source/JavaScriptCore:
- runtime/IntlCache.cpp:
- runtime/IntlCache.h:
- 2:25 PM Changeset in webkit [289431] by
-
- 2 edits in releases/WebKitGTK/webkit-2.34
Merge r289370 - [WPE] Running distcheck with USE_SOUP2=OFF fails to install documentation
https://bugs.webkit.org/show_bug.cgi?id=236235
Reviewed by Carlos Garcia Campos.
- Source/PlatformWPE.cmake: Use WPE_API_DOC_VERSION instead of WPE_API_VERSION for the documentation.
- 2:25 PM Changeset in webkit [289430] by
-
- 5 edits in releases/WebKitGTK/webkit-2.34/Source/WebKit
Merge r289369 - [GTK][WPE] Crash at WebKit::bindA11y() in WebKitGTK 2.35.2
https://bugs.webkit.org/show_bug.cgi?id=236144
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2022-02-08
Reviewed by Adrian Perez de Castro.
ATSPI stopped using an abstract socket but we are still assuming the a11y bus address is an abstract socket,
even when the path is not really used after all. However, just handling the case of the socket being a normal
unix socket is not enough, because the actual socket path is not mounted in the xdg-dbus-proxy sandbox, so it
fails to connect to the original a11y bus.
- UIProcess/Launcher/ProcessLauncher.h: Rename extraWebProcessSandboxPaths as extraSandboxPaths.
- UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
(WebKit::XDGDBusProxyLauncher::setAddress): Remove the DBusAddressType parameter. Check the address looks valid
and just store the result of dbusAddressToPath() in m_path.
(WebKit::XDGDBusProxyLauncher::launch): Do not require m_path to be non-null and add it to the sanbox.
(WebKit::XDGDBusProxyLauncher::dbusAddressToPath): Only return the path for normal unix sockets.
(WebKit::bindDBusSession): Remove the DBusAddressType parameter passed to dbusAddressToPath().
(WebKit::bindA11y): Check proxy path is not null before setting a11y bus address in display.
(WebKit::addExtraPaths): Helper to add extra paths to the sandbox.
(WebKit::bubblewrapSpawn): Call addExtraPaths() for WebProcess and DBusProxy types.
- UIProcess/Launcher/glib/FlatpakLauncher.cpp:
(WebKit::flatpakSpawn): Use extraSandboxPaths.
- UIProcess/glib/WebProcessProxyGLib.cpp:
(WebKit::WebProcessProxy::platformGetLaunchOptions): Ditto.
- 2:25 PM Changeset in webkit [289429] by
-
- 8 edits in releases/WebKitGTK/webkit-2.34/Source/WebCore
Merge r289154 - [Flatpak SDK] Update to FDO 21.08.10 and GStreamer 1.20 releases
https://bugs.webkit.org/show_bug.cgi?id=236136
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-05
Reviewed by Adrian Perez de Castro.
Switch GStreamer 1.19 version checks to 1.20 now that it is officially released. Also
include a couple fixes that are needed with GStreamer 1.20 and one that is useful whatever
the GStreamer version:
- GStreamer 1.20 ships a vp8alphadecodebin element able to handle video/x-vp8 caps, so our libwebrtc decoder factory needs to account for its presence, in addition to vp8dec.
- With GStreamer 1.20 media/media-source/media-source-seek-back.html started racy crashing in the VideoTrackPrivateGStreamer configuration update, where the track was disconnected (hence its stream was cleared) and then a GObject notification was emitted by decodebin3. We should actually disconnect the GObject signal handlers before clearing the stream, to prevent potential null pointer access.
- platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
(WebCore::AudioFileReader::handleNewDeinterleavePad):
- platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:
(WebCore::AudioSourceProviderGStreamer::handleNewDeinterleavePad):
- platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp:
(WebCore::AudioTrackPrivateGStreamer::updateConfigurationFromCaps):
(WebCore::AudioTrackPrivateGStreamer::disconnect):
- platform/graphics/gstreamer/GStreamerCommon.h:
- platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:
(WebCore::ImageDecoderGStreamer::InnerDecoder::connectDecoderPad):
- platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp:
(WebCore::VideoTrackPrivateGStreamer::updateConfigurationFromCaps):
(WebCore::VideoTrackPrivateGStreamer::disconnect):
- platform/mediastream/libwebrtc/gstreamer/GStreamerVideoDecoderFactory.cpp:
(WebCore::VP8Decoder::Create):
- 2:21 PM Changeset in webkit [289428] by
-
- 3 edits in trunk/Tools
[EWS] Embed added/modified/deleted status into changed files
https://bugs.webkit.org/show_bug.cgi?id=236051
Reviewed by Aakash Jain.
GitHub's API includes whether a file was added, modified or deleted.
We don't include this information in source changes, we should.
- Tools/CISupport/ews-build/events.py:
(GitHubEventHandlerNoEdits.file_with_mod_sign): Added.
(GitHubEventHandlerNoEdits._get_pr_files): Copied from buildbot, modified to include
file modification status.
- Tools/CISupport/ews-build/steps.py:
(FindModifiedLayoutTests): Remove FIXME
Canonical link: https://commits.webkit.org/246988@main
- 2:14 PM Changeset in webkit [289427] by
-
- 4 edits in trunk/Source/WebCore
Initialize the AXIsolatedObject AccessibilityText property lazily.
https://bugs.webkit.org/show_bug.cgi?id=236276
<rdar://problem/88604453>
Reviewed by Chris Fleizach.
Computation of the AccessibilitytText property may be very expensive and
if performed during the creation of IsolatedObjects may cause crashes
since it may invoke textUnderElement while page layout is in progress.
For these reasons, we are computing and caching this property on first
request.
This patch is a sequel to https://bugs.webkit.org/show_bug.cgi?id=236115.
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeAttributeData):
(WebCore::AXIsolatedObject::accessibilityText const):
(WebCore::AXIsolatedObject::getOrRetrievePropertyValue):
(WebCore::AXIsolatedObject::innerHTML const):
(WebCore::AXIsolatedObject::outerHTML const):
(WebCore::AXIsolatedObject::getOrRetrieveStringPropertyValue):
Replaced by getOrRetrievePropertyValue<String>.
- accessibility/isolatedtree/AXIsolatedObject.h:
- accessibility/isolatedtree/mac/AXIsolatedObjectMac.mm:
(WebCore::AXIsolatedObject::descriptionAttributeValue const):
(WebCore::AXIsolatedObject::titleAttributeValue const):
- 2:06 PM Changeset in webkit [289426] by
-
- 6 edits in trunk
[css-logical] [css-animations] changing "direction" or "writing-mode" should recompute keyframes
https://bugs.webkit.org/show_bug.cgi?id=236293
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
Mark WPT progressions.
- web-platform-tests/css/css-logical/animation-002-expected.txt:
Source/WebCore:
We need to recompute keyframes based on the matching @keyframes rule in case an element running
a CSS Animation changes either "direction" or "writing-mode".
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::propertyAffectingLogicalPropertiesDidChange):
- animation/KeyframeEffect.h:
- animation/KeyframeEffectStack.cpp:
(WebCore::KeyframeEffectStack::applyKeyframeEffects):
- 1:45 PM Changeset in webkit [289425] by
-
- 8 edits in trunk/Source/WebCore
[LFC][Integration] LineIteratorModernPath::baselineType should consult Display::Line
https://bugs.webkit.org/show_bug.cgi?id=236308
Reviewed by Antti Koivisto.
LineBox -> Display::Line -> LineIteratorModernPath (and the soon-to-be-removed LayoutIntegration::Line middleman).
- layout/formattingContexts/inline/InlineLineBox.h:
(WebCore::Layout::LineBox::baselineType const):
(WebCore::Layout::LineBox::setBaselineType):
- layout/formattingContexts/inline/display/InlineDisplayLine.h:
(WebCore::InlineDisplay::Line::baselineType const):
(WebCore::InlineDisplay::Line::Line):
- layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp:
(WebCore::Layout::InlineDisplayLineBuilder::build const):
- layout/integration/InlineIteratorLineModernPath.h:
(WebCore::InlineIterator::LineIteratorModernPath::baselineType const):
- layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):
- layout/integration/LayoutIntegrationLine.h:
(WebCore::LayoutIntegration::Line::Line):
(WebCore::LayoutIntegration::Line::baselineType const):
- layout/integration/LayoutIntegrationPagination.cpp:
(WebCore::LayoutIntegration::makeAdjustedContent):
- 1:40 PM Changeset in webkit [289424] by
-
- 3 edits in trunk/LayoutTests/imported/w3c
Resync workers/modules/shared-worker-import-meta.html from upstream WPT
https://bugs.webkit.org/show_bug.cgi?id=236302
Reviewed by Yusuke Suzuki.
Resync workers/modules/shared-worker-import-meta.html from upstream WPT after https://github.com/web-platform-tests/wpt/pull/32704.
- web-platform-tests/workers/modules/shared-worker-import-meta-expected.txt:
- web-platform-tests/workers/modules/shared-worker-import-meta.html:
- 1:33 PM Changeset in webkit [289423] by
-
- 4 edits in trunk/Tools
[git-webkit] Autostash when pulling (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=235861
<rdar://problem/88298948>
Unreviewed follow-up fix.
Accidently landed a previous iteration of the change.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.Cache.clear): Handle empty cache.
(Git.pull): Only autostash when rebasing.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
- 1:31 PM Changeset in webkit [289422] by
-
- 1 edit in branches/safari-613-branch/Source/WebCore/animation/KeyframeEffect.cpp
Apply patch. rdar://problem/82516118
- 1:20 PM Changeset in webkit [289421] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick r288944. rdar://problem/88059633
[LFC][IFC] Using Fontcascade::spaceWidth to subtract the trailing space width may result in incorrect layout
https://bugs.webkit.org/show_bug.cgi?id=235937
<rdar://88059633>
Reviewed by Antti Koivisto and Simon Fraser.
Source/WebCore:
Since Fontcascade::spaceWidth always consult the primary font, it may return unexpected width value when (in rare cases)
the primary font does not have a space glyph. Legacy line layout works as expected as it always runs a full width
computation on the space character (instead of directly calling FontCascade::spaceWidth).
- layout/formattingContexts/inline/InlineItemsBuilder.cpp: (WebCore::Layout::InlineItemsBuilder::computeInlineTextItemWidths):
- layout/formattingContexts/inline/text/TextUtil.cpp: (WebCore::Layout::TextUtil::width): (WebCore::Layout::TextUtil::spaceWidth):
- layout/formattingContexts/inline/text/TextUtil.h:
LayoutTests:
- platform/mac-bigsur/fonts/monospace-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288944 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:20 PM Changeset in webkit [289420] by
-
- 4 edits in branches/safari-613-branch/Source/WebCore/layout/formattingContexts/inline
Cherry-pick r288055. rdar://problem/88059633
[LFC][IFC] imported/w3c/web-platform-tests/css/css-text/word-break/word-break-normal-ar-000.html fails with incorrect run position
https://bugs.webkit.org/show_bug.cgi?id=235011
Reviewed by Antti Koivisto.
IFC (inherited from simple line layout) uses this technique of measuring the content with the trailing whitespace
and then simply subtract the whitespace width. It enables us to keep pushing content to the line without re-measuring it each time.
(the "non-whitespace + whitespace" pattern is extremely common for IFC content).
However in some cases when the trailing whitespace is trimmed, subtracting the trimmed width from the
content width instead of measuring it produces a visually incorrect result.
This patch fixes the most obvious cases when the incorrect width turns into an offset for the RTL content.
- layout/formattingContexts/inline/InlineLine.cpp: (WebCore::Layout::Line::TrimmableTrailingContent::remove): (WebCore::Layout::Line::Run::removeTrailingLetterSpacing): (WebCore::Layout::Line::Run::removeTrailingWhitespace):
- layout/formattingContexts/inline/InlineLine.h:
- layout/formattingContexts/inline/text/TextUtil.cpp: (WebCore::Layout::TextUtil::width):
- layout/formattingContexts/inline/text/TextUtil.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288055 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:16 PM Changeset in webkit [289419] by
-
- 4 edits in trunk/Source
http/tests/cache-storage/cache-origins.https.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=236263
Reviewed by Darin Adler.
Source/WebCore:
Drop workaround landed in r289247 to try and maintain HashMap ordering.
- page/SecurityOriginData.h:
(WebCore::add):
Source/WebKit:
Update CacheStorage::Engine::representation() (which is used by the layout tests) to return
origins in a stable order in order to address test flakiness.
- NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::representation):
- 12:45 PM Changeset in webkit [289418] by
-
- 5 edits2 moves in trunk/Source/WebCore
[GTK][WPE] Fallback path for WebGL rendering with ANGLE is incorrectly scheduling on the compositor thread
https://bugs.webkit.org/show_bug.cgi?id=236290
Reviewed by Alejandro G. Castro.
Fix the WebGL ANGLE fallback path on nicosia to not incorrectly
schedule on the compositor thread.
No new tests, no change in behaviour.
- platform/TextureMapper.cmake:
- platform/graphics/angle/GraphicsContextGLANGLE.h:
- platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.cpp: Renamed from Source/WebCore/platform/graphics/nicosia/texmap/NicosiaGCGLANGLEPipe.cpp.
- platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.h: Renamed from Source/WebCore/platform/graphics/nicosia/texmap/NicosiaGCGLANGLEPipe.h.
- platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp:
(WebCore::GraphicsContextGLTextureMapper::GraphicsContextGLTextureMapper):
- platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::GraphicsContextGLANGLE):
(WebCore::GraphicsContextGLANGLE::platformDisplay const):
(WebCore::GraphicsContextGLANGLE::platformConfig const):
(WebCore::GraphicsContextGLANGLE::makeContextCurrent):
- 12:42 PM Changeset in webkit [289417] by
-
- 35 edits3 adds in trunk
[JSC] move function wrapping logic to a new Function type
https://bugs.webkit.org/show_bug.cgi?id=235382
Reviewed by Yusuke Suzuki.
JSTests:
Adds a new file testing CopyNameAndLength stuff in the ShadowRealm proposal,
and fix up assertions about this in shadow-realm-evaluate.js
- stress/shadow-realm-evaluate.js:
- stress/shadow-realm-remote-function-copy-length-and-name.js: Added.
Source/JavaScriptCore:
In this initial patch, there is still a lot of JS-builtin machinery,
including some duplicated functionality. Additionally, JIT support
has not been incorporated yet.
Broadly, the idea is that there are custom hooks for calling a
JSRemoteFunction, which perform the wrapping functionality. This avoids
the need for allocating closures which contain the wrapping logic.
TODO:
- JIT/DFG/FTL support
- structure caching (unnecessary since these are not constructors?)
- improved baseline perf
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- assembler/LinkBuffer.h:
- builtins/BuiltinNames.h:
- builtins/ShadowRealmPrototype.js:
- bytecode/LinkTimeConstant.h:
- dfg/DFGSpeculativeJIT.cpp:
- ftl/FTLLowerDFGToB3.cpp:
- heap/Heap.cpp:
- heap/Heap.h:
- inspector/JSInjectedScriptHost.cpp:
- interpreter/Interpreter.cpp:
- jit/AssemblyHelpers.h:
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- jit/ThunkGenerators.cpp:
- jit/ThunkGenerators.h:
- jsc.cpp:
- runtime/ErrorInstance.cpp:
- runtime/FunctionPrototype.cpp:
- runtime/InternalFunction.cpp:
- runtime/Intrinsic.cpp:
- runtime/Intrinsic.h:
- runtime/JSCast.h:
- runtime/JSFunction.cpp:
- runtime/JSFunction.h:
- runtime/JSFunctionInlines.h:
- runtime/JSGlobalObject.cpp:
- runtime/JSGlobalObject.h:
- runtime/JSRemoteFunction.cpp: Added.
- runtime/JSRemoteFunction.h: Added.
- runtime/VM.cpp:
- runtime/VM.h:
- 12:25 PM Changeset in webkit [289416] by
-
- 17 edits2 adds in trunk
Web Inspector: [Flexbox] Add support for showing/hiding flex container overlays and basic overlay drawing
https://bugs.webkit.org/show_bug.cgi?id=236013
<rdar://87893201>
Reviewed by Patrick Angle.
Source/JavaScriptCore:
Add new commands to show and hide flex overlays.
- inspector/protocol/DOM.json:
Source/WebCore:
Test: inspector/dom/showFlexOverlay.html
- The test follows the example for checking grid overlays at inspector/dom/showGridOverlay.html
Implement backend commands to toggle the visibility of a specialized page overlay shown on top of a flex container.
At this stage, the overlay consists of an outline around the bounding box of the flex container.
Future patches will add more detail regarding flex items and gaps between them.
This patch follows closely the example for toggling the visibility of CSS Grid overlays implemented in
https://bugs.webkit.org/show_bug.cgi?id=221062
- inspector/InspectorController.cpp:
(WebCore::InspectorController::flexOverlayCount const):
- inspector/InspectorController.h:
- inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::paint):
(WebCore::InspectorOverlay::getHighlight):
(WebCore::InspectorOverlay::shouldShowOverlay const):
(WebCore::InspectorOverlay::removeFlexOverlayForNode):
(WebCore::InspectorOverlay::setFlexOverlayForNode):
(WebCore::InspectorOverlay::clearFlexOverlayForNode):
(WebCore::InspectorOverlay::clearAllFlexOverlays):
- Maintain a list of active flex overlays. A node can have only one flex overlay at a time.
(WebCore::InspectorOverlay::drawFlexOverlay):
(WebCore::InspectorOverlay::buildFlexOverlay):
- inspector/InspectorOverlay.h:
(WebCore::InspectorOverlay::flexOverlayCount const):
(WebCore::InspectorOverlay::Highlight::FlexHighlightOverlay::encode const):
(WebCore::InspectorOverlay::Highlight::FlexHighlightOverlay::decode):
- The signature of the flex overlay includes the color for the outline and a quad expressing the bounding box of the flex container.
- inspector/agents/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::showFlexOverlay):
(WebCore::InspectorDOMAgent::hideFlexOverlay):
- Translate protocol commands into InspectorOverlay method calls.
- inspector/agents/InspectorDOMAgent.h:
- testing/Internals.cpp:
(WebCore::Internals::inspectorFlexOverlayCount):
- testing/Internals.h:
- testing/Internals.idl:
- Helper used in testing to check the number of shown flex overlays.
Source/WebKit:
Add basic logic to draw a flex overlay on top of a flex container on iOS/iPadOS. Used by Web Inspector.
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<InspectorOverlay::Highlight>::encode):
(IPC::ArgumentCoder<InspectorOverlay::Highlight>::decode):
- UIProcess/Inspector/ios/WKInspectorHighlightView.mm:
(-[WKInspectorHighlightView drawRect:]):
LayoutTests:
- inspector/dom/showFlexOverlay-expected.txt: Added.
- inspector/dom/showFlexOverlay.html: Added.
- inspector/dom/showGridOverlay.html:
- Drive-by clean-up of out-of-context comments.
- 11:59 AM Changeset in webkit [289415] by
-
- 5 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r288090. rdar://problem/87601499
Frequent GPU process jetsams due to RemoteRenderingBackendProxy not claiming ownership of SharedMemory buffers
https://bugs.webkit.org/show_bug.cgi?id=235226
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-01-17
Reviewed by Simon Fraser.
Claim memory from SharedBitmaps and SharedMemory that RemoteRenderingBackendProxy
asks and receives from RemoteRenderingBackend. This is not very good,
as GPUP allocates most of the memory and thus might jetsam
before WP claims them. However, that is a bigger change to be done
after this one.
No new tests, hard to test currently.
- Shared/ShareableBitmap.cpp: (WebKit::ShareableBitmap::Handle::takeOwnershipOfMemory const):
- Shared/ShareableBitmap.h:
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp: (WebKit::RemoteRenderingBackendProxy::getShareableBitmap): (WebKit::RemoteRenderingBackendProxy::getFilteredImage):
- WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp: (WebKit::RemoteResourceCacheProxy::recordNativeImageUse):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288090 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:55 AM Changeset in webkit [289414] by
-
- 2 edits in branches/safari-613-branch/Source/JavaScriptCore
Cherry-pick r289076. rdar://problem/88269480
Unreviewed, remove UnlinkedMetadataTable::offsetInMetadataTable since it is no longer used
https://bugs.webkit.org/show_bug.cgi?id=236063
Follow-up after Saam's comment.
- bytecode/UnlinkedMetadataTable.h: (JSC::UnlinkedMetadataTable::offsetInMetadataTable): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289076 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:55 AM Changeset in webkit [289413] by
-
- 5 edits in branches/safari-613-branch/Source/JavaScriptCore
Cherry-pick r289037. rdar://problem/88269480
[JSC] Use MetadataTable instead of UnlinkedMetadataTable
https://bugs.webkit.org/show_bug.cgi?id=236063
rdar://88269480
Reviewed by Robin Morisset.
Use MetadataTable from profiled CodeBlock instead of UnlinkedMetadataTable in concurrent JIT compiler.
- bytecode/MetadataTable.h: (JSC::MetadataTable::offsetInMetadataTable):
- bytecode/UnlinkedMetadataTable.h: (JSC::UnlinkedMetadataTable::offsetInMetadataTable):
- jit/JITInlines.h: (JSC::JIT::emitValueProfilingSite): (JSC::JIT::loadPtrFromMetadata): (JSC::JIT::load32FromMetadata): (JSC::JIT::load8FromMetadata): (JSC::JIT::store8ToMetadata): (JSC::JIT::store32ToMetadata): (JSC::JIT::materializePointerIntoMetadata):
- jit/JITPropertyAccess.cpp: (JSC::JIT::emit_op_resolve_scope): (JSC::JIT::emit_op_get_from_scope):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289037 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:55 AM Changeset in webkit [289412] by
-
- 3 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288435. rdar://problem/83668578
MediaStream canvas.captureStream() playback to LocalSampleBufferDisplayLayer is flaky
https://bugs.webkit.org/show_bug.cgi?id=230623
<rdar://problem/83668578>
Reviewed by Kimmo Kinnunen.
There are a few issues when creating the video element, setting the srcObject and playing it right away.
The first thing is that we try to render the video element while thinking that it might be video accelerated
(it is always the case for MediaStreamTrack based tracks), but the video element is asynchronously updating whether it is accelerated.
Following what other MediaPlayerPrivate are doing, when MediaPlayerPrivateMediaStreamAVFObjC has set up its video layers,
we schedule a call to renderingModeChanged which will trigger a relayout.
We also ensure, when the layer is fully initialized to set all values (bounds, hide states) as otherwise, this might be lost on GPUProcess
which currently does not register a RemoteSampleBufferDisplayLayer at the time the corresponding IPC message is received.
The additional issue is in the case the MediaStreamTrack source only generates one frame for some time.
In that case, and if the frame is enqueueud while setting up the video layers, we were not rendering this frame.
To fix this, when the video layers are ready, we reenqueue the last video frame as neeeded.
Manually tested.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288435 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:51 AM Changeset in webkit [289411] by
-
- 11 edits1 add in trunk
[git-webkit] Allow repositories to declare their bug trackers
https://bugs.webkit.org/show_bug.cgi?id=236306
<rdar://problem/88633018>
Reviewed by Dewei Zhu.
- metadata/trackers.json: Added.
- Tools/Scripts/libraries/webkitbugspy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/init.py: Ditto.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/bugzilla.py:
(Tracker.init): Raise correct exception.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py:
(Tracker.init): Raise correct exception.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/tracker.py:
(Tracker.from_json): Handle list or tuple input.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git): Use shared METADATA declaration.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:
(Scm.init): Register any bug trackers associated with the repository.
Canonical link: https://commits.webkit.org/246978@main
- 11:32 AM Changeset in webkit [289410] by
-
- 2 edits in trunk/Source/WebCore
Make HTMLToken::beginStartTag tag an 8 bit character
https://bugs.webkit.org/show_bug.cgi?id=236283
Reviewed by Sam Weinig.
HTMLToken::beginStartTag is only ever called with an ASCII lowercase
letter. It can take an LChar instead of a UChar, and we can avoid
updating m_data8BitCheck.
- html/parser/HTMLToken.h:
(WebCore::HTMLToken::beginStartTag):
- 11:30 AM Changeset in webkit [289409] by
-
- 3 edits in trunk/Source/WebCore
[WebXR] Ensure only one frame update can be requested with the device at any time
https://bugs.webkit.org/show_bug.cgi?id=236247
Patch by Ada Chan <ada.chan@apple.com> on 2022-02-08
Reviewed by Dean Jackson.
Rename WebXRSession::requestFrame() to WebXRSession::requestFrameIfNeeded()
with logic added to determine whether a new frame update request should be
sent to the device. The boolean m_isDeviceFrameRequestPending tracks whether
a frame request is pending with the device, and requestFrameIfNeeded() should
bail early if that boolean is true.
- Modules/webxr/WebXRSession.cpp:
(WebCore::WebXRSession::requestAnimationFrame):
(WebCore::WebXRSession::updateSessionVisibilityState):
(WebCore::WebXRSession::requestFrameIfNeeded):
(WebCore::WebXRSession::onFrame):
(WebCore::WebXRSession::requestFrame): Deleted.
- Modules/webxr/WebXRSession.h:
- 11:29 AM Changeset in webkit [289408] by
-
- 2 edits in trunk/LayoutTests
Unreviewed gardening.
- gpu-process/TestExpectations:
- 11:22 AM Changeset in webkit [289407] by
-
- 3 edits in branches/safari-613.1.16.2-branch/Source/WebCore
Cherry-pick r288539. rdar://problem/87986840
Expand RefPtr / Ref use in FrameLoader
https://bugs.webkit.org/show_bug.cgi?id=235551
rdar://87986840
Reviewed by Mark Lam.
Apply Ref / RefPtr instead of taking SerializedScriptValue*.
- loader/FrameLoader.cpp: (WebCore::FrameLoader::loadInSameDocument): (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
- loader/FrameLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288539 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:21 AM Changeset in webkit [289406] by
-
- 9 edits in branches/safari-613.1.16.2-branch/Source
Versioning.
WebKit-7613.1.16.2.1
- 11:18 AM Changeset in webkit [289405] by
-
- 3 edits in branches/safari-613.1.16.3-branch/Source/JavaScriptCore
Cherry-pick r289354. rdar://problem/88611690
Wasm crash on https://copy.sh/v86/?profile=dsl
https://bugs.webkit.org/show_bug.cgi?id=236037
rdar://88358719
Reviewed by Mark Lam.
Lower stack args in Air had a bug where it was emitting a constant
materialization at the wrong instruction offset for certain types
of spill instructions. This happens when we have a stack slot that
is 8 bytes wide, but we're emitting a zero def Move32. We need to
zero the upper 4 bytes. However, there is also code inside lower
stack args that uses the temp register when encountering offsets
that are too large to encode in a single instruction. However,
this offset materialization code for the second Move32 to zero
the upper bytes was happening before the actual store. For example,
we'd end up with:
movz x16, #k
movz x16, #k2
stur x1, [x16]
stur zr, [x16]
instead of
movz x16, #k
stur x1, [x16]
movz x16, #k2
stur zr, [x16]
- b3/air/AirLowerStackArgs.cpp: (JSC::B3::Air::lowerStackArgs):
- b3/air/testair.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289354 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:18 AM Changeset in webkit [289404] by
-
- 3 edits in branches/safari-613.1.16.3-branch/Source/JavaScriptCore
Cherry-pick r289024. rdar://problem/88222677
SecureARM64EHashPins should check g_jscConfig.useFastJITPermissions
https://bugs.webkit.org/show_bug.cgi?id=236055
<rdar://88222677>
Reviewed by Mark Lam.
- assembler/SecureARM64EHashPins.cpp: (JSC::SecureARM64EHashPins::initializeAtStartup): (JSC::SecureARM64EHashPins::allocatePinForCurrentThread): (JSC::SecureARM64EHashPins::deallocatePinForCurrentThread):
- assembler/SecureARM64EHashPinsInlines.h: (JSC::SecureARM64EHashPins::pinForCurrentThread):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:18 AM Changeset in webkit [289403] by
-
- 3 edits in branches/safari-613.1.16.3-branch/Source/WebCore
Cherry-pick r288539. rdar://problem/87986840
Expand RefPtr / Ref use in FrameLoader
https://bugs.webkit.org/show_bug.cgi?id=235551
rdar://87986840
Reviewed by Mark Lam.
Apply Ref / RefPtr instead of taking SerializedScriptValue*.
- loader/FrameLoader.cpp: (WebCore::FrameLoader::loadInSameDocument): (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
- loader/FrameLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288539 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:15 AM Changeset in webkit [289402] by
-
- 17 edits in trunk/LayoutTests
Unreviewed gardening.
LayoutTests/imported/mozilla:
- svg/opacity-and-gradient-02.svg: Expand pixel range based on EWS run.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-backgrounds/border-image-repeat-space-7.html: Expand pixel range based on EWS data.
- web-platform-tests/css/css-text/shaping/shaping-arabic-diacritics-001.html:
LayoutTests:
Reflecting pixel diffs from EWS run.
- css1/basic/class_as_selector.html:
- css3/background/background-repeat-round-auto1.html:
- css3/background/background-repeat-space-content.html:
- css3/color/box-shadows.html:
- css3/color/gradients.html:
- fast/css/heightless-list-item.html:
- fast/css/object-position/object-position-img-svg.html:
- fast/gradients/alpha-premultiplied.html:
- fast/text/simple-line-layout-line-box-contain-glyphs.html:
- fast/text/simple-line-layout-text-position-with-stroke.html:
- svg/animations/multiple-animateTransform-additive-sum.svg:
- 11:14 AM Changeset in webkit [289401] by
-
- 3 edits in branches/safari-613.1.16.0-branch/Source/JavaScriptCore
Cherry-pick r289354. rdar://problem/88611690
Wasm crash on https://copy.sh/v86/?profile=dsl
https://bugs.webkit.org/show_bug.cgi?id=236037
rdar://88358719
Reviewed by Mark Lam.
Lower stack args in Air had a bug where it was emitting a constant
materialization at the wrong instruction offset for certain types
of spill instructions. This happens when we have a stack slot that
is 8 bytes wide, but we're emitting a zero def Move32. We need to
zero the upper 4 bytes. However, there is also code inside lower
stack args that uses the temp register when encountering offsets
that are too large to encode in a single instruction. However,
this offset materialization code for the second Move32 to zero
the upper bytes was happening before the actual store. For example,
we'd end up with:
movz x16, #k
movz x16, #k2
stur x1, [x16]
stur zr, [x16]
instead of
movz x16, #k
stur x1, [x16]
movz x16, #k2
stur zr, [x16]
- b3/air/AirLowerStackArgs.cpp: (JSC::B3::Air::lowerStackArgs):
- b3/air/testair.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289354 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:14 AM Changeset in webkit [289400] by
-
- 3 edits in branches/safari-613.1.16.0-branch/Source/JavaScriptCore
Cherry-pick r289024. rdar://problem/88222677
SecureARM64EHashPins should check g_jscConfig.useFastJITPermissions
https://bugs.webkit.org/show_bug.cgi?id=236055
<rdar://88222677>
Reviewed by Mark Lam.
- assembler/SecureARM64EHashPins.cpp: (JSC::SecureARM64EHashPins::initializeAtStartup): (JSC::SecureARM64EHashPins::allocatePinForCurrentThread): (JSC::SecureARM64EHashPins::deallocatePinForCurrentThread):
- assembler/SecureARM64EHashPinsInlines.h: (JSC::SecureARM64EHashPins::pinForCurrentThread):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:14 AM Changeset in webkit [289399] by
-
- 3 edits in branches/safari-613.1.16.0-branch/Source/WebCore
Cherry-pick r288539. rdar://problem/87986840
Expand RefPtr / Ref use in FrameLoader
https://bugs.webkit.org/show_bug.cgi?id=235551
rdar://87986840
Reviewed by Mark Lam.
Apply Ref / RefPtr instead of taking SerializedScriptValue*.
- loader/FrameLoader.cpp: (WebCore::FrameLoader::loadInSameDocument): (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
- loader/FrameLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288539 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:14 AM Changeset in webkit [289398] by
-
- 9 edits in branches/safari-613.1.16.3-branch/Source
Versioning.
WebKit-7613.1.16.3.1
- 11:09 AM Changeset in webkit [289397] by
-
- 9 edits in branches/safari-613.1.16.0-branch/Source
Versioning.
WebKit-7613.1.16.0.5
- 10:57 AM Changeset in webkit [289396] by
-
- 17 edits in trunk
Conversion to a color space with a smaller gamut should perform gamut mapping
https://bugs.webkit.org/show_bug.cgi?id=236200
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Update tests to include more examples that force gamut mapping and update the results
of a few existing ones to account for the new algorithm.
- web-platform-tests/css/css-color/parsing/color-mix-computed-expected.txt:
- web-platform-tests/css/css-color/parsing/color-mix-computed.html:
- web-platform-tests/css/css-color/parsing/color-mix-valid-expected.txt:
- web-platform-tests/css/css-color/parsing/color-mix-valid.html:
- web-platform-tests/css/css-color/parsing/relative-color-computed-expected.txt:
- web-platform-tests/css/css-color/parsing/relative-color-computed.html:
- web-platform-tests/css/css-color/parsing/relative-color-valid-expected.txt:
- web-platform-tests/css/css-color/parsing/relative-color-valid.html:
Source/WebCore:
CSS Color now defines that gamut mapping should happen when converting to an RGB color space
with bounded gamut that is smaller than the origin color's color space. Specifically, it
specifies the use of a new "CSS gamut mapping algorithm" https://drafts.csswg.org/css-color/#css-gamut-mapping
which implements a relative colorimetric intent mapping with colors inside the destination
gamut unchanged.
The previous behavior we implemented was to clip out of gamut colors to the gamut (e.g.
color(srgb 1.4 -0.2 .5) would become color(srgb 1 0 .5)) which can lead to very odd results.
To keep things simple, the gamut mapping has been incorporated directly into the main color
conversion pipeline, replacing the call to makeFromComponentsClampingExceptAlpha in toBounded()
with one implements the new algorithm. To accomadate this, the pipeline was modified so that
the matrix conversions now only happen to/from extended-linear and XYZ color types, rather than
the old behavior which allowed shortcuting from bounded-linear, which was ok because the clip
would result in the same value. Since conversion from bounded-linear to extended-linear is free
(just a type change, no conversion), the only additional cost here is the gamut mapping.
The implementation of the CSS gamut mapping algorithm itself is a naive iterative bisection
implementation based on the psuedo-code from the spec. As an optimization in the future, we should
consider implementing an analytic solution, which will be more complicated, but likely faster.
Currently, the only place where the effect of this new gamut mapping behavior will be visible is
via functions that explicitly convert to a bounded color space, specifically the CSS color-mix()
function and relative color syntax. Ultimately, we should also be using this to map CSS colors
to the output color space of the screen / HTML canvas, but finding the right place to do that
is not a part of this initial change.
- platform/graphics/ColorConversion.cpp:
(WebCore::ColorConversion<Lab<float>, XYZA<float, WhitePoint::D50>>::convert):
(WebCore::ColorConversion<OKLab<float>, XYZA<float, WhitePoint::D65>>::convert):
Add call to makeFromComponentsClampingExceptAlpha at the end of conversion to Lab/OKLab
as the conversion functions can produce lightness values just ever so less than 0.
In practice, only the lightness value is bounded, so it is the only thing that actually
gets clamped thanks to the constexpr nature of clampedComponent().
- platform/graphics/ColorConversion.h:
(WebCore::computeDeltaEOK):
Add implementation of the deltaEOK algorithm.
(WebCore::ClipGamutMapping::mapToBoundedGamut):
Add implementation of the degenerate gamut mapping algorithm.
(WebCore::CSSGamutMapping::mapToBoundedGamut):
Add implementation of the CSS gamut mapping algorithm.
(WebCore::ColorConversion::convert):
Add a new step to the main pipeline that explicitly handles bounds conversions to/from
extended-linear so that the matrix conversions can rely on always working in extended space.
(WebCore::ColorConversion::toBounded):
Replace call to clamp with call out to gamut mapping algorithm.
(WebCore::ColorConversion::handleMatrixConversion):
Replace makeFromComponentsClampingExceptAlpha with makeFromComponents now that all conversions
are in the extended space and clamping is no-op.
- platform/graphics/ColorTypes.h:
(WebCore::inGamut):
(WebCore::colorIfInGamut):
(WebCore::clipToGamut):
Add some helpers to check/convert/clip to the bounded gamut of RGB types.
Tools:
- TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
(TestWebKitAPI::TEST):
Update color conversion tests to account for gamut mapping and add a new test
that bypasses gamut mapping by converting to extended sRGB.
LayoutTests:
- platform/gtk/TestExpectations:
Add more tests that are only failing on the GTK bots due to a small floating point issues that needs further investigation.
- 10:55 AM Changeset in webkit [289395] by
-
- 3 edits in branches/safari-613.1.16.1-branch/Source/JavaScriptCore
Cherry-pick r289354. rdar://problem/88611690
Wasm crash on https://copy.sh/v86/?profile=dsl
https://bugs.webkit.org/show_bug.cgi?id=236037
rdar://88358719
Reviewed by Mark Lam.
Lower stack args in Air had a bug where it was emitting a constant
materialization at the wrong instruction offset for certain types
of spill instructions. This happens when we have a stack slot that
is 8 bytes wide, but we're emitting a zero def Move32. We need to
zero the upper 4 bytes. However, there is also code inside lower
stack args that uses the temp register when encountering offsets
that are too large to encode in a single instruction. However,
this offset materialization code for the second Move32 to zero
the upper bytes was happening before the actual store. For example,
we'd end up with:
movz x16, #k
movz x16, #k2
stur x1, [x16]
stur zr, [x16]
instead of
movz x16, #k
stur x1, [x16]
movz x16, #k2
stur zr, [x16]
- b3/air/AirLowerStackArgs.cpp: (JSC::B3::Air::lowerStackArgs):
- b3/air/testair.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289354 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:55 AM Changeset in webkit [289394] by
-
- 3 edits in branches/safari-613.1.16.1-branch/Source/JavaScriptCore
Cherry-pick r289024. rdar://problem/88222677
SecureARM64EHashPins should check g_jscConfig.useFastJITPermissions
https://bugs.webkit.org/show_bug.cgi?id=236055
<rdar://88222677>
Reviewed by Mark Lam.
- assembler/SecureARM64EHashPins.cpp: (JSC::SecureARM64EHashPins::initializeAtStartup): (JSC::SecureARM64EHashPins::allocatePinForCurrentThread): (JSC::SecureARM64EHashPins::deallocatePinForCurrentThread):
- assembler/SecureARM64EHashPinsInlines.h: (JSC::SecureARM64EHashPins::pinForCurrentThread):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:55 AM Changeset in webkit [289393] by
-
- 2 edits in branches/safari-613.1.16.1-branch/Source/WebCore
Cherry-pick r288933. rdar://problem/87402941
Crash under ScrollingCoordinatorMac::hasNodeWithAnimatedScrollChanged()
https://bugs.webkit.org/show_bug.cgi?id=235989
<rdar://87402941>
Reviewed by Wenson Hsieh.
Crash data suggest that m_scrollingCoordinator can be null in ThreadedScrollingTree::hasNodeWithAnimatedScrollChanged(),
which is true if the scrolling tree keeps ThreadedScrollingTree alive longer than the scrolling coordinator.
As in the other functions in this file, early return if m_scrollingCoordinator is null.
- page/scrolling/ThreadedScrollingTree.cpp: (WebCore::ThreadedScrollingTree::hasNodeWithAnimatedScrollChanged):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288933 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:55 AM Changeset in webkit [289392] by
-
- 7 edits in branches/safari-613.1.16.1-branch/Source
Cherry-pick r288922. rdar://problem/88172449
[WP] Remove PostScript conversion code
https://bugs.webkit.org/show_bug.cgi?id=235892
<rdar://88172449>
Reviewed by Tim Horton.
The WebContent process no longer has access to the PostScript conversion service, so there is no need to keep this code.
Source/WebCore:
- loader/cache/CachedImage.cpp: (WebCore::CachedImage::convertedDataIfNeeded const):
- platform/graphics/cg/PDFDocumentImage.cpp: (WebCore::PDFDocumentImage::convertPostScriptDataToPDF): Deleted.
- platform/graphics/cg/PDFDocumentImage.h:
Source/WebKit:
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/Plugins/PDF/PDFPlugin.mm: (WebKit::PDFPlugin::pluginInfo): (WebKit::PDFPlugin::streamDidReceiveResponse): (WebKit::PDFPlugin::manualStreamDidReceiveResponse):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288922 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:55 AM Changeset in webkit [289391] by
-
- 2 edits in branches/safari-613.1.16.1-branch/Source/WebKit
Cherry-pick r288848. rdar://problem/86950638
Web Inspector: [Cocoa] Crash in WebKit::WebInspectorUIProxy::attachmentViewDidChange
https://bugs.webkit.org/show_bug.cgi?id=235842
Reviewed by Timothy Hatcher.
Speculatively fix an occasional crash in WebKit::WebInspectorUIProxy::attachmentViewDidChange by ensuring that
the WebInspectorUIProxy still exists before callingattachmentViewDidChange.
Currently we are sometimes crashing while attempting to
m_objCAdapter.get(), which is the first use of a
member variable inWebInspectorUIProxy::attachmentViewDidChange. This retain pointer should never be able to
not exists, since it storingnilis a valid state. This points to the WebInspectorUIProxy itself no longer
existing. The fix is to check that we actually have aWebInspectorUIProxybefore calling
attachmentViewDidChange. This is also just good practice sinceWebPageProxy::inspector()is also able to
returnnullptrunder certain circumstances, and all other calls to it are guarded to check if the
WebInspectorUIProxy is still around first.
- UIProcess/Cocoa/WebViewImpl.mm: (WebKit::WebViewImpl::setInspectorAttachmentView):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288848 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:55 AM Changeset in webkit [289390] by
-
- 3 edits in branches/safari-613.1.16.1-branch/Source/WebKit
Cherry-pick r288825. rdar://problem/88172449
[WP] Remove PostScript conversion code
https://bugs.webkit.org/show_bug.cgi?id=235892
<rdar://88172449>
Reviewed by Brent Fulgham.
The WebContent process no longer has access to the PostScript conversion service, so there is no need to keep this code.
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/Plugins/PDF/PDFPlugin.mm: (WebKit::PDFPlugin::streamDidFinishLoading): (WebKit::PDFPlugin::manualStreamDidFinishLoading): (WebKit::PDFPlugin::convertPostScriptDataIfNeeded): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288825 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:55 AM Changeset in webkit [289389] by
-
- 2 edits in branches/safari-613.1.16.1-branch/Source/WebKit
Cherry-pick r288776. rdar://problem/88214729
[macOS][WP] Temporarily add syscall to sandbox
https://bugs.webkit.org/show_bug.cgi?id=235841
<rdar://88197549>
Reviewed by Brent Fulgham.
Temporarily add syscall to sandbox in the WebContent process on macOS. This can be removed when <rdar://88210738> is fixed.
- WebProcess/com.apple.WebProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288776 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:55 AM Changeset in webkit [289388] by
-
- 3 edits in branches/safari-613.1.16.1-branch/Source/WebCore
Cherry-pick r288539. rdar://problem/87986840
Expand RefPtr / Ref use in FrameLoader
https://bugs.webkit.org/show_bug.cgi?id=235551
rdar://87986840
Reviewed by Mark Lam.
Apply Ref / RefPtr instead of taking SerializedScriptValue*.
- loader/FrameLoader.cpp: (WebCore::FrameLoader::loadInSameDocument): (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
- loader/FrameLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288539 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:49 AM Changeset in webkit [289387] by
-
- 9 edits in branches/safari-613.1.16.1-branch/Source
Versioning.
WebKit-7613.1.16.1.4
- 10:36 AM Changeset in webkit [289386] by
-
- 6 edits in trunk/Tools
[git-webkit] Autostash when pulling
https://bugs.webkit.org/show_bug.cgi?id=235861
<rdar://problem/88298948>
Reviewed by Ryosuke Niwa.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.pull): Pass --autostash when pulling and resetting timestamps.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: Handle --autostash.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
Canonical link: https://commits.webkit.org/246972@main
- 10:20 AM Changeset in webkit [289385] by
-
- 3 edits in branches/safari-613-branch/Source/JavaScriptCore
Cherry-pick r289354. rdar://problem/88611690
Wasm crash on https://copy.sh/v86/?profile=dsl
https://bugs.webkit.org/show_bug.cgi?id=236037
rdar://88358719
Reviewed by Mark Lam.
Lower stack args in Air had a bug where it was emitting a constant
materialization at the wrong instruction offset for certain types
of spill instructions. This happens when we have a stack slot that
is 8 bytes wide, but we're emitting a zero def Move32. We need to
zero the upper 4 bytes. However, there is also code inside lower
stack args that uses the temp register when encountering offsets
that are too large to encode in a single instruction. However,
this offset materialization code for the second Move32 to zero
the upper bytes was happening before the actual store. For example,
we'd end up with:
movz x16, #k
movz x16, #k2
stur x1, [x16]
stur zr, [x16]
instead of
movz x16, #k
stur x1, [x16]
movz x16, #k2
stur zr, [x16]
- b3/air/AirLowerStackArgs.cpp: (JSC::B3::Air::lowerStackArgs):
- b3/air/testair.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289354 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:20 AM Changeset in webkit [289384] by
-
- 2 edits in branches/safari-613-branch/LayoutTests
Cherry-pick r287055. rdar://problem/86488039
REGRESSION (r286982): ASSERTION FAILED: clipRectsContext.rootLayer == m_clipRectsCache->m_clipRectsRoot[clipRectsType]
https://bugs.webkit.org/show_bug.cgi?id=234315
Unreviewed test gardening.
- TestExpectations: Skip the test.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287055 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:53 AM Changeset in webkit [289383] by
-
- 7 edits in trunk/Source/WebCore
[WebCore] JSValueInWrappedObject is not correct for concurrent GC
https://bugs.webkit.org/show_bug.cgi?id=236277
rdar://88366849
Reviewed by Saam Barati.
JSValueInWrappedObject is broken for concurrent GC's marking. It is using std::variant<> to store Weak / JSValue,
which is not safe if concurrent GC reads it while changing that std::variant. This patch fixes several problems
in JSValueInWrappedObject.
- We must not use std::variant here since concurrent access can happen. We have both JSValue and Weak, and change Weak after fully initialize WeakImpl's content in Weak. To ensure that, we emit storeStoreBarrier before setting Weak to the JSValueInWrappedObject's field.
- Assignment operator & copy constructor are basically wrong for this class as we need a write-barrier to set a value to the field. We remove them and make it explicit that we do not have write-barrier, which reveals that IDBRequest has a semantic bug.
- We also add clear() instead of assigning empty JSValueInWrappedObject. And we ensure that this new clear() works well with concurrent GC threads: we clear the underlying WeakImpl* pointer to nullptr. But since WeakImpl* is kept alive until GC clears weak-related things in its end phase, concurrent GC thread can access the old WeakImpl*.
- Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::setGetResult):
- Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::setResult):
(WebCore::IDBRequest::setResultToStructuredClone):
(WebCore::IDBRequest::setResultToUndefined):
(WebCore::IDBRequest::willIterateCursor):
(WebCore::IDBRequest::didOpenOrIterateCursor):
- Modules/paymentrequest/PaymentMethodChangeEvent.cpp:
- Modules/paymentrequest/PaymentResponse.cpp:
(WebCore::PaymentResponse::setDetailsFunction):
- Modules/webaudio/AudioBuffer.cpp:
(WebCore::AudioBuffer::getChannelData):
(WebCore::AudioBuffer::visitChannelWrappers):
- bindings/js/JSValueInWrappedObject.h:
(WebCore::JSValueInWrappedObject::JSValueInWrappedObject):
(WebCore::JSValueInWrappedObject::operator JSC::JSValue const):
(WebCore::JSValueInWrappedObject::visit const):
(WebCore::JSValueInWrappedObject::setWeakly):
(WebCore::JSValueInWrappedObject::set):
(WebCore::JSValueInWrappedObject::clear):
(WebCore::JSValueInWrappedObject::setWithoutBarrier):
(WebCore::cachedPropertyValue):
(WebCore::JSValueInWrappedObject::makeValue): Deleted.
(WebCore::JSValueInWrappedObject::operator=): Deleted.
- 9:51 AM Changeset in webkit [289382] by
-
- 2 edits in trunk/Source/WTF
[macOS] Update requirements for ScreenCaptureKit
https://bugs.webkit.org/show_bug.cgi?id=236304
rdar://88593324
Reviewed by Youenn Fablet.
- wtf/PlatformHave.h:
- 9:14 AM Changeset in webkit [289381] by
-
- 10 edits2 adds in trunk
LibWebRTCCodecs SharedVideoFrameWriters can deadlock in case of GPUProcess crash
https://bugs.webkit.org/show_bug.cgi?id=236132
Reviewed by Eric Carlson.
Source/WebKit:
When sending sampels through SharedVideoFrameWriters, we might lock on a binary semaphore controlled by GPUProcess.
It is not always the case that the semaphore will unblock in case of GPUProcess crash for instance.
To prevent this, whenever we detect a GPUProcess crash, we disable SharedVideoFrameWriters, which has the effect of
disabling semaphore wait for future call and unlocking any current wait by calling semaphore.signal.
Then, the SharedVideoFrameWriter is recreated as needed by owner classes such as LibWebRTCCodecs or SampleBufferDisplayLayer.
In the case of LibWebRTCCodecs, we further reduce locking cases by introducing a lock dedicated to encoders.
Previously, the lock for encoders was also encompassing the codecs connection and the decoders.
Test: webrtc/vp8-then-h264-gpu-process-crash.html
- WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:
- WebProcess/GPU/webrtc/LibWebRTCCodecs.h:
- WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
- WebProcess/GPU/webrtc/MediaRecorderPrivate.h:
- WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp:
- WebProcess/GPU/webrtc/SharedVideoFrame.cpp:
- WebProcess/GPU/webrtc/SharedVideoFrame.h:
LayoutTests:
- platform/gtk/TestExpectations: Skip test as it is crashing in GTK bot.
- webrtc/vp8-then-h264-gpu-process-crash-expected.txt: Added.
- webrtc/vp8-then-h264-gpu-process-crash.html: Added.
- 9:03 AM Changeset in webkit [289380] by
-
- 2 edits in trunk/Source/WebKit
Reduce allocations and increase thread safety of constructedPath
https://bugs.webkit.org/show_bug.cgi?id=236286
<rdar://86904276>
Patch by Alex Christensen <achristensen@webkit.org> on 2022-02-08
Reviewed by Chris Dumez.
- UIProcess/API/APIContentRuleListStore.cpp:
(API::constructedPathPrefix):
(API::ContentRuleListStore::getAvailableContentRuleListIdentifiers):
- 8:57 AM Changeset in webkit [289379] by
-
- 7 edits2 moves in trunk/Source/WebKit
Rename ImageBufferShareableIOSurfaceBackend to ImageBufferRemoteIOSurfaceBackend
https://bugs.webkit.org/show_bug.cgi?id=236267
Reviewed by Tim Horton.
Most of the functions on ImageBufferShareableIOSurfaceBackend are stubs that RELEASE_ASSERT;
it's "remote" role is more important that it's "shareable" role, so rename it.
- SourcesCocoa.txt:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/GPU/graphics/PlatformImageBufferShareableBackend.h:
- WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.cpp: Renamed from Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.cpp.
(WebKit::ImageBufferRemoteIOSurfaceBackend::calculateSafeBackendSize):
(WebKit::ImageBufferRemoteIOSurfaceBackend::calculateMemoryCost):
(WebKit::ImageBufferRemoteIOSurfaceBackend::calculateExternalMemoryCost):
(WebKit::ImageBufferRemoteIOSurfaceBackend::create):
(WebKit::ImageBufferRemoteIOSurfaceBackend::createImageBufferBackendHandle const):
(WebKit::ImageBufferRemoteIOSurfaceBackend::context const):
(WebKit::ImageBufferRemoteIOSurfaceBackend::backendSize const):
(WebKit::ImageBufferRemoteIOSurfaceBackend::bytesPerRow const):
(WebKit::ImageBufferRemoteIOSurfaceBackend::copyNativeImage const):
(WebKit::ImageBufferRemoteIOSurfaceBackend::copyImage const):
(WebKit::ImageBufferRemoteIOSurfaceBackend::draw):
(WebKit::ImageBufferRemoteIOSurfaceBackend::drawPattern):
(WebKit::ImageBufferRemoteIOSurfaceBackend::toDataURL const):
(WebKit::ImageBufferRemoteIOSurfaceBackend::toData const):
(WebKit::ImageBufferRemoteIOSurfaceBackend::getPixelBuffer const):
(WebKit::ImageBufferRemoteIOSurfaceBackend::putPixelBuffer):
- WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.h: Renamed from Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.h.
- 8:55 AM Changeset in webkit [289378] by
-
- 5 edits in trunk
Enable GPU Process for WebGL by default on iOS
https://bugs.webkit.org/show_bug.cgi?id=236218
Reviewed by Kimmo Kinnunen.
Tools:
- WebKitTestRunner/TestOptions.cpp: Add new static representing whether full GPU Process is enabled.
(WTR::TestOptions::defaults):
LayoutTests:
- platform/ios-simulator/TestExpectations: read-pixels-test.html is no longer slow.
- platform/ios-wk2/TestExpectations:
- 8:23 AM Changeset in webkit [289377] by
-
- 6 edits in trunk
Return 'none' for the computed style of mask when there are no mask images
https://bugs.webkit.org/show_bug.cgi?id=236265
<rdar://88178304>
Patch by Matt Woodrow <Matt Woodrow> on 2022-02-08
Reviewed by Dean Jackson.
Source/WebCore:
Rather than returning all the longhand properties, return 'none' if there are no
mask images. This no longer matches the behaviour of the 'background' property, but
better matches what other UAs do.
Ideally we'd return the smallest possible canonical representation of the non-initial
property values, but this is a much simpler change to fix a compat regression.
Test: fast/masking/parsing-mask.html
Updates expected results to match new behavior.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::getLayerCount):
(WebCore::ComputedStyleExtractor::getFillLayerPropertyShorthandValue):
(WebCore::ComputedStyleExtractor::getBackgroundShorthandValue):
(WebCore::ComputedStyleExtractor::getMaskShorthandValue):
- css/CSSComputedStyleDeclaration.h:
LayoutTests:
- fast/masking/parsing-mask-expected.txt:
- fast/masking/parsing-mask.html:
Updated expected results to expect 'none' for all cases where there isn't an actual mask
image.
- 7:55 AM Changeset in webkit [289376] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Add support for ideographic baseline on atomic inline level boxes
https://bugs.webkit.org/show_bug.cgi?id=236258
Reviewed by Antti Koivisto.
This is in preparation for adding vertical writing mode support (now we pass all the replaced tests under imported/w3c/web-platform-tests/css/css-writing-modes).
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::adjustIdeographicBaselineIfApplicable): see RenderBox::baselinePosition() for the math.
- 7:06 AM Changeset in webkit [289375] by
-
- 2 edits in trunk/LayoutTests
[GTK] Garden tests failing after r288070
Unreviewed test gardening.
- platform/gtk/TestExpectations:
- 6:55 AM Changeset in webkit [289374] by
-
- 7 edits in trunk/Source/WebCore
[LFC][IFC] Take writing direction into account when applying RenderBlockFlow end padding quirk
https://bugs.webkit.org/show_bug.cgi?id=236280
Reviewed by Antti Koivisto.
In vertical writing mode the overflow should be expanded in the vertical direction if applicable.
- layout/formattingContexts/inline/display/InlineDisplayLine.h:
(WebCore::InlineDisplay::Line::contentLogicalWidth const):
(WebCore::InlineDisplay::Line::Line):
(WebCore::InlineDisplay::Line::contentWidth const): Deleted.
- layout/integration/InlineIteratorLineModernPath.h:
(WebCore::InlineIterator::LineIteratorModernPath::contentLogicalRight const):
- layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::lineOverflowLogicalWidth):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):
(WebCore::LayoutIntegration::lineOverflowWidth): Deleted.
- layout/integration/LayoutIntegrationLine.h:
(WebCore::LayoutIntegration::Line::Line):
(WebCore::LayoutIntegration::Line::contentLogicalWidth const):
(WebCore::LayoutIntegration::Line::contentWidth const): Deleted. -> this is a logical width value.
- layout/integration/LayoutIntegrationPagination.cpp:
(WebCore::LayoutIntegration::makeAdjustedContent):
- platform/graphics/FloatRect.h:
(WebCore::FloatRect::shiftMaxYEdgeBy):
- 6:35 AM Changeset in webkit [289373] by
-
- 2 edits in trunk/Source/WebCore
[LFC][Integration] Take isHorizontalWritingMode value into account when converting incoming margin/border/padding values
https://bugs.webkit.org/show_bug.cgi?id=236285
Reviewed by Antti Koivisto.
(WebCore::LayoutIntegration::logicalMargin):
(WebCore::LayoutIntegration::logicalBorder):
(WebCore::LayoutIntegration::logicalPadding):
(WebCore::LayoutIntegration::LineLayout::updateLayoutBoxDimensions):
(WebCore::LayoutIntegration::LineLayout::updateInlineBoxDimensions):
- 6:26 AM Changeset in webkit [289372] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] LineBoxBuilder::setBaselineAndLayoutBounds should handle atomic inline level boxes too
https://bugs.webkit.org/show_bug.cgi?id=236255
Reviewed by Antti Koivisto.
Call setBaselineAndLayoutBounds with atomic type of inline level boxes.
This is in preparation for adding support for ideographic baseline on atomic inline level boxes.
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::setBaselineAndLayoutBounds const):
(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
- 6:19 AM Changeset in webkit [289371] by
-
- 4 edits in trunk/Source/WebKit
GPUP WebGL RELEASE_LOGs errorneously for unhandled messages
https://bugs.webkit.org/show_bug.cgi?id=236288
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-08
Reviewed by Antti Koivisto.
Remove a RELEASE_LOG when GPUProcessConnection sees a RemoteGraphicsContextGLProxy
message that was not delivered to a specific instance.
This is business as usual, as the proxy intends to be asynchronous and can be destroyed
without coordinating with the GPUP side. The Proxy object cannot know at which point
of time a message to it might be delivered.
Move the message handling to RemoteGraphicsContextGLProxy static method,
so that the RELEASE_LOG does not get added erroneosly again.
- WebProcess/GPU/GPUProcessConnection.cpp:
(WebKit::GPUProcessConnection::dispatchMessage):
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
(WebKit::RemoteGraphicsContextGLProxy::handleMessageToRemovedDestination):
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
- 6:11 AM WebKitGTK/2.34.x edited by
- (diff)
- 6:07 AM Changeset in webkit [289370] by
-
- 2 edits in trunk
[WPE] Running distcheck with USE_SOUP2=OFF fails to install documentation
https://bugs.webkit.org/show_bug.cgi?id=236235
Reviewed by Carlos Garcia Campos.
- Source/PlatformWPE.cmake: Use WPE_API_DOC_VERSION instead of WPE_API_VERSION for the documentation.
- 5:46 AM Changeset in webkit [289369] by
-
- 5 edits in trunk/Source/WebKit
[GTK][WPE] Crash at WebKit::bindA11y() in WebKitGTK 2.35.2
https://bugs.webkit.org/show_bug.cgi?id=236144
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2022-02-08
Reviewed by Adrian Perez de Castro.
ATSPI stopped using an abstract socket but we are still assuming the a11y bus address is an abstract socket,
even when the path is not really used after all. However, just handling the case of the socket being a normal
unix socket is not enough, because the actual socket path is not mounted in the xdg-dbus-proxy sandbox, so it
fails to connect to the original a11y bus.
- UIProcess/Launcher/ProcessLauncher.h: Rename extraWebProcessSandboxPaths as extraSandboxPaths.
- UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
(WebKit::XDGDBusProxyLauncher::setAddress): Remove the DBusAddressType parameter. Check the address looks valid
and just store the result of dbusAddressToPath() in m_path.
(WebKit::XDGDBusProxyLauncher::launch): Do not require m_path to be non-null and add it to the sanbox.
(WebKit::XDGDBusProxyLauncher::dbusAddressToPath): Only return the path for normal unix sockets.
(WebKit::bindDBusSession): Remove the DBusAddressType parameter passed to dbusAddressToPath().
(WebKit::bindA11y): Check proxy path is not null before setting a11y bus address in display.
(WebKit::addExtraPaths): Helper to add extra paths to the sandbox.
(WebKit::bubblewrapSpawn): Call addExtraPaths() for WebProcess and DBusProxy types.
- UIProcess/Launcher/glib/FlatpakLauncher.cpp:
(WebKit::flatpakSpawn): Use extraSandboxPaths.
- UIProcess/glib/WebProcessProxyGLib.cpp:
(WebKit::WebProcessProxy::platformGetLaunchOptions): Ditto.
- 5:25 AM Changeset in webkit [289368] by
-
- 4 edits in trunk/Source/WebCore
AX: When updating the isolated tree with a remove and add of the same object, the wrapper is not re-attached
https://bugs.webkit.org/show_bug.cgi?id=236273
Reviewed by Andres Gonzalez.
In AXIsolatedTree::applyPendingChanges, we process node and subtree
removals before tree additions. When doing these removals, we detach
the object and wrapper from each other. This is fine unless that same
object is slated to be added again (e.g. it was moved in the DOM), as
we don't always re-attach a wrapper. [WebAccessibilityObjectWrapperBase axBackingObject]
will always return nil for objects in this state.
In this patch, when processing m_pendingAppends, we now attach a
wrapper to any object that has becomeisDetached(i.e. the object
has no wrapper, or the object has a wrapper but the wrapper does not
point at the object).
Fixes ~15 tests in isolated tree mode.
- accessibility/isolatedtree/AXIsolatedObject.cpp:
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::applyPendingChanges):
- accessibility/isolatedtree/mac/AXIsolatedObjectMac.mm:
(WebCore::AXIsolatedObject::isDetached const):
- 4:43 AM Changeset in webkit [289367] by
-
- 10 edits in trunk
[GStreamer] Test webkit/WebKitWebView/display-usermedia-permission-request times out
https://bugs.webkit.org/show_bug.cgi?id=235955
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-08
Reviewed by Xabier Rodriguez-Calvar.
Source/WebCore:
The RealtimeMediaSource representing the GStreamer mock display source now correctly
reflects the corresponding capture device type (either Window or Screen). As that source
actually wraps a MockRealtimeVideoSourceGStreamer, a couple more methods from
RealtimeMediaSource had to be overridden.
- platform/mediastream/RealtimeMediaSource.h: Allow subclasses to override setMuted and isProducingData.
- platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.cpp: Handle SystemAudio as
Speaker devices, for now.
(WebCore::GStreamerCaptureDeviceManager::refreshCaptureDevices):
- platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp: Refactor, leveraging the
new has{Audio,Video} methods.
(mediaStreamTrackPrivateGetTags):
(webkitMediaStreamNew):
(webkitMediaStreamSrcAddTrack):
(webkitMediaStreamSrcSetStream):
(webkitMediaStreamSrcConfigureAudioTracks):
- platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.cpp: Map source type to
capture device type, proxy mute configuration and ending logic to wrapped source.
(WebCore::MockDisplayCaptureSourceGStreamer::create):
(WebCore::MockDisplayCaptureSourceGStreamer::MockDisplayCaptureSourceGStreamer):
(WebCore::MockDisplayCaptureSourceGStreamer::requestToEnd):
(WebCore::MockDisplayCaptureSourceGStreamer::setMuted):
- platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.h:
Source/WebKit:
- UIProcess/API/glib/WebKitWebView.cpp:
(webkitWebViewConfigureMediaCapture): Don't notify display capture updates as camera capture
updates.
Tools:
- TestWebKitAPI/glib/TestExpectations.json: Unflag test now passing.
- 4:32 AM Changeset in webkit [289366] by
-
- 2 edits in trunk/Source/WebKit
[WPE] Developer extras are always enabled by default
https://bugs.webkit.org/show_bug.cgi?id=236295
Reviewed by Carlos Garcia Campos.
No new tests.
- UIProcess/API/wpe/WPEView.cpp:
(View::View): Remove call to unconditionally set the developer extras setting.
- 4:26 AM Changeset in webkit [289365] by
-
- 7 edits in trunk/Source/WebCore
RealtimeOutgoingVideoSourceCocoa rotation session should not use IOSurface
https://bugs.webkit.org/show_bug.cgi?id=236139
Reviewed by Eric Carlson.
Introduce a parameter to use IOSurface or not in ImageRotationSessionVT.
Make use of that parameter in RealtimeOutgoingVideoSourceCocoa to disable IOSurface use.
Covered by existing tests.
- platform/graphics/cv/CVUtilities.h:
- platform/graphics/cv/CVUtilities.mm:
(WebCore::createIOSurfaceCVPixelBufferPool):
(WebCore::createInMemoryCVPixelBufferPool):
- platform/graphics/cv/ImageRotationSessionVT.h:
- platform/graphics/cv/ImageRotationSessionVT.mm:
(WebCore::ImageRotationSessionVT::ImageRotationSessionVT):
(WebCore::ImageRotationSessionVT::rotate):
- platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.mm:
(WebCore::RealtimeOutgoingVideoSourceCocoa::rotatePixelBuffer):
- 3:59 AM Changeset in webkit [289364] by
-
- 1 edit in trunk/Tools/CISupport/ews-build/master.cfg
[ews] Do not configure GitHub hooks on local testing instance
https://bugs.webkit.org/show_bug.cgi?id=236266
Reviewed by Jonathan Bedard.
- Tools/CISupport/ews-build/master.cfg:
Canonical link: https://commits.webkit.org/246952@main
- 3:53 AM Changeset in webkit [289363] by
-
- 4 edits in trunk/Source
Adding new files fails to compile after SharedWorkerObjectConnection.h changes
https://bugs.webkit.org/show_bug.cgi?id=236294
Add forward declarations and includes.
Unreviewed build fix.
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-08
Source/WebCore:
- workers/shared/SharedWorkerObjectConnection.h:
Source/WebKit:
- NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.h:
- 3:33 AM Changeset in webkit [289362] by
-
- 6 edits in trunk/Source
MediaSampleAVFObjC::createImageSample should take a presentationTime as parameter
https://bugs.webkit.org/show_bug.cgi?id=236067
Reviewed by Eric Carlson.
Source/WebCore:
Add additional parameters to createImageSample that will be used by WebKit.
No change of behavior.
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:
(WebCore::MediaSampleAVFObjC::createImageSample):
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:
(WebCore::MediaSampleAVFObjC::createImageSample):
Source/WebKit:
- GPUProcess/webrtc/RemoteMediaRecorder.cpp:
(WebKit::RemoteMediaRecorder::videoSampleAvailable):
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp:
(WebKit::RemoteSampleBufferDisplayLayer::enqueueSample):
- 3:28 AM Changeset in webkit [289361] by
-
- 6 edits in trunk/Source/WebKit
SharedVideoFrameReader could directly take a IPCHandle
https://bugs.webkit.org/show_bug.cgi?id=236068
Reviewed by Eric Carlson.
Move more code in SharedVideoFrameReader::setSharedMemory, as a refactoring.
- GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:
(WebKit::LibWebRTCCodecsProxy::setSharedVideoFrameMemory):
- GPUProcess/webrtc/RemoteMediaRecorder.cpp:
(WebKit::RemoteMediaRecorder::setSharedVideoFrameMemory):
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp:
(WebKit::RemoteSampleBufferDisplayLayer::setSharedVideoFrameMemory):
- WebProcess/GPU/webrtc/SharedVideoFrame.cpp:
(WebKit::SharedVideoFrameReader::setSharedMemory):
- WebProcess/GPU/webrtc/SharedVideoFrame.h:
(WebKit::SharedVideoFrameReader::setSharedMemory): Deleted.
- 1:53 AM Changeset in webkit [289360] by
-
- 3 edits in trunk/Source/WebCore
RenderLayer: Simplify RenderElement::paint() calls
https://bugs.webkit.org/show_bug.cgi?id=236192
Reviewed by Simon Fraser.
Introduce "paintOffsetForRenderer(fragment, localPaintingInfo)" inline helper:
return toLayoutPoint(fragment.layerBounds.location() - rendererLocation() + localPaintingInfo.subpixelOffset)
Avoid repeating this formula in various places in RenderLayer - unify it.
Covered by existing tests, no change in behaviour.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::paintChildClippingMaskForFragments):
(WebCore::RenderLayer::paintOverflowControlsForFragments):
(WebCore::RenderLayer::collectEventRegionForFragments):
- rendering/RenderLayer.h:
(WebCore::RenderLayer::paintOffsetForRenderer const):