[webkit-changes] [WebKit/WebKit] 8f06e1: Cherry-pick 282769 at main (b4145d91c54d). https://bu...
Michael Catanzaro
noreply at github.com
Wed Sep 4 02:08:58 PDT 2024
Branch: refs/heads/webkitglib/2.46
Home: https://github.com/WebKit/WebKit
Commit: 8f06e1de98b5a86ffc7e3b06a31b33551b8c2aa1
https://github.com/WebKit/WebKit/commit/8f06e1de98b5a86ffc7e3b06a31b33551b8c2aa1
Author: Alex Christensen <achristensen at apple.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M Source/WebKit/Shared/API/APISerializedScriptValue.cpp
Log Message:
-----------
Cherry-pick 282769 at main (b4145d91c54d). https://bugs.webkit.org/show_bug.cgi?id=278682
Fix assertion after 281812 at main
https://bugs.webkit.org/show_bug.cgi?id=278682
rdar://134731526
Reviewed by Timothy Hatcher.
My assertion had an off-by-one error that was usually true because
it was checking that uninitialized memory was 0. JSStringGetUTF8CString
returns a length that includes the null termination character, which
I got correct in the call to WKStringCreateWithUTF8CStringWithLength
but not in the assertion. This fixes the assertion and makes the
tests stop asserting in debug builds.
* Source/WebKit/Shared/API/APISerializedScriptValue.cpp:
(API::valueToWKObject):
Canonical link: https://commits.webkit.org/282769@main
Canonical link: https://commits.webkit.org/282416.54@webkitglib/2.46
Commit: 2199e3ff7afe1deb4e60fffc77143363fc18090a
https://github.com/WebKit/WebKit/commit/2199e3ff7afe1deb4e60fffc77143363fc18090a
Author: David Kilzer <ddkilzer at apple.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M Source/WebCore/Modules/fetch/FetchBodySource.cpp
M Source/WebCore/Modules/fetch/FetchBodySource.h
M Source/WebCore/Modules/fetch/FetchResponse.cpp
M Source/WebCore/Modules/fetch/FetchResponse.h
M Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp
M Source/WebCore/Modules/plugins/YouTubePluginReplacement.h
M Source/WebCore/Modules/speech/SpeechRecognitionEvent.cpp
M Source/WebCore/Modules/speech/SpeechRecognitionEvent.h
M Source/WebCore/Modules/storage/StorageConnection.h
M Source/WebCore/Modules/webaudio/AudioBasicProcessorNode.cpp
M Source/WebCore/Modules/webaudio/AudioBasicProcessorNode.h
M Source/WebCore/animation/CSSTransition.cpp
M Source/WebCore/animation/CSSTransition.h
M Source/WebCore/animation/DocumentTimeline.cpp
M Source/WebCore/animation/DocumentTimeline.h
M Source/WebCore/crypto/keys/CryptoKeyEC.cpp
M Source/WebCore/crypto/keys/CryptoKeyEC.h
M Source/WebCore/css/typedom/CSSUnparsedValue.cpp
M Source/WebCore/css/typedom/CSSUnparsedValue.h
M Source/WebCore/css/typedom/transform/CSSPerspective.cpp
M Source/WebCore/css/typedom/transform/CSSPerspective.h
M Source/WebCore/css/typedom/transform/CSSTransformValue.cpp
M Source/WebCore/css/typedom/transform/CSSTransformValue.h
M Source/WebCore/dom/DragEvent.cpp
M Source/WebCore/dom/DragEvent.h
M Source/WebCore/dom/InputEvent.cpp
M Source/WebCore/dom/InputEvent.h
M Source/WebCore/editing/ReplaceSelectionCommand.cpp
M Source/WebCore/editing/ReplaceSelectionCommand.h
M Source/WebCore/html/CollectionTraversalInlines.h
M Source/WebCore/html/GenericCachedHTMLCollection.cpp
M Source/WebCore/html/GenericCachedHTMLCollection.h
M Source/WebCore/html/PluginDocument.cpp
M Source/WebCore/html/PluginDocument.h
M Source/WebCore/loader/cache/CachedSVGFont.cpp
M Source/WebCore/loader/cache/CachedSVGFont.h
M Source/WebCore/page/WorkerNavigator.cpp
M Source/WebCore/page/WorkerNavigator.h
M Source/WebCore/platform/audio/AudioDSPKernelProcessor.cpp
M Source/WebCore/platform/audio/AudioDSPKernelProcessor.h
M Source/WebCore/platform/audio/cocoa/WebAudioBufferList.cpp
M Source/WebCore/platform/audio/cocoa/WebAudioBufferList.h
M Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.h
M Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.mm
M Source/WebCore/platform/graphics/BitmapImageSource.cpp
M Source/WebCore/platform/graphics/BitmapImageSource.h
M Source/WebCore/platform/graphics/NativeImage.cpp
M Source/WebCore/platform/graphics/NativeImage.h
M Source/WebCore/platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.h
M Source/WebCore/platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm
M Source/WebCore/platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.cpp
M Source/WebCore/platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.h
M Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h
M Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm
M Source/WebCore/platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.h
M Source/WebCore/platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.mm
M Source/WebCore/platform/mediastream/mac/CoreAudioCaptureDeviceManager.cpp
M Source/WebCore/platform/mediastream/mac/CoreAudioCaptureDeviceManager.h
M Source/WebCore/platform/mediastream/mac/MockRealtimeVideoSourceMac.h
M Source/WebCore/platform/mediastream/mac/MockRealtimeVideoSourceMac.mm
M Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.cpp
M Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.h
M Source/WebCore/platform/mock/MockRealtimeVideoSource.h
M Source/WebCore/rendering/style/BasicShapes.cpp
M Source/WebCore/rendering/style/BasicShapes.h
M Source/WebKit/NetworkProcess/Downloads/PendingDownload.cpp
M Source/WebKit/NetworkProcess/Downloads/PendingDownload.h
M Source/WebKit/Shared/WebImage.cpp
M Source/WebKit/Shared/WebImage.h
M Source/WebKit/UIProcess/API/APIInspectorConfiguration.cpp
M Source/WebKit/UIProcess/API/APIInspectorConfiguration.h
M Source/WebKit/UIProcess/Authentication/AuthenticationChallengeProxy.cpp
M Source/WebKit/UIProcess/Authentication/AuthenticationChallengeProxy.h
M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm
M Source/WebKit/UIProcess/Notifications/WebNotificationManagerProxy.cpp
M Source/WebKit/UIProcess/Notifications/WebNotificationManagerProxy.h
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxyInternals.h
M Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp
M Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h
M Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h
M Source/WebKit/WebProcess/Inspector/WebPageInspectorTarget.cpp
M Source/WebKit/WebProcess/Inspector/WebPageInspectorTarget.h
M Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp
M Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.h
M Source/WebKit/WebProcess/WebPage/WebCookieCache.cpp
M Source/WebKit/WebProcess/WebPage/WebCookieCache.h
M Source/WebKit/WebProcess/WebStorage/StorageNamespaceImpl.cpp
M Source/WebKit/WebProcess/WebStorage/StorageNamespaceImpl.h
M Source/WebKitLegacy/ios/WebCoreSupport/WebInspectorClientIOS.mm
M Source/WebKitLegacy/mac/WebCoreSupport/WebInspectorClient.h
M Source/WebKitLegacy/mac/WebCoreSupport/WebInspectorClient.mm
Log Message:
-----------
Cherry-pick 282753 at main (b2f4995bd769). https://bugs.webkit.org/show_bug.cgi?id=278630
Move WebCore/WebKitLegacy/WebKit destructors to source files for upstream clang
<https://bugs.webkit.org/show_bug.cgi?id=278630>
<rdar://134660411>
Reviewed by Darin Adler.
In upstream clang, destructors require full class definitions for any
instance variable that is destructed. In most cases, moving the
destructor out of the header fixes this build failure without
increasing header parsing time. Alternate fixes are noted below.
* Source/WebCore/Modules/fetch/FetchBodySource.cpp:
* Source/WebCore/Modules/fetch/FetchBodySource.h:
* Source/WebCore/Modules/fetch/FetchResponse.cpp:
* Source/WebCore/Modules/fetch/FetchResponse.h:
* Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp:
* Source/WebCore/Modules/plugins/YouTubePluginReplacement.h:
* Source/WebCore/Modules/speech/SpeechRecognitionEvent.cpp:
* Source/WebCore/Modules/speech/SpeechRecognitionEvent.h:
* Source/WebCore/Modules/storage/StorageConnection.h:
- Replace struct StorageEstimate predeclaration by including
StorageEstimate.h since it's a small struct.
* Source/WebCore/Modules/webaudio/AudioBasicProcessorNode.cpp:
* Source/WebCore/Modules/webaudio/AudioBasicProcessorNode.h:
* Source/WebCore/animation/CSSTransition.cpp:
* Source/WebCore/animation/CSSTransition.h:
* Source/WebCore/animation/DocumentTimeline.cpp:
* Source/WebCore/animation/DocumentTimeline.h:
* Source/WebCore/crypto/keys/CryptoKeyEC.cpp:
* Source/WebCore/crypto/keys/CryptoKeyEC.h:
* Source/WebCore/css/typedom/CSSUnparsedValue.cpp:
* Source/WebCore/css/typedom/CSSUnparsedValue.h:
* Source/WebCore/css/typedom/transform/CSSPerspective.cpp:
* Source/WebCore/css/typedom/transform/CSSPerspective.h:
* Source/WebCore/css/typedom/transform/CSSTransformValue.cpp:
* Source/WebCore/css/typedom/transform/CSSTransformValue.h:
* Source/WebCore/dom/DragEvent.cpp:
* Source/WebCore/dom/DragEvent.h:
* Source/WebCore/dom/InputEvent.cpp:
* Source/WebCore/dom/InputEvent.h:
* Source/WebCore/editing/ReplaceSelectionCommand.cpp:
* Source/WebCore/editing/ReplaceSelectionCommand.h:
* Source/WebCore/html/CollectionTraversalInlines.h:
- Include HTMLOptionsCollectionInlines.h since this is needed in some
source files.
* Source/WebCore/html/GenericCachedHTMLCollection.cpp:
* Source/WebCore/html/GenericCachedHTMLCollection.h:
* Source/WebCore/html/PluginDocument.cpp:
* Source/WebCore/html/PluginDocument.h:
* Source/WebCore/loader/cache/CachedSVGFont.cpp:
* Source/WebCore/loader/cache/CachedSVGFont.h:
* Source/WebCore/page/WorkerNavigator.cpp:
* Source/WebCore/page/WorkerNavigator.h:
* Source/WebCore/platform/audio/AudioDSPKernelProcessor.cpp:
* Source/WebCore/platform/audio/AudioDSPKernelProcessor.h:
* Source/WebCore/platform/audio/cocoa/WebAudioBufferList.cpp:
* Source/WebCore/platform/audio/cocoa/WebAudioBufferList.h:
* Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.h:
* Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.mm:
* Source/WebCore/platform/graphics/BitmapImageSource.cpp:
* Source/WebCore/platform/graphics/BitmapImageSource.h:
* Source/WebCore/platform/graphics/NativeImage.cpp:
* Source/WebCore/platform/graphics/NativeImage.h:
* Source/WebCore/platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.h:
* Source/WebCore/platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:
* Source/WebCore/platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.cpp:
* Source/WebCore/platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.h:
* Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
* Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
* Source/WebCore/platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.h:
* Source/WebCore/platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.mm:
* Source/WebCore/platform/mediastream/mac/CoreAudioCaptureDeviceManager.cpp:
* Source/WebCore/platform/mediastream/mac/CoreAudioCaptureDeviceManager.h:
* Source/WebCore/platform/mediastream/mac/MockRealtimeVideoSourceMac.h:
* Source/WebCore/platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:
* Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.cpp:
* Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.h:
* Source/WebCore/platform/mock/MockRealtimeVideoSource.h:
* Source/WebCore/rendering/style/BasicShapes.cpp:
* Source/WebCore/rendering/style/BasicShapes.h:
* Source/WebKit/NetworkProcess/Downloads/PendingDownload.cpp:
* Source/WebKit/NetworkProcess/Downloads/PendingDownload.h:
* Source/WebKit/Shared/WebImage.cpp:
* Source/WebKit/Shared/WebImage.h:
- Also mark WebImage class as final.
* Source/WebKit/UIProcess/API/APIInspectorConfiguration.cpp:
* Source/WebKit/UIProcess/API/APIInspectorConfiguration.h:
* Source/WebKit/UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
* Source/WebKit/UIProcess/Authentication/AuthenticationChallengeProxy.h:
* Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:
- Include headers require for WebPageProxy::Internals destructor.
- Declare WebPageProxy::Internals destructor for Cocoa platforms.
* Source/WebKit/UIProcess/Notifications/WebNotificationManagerProxy.cpp:
* Source/WebKit/UIProcess/Notifications/WebNotificationManagerProxy.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
- Move class definition of WebPageProxyFrameLoadStateObserver to
WebPageProxyInternals.h, leaving constructor and destructor here.
- Declare WebPageProxy::Internals destructor for non-Cocoa platforms.
* Source/WebKit/UIProcess/WebPageProxyInternals.h:
- Move class definition of WebPageProxyFrameLoadStateObserver to here
from WebPageProxy.cpp.
* Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:
* Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h:
* Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
* Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
* Source/WebKit/WebProcess/Inspector/WebPageInspectorTarget.cpp:
* Source/WebKit/WebProcess/Inspector/WebPageInspectorTarget.h:
* Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:
* Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.h:
* Source/WebKit/WebProcess/WebPage/WebCookieCache.cpp:
* Source/WebKit/WebProcess/WebPage/WebCookieCache.h:
- Also mark WebCookieCache class as final.
* Source/WebKit/WebProcess/WebStorage/StorageNamespaceImpl.cpp:
* Source/WebKit/WebProcess/WebStorage/StorageNamespaceImpl.h:
* Source/WebKitLegacy/ios/WebCoreSupport/WebInspectorClientIOS.mm:
* Source/WebKitLegacy/mac/WebCoreSupport/WebInspectorClient.h:
* Source/WebKitLegacy/mac/WebCoreSupport/WebInspectorClient.mm:
Canonical link: https://commits.webkit.org/282753@main
Canonical link: https://commits.webkit.org/282416.55@webkitglib/2.46
Commit: 409641809e759ce5fa9115d85dc1debfe2f88833
https://github.com/WebKit/WebKit/commit/409641809e759ce5fa9115d85dc1debfe2f88833
Author: Chris Dumez <cdumez at apple.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp
Log Message:
-----------
Cherry-pick 282680 at main (9a40e4dc60a5). https://bugs.webkit.org/show_bug.cgi?id=278576
Regression(278911 at main) Crash under AuxiliaryProcessProxy::shutDownProcess()
https://bugs.webkit.org/show_bug.cgi?id=278576
rdar://134235519
Reviewed by Charlie Wolfe and Sihui Liu.
Make sure we use the `connection` stack variable instead of `m_connection`
as it might get cleared out.
* Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp:
(WebKit::AuxiliaryProcessProxy::shutDownProcess):
Canonical link: https://commits.webkit.org/282680@main
Canonical link: https://commits.webkit.org/282416.56@webkitglib/2.46
Commit: 1bf45e6a1b86a415c1ee9aa04d726a0b87757812
https://github.com/WebKit/WebKit/commit/1bf45e6a1b86a415c1ee9aa04d726a0b87757812
Author: Yijia Huang <yijia_huang at apple.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp
Log Message:
-----------
Cherry-pick 282707 at main (bfe0238da5a9). https://bugs.webkit.org/show_bug.cgi?id=278594
[JSC] Fix memory leaks for AbstractHeap in OMGIRGenerator
https://bugs.webkit.org/show_bug.cgi?id=278594
rdar://134598934
Reviewed by Yusuke Suzuki.
Use unique_ptr for the AbstractHeap fields defined in
OMGIRGenerator to avoid memory leaks.
* Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp:
Canonical link: https://commits.webkit.org/282707@main
Canonical link: https://commits.webkit.org/282416.57@webkitglib/2.46
Commit: 14a96a1eb8018e734dc33c1f017a280de5053401
https://github.com/WebKit/WebKit/commit/14a96a1eb8018e734dc33c1f017a280de5053401
Author: Alex Christensen <achristensen at apple.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M Source/WebKit/UIProcess/WebPageProxy.cpp
Log Message:
-----------
Cherry-pick 282669 at main (d152a53cf0d1). https://bugs.webkit.org/show_bug.cgi?id=278571
Fix debug assertion in WebPageProxy::loadDataWithNavigationShared after 282655 at main
https://bugs.webkit.org/show_bug.cgi?id=278571
rdar://134583835
Reviewed by Richard Robinson.
This fixes any use of WKWebView.loadData in a debug build.
Covered by many API tests, which unfortunately have no EWS coverage.
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadDataWithNavigationShared):
Canonical link: https://commits.webkit.org/282669@main
Canonical link: https://commits.webkit.org/282416.58@webkitglib/2.46
Commit: 13903c3afb0615cdfebccbed997b822d09d5286c
https://github.com/WebKit/WebKit/commit/13903c3afb0615cdfebccbed997b822d09d5286c
Author: Ryan Reno <rreno at apple.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
M LayoutTests/TestExpectations
M LayoutTests/platform/ios/TestExpectations
M LayoutTests/platform/mac-wk2/TestExpectations
M Source/WebCore/Modules/webcodecs/WebCodecsAudioDecoder.cpp
M Source/WebCore/Modules/webcodecs/WebCodecsAudioDecoder.h
M Source/WebCore/Modules/webcodecs/WebCodecsAudioEncoder.cpp
M Source/WebCore/Modules/webcodecs/WebCodecsAudioEncoder.h
A Source/WebCore/Modules/webcodecs/WebCodecsControlMessage.h
M Source/WebCore/Modules/webcodecs/WebCodecsVideoDecoder.cpp
M Source/WebCore/Modules/webcodecs/WebCodecsVideoDecoder.h
M Source/WebCore/Modules/webcodecs/WebCodecsVideoEncoder.cpp
M Source/WebCore/Modules/webcodecs/WebCodecsVideoEncoder.h
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
Log Message:
-----------
Cherry-pick 282657 at main (dcc8d978d725). https://bugs.webkit.org/show_bug.cgi?id=278356
REGRESSION (280738 at main) [WebCodecs] Audio and Video codecs can be garbage collected with pending work.
https://bugs.webkit.org/show_bug.cgi?id=278356
rdar://134297589
Reviewed by Youenn Fablet.
In 280738 at main http/wpt/webcodecs/hevc-encoder-config.https.any.html
became flaky. This is because the VideoEncoder object goes out of scope
as soon as the configure steps schedule the control message to reject
the configuration and sometimes gets garbage collected before the error
callback can be called. Prior to 280738 at main the callback was a GC root
and so would never be collected. After this, though, the codec is
responsible for keeping its JS callbacks alive and so sometimes
everything gets collected.
Many of the WebCodecs steps require asynchronous work to be scheduled
which gives the algorithms many states where it is valid to have
outstanding work but all references to the codecs have been dropped in
JavaScript. In order to prevent them from being prematurely collected
this patch introduces an abstraction for the WebCodecs Control Message.
This object represents pending work and will hold a PendingActivity
for the codec which will prevent it from being garbage collected before
the spec algorithm steps have been completed. Additionally, we will
create a pending activity when we submit asynchronous work to the
internal codec implementation.
* LayoutTests/TestExpectations:
* LayoutTests/platform/ios/TestExpectations:
* LayoutTests/platform/mac-wk2/TestExpectations:
* Source/WebCore/Modules/webcodecs/WebCodecsAudioDecoder.cpp:
(WebCore::WebCodecsAudioDecoder::configure):
(WebCore::WebCodecsAudioDecoder::decode):
(WebCore::WebCodecsAudioDecoder::flush):
(WebCore::WebCodecsAudioDecoder::closeDecoder):
(WebCore::WebCodecsAudioDecoder::resetDecoder):
(WebCore::WebCodecsAudioDecoder::queueControlMessageAndProcess):
(WebCore::WebCodecsAudioDecoder::virtualHasPendingActivity const):
* Source/WebCore/Modules/webcodecs/WebCodecsAudioDecoder.h:
* Source/WebCore/Modules/webcodecs/WebCodecsAudioEncoder.cpp:
(WebCore::WebCodecsAudioEncoder::configure):
(WebCore::WebCodecsAudioEncoder::encode):
(WebCore::WebCodecsAudioEncoder::flush):
(WebCore::WebCodecsAudioEncoder::closeEncoder):
(WebCore::WebCodecsAudioEncoder::resetEncoder):
(WebCore::WebCodecsAudioEncoder::queueControlMessageAndProcess):
(WebCore::WebCodecsAudioEncoder::virtualHasPendingActivity const):
* Source/WebCore/Modules/webcodecs/WebCodecsAudioEncoder.h:
* Source/WebCore/Modules/webcodecs/WebCodecsControlMessage.h: Added.
* Source/WebCore/Modules/webcodecs/WebCodecsFlushPromise.h: Added.
* Source/WebCore/Modules/webcodecs/WebCodecsVideoDecoder.cpp:
(WebCore::WebCodecsVideoDecoder::configure):
(WebCore::WebCodecsVideoDecoder::decode):
(WebCore::WebCodecsVideoDecoder::flush):
(WebCore::WebCodecsVideoDecoder::closeDecoder):
(WebCore::WebCodecsVideoDecoder::resetDecoder):
(WebCore::WebCodecsVideoDecoder::queueControlMessageAndProcess):
(WebCore::WebCodecsVideoDecoder::virtualHasPendingActivity const):
* Source/WebCore/Modules/webcodecs/WebCodecsVideoDecoder.h:
* Source/WebCore/Modules/webcodecs/WebCodecsVideoEncoder.cpp:
(WebCore::WebCodecsVideoEncoder::configure):
(WebCore::WebCodecsVideoEncoder::encode):
(WebCore::WebCodecsVideoEncoder::flush):
(WebCore::WebCodecsVideoEncoder::closeEncoder):
(WebCore::WebCodecsVideoEncoder::resetEncoder):
(WebCore::WebCodecsVideoEncoder::queueControlMessageAndProcess):
(WebCore::WebCodecsVideoEncoder::virtualHasPendingActivity const):
* Source/WebCore/Modules/webcodecs/WebCodecsVideoEncoder.h:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/282657@main
Canonical link: https://commits.webkit.org/282416.59@webkitglib/2.46
Commit: 37b2a5aa62b68bc2b1036c73bf3fef35cdea6d78
https://github.com/WebKit/WebKit/commit/37b2a5aa62b68bc2b1036c73bf3fef35cdea6d78
Author: Yusuke Suzuki <ysuzuki at apple.com>
Date: 2024-09-03 (Tue, 03 Sep 2024)
Changed paths:
A LayoutTests/svg/masking/masker-mixing-repaint-rect-and-bounding-box-expected.html
A LayoutTests/svg/masking/masker-mixing-repaint-rect-and-bounding-box.html
M Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceGradient.cpp
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceMasker.cpp
Log Message:
-----------
Cherry-pick 282651 at main (bdbc42414835). https://bugs.webkit.org/show_bug.cgi?id=277624
REGRESSION (269500 at main Safari 17.5): Masked Curved Line Rendering Issue
https://bugs.webkit.org/show_bug.cgi?id=277624
rdar://133251058
Reviewed by Cameron McCormack.
SVG mask implementation is incorrectly mixing repaint rect and bounding box.
We workaround the issue by passing RepaintRectCalculation::Accurate to enforce
child renderers to compute bounding boxes. But the right implementation should
distinguish repaint rect and bounding box as repaint rect is just used for
invalidation.
* LayoutTests/svg/masking/masker-mixing-repaint-rect-and-bounding-box-expected.html: Added.
* LayoutTests/svg/masking/masker-mixing-repaint-rect-and-bounding-box.html: Added.
* Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::applyMask):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceGradient.cpp:
(WebCore::createMaskAndSwapContextForTextGradient):
(WebCore::clipToTextMask):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceMasker.cpp:
(WebCore::LegacyRenderSVGResourceMasker::applyResource):
Canonical link: https://commits.webkit.org/282651@main
Canonical link: https://commits.webkit.org/282416.60@webkitglib/2.46
Commit: 41fc21bd8a8ef13a754d78334110f318897bc5b6
https://github.com/WebKit/WebKit/commit/41fc21bd8a8ef13a754d78334110f318897bc5b6
Author: Yusuke Suzuki <ysuzuki at apple.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M Source/JavaScriptCore/bytecode/InlineCacheCompiler.cpp
M Source/JavaScriptCore/bytecode/InlineCacheCompiler.h
Log Message:
-----------
Cherry-pick 282538 at main (211071789f3b). https://bugs.webkit.org/show_bug.cgi?id=278435
Unreviewed, suppress wrong threading assertion for InlineCacheHandler
https://bugs.webkit.org/show_bug.cgi?id=278435
rdar://134290611
It gets destroyed in the GC end phase and it gets stale assertion about threading checks. But that assertion is wrong since
GC end phase is ensuring that we are not running mutator, so we can safely and correctly derefing this InlineCacheHandler inside it.
This is fixing this wrong assertion.
* Source/JavaScriptCore/bytecode/InlineCacheCompiler.cpp:
(JSC::m_watchpoint):
* Source/JavaScriptCore/bytecode/InlineCacheCompiler.h:
Canonical link: https://commits.webkit.org/282538@main
Canonical link: https://commits.webkit.org/282416.61@webkitglib/2.46
Commit: 6a5390c0d8d184560bb1566cb65a668ea92f40c5
https://github.com/WebKit/WebKit/commit/6a5390c0d8d184560bb1566cb65a668ea92f40c5
Author: Simon Fraser <simon.fraser at apple.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M Source/WebCore/platform/graphics/RoundedRect.cpp
M Source/WebCore/rendering/BackgroundPainter.cpp
M Source/WebCore/rendering/BackgroundPainter.h
M Source/WebCore/rendering/RenderReplaced.cpp
M Source/WebCore/rendering/RenderWidget.cpp
Log Message:
-----------
Cherry-pick 282503 at main (7a9185505356). https://bugs.webkit.org/show_bug.cgi?id=278348
Fix handling of non-renderable inner rounded corners
https://bugs.webkit.org/show_bug.cgi?id=278348
rdar://134291462
Reviewed by Alan Baradlay.
117367 at main added some code for non-renderable inner borders, but this is really a bug in RoundedRect::adjustRadii(),
which used `int` for `maxRadiusWidth` and `maxRadiusHeight` which caused the adjustment to fail to make the rect
renderable for some rects (tested by fast/css/background-clip-radius-values.html).
After fixing that, I could not find any layout tests that entered `BackgroundPainter::clipRoundedInnerRect()`
with a non-renderable rect, but add a clause to fix up the rect if necessary.
* Source/WebCore/rendering/BackgroundPainter.cpp:
(WebCore::BackgroundPainter::paintFillLayer const):
(WebCore::BackgroundPainter::clipRoundedInnerRect):
* Source/WebCore/rendering/BackgroundPainter.h:
* Source/WebCore/rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::paint):
* Source/WebCore/rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paint):
Canonical link: https://commits.webkit.org/282503@main
Canonical link: https://commits.webkit.org/282416.62@webkitglib/2.46
Commit: e5b56d46bc20ab594399a7d3567348cc1a92a780
https://github.com/WebKit/WebKit/commit/e5b56d46bc20ab594399a7d3567348cc1a92a780
Author: Michael Catanzaro <mcatanzaro at redhat.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M Source/WebCore/platform/glib/UserAgentQuirks.cpp
M Tools/TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp
Log Message:
-----------
Cherry-pick 283092 at main (5d23ecc3650c). https://bugs.webkit.org/show_bug.cgi?id=278723
[GTK][WPE] Add user agent quirk for totale.rosettastone.com
https://bugs.webkit.org/show_bug.cgi?id=278723
Reviewed by Adrian Perez de Castro.
* Source/WebCore/platform/glib/UserAgentQuirks.cpp:
(WebCore::urlRequiresMacintoshPlatform):
* Tools/TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST(UserAgentTest, Quirks)):
Canonical link: https://commits.webkit.org/283092@main
Canonical link: https://commits.webkit.org/282416.63@webkitglib/2.46
Compare: https://github.com/WebKit/WebKit/compare/7f0623979f53...e5b56d46bc20
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list