[webkit-changes] [WebKit/WebKit] 2e5a9d: [Site Isolation] If testRunner.notifyDone is calle...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2e5a9d342dc4a918aa5623d458b3ee7db81437f7 https://github.com/WebKit/WebKit/commit/2e5a9d342dc4a918aa5623d458b3ee7db81437f7 Author: Ryan Reno Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: A LayoutTests/http/tests/site-isolation/notify-done-expected.txt A LayoutTests/http/tests/site-isolation/notify-done.html A LayoutTests/http/tests/site-isolation/resources/frame-notify-done.html M LayoutTests/platform/mac-site-isolation/TestExpectations M Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp M Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleFrame.h M Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp M Tools/WebKitTestRunner/TestInvocation.cpp Log Message: --- [Site Isolation] If testRunner.notifyDone is called from a site isolated process layout test may not complete https://bugs.webkit.org/show_bug.cgi?id=268471 rdar://121682316 Reviewed by Pascoe. There's a race condition between the main frame and a remote frame when the remote frame calls notifyDone. If the main frame's DocumentLoader happens to finish and makes its callbacks before the remote frame can call notifyDone and set the UIProcess' m_waitUntilDone variable in the TestInvocation object the main frame's process will hang waiting to be told the test is over. However, if the remote frame is able to set the variable before the main frame process checks that variable then the test will complete. This change makes it so when testRunner.notifyDone is called we check to see if we're running in a remote frame and if so we send the new "NotifyDone" message to the UIProcess which in turn will echo that message to the main frame on behalf of the site isolated frame's process. dumpAsText and especially dumpChildFramesAsText still won't work quite right but this will cause the test runner to be more robust against flaky timeouts when running with site isolation enabled. * LayoutTests/platform/mac-site-isolation/TestExpectations: * LayoutTests/http/tests/site-isolation/notify-done-expected.txt: Added. * LayoutTests/http/tests/site-isolation/notify-done.html: Added. * LayoutTests/http/tests/site-isolation/resources/frame-notify-done.html: Added. * Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: (WKBundleFrameIsRemote): * Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleFrame.h: * Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::notifyDone): * Tools/WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): Canonical link: https://commits.webkit.org/274211@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 8d5f3a: Make Ryan Reno a Reviewer
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8d5f3a8fecc3572deaf9c6874ebfa0b7104fbf97 https://github.com/WebKit/WebKit/commit/8d5f3a8fecc3572deaf9c6874ebfa0b7104fbf97 Author: Ryan Reno Date: 2024-03-27 (Wed, 27 Mar 2024) Changed paths: M metadata/contributors.json Log Message: --- Make Ryan Reno a Reviewer https://bugs.webkit.org/show_bug.cgi?id=271800 rdar://125511631 Reviewed by Brent Fulgham. Update my status with newly granted permissions. * metadata/contributors.json: Canonical link: https://commits.webkit.org/276756@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 33c1f1: ReportingObserverCallbacks can leak the Document o...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 33c1f1877fa266b544427d68f05d3e33e7a027f4 https://github.com/WebKit/WebKit/commit/33c1f1877fa266b544427d68f05d3e33e7a027f4 Author: Ryan Reno Date: 2024-07-01 (Mon, 01 Jul 2024) Changed paths: A LayoutTests/fast/reporting/reporting-observer-callback-does-not-leak-expected.txt A LayoutTests/fast/reporting/reporting-observer-callback-does-not-leak.html A LayoutTests/fast/reporting/resources/reporting-observer-with-callback.html M Source/WebCore/Modules/reporting/ReportingObserver.cpp M Source/WebCore/Modules/reporting/ReportingObserver.h M Source/WebCore/Modules/reporting/ReportingObserver.idl M Source/WebCore/Modules/reporting/ReportingObserverCallback.h M Source/WebCore/Modules/reporting/ReportingObserverCallback.idl M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj A Source/WebCore/bindings/js/JSReportingObserverCustom.cpp Log Message: --- ReportingObserverCallbacks can leak the Document object https://bugs.webkit.org/show_bug.cgi?id=276080 rdar://130908426 Reviewed by Ryosuke Niwa. By default callbacks are held as JSC::Strong handles. This creates a GC Root which will keep anything captured in the callback function alive. On sites like britannica.com, many documents are captured in this way and lead to memory leaks. This patch makes ReportingObserverCallback Weak and keeps the callback wrapper alive via ReportingObserver's visitAdditionalChildren. * LayoutTests/fast/reporting/reporting-observer-callback-does-not-leak-expected.txt: Added. * LayoutTests/fast/reporting/reporting-observer-callback-does-not-leak.html: Added. * LayoutTests/fast/reporting/resources/reporting-observer-with-callback.html: Added. * Source/WebCore/Modules/reporting/ReportingObserver.cpp: (WebCore::ReportingObserver::callbackConcurrently): * Source/WebCore/Modules/reporting/ReportingObserver.h: * Source/WebCore/Modules/reporting/ReportingObserver.idl: * Source/WebCore/Modules/reporting/ReportingObserverCallback.h: * Source/WebCore/Modules/reporting/ReportingObserverCallback.idl: * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/bindings/js/JSReportingObserverCustom.cpp: Added. (WebCore::JSReportingObserver::visitAdditionalChildren): Canonical link: https://commits.webkit.org/280557@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 39ee5e: Make IsWeakCallback the default
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 39ee5e3e49f12d88a290b4d6326d1387f27122e3 https://github.com/WebKit/WebKit/commit/39ee5e3e49f12d88a290b4d6326d1387f27122e3 Author: Ryan Reno Date: 2024-07-02 (Tue, 02 Jul 2024) Changed paths: M Source/WebCore/Modules/entriesapi/ErrorCallback.idl M Source/WebCore/Modules/entriesapi/FileCallback.idl M Source/WebCore/Modules/entriesapi/FileSystemEntriesCallback.idl M Source/WebCore/Modules/entriesapi/FileSystemEntryCallback.idl M Source/WebCore/Modules/geolocation/PositionCallback.idl M Source/WebCore/Modules/geolocation/PositionErrorCallback.idl M Source/WebCore/Modules/mediasession/MediaSessionActionHandler.idl M Source/WebCore/Modules/notifications/NotificationPermissionCallback.idl M Source/WebCore/Modules/remoteplayback/RemotePlaybackAvailabilityCallback.idl M Source/WebCore/Modules/reporting/ReportingObserverCallback.idl M Source/WebCore/Modules/web-locks/WebLockGrantedCallback.idl M Source/WebCore/Modules/webaudio/AudioBufferCallback.idl M Source/WebCore/Modules/webaudio/AudioWorkletProcessorConstructor.idl M Source/WebCore/Modules/webcodecs/WebCodecsAudioDataOutputCallback.idl M Source/WebCore/Modules/webcodecs/WebCodecsEncodedAudioChunkOutputCallback.idl M Source/WebCore/Modules/webcodecs/WebCodecsEncodedVideoChunkOutputCallback.idl M Source/WebCore/Modules/webcodecs/WebCodecsErrorCallback.idl M Source/WebCore/Modules/webcodecs/WebCodecsVideoFrameOutputCallback.idl M Source/WebCore/Modules/webdatabase/DatabaseCallback.idl M Source/WebCore/Modules/webdatabase/SQLStatementCallback.idl M Source/WebCore/Modules/webdatabase/SQLStatementErrorCallback.idl M Source/WebCore/Modules/webdatabase/SQLTransactionCallback.idl M Source/WebCore/Modules/webdatabase/SQLTransactionErrorCallback.idl M Source/WebCore/Modules/webxr/XRFrameRequestCallback.idl M Source/WebCore/animation/CustomEffectCallback.idl M Source/WebCore/bindings/scripts/CodeGeneratorJS.pm M Source/WebCore/bindings/scripts/IDLAttributes.json M Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunction.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunction.h M Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.h A Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunctionStrong.cpp A Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunctionStrong.h M Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.h M Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.h M Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunctionWithVariadic.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunctionWithVariadic.h M Source/WebCore/bindings/scripts/test/JS/JSTestCallbackInterface.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestCallbackInterface.h M Source/WebCore/bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestVoidCallbackFunction.h M Source/WebCore/bindings/scripts/test/SupplementalDependencies.dep A Source/WebCore/bindings/scripts/test/TestCallbackFunctionStrong.idl M Source/WebCore/css/CSSPaintCallback.idl M Source/WebCore/dom/AbortAlgorithm.idl M Source/WebCore/dom/CreateHTMLCallback.idl M Source/WebCore/dom/CreateScriptCallback.idl M Source/WebCore/dom/CreateScriptURLCallback.idl M Source/WebCore/dom/IdleRequestCallback.idl M Source/WebCore/dom/MutationCallback.idl M Source/WebCore/dom/NodeFilter.idl M Source/WebCore/dom/RequestAnimationFrameCallback.idl M Source/WebCore/dom/StringCallback.idl M Source/WebCore/dom/ViewTransitionUpdateCallback.idl M Source/WebCore/fileapi/BlobCallback.idl M Source/WebCore/html/VideoFrameRequestCallback.idl M Source/WebCore/html/VoidCallback.idl M Source/WebCore/inspector/RTCLogsCallback.idl M Source/WebCore/page/IntersectionObserverCallback.idl M Source/WebCore/page/NavigationInterceptHandler.idl M Source/WebCore/page/PerformanceObserverCallback.idl M Source/WebCore/page/ResizeObserverCallback.idl M Source/WebCore/testing/XRSimulateUserActivationFunction.idl M Source/WebCore/xml/CustomXPathNSResolver.idl A filenames Log Message: --- Make IsWeakCallback the default https://bugs.webkit.org/show_bug.cgi?id=256269 rdar://108859209 Reviewed by Ryosuke Niwa. Callbacks are held as Strong handles which make them GC roots by default. This can cause these functions to leak objects they capture. In order to opt-out of this behavior and manage their lifetime
[webkit-changes] [WebKit/WebKit] 23b68f: Remove unintentionally commited file
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 23b68f0bcf960d1b2890ab1107fe2f7c3cba9910 https://github.com/WebKit/WebKit/commit/23b68f0bcf960d1b2890ab1107fe2f7c3cba9910 Author: Ryan Reno Date: 2024-07-03 (Wed, 03 Jul 2024) Changed paths: R filenames Log Message: --- Remove unintentionally commited file rdar://131067779 https://bugs.webkit.org/show_bug.cgi?id=276185 Unreviewed, removing a scratch file I accidentally committed yesterday. * filenames: Removed. Canonical link: https://commits.webkit.org/280635@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 968a81: Add document leak tests for Geolocation callbacks
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 968a81c0077cca90309f9aee9bab959597bd4f90 https://github.com/WebKit/WebKit/commit/968a81c0077cca90309f9aee9bab959597bd4f90 Author: Ryan Reno Date: 2024-07-03 (Wed, 03 Jul 2024) Changed paths: A LayoutTests/http/tests/geolocation/geolocation-get-current-position-does-not-leak.https-expected.txt A LayoutTests/http/tests/geolocation/geolocation-get-current-position-does-not-leak.https.html A LayoutTests/http/tests/geolocation/geolocation-watch-position-does-not-leak.https-expected.txt A LayoutTests/http/tests/geolocation/geolocation-watch-position-does-not-leak.https.html A LayoutTests/http/tests/geolocation/resources/geolocation-get-position-callback.html A LayoutTests/http/tests/geolocation/resources/geolocation-watch-position-callback.html Log Message: --- Add document leak tests for Geolocation callbacks https://bugs.webkit.org/show_bug.cgi?id=276191 rdar://131057488 Reviewed by Ben Nham. Add tests for navigator.geolocation callbacks to ensure they do not leak Documents when capturing the document object. Since the GC is conservative the test robustness is improved by creating 20 iframes and checking that at least one of them does not cause leaks. It's possible that the GC sees something pointer-like to the Document object and therefore keeps it alive. By spamming iframes we should be able to convince it to collect at least one document, assuming it isn't leaked via a reference cycle. * LayoutTests/http/tests/geolocation/geolocation-get-current-position-does-not-leak.https-expected.txt: Added. * LayoutTests/http/tests/geolocation/geolocation-get-current-position-does-not-leak.https.html: Added. * LayoutTests/http/tests/geolocation/geolocation-watch-position-does-not-leak.https-expected.txt: Added. * LayoutTests/http/tests/geolocation/geolocation-watch-position-does-not-leak.https.html: Added. * LayoutTests/http/tests/geolocation/resources/geolocation-get-position-callback.html: Added. * LayoutTests/http/tests/geolocation/resources/geolocation-watch-position-callback.html: Added. Canonical link: https://commits.webkit.org/280650@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 8f7312: WebCodecs VideoDecoder callbacks leak the Document...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8f7312114c32d445fa64b1bf6075160948a9befe https://github.com/WebKit/WebKit/commit/8f7312114c32d445fa64b1bf6075160948a9befe Author: Ryan Reno Date: 2024-07-08 (Mon, 08 Jul 2024) Changed paths: A LayoutTests/http/tests/resources/document-leak-test.js A LayoutTests/http/tests/webcodecs/resources/video-decoder-callbacks-frame.html A LayoutTests/http/tests/webcodecs/video-decoder-callbacks-do-not-leak-expected.txt A LayoutTests/http/tests/webcodecs/video-decoder-callbacks-do-not-leak.html M Source/WebCore/Modules/webcodecs/WebCodecsErrorCallback.h M Source/WebCore/Modules/webcodecs/WebCodecsErrorCallback.idl M Source/WebCore/Modules/webcodecs/WebCodecsVideoDecoder.h M Source/WebCore/Modules/webcodecs/WebCodecsVideoDecoder.idl M Source/WebCore/Modules/webcodecs/WebCodecsVideoFrameOutputCallback.h M Source/WebCore/Modules/webcodecs/WebCodecsVideoFrameOutputCallback.idl M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj A Source/WebCore/bindings/js/JSWebCodecsVideoDecoderCustom.cpp Log Message: --- WebCodecs VideoDecoder callbacks leak the Document object https://bugs.webkit.org/show_bug.cgi?id=276277 rdar://131208814 Reviewed by Youenn Fablet. WebCodecsVideoDecoder holds refs to the required output and error callbacks. They are strong and never cleared which cause them to leak anything they capture. Interestingly, they manage to leak the Document even without explicitly capturing the object. In order to keep them as non-nullable refs we can make the callbacks Weak and use JSWebCodecsVideoDecoder::visitAdditionalChildren to keep them alive as long as the owning wrapper is alive. * LayoutTests/http/tests/resources/document-leak-test.js: Added. (createFrames): (iframeForMessage): (iframeLeaked): (iframeSentMessage): (runDocumentLeakTest): * LayoutTests/http/tests/webcodecs/resources/video-decoder-callbacks-frame.html: Added. * LayoutTests/http/tests/webcodecs/video-decoder-callbacks-do-not-leak-expected.txt: Added. * LayoutTests/http/tests/webcodecs/video-decoder-callbacks-do-not-leak.html: Added. * Source/WebCore/Modules/webcodecs/WebCodecsErrorCallback.h: * Source/WebCore/Modules/webcodecs/WebCodecsErrorCallback.idl: * Source/WebCore/Modules/webcodecs/WebCodecsVideoDecoder.h: (WebCore::WebCodecsVideoDecoder::outputCallbackConcurrently): (WebCore::WebCodecsVideoDecoder::errorCallbackConcurrently): * Source/WebCore/Modules/webcodecs/WebCodecsVideoDecoder.idl: * Source/WebCore/Modules/webcodecs/WebCodecsVideoFrameOutputCallback.h: * Source/WebCore/Modules/webcodecs/WebCodecsVideoFrameOutputCallback.idl: * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/bindings/js/JSWebCodecsVideoDecoderCustom.cpp: Added. (WebCore::JSWebCodecsVideoDecoder::visitAdditionalChildren): Canonical link: https://commits.webkit.org/280738@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 5eb1d5: HTMLVideoElement.requestVideoFrameCallback can lea...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5eb1d50bc03d3ec080f64562e5d5af4d1ef51b2a https://github.com/WebKit/WebKit/commit/5eb1d50bc03d3ec080f64562e5d5af4d1ef51b2a Author: Ryan Reno Date: 2024-07-08 (Mon, 08 Jul 2024) Changed paths: A LayoutTests/fast/html/request-video-frame-callback-does-not-leak-expected.txt A LayoutTests/fast/html/request-video-frame-callback-does-not-leak.html A LayoutTests/fast/html/resources/request-video-frame-callback.html A LayoutTests/resources/document-leak-test.js M Source/WebCore/html/HTMLMediaElement.h M Source/WebCore/html/HTMLVideoElement.cpp M Source/WebCore/html/HTMLVideoElement.h Log Message: --- HTMLVideoElement.requestVideoFrameCallback can leak its captures if cancelVideoFrameCallback is not called. rdar://131184636 https://bugs.webkit.org/show_bug.cgi?id=276267 Reviewed by Youenn Fablet. If HTMLVideoElement.requestVideoFrameCallback captures the document object it will likely leak if cancelVideoFrameCallback is not called by the web author. This change will clear pending and serviced video frame callback lists in the HTMLVideoElement when ActiveDOMObject::stop is called. Additionally, I've factored out some common code which I've been using in writing the Layout Tests for leak regression testing into a helper file in LayoutTests/resources. * LayoutTests/fast/html/request-video-frame-callback-does-not-leak-expected.txt: Added. * LayoutTests/fast/html/request-video-frame-callback-does-not-leak.html: Added. * LayoutTests/fast/html/resources/request-video-frame-callback.html: Added. * LayoutTests/resources/document-leak-test.js: Added. (createFrames): (iframeForMessage): (iframeLeaked): (iframeSentMessage): (runDocumentLeakTest): * Source/WebCore/html/HTMLMediaElement.h: * Source/WebCore/html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::stop): * Source/WebCore/html/HTMLVideoElement.h: Canonical link: https://commits.webkit.org/280754@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] a0a1e4: WebCodecs Audio and Video Encoder callbacks leak t...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a0a1e48bd8e0d0a54f2981fce20c2be70186906f https://github.com/WebKit/WebKit/commit/a0a1e48bd8e0d0a54f2981fce20c2be70186906f Author: Ryan Reno Date: 2024-07-08 (Mon, 08 Jul 2024) Changed paths: A LayoutTests/http/tests/webcodecs/audio-encoder-callbacks-do-not-leak-expected.txt A LayoutTests/http/tests/webcodecs/audio-encoder-callbacks-do-not-leak.html A LayoutTests/http/tests/webcodecs/resources/audio-encoder-callbacks-frame.html A LayoutTests/http/tests/webcodecs/resources/video-encoder-callbacks-frame.html A LayoutTests/http/tests/webcodecs/video-encoder-callbacks-do-not-leak-expected.txt A LayoutTests/http/tests/webcodecs/video-encoder-callbacks-do-not-leak.html M Source/WebCore/Modules/webcodecs/WebCodecsAudioEncoder.h M Source/WebCore/Modules/webcodecs/WebCodecsAudioEncoder.idl M Source/WebCore/Modules/webcodecs/WebCodecsEncodedAudioChunkOutputCallback.h M Source/WebCore/Modules/webcodecs/WebCodecsEncodedAudioChunkOutputCallback.idl M Source/WebCore/Modules/webcodecs/WebCodecsEncodedVideoChunkOutputCallback.h M Source/WebCore/Modules/webcodecs/WebCodecsEncodedVideoChunkOutputCallback.idl M Source/WebCore/Modules/webcodecs/WebCodecsVideoEncoder.h M Source/WebCore/Modules/webcodecs/WebCodecsVideoEncoder.idl M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj A Source/WebCore/bindings/js/JSWebCodecsAudioEncoderCustom.cpp A Source/WebCore/bindings/js/JSWebCodecsVideoEncoderCustom.cpp Log Message: --- WebCodecs Audio and Video Encoder callbacks leak the Document object. https://bugs.webkit.org/show_bug.cgi?id=276332 rdar://131327288 Reviewed by Ryosuke Niwa. Similar to the Audio and Video Decoder objects WebCodecs encoders store refs to their Strong callbacks which leak the Document. This change makes the output callbacks of the encoders Weak and keeps them alive via the owning encoder wrappers visitAdditionalChildren. * LayoutTests/http/tests/webcodecs/audio-encoder-callbacks-do-not-leak-expected.txt: Added. * LayoutTests/http/tests/webcodecs/audio-encoder-callbacks-do-not-leak.html: Added. * LayoutTests/http/tests/webcodecs/resources/audio-encoder-callbacks-frame.html: Added. * LayoutTests/http/tests/webcodecs/resources/video-encoder-callbacks-frame.html: Added. * LayoutTests/http/tests/webcodecs/video-encoder-callbacks-do-not-leak-expected.txt: Added. * LayoutTests/http/tests/webcodecs/video-encoder-callbacks-do-not-leak.html: Added. * Source/WebCore/Modules/webcodecs/WebCodecsAudioEncoder.h: (WebCore::WebCodecsAudioEncoder::outputCallbackConcurrently): (WebCore::WebCodecsAudioEncoder::errorCallbackConcurrently): * Source/WebCore/Modules/webcodecs/WebCodecsAudioEncoder.idl: * Source/WebCore/Modules/webcodecs/WebCodecsEncodedAudioChunkOutputCallback.h: * Source/WebCore/Modules/webcodecs/WebCodecsEncodedAudioChunkOutputCallback.idl: * Source/WebCore/Modules/webcodecs/WebCodecsEncodedVideoChunkOutputCallback.h: * Source/WebCore/Modules/webcodecs/WebCodecsEncodedVideoChunkOutputCallback.idl: * Source/WebCore/Modules/webcodecs/WebCodecsVideoEncoder.h: (WebCore::WebCodecsVideoEncoder::outputCallbackConcurrently): (WebCore::WebCodecsVideoEncoder::errorCallbackConcurrently): * Source/WebCore/Modules/webcodecs/WebCodecsVideoEncoder.idl: * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/bindings/js/JSWebCodecsAudioEncoderCustom.cpp: Added. (WebCore::JSWebCodecsAudioEncoder::visitAdditionalChildren): * Source/WebCore/bindings/js/JSWebCodecsVideoEncoderCustom.cpp: Added. (WebCore::JSWebCodecsVideoEncoder::visitAdditionalChildren): Canonical link: https://commits.webkit.org/280762@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 8c66f1: WebCodecs AudioDecoder callbacks leak the Document...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8c66f1def4e54f5a404425465ad45c6471e99297 https://github.com/WebKit/WebKit/commit/8c66f1def4e54f5a404425465ad45c6471e99297 Author: Ryan Reno Date: 2024-07-09 (Tue, 09 Jul 2024) Changed paths: A LayoutTests/http/tests/webcodecs/audio-decoder-callbacks-do-not-leak-expected.txt A LayoutTests/http/tests/webcodecs/audio-decoder-callbacks-do-not-leak.html A LayoutTests/http/tests/webcodecs/resources/audio-decoder-callbacks-frame.html M LayoutTests/http/tests/webcodecs/video-decoder-callbacks-do-not-leak-expected.txt M LayoutTests/http/tests/webcodecs/video-decoder-callbacks-do-not-leak.html M Source/WebCore/Modules/webcodecs/WebCodecsAudioDataOutputCallback.h M Source/WebCore/Modules/webcodecs/WebCodecsAudioDataOutputCallback.idl M Source/WebCore/Modules/webcodecs/WebCodecsAudioDecoder.h M Source/WebCore/Modules/webcodecs/WebCodecsAudioDecoder.idl M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj A Source/WebCore/bindings/js/JSWebCodecsAudioDecoderCustom.cpp Log Message: --- WebCodecs AudioDecoder callbacks leak the Document object https://bugs.webkit.org/show_bug.cgi?id=276322 rdar://131315241 Reviewed by Youenn Fablet. This is similar to VideoDecoder's callbacks leaking the Document object via holding references to the callback object but not ever releasing the references (280738@main). To fix the leak, we make the callback Weak and keep it alive via visitAdditionalChildren during the marking phase. * LayoutTests/http/tests/webcodecs/audio-decoder-callbacks-do-not-leak-expected.txt: Added. * LayoutTests/http/tests/webcodecs/audio-decoder-callbacks-do-not-leak.html: Copied from LayoutTests/http/tests/webcodecs/video-decoder-callbacks-do-not-leak.html. * LayoutTests/http/tests/webcodecs/resources/audio-decoder-callbacks-frame.html: Added. * LayoutTests/http/tests/webcodecs/video-decoder-callbacks-do-not-leak-expected.txt: * LayoutTests/http/tests/webcodecs/video-decoder-callbacks-do-not-leak.html: Fixed a typo in the description of the test. * Source/WebCore/Modules/webcodecs/WebCodecsAudioDataOutputCallback.h: * Source/WebCore/Modules/webcodecs/WebCodecsAudioDataOutputCallback.idl: * Source/WebCore/Modules/webcodecs/WebCodecsAudioDecoder.h: (WebCore::WebCodecsAudioDecoder::outputCallbackConcurrently): (WebCore::WebCodecsAudioDecoder::errorCallbackConcurrently): * Source/WebCore/Modules/webcodecs/WebCodecsAudioDecoder.idl: * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/bindings/js/JSWebCodecsAudioDecoderCustom.cpp: Added. (WebCore::JSWebCodecsAudioDecoder::visitAdditionalChildren): Canonical link: https://commits.webkit.org/280783@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f288b9: RemotePlayback watchAvailability callback can leak...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f288b9088d1b74b980c3b7a8d5add134f7689bdb https://github.com/WebKit/WebKit/commit/f288b9088d1b74b980c3b7a8d5add134f7689bdb Author: Ryan Reno Date: 2024-07-09 (Tue, 09 Jul 2024) Changed paths: A LayoutTests/media/media-source/remoteplayback-availability-callback-does-not-leak-expected.txt A LayoutTests/media/media-source/remoteplayback-availability-callback-does-not-leak.html A LayoutTests/media/media-source/resources/remoteplayback-watch-availability-frame.html A LayoutTests/platform/glib/media/media-source/remoteplayback-availability-callback-does-not-leak-expected.txt M LayoutTests/resources/document-leak-test.js M Source/WebCore/Modules/remoteplayback/RemotePlayback.cpp M Source/WebCore/Modules/remoteplayback/RemotePlayback.h Log Message: --- RemotePlayback watchAvailability callback can leak the Document object. https://bugs.webkit.org/show_bug.cgi?id=276344 rdar://131345363 Reviewed by Ryosuke Niwa. RemotePlayback's watchAvailibility callback can leak captures, including the Document object, if cancelWatchAvailability is not called by the web author. This change will clear all registered callbacks when ActiveDOMObject::stop is called allowing the callback and captures to be garbage collected. * LayoutTests/platform/glib/media/media-source/remoteplayback-availability-callback-does-not-leak-expected.txt: Added. * LayoutTests/media/media-source/remoteplayback-availability-callback-does-not-leak-expected.txt: Added. * LayoutTests/media/media-source/remoteplayback-availability-callback-does-not-leak.html: * LayoutTests/media/media-source/resources/remoteplayback-watch-availability-frame.html: * LayoutTests/resources/document-leak-test.js: (iframeSentMessage): * Source/WebCore/Modules/remoteplayback/RemotePlayback.cpp: (WebCore::RemotePlayback::stop): * Source/WebCore/Modules/remoteplayback/RemotePlayback.h: Canonical link: https://commits.webkit.org/280799@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9e0be5: ReportingObserver can be kept alive longer than ne...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9e0be52714870b41c87cbc959458931757631918 https://github.com/WebKit/WebKit/commit/9e0be52714870b41c87cbc959458931757631918 Author: Ryan Reno Date: 2024-07-11 (Thu, 11 Jul 2024) Changed paths: A LayoutTests/fast/reporting/reporting-observer-lifetime-expected.txt A LayoutTests/fast/reporting/reporting-observer-lifetime.html M Source/WebCore/Modules/reporting/ReportingObserver.cpp M Source/WebCore/Modules/reporting/ReportingObserver.h M Source/WebCore/Modules/reporting/ReportingObserver.idl M Source/WebCore/Modules/reporting/ReportingScope.cpp M Source/WebCore/Modules/reporting/ReportingScope.h Log Message: --- ReportingObserver can be kept alive longer than necessary. https://bugs.webkit.org/show_bug.cgi?id=276500 rdar://131559195 Reviewed by Brent Fulgham. ReportingObserver has the GenerateIsReachable=ImplScriptExecutionContext extended IDL attribute. This will generate a isReachableFromOpaqueRoots implementation which will keep the observer alive for as long as the ScriptExecutionContext exists. However, if we are no longer observing reports and all JS references to the object are gone, we should allow ourselves to garbage collect it. This change turns the ReportingObserver into an ActiveDOMObject whose pending activity state depends on whether or not it is registered with the ReportingScope. * LayoutTests/fast/reporting/reporting-observer-lifetime-expected.txt: Added. * LayoutTests/fast/reporting/reporting-observer-lifetime.html: Added. * Source/WebCore/Modules/reporting/ReportingObserver.cpp: (WebCore::ReportingObserver::create): (WebCore::ReportingObserver::ReportingObserver): (WebCore::ReportingObserver::virtualHasPendingActivity const): * Source/WebCore/Modules/reporting/ReportingObserver.h: * Source/WebCore/Modules/reporting/ReportingObserver.idl: * Source/WebCore/Modules/reporting/ReportingScope.cpp: (WebCore::ReportingScope::containsObserver const): * Source/WebCore/Modules/reporting/ReportingScope.h: Canonical link: https://commits.webkit.org/280886@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] dbe371: Make all callbacks Weak handles
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: dbe37108181c9061fdc12b5c61ab669c48f1419b https://github.com/WebKit/WebKit/commit/dbe37108181c9061fdc12b5c61ab669c48f1419b Author: Ryan Reno Date: 2024-07-15 (Mon, 15 Jul 2024) Changed paths: A LayoutTests/requestidlecallback/requestidlecallback-does-not-leak-document-expected.txt A LayoutTests/requestidlecallback/requestidlecallback-does-not-leak-document.html A LayoutTests/requestidlecallback/resources/requestidlecallback-frame.html M Source/WebCore/Modules/WebGPU/GPUDevice.cpp M Source/WebCore/Modules/entriesapi/ErrorCallback.h M Source/WebCore/Modules/entriesapi/ErrorCallback.idl M Source/WebCore/Modules/entriesapi/FileCallback.h M Source/WebCore/Modules/entriesapi/FileCallback.idl M Source/WebCore/Modules/entriesapi/FileSystemEntriesCallback.h M Source/WebCore/Modules/entriesapi/FileSystemEntriesCallback.idl M Source/WebCore/Modules/entriesapi/FileSystemEntryCallback.h M Source/WebCore/Modules/entriesapi/FileSystemEntryCallback.idl M Source/WebCore/Modules/geolocation/PositionCallback.h M Source/WebCore/Modules/geolocation/PositionCallback.idl M Source/WebCore/Modules/geolocation/PositionErrorCallback.h M Source/WebCore/Modules/geolocation/PositionErrorCallback.idl M Source/WebCore/Modules/notifications/NotificationPermissionCallback.h M Source/WebCore/Modules/notifications/NotificationPermissionCallback.idl M Source/WebCore/Modules/remoteplayback/RemotePlaybackAvailabilityCallback.h M Source/WebCore/Modules/remoteplayback/RemotePlaybackAvailabilityCallback.idl M Source/WebCore/Modules/web-locks/WebLockGrantedCallback.h M Source/WebCore/Modules/web-locks/WebLockGrantedCallback.idl M Source/WebCore/Modules/webaudio/AudioBufferCallback.h M Source/WebCore/Modules/webaudio/AudioBufferCallback.idl M Source/WebCore/Modules/webaudio/AudioWorkletProcessorConstructor.h M Source/WebCore/Modules/webaudio/AudioWorkletProcessorConstructor.idl M Source/WebCore/Modules/webdatabase/DatabaseCallback.h M Source/WebCore/Modules/webdatabase/DatabaseCallback.idl M Source/WebCore/Modules/webdatabase/SQLStatementCallback.h M Source/WebCore/Modules/webdatabase/SQLStatementCallback.idl M Source/WebCore/Modules/webdatabase/SQLStatementErrorCallback.h M Source/WebCore/Modules/webdatabase/SQLStatementErrorCallback.idl M Source/WebCore/Modules/webdatabase/SQLTransactionCallback.h M Source/WebCore/Modules/webdatabase/SQLTransactionCallback.idl M Source/WebCore/Modules/webdatabase/SQLTransactionErrorCallback.h M Source/WebCore/Modules/webdatabase/SQLTransactionErrorCallback.idl M Source/WebCore/Modules/webxr/WebXRSystem.cpp M Source/WebCore/Modules/webxr/XRFrameRequestCallback.h M Source/WebCore/Modules/webxr/XRFrameRequestCallback.idl M Source/WebCore/animation/CustomEffectCallback.h M Source/WebCore/animation/CustomEffectCallback.idl M Source/WebCore/bindings/js/JSCallbackData.cpp M Source/WebCore/bindings/js/JSCallbackData.h M Source/WebCore/bindings/scripts/CodeGeneratorJS.pm M Source/WebCore/bindings/scripts/IDLAttributes.json M Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunction.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunction.h A Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunctionGenerateIsReachable.cpp A Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunctionGenerateIsReachable.h M Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.h R Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunctionStrong.cpp R Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunctionStrong.h M Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.h M Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.h M Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunctionWithVariadic.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunctionWithVariadic.h M Source/WebCore/bindings/scripts/test/JS/JSTestCallbackInterface.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestCallbackInterface.h M Source/WebCore/bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestVoidCallbackFunction.h M Source/WebCore/bindings/scripts/test/SupplementalDependencies.dep A Source/WebCore/bindings/scripts/test/TestCallbackFunctionGenerateIsReachable.idl R Source/WebCore/bindings/scripts/test/TestCallbackFunctionStrong.idl M Source/WebCore/css/CSSPaintCallback.h M Source/WebCore/css
[webkit-changes] [WebKit/WebKit] 148e56: http/tests/canvas/ctx.2d-canvas-style-no-document-...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 148e56013b4570bf1648002252e2282963b39ab7 https://github.com/WebKit/WebKit/commit/148e56013b4570bf1648002252e2282963b39ab7 Author: Ryan Reno Date: 2024-07-29 (Mon, 29 Jul 2024) Changed paths: A LayoutTests/http/tests/canvas/ctx.2d-canvas-style-color-no-document-leak-expected.txt A LayoutTests/http/tests/canvas/ctx.2d-canvas-style-color-no-document-leak.html A LayoutTests/http/tests/canvas/ctx.2d-canvas-style-gradient-no-document-leak-expected.txt A LayoutTests/http/tests/canvas/ctx.2d-canvas-style-gradient-no-document-leak.html R LayoutTests/http/tests/canvas/ctx.2d-canvas-style-no-document-leak-expected.txt R LayoutTests/http/tests/canvas/ctx.2d-canvas-style-no-document-leak.html A LayoutTests/http/tests/canvas/ctx.2d-canvas-style-pattern-no-document-leak-expected.txt A LayoutTests/http/tests/canvas/ctx.2d-canvas-style-pattern-no-document-leak.html M LayoutTests/platform/win/TestExpectations Log Message: --- http/tests/canvas/ctx.2d-canvas-style-no-document-leak.html is flaky failure https://bugs.webkit.org/show_bug.cgi?id=277234 rdar://132725257 Reviewed by Fujii Hironori. The 2D canvas style leak tests were not robust to the conservative nature of the JSC garbage collector. This changes the test to use the document-leak-test.js helper which will allow us to test against a number of iframes to maximize the chances we will see a Document object get collected and reduce flakiness of the test. * LayoutTests/http/tests/canvas/ctx.2d-canvas-style-color-no-document-leak-expected.txt: Added. * LayoutTests/http/tests/canvas/ctx.2d-canvas-style-color-no-document-leak.html: Added. * LayoutTests/http/tests/canvas/ctx.2d-canvas-style-gradient-no-document-leak-expected.txt: Added. * LayoutTests/http/tests/canvas/ctx.2d-canvas-style-gradient-no-document-leak.html: Added. * LayoutTests/http/tests/canvas/ctx.2d-canvas-style-no-document-leak-expected.txt: Removed. * LayoutTests/http/tests/canvas/ctx.2d-canvas-style-no-document-leak.html: Removed. * LayoutTests/http/tests/canvas/ctx.2d-canvas-style-pattern-no-document-leak-expected.txt: Added. * LayoutTests/http/tests/canvas/ctx.2d-canvas-style-pattern-no-document-leak.html: Added. Canonical link: https://commits.webkit.org/281523@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 332373: Rewrite Document abandonment LayoutTests to be mor...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3323735874527c9cdec27aa7e6e6dc9644578ea3 https://github.com/WebKit/WebKit/commit/3323735874527c9cdec27aa7e6e6dc9644578ea3 Author: Ryan Reno Date: 2024-07-29 (Mon, 29 Jul 2024) Changed paths: M LayoutTests/fast/reporting/reporting-observer-callback-does-not-leak-expected.txt M LayoutTests/fast/reporting/reporting-observer-callback-does-not-leak.html M LayoutTests/http/tests/geolocation/geolocation-watch-position-does-not-leak.https.html M LayoutTests/media/media-session/actionHandler-no-document-leak-expected.txt M LayoutTests/media/media-session/actionHandler-no-document-leak.html Log Message: --- Rewrite Document abandonment LayoutTests to be more robust against flakiness https://bugs.webkit.org/show_bug.cgi?id=277263 rdar://132726649 Reviewed by Sammy Gill. document-leak-test.js was added to help write layout tests for Document object abandonment. Tests which predate this helper are being changed to use it instead to help guard against flaky pass/failure results. * LayoutTests/fast/reporting/reporting-observer-callback-does-not-leak-expected.txt: * LayoutTests/fast/reporting/reporting-observer-callback-does-not-leak.html: * LayoutTests/http/tests/geolocation/geolocation-watch-position-does-not-leak.https.html: * LayoutTests/media/media-session/actionHandler-no-document-leak-expected.txt: * LayoutTests/media/media-session/actionHandler-no-document-leak.html: Canonical link: https://commits.webkit.org/281524@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9d1be6: Use the WebKit subsystem in the OS Log instead of ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9d1be6133e8fdc88f2ef40ef51a9def368f726da https://github.com/WebKit/WebKit/commit/9d1be6133e8fdc88f2ef40ef51a9def368f726da Author: Ryan Reno Date: 2024-07-31 (Wed, 31 Jul 2024) Changed paths: M Source/WTF/wtf/Assertions.cpp Log Message: --- Use the WebKit subsystem in the OS Log instead of OS_LOG_DEFAULT https://bugs.webkit.org/show_bug.cgi?id=277388 rdar://132856259 Reviewed by Ben Nham. Logging functions which output to both the OS Log (on Apple platforms) and stderr use the Default logging subsystem. This logging would then be missed by a simple log predicate which is using the com.apple.WebKit subsystem. This change will cause functions such as WTFLogAlways or WTFReportAssertionFailure use the com.apple.WebKit:Generic subsystem:category pair as a logging ergonomics improvement. * Source/WTF/wtf/Assertions.cpp: Canonical link: https://commits.webkit.org/281650@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 280834: Save the GraphicsLayer Tree to a file in addition ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2808344caa6a81a6a9c19e3c5309b409c8e5c1ec https://github.com/WebKit/WebKit/commit/2808344caa6a81a6a9c19e3c5309b409c8e5c1ec Author: Ryan Reno Date: 2024-08-02 (Fri, 02 Aug 2024) Changed paths: M Source/WebCore/platform/graphics/GraphicsLayer.cpp Log Message: --- Save the GraphicsLayer Tree to a file in addition to printing to stderr https://bugs.webkit.org/show_bug.cgi?id=277553 rdar://133066429 Reviewed by Simon Fraser. The GraphicsLayer Tree can get quite large which exceeds the OS Log's printing limits, even with the Enable-Oversize-Messages OS Log option. WTFLogAlways will print to both stderr and the OS Log but on iOS its not easy to get access to stderr without having a debugger attached. This change will additionally print the tree output to a temporary file which can be read more easily to aid in debugging when access to stderr is limited. * Source/WebCore/platform/graphics/GraphicsLayer.cpp: (showGraphicsLayerTree): Canonical link: https://commits.webkit.org/281772@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 2ef9bf: REGRESSION (280975@main) Null pointer deref crash ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2ef9bf886adc838c1e70bec46da48a5e33c9b7e8 https://github.com/WebKit/WebKit/commit/2ef9bf886adc838c1e70bec46da48a5e33c9b7e8 Author: Ryan Reno Date: 2024-08-22 (Thu, 22 Aug 2024) Changed paths: M Source/WebCore/bindings/js/JSAudioWorkletGlobalScopeCustom.cpp Log Message: --- REGRESSION (280975@main) Null pointer deref crash in WebCore::AudioWorkletGlobalScope::createProcessor https://bugs.webkit.org/show_bug.cgi?id=278512 rdar://133250806 Reviewed by Chris Dumez. After 280975@main, Audio Worklet processor constructors are weak handles and may be garbage collected prematurely, especially in WK1. This can lead to null pointer deref crashes in WebAudio WPT when trying to construct a new Audio Worklet processor. This change adds the AudioWorkletGlobalScope as a WebCore opaque root in order to keep registered processor constructors alive via the isReachableFromOpaqueRoots mechanism. * Source/WebCore/bindings/js/JSAudioWorkletGlobalScopeCustom.cpp: (WebCore::JSAudioWorkletGlobalScope::visitAdditionalChildren): Canonical link: https://commits.webkit.org/282644@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b5502f: REGRESSION (280886@main) ReportingObserver can be ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b5502f0dc670c978232c2b14a3b075e9636d8351 https://github.com/WebKit/WebKit/commit/b5502f0dc670c978232c2b14a3b075e9636d8351 Author: Ryan Reno Date: 2024-08-22 (Thu, 22 Aug 2024) Changed paths: M Source/WebCore/Modules/reporting/ReportingObserver.cpp Log Message: --- REGRESSION (280886@main) ReportingObserver can be garbage collected while a task is queued to make report callbacks. https://bugs.webkit.org/show_bug.cgi?id=278534 rdar://133409507 Reviewed by Brent Fulgham. In 280886@main I tied the lifetime of the ReportingObserver object to whether or not it is observing reports by making it an ActiveDOMObject. In some cases (especially imported/w3c/web-platform-tests/reporting/disconnect.html) the object and its callback can be garbage collected while there's an outstanding task to make the callback with its reports which can cause a null pointer dereference when attempting to invoke the callback. This change will keep the object alive until after the callback has been serviced, even if all references are dropped and the ReportingObserver has disconnected. * Source/WebCore/Modules/reporting/ReportingObserver.cpp: (WebCore::ReportingObserver::appendQueuedReportIfCorrectType): Canonical link: https://commits.webkit.org/282645@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] dcc8d9: REGRESSION (280738@main) [WebCodecs] Audio and Vid...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: dcc8d978d725f48b8f5abf2a93fdff1505847fe7 https://github.com/WebKit/WebKit/commit/dcc8d978d725f48b8f5abf2a93fdff1505847fe7 Author: Ryan Reno Date: 2024-08-23 (Fri, 23 Aug 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: --- REGRESSION (280738@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@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@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 To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org
[webkit-changes] [WebKit/WebKit] 002bcd: [CSS Typed OM] Fix reference cycle between the com...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 002bcd5e72150ed17b53a718853ca784544080bc https://github.com/WebKit/WebKit/commit/002bcd5e72150ed17b53a718853ca784544080bc Author: Ryan Reno Date: 2024-09-11 (Wed, 11 Sep 2024) Changed paths: A LayoutTests/css-typedom/computed-style-map-lifetime-expected.txt A LayoutTests/css-typedom/computed-style-map-lifetime.html M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj A Source/WebCore/bindings/js/JSStylePropertyMapReadOnlyCustom.cpp M Source/WebCore/css/typedom/ComputedStylePropertyMapReadOnly.cpp M Source/WebCore/css/typedom/ComputedStylePropertyMapReadOnly.h M Source/WebCore/css/typedom/DeclaredStylePropertyMap.h M Source/WebCore/css/typedom/HashMapStylePropertyMapReadOnly.h M Source/WebCore/css/typedom/InlineStylePropertyMap.h M Source/WebCore/css/typedom/StylePropertyMapReadOnly.h M Source/WebCore/css/typedom/StylePropertyMapReadOnly.idl Log Message: --- [CSS Typed OM] Fix reference cycle between the computed style property map and DOM elements https://bugs.webkit.org/show_bug.cgi?id=279268 rdar://135356992 Reviewed by Chris Dumez and Matthieu Dubet. There is a ref cycle between Element.computedStylePropertyMap and the element itself. This change makes the back reference between ComputedStylePropertyMapReadOnly and the element weak. To cover the case where a JS reference is held to the computedStylePropertyMap but the element has been disconnected from the document and is eligible for GC the map will keep the element alive. Verified fix with run-webkit-tests --world-leaks imported/w3c/web-platform-tests/css/css-typed-om and the new layout test to verify GC behavior. * LayoutTests/css-typedom/computed-style-map-lifetime-expected.txt: Added. * LayoutTests/css-typedom/computed-style-map-lifetime.html: Added. * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/bindings/js/JSStylePropertyMapReadOnlyCustom.cpp: Copied from Source/WebCore/css/typedom/ComputedStylePropertyMapReadOnly.h. (WebCore::JSStylePropertyMapReadOnly::visitAdditionalChildren): * Source/WebCore/css/typedom/ComputedStylePropertyMapReadOnly.h: * Source/WebCore/css/typedom/DeclaredStylePropertyMap.h: * Source/WebCore/css/typedom/HashMapStylePropertyMapReadOnly.h: * Source/WebCore/css/typedom/InlineStylePropertyMap.h: * Source/WebCore/css/typedom/StylePropertyMapReadOnly.h: * Source/WebCore/css/typedom/StylePropertyMapReadOnly.idl: Canonical link: https://commits.webkit.org/283490@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 7b1023: Fix the MallocHeapBreakdown build
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 7b102361b2d70f0dff36d00f9289ef9e5777dedf https://github.com/WebKit/WebKit/commit/7b102361b2d70f0dff36d00f9289ef9e5777dedf Author: Ryan Reno Date: 2024-06-25 (Tue, 25 Jun 2024) Changed paths: M Source/JavaScriptCore/bytecode/ExpressionInfo.cpp M Source/JavaScriptCore/heap/GigacageAlignedMemoryAllocator.cpp M Source/JavaScriptCore/heap/IsoAlignedMemoryAllocator.cpp M Source/JavaScriptCore/wasm/WasmCallee.cpp M Source/JavaScriptCore/wasm/WasmCallee.h M Source/WebCore/animation/CSSPropertyAnimation.cpp M Source/WebCore/loader/icon/IconLoader.h M Source/bmalloc/bmalloc/IsoMallocFallback.cpp M Tools/TestWebKitAPI/Tests/WTF/WeakPtr.cpp Log Message: --- Fix the MallocHeapBreakdown build rdar://130514774 https://bugs.webkit.org/show_bug.cgi?id=275862 Reviewed by Yusuke Suzuki. Fixes the MallocHeapBreakdown debugging build. * Source/JavaScriptCore/bytecode/ExpressionInfo.cpp: (JSC::ExpressionInfo::Encoder::createExpressionInfo): (JSC::ExpressionInfo::createUninitialized): * Source/JavaScriptCore/heap/GigacageAlignedMemoryAllocator.cpp: (JSC::GigacageAlignedMemoryAllocator::GigacageAlignedMemoryAllocator): * Source/JavaScriptCore/heap/IsoAlignedMemoryAllocator.cpp: (JSC::IsoAlignedMemoryAllocator::IsoAlignedMemoryAllocator): * Source/JavaScriptCore/wasm/WasmCallee.cpp: * Source/JavaScriptCore/wasm/WasmCallee.h: * Source/WebCore/animation/CSSPropertyAnimation.cpp: * Source/WebCore/loader/icon/IconLoader.h: * Source/bmalloc/bmalloc/IsoMallocFallback.cpp: (bmalloc::IsoMallocFallback::tryMalloc): * Tools/TestWebKitAPI/Tests/WTF/WeakPtr.cpp: Canonical link: https://commits.webkit.org/280347@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d80d6f: [Cocoa] Logging macros should use the correct OSLo...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d80d6f2b54115e952e9f9f2fe7458d857c1375f7 https://github.com/WebKit/WebKit/commit/d80d6f2b54115e952e9f9f2fe7458d857c1375f7 Author: Ryan Reno Date: 2024-09-12 (Thu, 12 Sep 2024) Changed paths: M Source/WTF/wtf/Assertions.cpp Log Message: --- [Cocoa] Logging macros should use the correct OSLog category https://bugs.webkit.org/show_bug.cgi?id=279553 rdar://135836583 Reviewed by Ben Nham. Macros such as LOG or LOG_WITH_STREAM use the log channel passed to them to determine whether or not they should log at all but we end up logging to the Generic OSLog category. This change will pass the log channel down to the os_log API calls so we can log to the correct subsystem and category which will be "com.apple.WebKit:LogChannelName" for some LogChannelName. This enables us to use the category predicate when streaming or viewing logs offline. * Source/WTF/wtf/Assertions.cpp: Canonical link: https://commits.webkit.org/283578@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 4f3ee1: [WebGPU] Add an IOSurface::Name value for WebGPU c...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 4f3ee145d5c788082f5c1ad43ad1223b536e7fff https://github.com/WebKit/WebKit/commit/4f3ee145d5c788082f5c1ad43ad1223b536e7fff Author: Ryan Reno Date: 2024-09-13 (Fri, 13 Sep 2024) Changed paths: M Source/WebCore/Modules/WebGPU/Implementation/WebGPUCompositorIntegrationImpl.cpp M Source/WebCore/platform/graphics/cocoa/IOSurface.h M Source/WebCore/platform/graphics/cocoa/IOSurface.mm Log Message: --- [WebGPU] Add an IOSurface::Name value for WebGPU canvas backing stores. https://bugs.webkit.org/show_bug.cgi?id=279645 rdar://135934352 Reviewed by Mike Wyrzykowski and Dan Glastonbury. WebGPU canvas backing IOSurfaces are given the default name "WebKit". This patch adds a WebGPU canvas backing IOSurface::Name that we can use to more easily identify WebGPU buffers in tools like IOSDebug. * Source/WebCore/Modules/WebGPU/Implementation/WebGPUCompositorIntegrationImpl.cpp: (WebCore::WebGPU::CompositorIntegrationImpl::recreateRenderBuffers): * Source/WebCore/platform/graphics/cocoa/IOSurface.h: * Source/WebCore/platform/graphics/cocoa/IOSurface.mm: (WebCore::surfaceNameToNSString): Canonical link: https://commits.webkit.org/283619@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 8972ce: Rename WebPageProxy and LocalFrameLoaderClient fun...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8972ce9795a840738e367ae77a0ba98a0f639295 https://github.com/WebKit/WebKit/commit/8972ce9795a840738e367ae77a0ba98a0f639295 Author: Ryan Reno Date: 2024-09-13 (Fri, 13 Sep 2024) Changed paths: M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Source/WebKit/UIProcess/WebPageProxy.messages.in M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.h Log Message: --- Rename WebPageProxy and LocalFrameLoaderClient functions to be less ambiguous https://bugs.webkit.org/show_bug.cgi?id=278597 rdar://134603009 Reviewed by Chris Dumez. didSameDocumentNavigationForFrameViaJSHistoryAPI can be called whenever we are doing a same-document navigation such as when an anchor element's click event handler navigates us to another part of the document. This patch is a rename to the functions, log messages, and IPC messages to hopefully be more clear that this represents any JS initiated same document navigation not only same document navigations via the history API. * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didSameDocumentNavigationForFrameViaHistoryAPIOrJS): (WebKit::WebPageProxy::didSameDocumentNavigationForFrameViaJSHistoryAPI): Deleted. * Source/WebKit/UIProcess/WebPageProxy.h: * Source/WebKit/UIProcess/WebPageProxy.messages.in: * Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp: (WebKit::WebLocalFrameLoaderClient::didSameDocumentNavigationForFrameViaHistoryAPIOrJS): (WebKit::WebLocalFrameLoaderClient::dispatchDidPushStateWithinPage): (WebKit::WebLocalFrameLoaderClient::dispatchDidReplaceStateWithinPage): (WebKit::WebLocalFrameLoaderClient::dispatchDidPopStateWithinPage): (WebKit::WebLocalFrameLoaderClient::didSameDocumentNavigationForFrameViaJSHistoryAPI): Deleted. * Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.h: Canonical link: https://commits.webkit.org/283623@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 62a835: Roots should be packaged in the system cryptex on ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 62a835176599d85aa783850d0e9150fd0c00bd19 https://github.com/WebKit/WebKit/commit/62a835176599d85aa783850d0e9150fd0c00bd19 Author: Ryan Reno Date: 2023-08-22 (Tue, 22 Aug 2023) Changed paths: M Tools/Scripts/package-root M Tools/Scripts/webkitdirs.pm Log Message: --- Roots should be packaged in the system cryptex on macOS and iOS https://bugs.webkit.org/show_bug.cgi?id=260153 rdar://113862633 Reviewed by Andy Estes. This will package a root into /System/Cryptexes/OS instead of / on macOS, Mac Catalyst, and iOS. * Tools/Scripts/package-root: (usage): * Tools/Scripts/webkitdirs.pm: (usesCryptexPath): Canonical link: https://commits.webkit.org/267157@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c923b3: Add heap identifier macros to WebCore/animation
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c923b30f31f9fce0f1e9d235f06106e5717fbe70 https://github.com/WebKit/WebKit/commit/c923b30f31f9fce0f1e9d235f06106e5717fbe70 Author: Ryan Reno Date: 2023-08-22 (Tue, 22 Aug 2023) Changed paths: M Source/WebCore/animation/AcceleratedTimeline.cpp M Source/WebCore/animation/AcceleratedTimeline.h M Source/WebCore/animation/CSSPropertyAnimation.cpp M Source/WebCore/animation/DocumentTimelinesController.cpp M Source/WebCore/animation/DocumentTimelinesController.h M Source/WebCore/animation/ElementAnimationRareData.cpp M Source/WebCore/animation/ElementAnimationRareData.h M Source/WebCore/animation/FrameRateAligner.cpp M Source/WebCore/animation/FrameRateAligner.h M Source/WebCore/animation/KeyframeEffectStack.cpp M Source/WebCore/animation/KeyframeEffectStack.h Log Message: --- Add heap identifier macros to WebCore/animation https://bugs.webkit.org/show_bug.cgi?id=260547 rdar://114281522 Reviewed by Brent Fulgham. Replace WTF_MAKE_FAST_ALLOCATED with WTF_MAKE_FAST_ALLOCATED_WITH_HEAP_IDENTIFIER for more fine-grained diagnostics when building with MallocHeapBreakdown enabled. * Source/WebCore/animation/AcceleratedTimeline.cpp: * Source/WebCore/animation/AcceleratedTimeline.h: * Source/WebCore/animation/CSSPropertyAnimation.cpp: * Source/WebCore/animation/DocumentTimelinesController.cpp: * Source/WebCore/animation/DocumentTimelinesController.h: * Source/WebCore/animation/ElementAnimationRareData.cpp: * Source/WebCore/animation/ElementAnimationRareData.h: * Source/WebCore/animation/FrameRateAligner.cpp: * Source/WebCore/animation/FrameRateAligner.h: * Source/WebCore/animation/KeyframeEffectStack.cpp: * Source/WebCore/animation/KeyframeEffectStack.h: Canonical link: https://commits.webkit.org/267159@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 949488: Add heap identifier macros to WebCore/accessibilit...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 949488d0ba4570304abd961339360389e90997f4 https://github.com/WebKit/WebKit/commit/949488d0ba4570304abd961339360389e90997f4 Author: Ryan Reno Date: 2023-08-23 (Wed, 23 Aug 2023) Changed paths: M Source/WebCore/accessibility/AXGeometryManager.cpp M Source/WebCore/accessibility/AXGeometryManager.h M Source/WebCore/accessibility/AXObjectCache.cpp M Source/WebCore/accessibility/AXObjectCache.h M Source/WebCore/accessibility/AXTextMarker.cpp M Source/WebCore/accessibility/AXTextMarker.h M Source/WebCore/accessibility/atspi/AccessibilityAtspi.cpp M Source/WebCore/accessibility/atspi/AccessibilityAtspi.h M Source/WebCore/accessibility/atspi/AccessibilityRootAtspi.cpp M Source/WebCore/accessibility/atspi/AccessibilityRootAtspi.h M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h M Source/WebCore/css/CSSCounterStyleRegistry.cpp M Source/WebCore/css/CSSCounterStyleRegistry.h M Source/WebCore/css/CSSFontFaceSource.cpp M Source/WebCore/css/CSSFontFaceSource.h M Source/WebCore/css/CSSSegmentedFontFace.cpp M Source/WebCore/css/CSSSegmentedFontFace.h M Source/WebCore/css/CSSStyleSheet.cpp M Source/WebCore/css/CSSValuePool.cpp M Source/WebCore/css/CSSValuePool.h M Source/WebCore/css/CSSVariableData.cpp M Source/WebCore/css/CSSVariableData.h M Source/WebCore/css/ComputedStyleExtractor.cpp M Source/WebCore/css/ComputedStyleExtractor.h M Source/WebCore/css/DOMCSSPaintWorklet.cpp M Source/WebCore/css/DOMCSSPaintWorklet.h M Source/WebCore/css/DOMCSSRegisterCustomProperty.cpp M Source/WebCore/css/DOMCSSRegisterCustomProperty.h M Source/WebCore/css/StyleRuleImport.cpp M Source/WebCore/css/StyleRuleImport.h M Source/WebCore/css/calc/CSSCalcOperationNode.cpp M Source/WebCore/css/calc/CSSCalcOperationNode.h M Source/WebCore/css/calc/CSSCalcPrimitiveValueNode.cpp M Source/WebCore/css/calc/CSSCalcPrimitiveValueNode.h M Source/WebCore/css/parser/CSSParserToken.cpp M Source/WebCore/css/parser/CSSParserToken.h M Source/WebCore/css/parser/CSSTokenizer.cpp M Source/WebCore/css/parser/CSSTokenizer.h M Source/WebCore/css/parser/CSSTokenizerInputStream.cpp M Source/WebCore/css/parser/CSSTokenizerInputStream.h M Source/WebCore/css/typedom/CSSNumericFactory.cpp M Source/WebCore/css/typedom/CSSNumericFactory.h Log Message: --- Add heap identifier macros to WebCore/accessibility and WebCore/css https://bugs.webkit.org/show_bug.cgi?id=260544 rdar://114281241 Reviewed by Brent Fulgham. Replace WTF_MAKE_FAST_ALLOCATED with WTF_MAKE_FAST_ALLOCATED_WITH_HEAP_IDENTIFIER for more fine-grained diagnostics when building with MallocHeapBreakdown enabled. * Source/WebCore/accessibility/AXGeometryManager.cpp: * Source/WebCore/accessibility/AXGeometryManager.h: * Source/WebCore/accessibility/AXObjectCache.cpp: * Source/WebCore/accessibility/AXObjectCache.h: * Source/WebCore/accessibility/AXTextMarker.cpp: * Source/WebCore/accessibility/AXTextMarker.h: * Source/WebCore/accessibility/atspi/AccessibilityAtspi.cpp: * Source/WebCore/accessibility/atspi/AccessibilityAtspi.h: * Source/WebCore/accessibility/atspi/AccessibilityRootAtspi.cpp: * Source/WebCore/accessibility/atspi/AccessibilityRootAtspi.h: * Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp: * Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h: * Source/WebCore/css/CSSCounterStyleRegistry.cpp: * Source/WebCore/css/CSSCounterStyleRegistry.h: * Source/WebCore/css/CSSFontFaceSource.cpp: * Source/WebCore/css/CSSFontFaceSource.h: * Source/WebCore/css/CSSSegmentedFontFace.cpp: * Source/WebCore/css/CSSSegmentedFontFace.h: * Source/WebCore/css/CSSStyleSheet.cpp: * Source/WebCore/css/CSSValuePool.cpp: * Source/WebCore/css/CSSValuePool.h: * Source/WebCore/css/CSSVariableData.cpp: * Source/WebCore/css/CSSVariableData.h: * Source/WebCore/css/ComputedStyleExtractor.cpp: * Source/WebCore/css/ComputedStyleExtractor.h: * Source/WebCore/css/DOMCSSPaintWorklet.cpp: * Source/WebCore/css/DOMCSSPaintWorklet.h: * Source/WebCore/css/DOMCSSRegisterCustomProperty.cpp: * Source/WebCore/css/DOMCSSRegisterCustomProperty.h: * Source/WebCore/css/StyleRuleImport.cpp: * Source/WebCore/css/StyleRuleImport.h: * Source/WebCore/css/calc/CSSCalcOperationNode.cpp: * Source/WebCore/css/calc/CSSCalcOperationNode.h: * Source/WebCore/css/calc/CSSCalcPrimitiveValueNode.cpp: * Source/WebCore/css/calc/CSSCalcPrimitiveValueNode.h: * Source/WebCore/css/parser/CSSParserToken.cpp: * Source/WebCore/css/parser/CSSParserToken.h: * Source/WebCore/css/parser/CSSTokenizer.cpp: * Source/WebCore/css/parser/CSSTokenizer.h: * Source/WebCore/css/parser/CSSTokenizerInputStream.cpp: * Source/WebCore/css/parser/CSSTokenizerInputStream.h: * Source/WebCore/css/typedom/CSSNumericFactory.cpp
[webkit-changes] [WebKit/WebKit] 66b628: Add a Loader malloc heap zone
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 66b6285e8f367770bb1acc584f8ff1f270259b26 https://github.com/WebKit/WebKit/commit/66b6285e8f367770bb1acc584f8ff1f270259b26 Author: Ryan Reno Date: 2023-08-23 (Wed, 23 Aug 2023) Changed paths: M Source/WebCore/Headers.cmake M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/loader/ApplicationManifestLoader.h M Source/WebCore/loader/ContentFilter.h M Source/WebCore/loader/CrossOriginPreflightResultCache.h M Source/WebCore/loader/DocumentThreadableLoader.h M Source/WebCore/loader/FrameLoader.cpp M Source/WebCore/loader/FrameLoader.h M Source/WebCore/loader/HistoryController.h M Source/WebCore/loader/ImageLoader.h M Source/WebCore/loader/LinkPreloadResourceClients.h A Source/WebCore/loader/LoaderMalloc.cpp A Source/WebCore/loader/LoaderMalloc.h M Source/WebCore/loader/LocalFrameLoaderClient.h M Source/WebCore/loader/NavigationDisabler.h M Source/WebCore/loader/NavigationScheduler.cpp M Source/WebCore/loader/NavigationScheduler.h M Source/WebCore/loader/PolicyChecker.h M Source/WebCore/loader/ProgressTracker.cpp M Source/WebCore/loader/ProgressTracker.h M Source/WebCore/loader/ProgressTrackerClient.h M Source/WebCore/loader/ResourceLoadObserver.h M Source/WebCore/loader/ResourceTiming.h M Source/WebCore/loader/SubframeLoader.h M Source/WebCore/loader/SubresourceLoader.h M Source/WebCore/loader/TextTrackLoader.h M Source/WebCore/loader/ThreadableLoaderClient.h M Source/WebCore/loader/WorkerThreadableLoader.h M Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp M Source/WebCore/loader/appcache/ApplicationCacheGroup.h M Source/WebCore/loader/appcache/ApplicationCacheHost.h M Source/WebCore/loader/archive/ArchiveResourceCollection.h M Source/WebCore/loader/cache/CachedFontLoadRequest.h M Source/WebCore/loader/cache/CachedResource.h M Source/WebCore/loader/cache/CachedResourceLoader.h M Source/WebCore/loader/cache/CachedResourceRequestInitiatorTypes.h M Source/WebCore/loader/cache/CachedSVGDocumentReference.h M Source/WebCore/loader/cache/MemoryCache.h M Source/WebCore/loader/icon/IconLoader.h M Source/WebCore/loader/ios/LegacyPreviewLoader.h Log Message: --- Add a Loader malloc heap zone https://bugs.webkit.org/show_bug.cgi?id=260623 rdar://114340888 Reviewed by Brent Fulgham and Simon Fraser. This adds a generic Loader allocator that fast malloc classes can use in the loading subsystem. This will allow us to categorize classes with WTF_MAKE_FAST_ALLOCATED_WITH_HEAP_IDENTIFIER into a loader malloc zone without the need to make a zone for each class. Use by including "LoaderMalloc.h" (if necessary) and replacing WTF_MAKE_FAST_ALLOCATED with WTF_MAKE_FAST_ALLOCATED_WITH_HEAP_IDENTIFIER(Loader) in your loader class. * Source/WebCore/Headers.cmake: * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/loader/ApplicationManifestLoader.h: * Source/WebCore/loader/ContentFilter.h: * Source/WebCore/loader/CrossOriginPreflightResultCache.h: * Source/WebCore/loader/DocumentThreadableLoader.h: * Source/WebCore/loader/FrameLoader.cpp: * Source/WebCore/loader/FrameLoader.h: * Source/WebCore/loader/HistoryController.h: * Source/WebCore/loader/ImageLoader.h: * Source/WebCore/loader/LinkPreloadResourceClients.h: * Source/WebCore/loader/LoaderMalloc.cpp: Copied from Source/WebCore/loader/ProgressTrackerClient.h. * Source/WebCore/loader/LoaderMalloc.h: Copied from Source/WebCore/loader/ProgressTrackerClient.h. * Source/WebCore/loader/LocalFrameLoaderClient.h: * Source/WebCore/loader/NavigationDisabler.h: * Source/WebCore/loader/NavigationScheduler.cpp: * Source/WebCore/loader/NavigationScheduler.h: * Source/WebCore/loader/PolicyChecker.h: * Source/WebCore/loader/ProgressTracker.cpp: * Source/WebCore/loader/ProgressTracker.h: * Source/WebCore/loader/ProgressTrackerClient.h: * Source/WebCore/loader/ResourceLoadObserver.h: * Source/WebCore/loader/ResourceTiming.h: * Source/WebCore/loader/SubframeLoader.h: * Source/WebCore/loader/SubresourceLoader.h: * Source/WebCore/loader/TextTrackLoader.h: * Source/WebCore/loader/ThreadableLoaderClient.h: * Source/WebCore/loader/WorkerThreadableLoader.h: * Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp: * Source/WebCore/loader/appcache/ApplicationCacheGroup.h: * Source/WebCore/loader/appcache/ApplicationCacheHost.h: * Source/WebCore/loader/archive/ArchiveResourceCollection.h: * Source/WebCore/loader/cache/CachedFontLoadRequest.h: * Source/WebCore/loader/cache/CachedResource.h: * Source/WebCore/loader/cache/CachedResourceLoader.h: * Source/WebCore/loader/cache/CachedResourceRequestInitiatorTypes.h: * Source/WebCore/loader/cache/CachedSVGDocumentReference.h: * Source/WebCore/loader/cache/MemoryCache.h: * Sour
[webkit-changes] [WebKit/WebKit] d4d875: REGRESSION(266644@main): [wk2] http/tests/security...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d4d875b3f05037414daed79a709b33e37c161cfc https://github.com/WebKit/WebKit/commit/d4d875b3f05037414daed79a709b33e37c161cfc Author: Ryan Reno Date: 2023-08-24 (Thu, 24 Aug 2023) Changed paths: M LayoutTests/http/tests/security/referrer-policy-header.html M LayoutTests/platform/wk2/TestExpectations Log Message: --- REGRESSION(266644@main): [wk2] http/tests/security/referrer-policy-header.html is a flaky text failure, crash https://bugs.webkit.org/show_bug.cgi?id=260632 rdar://114349670 Reviewed by Brent Fulgham. This test wasn't waiting for completion of the iframe loads in order to determine what the referrer was given a referrer policy. There were two problems: one was I mistakenly added an extra call to runTests so we were running synchronously once. The other problem was we weren't telling the test runner to wait until we were finished loading the iframe and receiving the messages from it with the results. The former led to flaky results and the latter led to flaky crashes. * LayoutTests/http/tests/security/referrer-policy-header.html: * LayoutTests/platform/wk2/TestExpectations: Canonical link: https://commits.webkit.org/267241@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9435b8: Fix DUMP_NODE_STATISTICS build
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9435b854726a0364f7105e35266147581e5dfef9 https://github.com/WebKit/WebKit/commit/9435b854726a0364f7105e35266147581e5dfef9 Author: Ryan Reno Date: 2023-09-08 (Fri, 08 Sep 2023) Changed paths: M Source/WebCore/dom/ElementRareData.h M Source/WebCore/dom/Node.cpp M Source/WebCore/dom/NodeRareData.h Log Message: --- Fix DUMP_NODE_STATISTICS build https://bugs.webkit.org/show_bug.cgi?id=261359 rdar://115193857 Reviewed by Simon Fraser and Cameron McCormack. Fix the DUMP_NODE_STATISTICS build by moving a member lookup from NodeRareData to ElementRareData and add a UseType for Popover. * Source/WebCore/dom/ElementRareData.h: (WebCore::ElementRareData::useTypes const): * Source/WebCore/dom/Node.cpp: (WebCore::stringForRareDataUseType): * Source/WebCore/dom/NodeRareData.h: (WebCore::NodeRareData::useTypes const): Canonical link: https://commits.webkit.org/267817@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] a8d8da: Add clear buttons to All Paths To... section of GC...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a8d8da847b5febadb0e97875028dee1302ed6331 https://github.com/WebKit/WebKit/commit/a8d8da847b5febadb0e97875028dee1302ed6331 Author: Ryan Reno Date: 2023-09-09 (Sat, 09 Sep 2023) Changed paths: M Tools/GCHeapInspector/script/interface.js Log Message: --- Add clear buttons to All Paths To... section of GCHeapInspector UI https://bugs.webkit.org/show_bug.cgi?id=261375 rdar://115223418 Reviewed by Simon Fraser. This adds both a "Clear All" button to the All Paths To... section as well as individual "Clear" buttons for each object added to this section of the UI. In some cases, depending on the heap, we could end up with objects which have tens of thousands of paths to them in the heap. When this object is added to the All Paths section we could create well over 16GB of DOM and Text nodes for all of these paths causing the web process to be killed in the foreground if these nodes can't be garbage collected. These buttons will allow a user to remove sections from the All Paths section when they're no longer of interest, giving the GC a chance to collect all these excess nodes and help improve memory performance for this tool. * Tools/GCHeapInspector/script/interface.js: (HeapSnapshotInspector.prototype.resetUI): (HeapSnapshotInspector.prototype.addClearButtonToDetailsNode): (HeapSnapshotInspector.prototype.showAllPathsToNode): (HeapSnapshotInspector): Canonical link: https://commits.webkit.org/267834@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 409fc1: GCHeapInspector: Load path details for All Paths T...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 409fc138ab173b3ec4deec9d47827aebaf792962 https://github.com/WebKit/WebKit/commit/409fc138ab173b3ec4deec9d47827aebaf792962 Author: Ryan Reno Date: 2023-09-10 (Sun, 10 Sep 2023) Changed paths: M Tools/GCHeapInspector/script/interface.js Log Message: --- GCHeapInspector: Load path details for All Paths To... on demand https://bugs.webkit.org/show_bug.cgi?id=261381 rdar://115236366 Reviewed by Simon Fraser. GC heap nodes can easily have a huge number of paths (20k+ is not uncommon) due to connected DOM nodes, closures, etc. When we add these items to All Paths To... in order to inspect them in detail we create many times more nodes in the heap inspector UI for all of the paths. This can easily eat up tens of GB of RAM and slow the UI to a crawl. Since most paths from roots will probably never be expanded, this change makes it so that all of the paths from roots are shown but the full path in the UI is created on demand only if the element is toggled. We still compute all of the paths when first adding an object to the All Paths To... section but we store the path from a given root in a weak map, keyed on the details element itself, to generate the path UI if the detail is ever toggled. This also cleans up the detail DOM subtree when toggled again to avoid growing memory unnecessarily. * Tools/GCHeapInspector/script/interface.js: (HeapSnapshotInspector.prototype.resetUI): (HeapSnapshotInspector.prototype.populatePathDetailsOnDemand): (HeapSnapshotInspector.prototype.showAllPathsToNode): (HeapSnapshotInspector): Canonical link: https://commits.webkit.org/267843@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] a12ace: Remove unused and undefined function WebPage::upda...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a12aceca391d6a2192e5e9ef049afb194445cc90 https://github.com/WebKit/WebKit/commit/a12aceca391d6a2192e5e9ef049afb194445cc90 Author: Ryan Reno Date: 2023-09-20 (Wed, 20 Sep 2023) Changed paths: M Source/WebKit/WebProcess/WebPage/WebPage.h Log Message: --- Remove unused and undefined function WebPage::updateVisibilityState https://bugs.webkit.org/show_bug.cgi?id=261828 rdar://115793646 Reviewed by Mike Wyrzykowski. WebPage::updateVisibilityState is declared but never defined. Remove it. * Source/WebKit/WebProcess/WebPage/WebPage.h: Canonical link: https://commits.webkit.org/268212@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b08052: Remove RefPtr::releaseConstNonNull
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b08052889f6e17a4ec33cbe934dbecdc1db4baf5 https://github.com/WebKit/WebKit/commit/b08052889f6e17a4ec33cbe934dbecdc1db4baf5 Author: Ryan Reno Date: 2023-09-27 (Wed, 27 Sep 2023) Changed paths: M Source/WTF/wtf/RefPtr.h M Tools/TestWebKitAPI/Tests/WTF/RefLogger.cpp M Tools/TestWebKitAPI/Tests/WTF/RefLogger.h M Tools/TestWebKitAPI/Tests/WTF/RefPtr.cpp Log Message: --- Remove RefPtr::releaseConstNonNull https://bugs.webkit.org/show_bug.cgi?id=262226 rdar://116146895 Reviewed by Dan Glastonbury. There are no users of releaseConstNonNull anymore. We can use Ref's templated move constructor to move from releaseNonNull's Ref to a Ref which is the current pattern used by clients. Adds a test to verify Ref can be constructed from RefPtr::releaseNonNull. * Source/WTF/wtf/RefPtr.h: (WTF::RefPtr::releaseNonNull): (WTF::RefPtr::releaseConstNonNull): Deleted. * Tools/TestWebKitAPI/Tests/WTF/RefLogger.cpp: (TestWebKitAPI::RefLogger::ref const): (TestWebKitAPI::RefLogger::deref const): (TestWebKitAPI::RefLogger::ref): Deleted. (TestWebKitAPI::RefLogger::deref): Deleted. * Tools/TestWebKitAPI/Tests/WTF/RefLogger.h: * Tools/TestWebKitAPI/Tests/WTF/RefPtr.cpp: (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/268558@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 76edbf: Versioning.
Branch: refs/heads/safari-7615.3.9.12-branch Home: https://github.com/WebKit/WebKit Commit: 76edbf0f9e065cb54782b4ed121134c6cd6e6b28 https://github.com/WebKit/WebKit/commit/76edbf0f9e065cb54782b4ed121134c6cd6e6b28 Author: Myah Cobbs Date: 2023-06-21 (Wed, 21 Jun 2023) Changed paths: M Configurations/Version.xcconfig Log Message: --- Versioning. WebKit-7615.3.9.12.1 Identifier: 259548.837@safari-7615.3.9.12-branch Commit: 4e805d0fc1c92fe766a33e97b555d560996f9a32 https://github.com/WebKit/WebKit/commit/4e805d0fc1c92fe766a33e97b555d560996f9a32 Author: Ryan Reno Date: 2023-06-21 (Wed, 21 Jun 2023) Changed paths: M Source/WebCore/loader/MixedContentChecker.cpp Log Message: --- Cherry-pick 74f32c21189a. rdar://problem/110766912 Remove unnecessary release assertion from mixed content checker. https://bugs.webkit.org/show_bug.cgi?id=258303 Reviewed by Brent Fulgham. We now check the entire frame tree for mixed content checks for all resources loads. An assertion that a document has a frame is no longer valid in general. This assertion was originally added in 215749@main in an attempt to cover an untestable case. This replaces the assert with a null check. * Source/WebCore/loader/MixedContentChecker.cpp: (WebCore::foundMixedContentInFrameTree): Canonical link: https://commits.webkit.org/259548.841@safari-7615-branch Identifier: 259548.838@safari-7615.3.9.12-branch Compare: https://github.com/WebKit/WebKit/compare/76edbf0f9e06%5E...4e805d0fc1c9 ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c5a368: Adhere to policy inheritance according to policy c...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c5a36846f1963ea20839faf2d9b0c70e6ecde564 https://github.com/WebKit/WebKit/commit/c5a36846f1963ea20839faf2d9b0c70e6ecde564 Author: Ryan Reno Date: 2022-09-20 (Tue, 20 Sep 2022) Changed paths: M LayoutTests/TestExpectations M LayoutTests/http/tests/security/contentSecurityPolicy/inline-script-blocked-javascript-url-expected.txt M LayoutTests/http/tests/security/contentSecurityPolicy/javascript-url-blocked-expected.txt M LayoutTests/imported/w3c/web-platform-tests/content-security-policy/gen/top.http-rp/script-src-wildcard/script-tag.http-expected.txt M LayoutTests/imported/w3c/web-platform-tests/content-security-policy/gen/top.http-rp/script-src-wildcard/script-tag.https-expected.txt M LayoutTests/imported/w3c/web-platform-tests/content-security-policy/gen/top.meta/script-src-wildcard/script-tag.http-expected.txt M LayoutTests/imported/w3c/web-platform-tests/content-security-policy/gen/top.meta/script-src-wildcard/script-tag.https-expected.txt M LayoutTests/imported/w3c/web-platform-tests/content-security-policy/inheritance/blob-url-inherits-from-initiator.sub-expected.txt M LayoutTests/imported/w3c/web-platform-tests/content-security-policy/inheritance/history-iframe.sub-expected.txt M LayoutTests/imported/w3c/web-platform-tests/content-security-policy/inheritance/history.sub-expected.txt M LayoutTests/imported/w3c/web-platform-tests/content-security-policy/inheritance/inheritance-from-initiator.sub-expected.txt R LayoutTests/platform/glib/imported/w3c/web-platform-tests/content-security-policy/inheritance/inheritance-from-initiator.sub-expected.txt A LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/content-security-policy/inheritance/inheritance-from-initiator.sub-expected.txt A LayoutTests/platform/mac/imported/w3c/web-platform-tests/content-security-policy/inheritance/inheritance-from-initiator.sub-expected.txt M Source/WebCore/dom/Document.cpp M Source/WebCore/dom/Document.h M Source/WebCore/dom/SecurityContext.cpp M Source/WebCore/dom/SecurityContext.h M Source/WebCore/history/HistoryItem.h M Source/WebCore/loader/CrossOriginOpenerPolicy.cpp M Source/WebCore/loader/DocumentLoader.cpp M Source/WebCore/loader/DocumentWriter.cpp M Source/WebCore/loader/DocumentWriter.h M Source/WebCore/loader/NavigationRequester.cpp M Source/WebCore/loader/NavigationRequester.h M Source/WebCore/loader/PolicyContainer.h M Source/WebCore/page/csp/ContentSecurityPolicy.cpp M Source/WebCore/page/csp/ContentSecurityPolicy.h M Source/WebCore/page/csp/ContentSecurityPolicyResponseHeaders.h Log Message: --- Adhere to policy inheritance according to policy container https://bugs.webkit.org/show_bug.cgi?id=224745 rdar://96067238 Reviewed by Chris Dumez. This modifies our implementation of CSP inheritance when navigating to local schemes by using the PolicyContainer[1]. We now keep track of the initiating document's policies and store the policies in history, if applicable. [1] https://html.spec.whatwg.org/multipage/origin.html#policy-containers * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/web-platform-tests/content-security-policy/gen/top.http-rp/script-src-wildcard/script-tag.http-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/content-security-policy/gen/top.http-rp/script-src-wildcard/script-tag.https-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/content-security-policy/gen/top.meta/script-src-wildcard/script-tag.http-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/content-security-policy/gen/top.meta/script-src-wildcard/script-tag.https-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/content-security-policy/inheritance/blob-url-inherits-from-initiator.sub-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/content-security-policy/inheritance/history-iframe.sub-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/content-security-policy/inheritance/history.sub-expected.txt: * LayoutTests/platform/glib/imported/w3c/web-platform-tests/content-security-policy/inheritance/inheritance-from-initiator.sub-expected.txt: Removed. * LayoutTests/http/tests/security/contentSecurityPolicy/inline-script-blocked-javascript-url-expected.txt: * LayoutTests/http/tests/security/contentSecurityPolicy/javascript-url-blocked-expected.txt: * LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/content-security-policy/inheritance/inheritance-from-initiator.sub-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/content-security-policy/inheritance/inheritance-from-initiator.sub-expected.txt. * LayoutTests/platform/mac/imported/w3c/web-platform-tests/content-security-policy/inheritance/inheritance-from-initiator.sub-expected.txt: Copied from LayoutTests/imported/w3c/web-pla
[webkit-changes] [WebKit/WebKit] 1e209b: Add Ryan Reno as committer to contributors.json
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1e209b25b98817607cc60a1c3522baea874d81ca https://github.com/WebKit/WebKit/commit/1e209b25b98817607cc60a1c3522baea874d81ca Author: Ryan Reno Date: 2022-09-22 (Thu, 22 Sep 2022) Changed paths: M metadata/contributors.json Log Message: --- Add Ryan Reno as committer to contributors.json https://bugs.webkit.org/show_bug.cgi?id=245522 Reviewed by Jonathan Bedard. File also needed validate-committer-lists --canonicalize ran over it. * metadata/contributors.json: Canonical link: https://commits.webkit.org/254756@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 73a878: Handle blob: PolicyContainer inheritance from the ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 73a8787f1d069ff502146c0588eddf245a185999 https://github.com/WebKit/WebKit/commit/73a8787f1d069ff502146c0588eddf245a185999 Author: Ryan Reno Date: 2022-10-10 (Mon, 10 Oct 2022) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/content-security-policy/inheritance/history-iframe.sub-expected.txt M LayoutTests/imported/w3c/web-platform-tests/content-security-policy/inheritance/history.sub-expected.txt M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/loader/CrossOriginEmbedderPolicy.cpp M Source/WebCore/loader/CrossOriginEmbedderPolicy.h M Source/WebCore/loader/CrossOriginOpenerPolicy.cpp M Source/WebCore/loader/CrossOriginOpenerPolicy.h M Source/WebCore/loader/DocumentWriter.cpp M Source/WebCore/loader/FrameLoader.cpp A Source/WebCore/loader/PolicyContainer.cpp M Source/WebCore/loader/PolicyContainer.h M Source/WebCore/page/csp/ContentSecurityPolicyResponseHeaders.cpp M Source/WebCore/page/csp/ContentSecurityPolicyResponseHeaders.h M Source/WebCore/platform/network/BlobResourceHandle.cpp M Source/WebKit/NetworkProcess/NetworkDataTaskBlob.cpp Log Message: --- Handle blob: PolicyContainer inheritance from the Network Process https://bugs.webkit.org/show_bug.cgi?id=246093 Reviewed by Chris Dumez. The blob store in the Network process holds the appropriate PolicyContainer to inherit from. This patch solves blob URL PolicyContainer inheritance by crafting an HTTP response with the policy headers generated from that PolicyContainer. * LayoutTests/imported/w3c/web-platform-tests/content-security-policy/inheritance/history-iframe.sub-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/content-security-policy/inheritance/history.sub-expected.txt: * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/loader/CrossOriginEmbedderPolicy.cpp: (WebCore::CrossOriginEmbedderPolicy::addPolicyHeadersTo const): (WebCore::addCrossOriginEmbedderPolicyHeaders): Deleted. * Source/WebCore/loader/CrossOriginEmbedderPolicy.h: * Source/WebCore/loader/CrossOriginOpenerPolicy.cpp: (WebCore::CrossOriginOpenerPolicy::addPolicyHeadersTo const): (WebCore::addCrossOriginOpenerPolicyHeaders): Deleted. * Source/WebCore/loader/CrossOriginOpenerPolicy.h: * Source/WebCore/loader/DocumentWriter.cpp: (WebCore::DocumentWriter::begin): * Source/WebCore/loader/FrameLoader.cpp: (WebCore::FrameLoader::didBeginDocument): Blob inheritance effectively happens here. We parse the HTTP headers returned from the Network process and update our security origin to the origin of the blob URL. The SO that CSP needs for 'self' in the case of the document having an opaque origin should be the blob's origin [0]. * Source/WebCore/loader/PolicyContainer.cpp: Copied from Source/WebCore/page/csp/ContentSecurityPolicyResponseHeaders.cpp. (WebCore::addPolicyContainerHeaders): * Source/WebCore/loader/PolicyContainer.h: * Source/WebCore/page/csp/ContentSecurityPolicyResponseHeaders.cpp: (WebCore::ContentSecurityPolicyResponseHeaders::addPolicyHeadersTo const): * Source/WebCore/page/csp/ContentSecurityPolicyResponseHeaders.h: * Source/WebCore/platform/network/BlobResourceHandle.cpp: (WebCore::BlobResourceHandle::notifyResponseOnSuccess): * Source/WebKit/NetworkProcess/NetworkDataTaskBlob.cpp: (WebKit::NetworkDataTaskBlob::dispatchDidReceiveResponse): [0] https://w3c.github.io/webappsec-csp/#framework-policy Canonical link: https://commits.webkit.org/255352@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d8a45e: [Gardening] Skip CSP tests that time out
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d8a45e09f5fed00742c9d34d315f7b99d6b5c7df https://github.com/WebKit/WebKit/commit/d8a45e09f5fed00742c9d34d315f7b99d6b5c7df Author: Ryan Reno Date: 2022-10-12 (Wed, 12 Oct 2022) Changed paths: M LayoutTests/TestExpectations Log Message: --- [Gardening] Skip CSP tests that time out https://bugs.webkit.org/show_bug.cgi?id=246443 rdar://problem/101109993 Unreviewed test gardening. * LayoutTests/TestExpectations: Skip CSP tests which time out. Canonical link: https://commits.webkit.org/255466@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b632f9: [CSP] Implement prefetch-src directive
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b632f9d274f316c51291f608c024595ea3f3fad6 https://github.com/WebKit/WebKit/commit/b632f9d274f316c51291f608c024595ea3f3fad6 Author: Ryan Reno Date: 2022-10-17 (Mon, 17 Oct 2022) Changed paths: A LayoutTests/http/tests/security/contentSecurityPolicy/prefetch-src/prefetch-allowed-expected.txt A LayoutTests/http/tests/security/contentSecurityPolicy/prefetch-src/prefetch-allowed.html A LayoutTests/http/tests/security/contentSecurityPolicy/prefetch-src/prefetch-blocked-by-default-expected.txt A LayoutTests/http/tests/security/contentSecurityPolicy/prefetch-src/prefetch-blocked-by-default.html A LayoutTests/http/tests/security/contentSecurityPolicy/prefetch-src/prefetch-blocked-expected.txt A LayoutTests/http/tests/security/contentSecurityPolicy/prefetch-src/prefetch-blocked.html A LayoutTests/platform/win/http/tests/security/contentSecurityPolicy/prefetch-src/prefetch-allowed-expected.txt A LayoutTests/platform/win/http/tests/security/contentSecurityPolicy/prefetch-src/prefetch-blocked-by-default-expected.txt A LayoutTests/platform/win/http/tests/security/contentSecurityPolicy/prefetch-src/prefetch-blocked-expected.txt M Source/WebCore/loader/LinkLoader.cpp M Source/WebCore/loader/cache/CachedResourceLoader.cpp M Source/WebCore/page/csp/ContentSecurityPolicy.cpp M Source/WebCore/page/csp/ContentSecurityPolicy.h M Source/WebCore/page/csp/ContentSecurityPolicyDirectiveList.cpp M Source/WebCore/page/csp/ContentSecurityPolicyDirectiveList.h M Source/WebCore/page/csp/ContentSecurityPolicyDirectiveNames.cpp M Source/WebCore/page/csp/ContentSecurityPolicyDirectiveNames.h Log Message: --- [CSP] Implement prefetch-src directive https://bugs.webkit.org/show_bug.cgi?id=185070 rdar://problem/39821187 Reviewed by Brent Fulgham. Implement the prefetch-src CSP directive. is behind a runtime flag. If a user chooses to enable LinkPrefetch then the prefetch-src directive will apply to any resources that may be prefetched. In the default case, we can parse the directive but will not take any action since we won't perform prefetches. * LayoutTests/http/tests/security/contentSecurityPolicy/prefetch-src: These tests mirror the same behavior being tested by the WPT suite but since we don't support onload/onerror events for prefetched link resources we need to use our own test infrastructure to cover this behavior. * LayoutTests/http/tests/security/contentSecurityPolicy/prefetch-src/prefetch-allowed-expected.txt: Added. * LayoutTests/http/tests/security/contentSecurityPolicy/prefetch-src/prefetch-allowed.html: Added. * LayoutTests/http/tests/security/contentSecurityPolicy/prefetch-src/prefetch-blocked-by-default-expected.txt: Added. * LayoutTests/http/tests/security/contentSecurityPolicy/prefetch-src/prefetch-blocked-by-default.html: Added. * LayoutTests/http/tests/security/contentSecurityPolicy/prefetch-src/prefetch-blocked-expected.txt: Added. * LayoutTests/http/tests/security/contentSecurityPolicy/prefetch-src/prefetch-blocked.html: Added. * LayoutTests/platform/win/http/tests/security/contentSecurityPolicy/prefetch-src/prefetch-allowed-expected.txt: Added. * LayoutTests/platform/win/http/tests/security/contentSecurityPolicy/prefetch-src/prefetch-blocked-by-default-expected.txt: Added. * LayoutTests/platform/win/http/tests/security/contentSecurityPolicy/prefetch-src/prefetch-blocked-expected.txt: Added. * Source/WebCore/loader/LinkLoader.cpp: (WebCore::LinkLoader::prefetchIfNeeded): * Source/WebCore/loader/cache/CachedResourceLoader.cpp: (WebCore::CachedResourceLoader::allowedByContentSecurityPolicy const): * Source/WebCore/page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowPrefetchFromSource const): * Source/WebCore/page/csp/ContentSecurityPolicy.h: * Source/WebCore/page/csp/ContentSecurityPolicyDirectiveList.cpp: (WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForPrefetch const): (WebCore::ContentSecurityPolicyDirectiveList::addDirective): * Source/WebCore/page/csp/ContentSecurityPolicyDirectiveList.h: * Source/WebCore/page/csp/ContentSecurityPolicyDirectiveNames.cpp: * Source/WebCore/page/csp/ContentSecurityPolicyDirectiveNames.h: Canonical link: https://commits.webkit.org/255653@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3333cb: [Gardening] http/tests/security/contentSecurityPol...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: cbf9529306c962b5e7511c6949f28f71bcab https://github.com/WebKit/WebKit/commit/cbf9529306c962b5e7511c6949f28f71bcab Author: Ryan Reno Date: 2022-10-18 (Tue, 18 Oct 2022) Changed paths: M LayoutTests/platform/win/TestExpectations Log Message: --- [Gardening] http/tests/security/contentSecurityPolicy/prefetch-src timeout on Windows WK1 https://bugs.webkit.org/show_bug.cgi?id=246711 rdar://101309438 Unreviewed test expectation gardening. * LayoutTests/platform/win/TestExpectations: Canonical link: https://commits.webkit.org/255701@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 6bab27: Fire error event when link preload fails synchrono...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6bab27e2e35e1637493df40e8d4c296586b23f73 https://github.com/WebKit/WebKit/commit/6bab27e2e35e1637493df40e8d4c296586b23f73 Author: Ryan Reno Date: 2022-10-19 (Wed, 19 Oct 2022) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/web-platform-tests/content-security-policy/font-src/font-mismatch-blocked.sub-expected.txt M LayoutTests/imported/w3c/web-platform-tests/content-security-policy/font-src/font-none-blocked.sub-expected.txt M LayoutTests/imported/w3c/web-platform-tests/content-security-policy/reporting/report-preload-and-consume.https-expected.txt M Source/WebCore/loader/LinkLoader.cpp M Source/WebCore/loader/LinkLoader.h Log Message: --- Fire error event when link preload fails synchronously. https://bugs.webkit.org/show_bug.cgi?id=246663 rdar://101269688 Reviewed by Youenn Fablet. This fires an error event when fetch fails before scheduling with the Network process when preloading a resource specified by a link element. The code path for firing error events in case of a network error is to return a CachedResource with an error state to a LinkPreloadResourceClient. The client then calls the LinkLoader with the resource and the loader in turn has the HTMLLinkElement fire an event depending on the state of the resource returned. This code path never executes when we block due to CSP since we do not get to the point of scheduling the load with the Network process or even creating the LinkPreloadResourceClient. This change detects that condition and has the HTMLLinkElement fire an error event. See the spec for The fetch and process the linked resource steps here: https://html.spec.whatwg.org/multipage/links.html#preload In particular, we are supposed to return a "network error" when blocking due to CSP and so we should fire an error event: https://fetch.spec.whatwg.org/#main-fetch * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/web-platform-tests/content-security-policy/font-src/font-mismatch-blocked.sub-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/content-security-policy/font-src/font-none-blocked.sub-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/content-security-policy/reporting/report-preload-and-consume.https-expected.txt: * Source/WebCore/loader/LinkLoader.cpp: (WebCore::LinkLoader::triggerError): (WebCore::LinkLoader::preloadIfNeeded): * Source/WebCore/loader/LinkLoader.h: Canonical link: https://commits.webkit.org/255740@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d48713: Fire error event when CSP blocks inline stylesheets
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d487138f2ba5c2b351635d4df8942b9f4d8577ce https://github.com/WebKit/WebKit/commit/d487138f2ba5c2b351635d4df8942b9f4d8577ce Author: Ryan Reno Date: 2022-10-19 (Wed, 19 Oct 2022) Changed paths: M LayoutTests/TestExpectations R LayoutTests/http/tests/security/contentSecurityPolicy/style-src-blocked-error-event-expected.txt R LayoutTests/http/tests/security/contentSecurityPolicy/style-src-blocked-error-event.html M LayoutTests/imported/w3c/web-platform-tests/content-security-policy/style-src/style-src-error-event-fires-expected.txt M LayoutTests/imported/w3c/web-platform-tests/content-security-policy/style-src/style-src-inline-style-nonce-blocked-error-event-expected.txt M Source/WebCore/dom/InlineStyleSheetOwner.cpp Log Message: --- Fire error event when CSP blocks inline stylesheets https://bugs.webkit.org/show_bug.cgi?id=246710 rdar://101308540 Reviewed by Chris Dumez. When we block inline style with CSP we don't fire an error event. This change will cause the element to fire an error event when CSP blocks us from creating a stylesheet. * LayoutTests/TestExpectations: * LayoutTests/http/tests/security/contentSecurityPolicy/style-src-blocked-error-event-expected.txt: Removed. * LayoutTests/http/tests/security/contentSecurityPolicy/style-src-blocked-error-event.html: Removed. This test is redundant to imported/w3c/web-platform-tests/content-security-policy/style-src/style-blocked.html and any other tests which block style but allow unsafe-inline. * LayoutTests/imported/w3c/web-platform-tests/content-security-policy/style-src/style-src-error-event-fires-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/content-security-policy/style-src/style-src-inline-style-nonce-blocked-error-event-expected.txt: * Source/WebCore/dom/InlineStyleSheetOwner.cpp: (WebCore::InlineStyleSheetOwner::createSheet): Canonical link: https://commits.webkit.org/255744@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 61e2b7: Mac MiniBrowser should match Safari's behavior for...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 61e2b7c76840679081dd4aa1518d84f006cdf175 https://github.com/WebKit/WebKit/commit/61e2b7c76840679081dd4aa1518d84f006cdf175 Author: Ryan Reno Date: 2022-10-24 (Mon, 24 Oct 2022) Changed paths: M Tools/MiniBrowser/mac/WK2BrowserWindowController.m Log Message: --- Mac MiniBrowser should match Safari's behavior for anchor links to javascript URLs https://bugs.webkit.org/show_bug.cgi?id=246950 rdar://101502667 Reviewed by Brent Fulgham. Safari on Mac cancels navigation from an anchor element to a javascript URL when target=_blank. As it is currently implemented, MiniBrowser will attempt to download what appears to be the result of executing the javascript. This behavior difference can cause some confusion when debugging tests or web pages using MiniBrowser. This change mirrors Safari's behavior in Mac MiniBrowser by instructing WebKit to cancel the navigation in the case of a javascript URL. * Tools/MiniBrowser/mac/WK2BrowserWindowController.m: (isJavaScriptURL): (-[WK2BrowserWindowController webView:decidePolicyForNavigationAction:decisionHandler:]): Canonical link: https://commits.webkit.org/255918@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] a25200: Add setting to set default URL for MobileMiniBrowser
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a2520003c57217227ca739b650b36eebdbb08e0c https://github.com/WebKit/WebKit/commit/a2520003c57217227ca739b650b36eebdbb08e0c Author: Ryan Reno Date: 2022-10-26 (Wed, 26 Oct 2022) Changed paths: M Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj M Tools/MobileMiniBrowser/MobileMiniBrowser/Base.lproj/LaunchScreen.storyboard M Tools/MobileMiniBrowser/MobileMiniBrowserFramework/Base.lproj/Main.storyboard A Tools/MobileMiniBrowser/MobileMiniBrowserFramework/SettingsViewController.h A Tools/MobileMiniBrowser/MobileMiniBrowserFramework/SettingsViewController.m M Tools/MobileMiniBrowser/MobileMiniBrowserFramework/WebViewController.h M Tools/MobileMiniBrowser/MobileMiniBrowserFramework/WebViewController.m Log Message: --- Add setting to set default URL for MobileMiniBrowser https://bugs.webkit.org/show_bug.cgi?id=247046 rdar://101575186 Reviewed by Simon Fraser. MiniBrowser on Mac has a setting which allows one to set the default URL to open when launching the app. This adds the feature to MobileMiniBrowser by adding a settings modal with a button to set the default URL to the current URL in the WebView. * Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj: * Tools/MobileMiniBrowser/MobileMiniBrowser/Base.lproj/LaunchScreen.storyboard: * Tools/MobileMiniBrowser/MobileMiniBrowserFramework/Base.lproj/Main.storyboard: * Tools/MobileMiniBrowser/MobileMiniBrowserFramework/SettingsViewController.h: Copied from Tools/MobileMiniBrowser/MobileMiniBrowserFramework/WebViewController.h. * Tools/MobileMiniBrowser/MobileMiniBrowserFramework/SettingsViewController.m: Copied from Tools/MobileMiniBrowser/MobileMiniBrowserFramework/WebViewController.h. (-[SettingsViewController defaultURL]): (-[SettingsViewController setDefaultURLToCurrentURL:]): * Tools/MobileMiniBrowser/MobileMiniBrowserFramework/WebViewController.h: * Tools/MobileMiniBrowser/MobileMiniBrowserFramework/WebViewController.m: (-[WebViewController viewDidLoad]): (-[WebViewController showSettings:]): (-[WebViewController currentURL]): Canonical link: https://commits.webkit.org/256016@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 978e82: [Build Fix] Replace Deprecated macros with direct ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 978e825ba5e56165476b0c9c27238823d8883d68 https://github.com/WebKit/WebKit/commit/978e825ba5e56165476b0c9c27238823d8883d68 Author: Ryan Reno Date: 2022-11-02 (Wed, 02 Nov 2022) Changed paths: M Tools/MobileMiniBrowser/MobileMiniBrowserUITests/MobileMiniBrowserUITests.m Log Message: --- [Build Fix] Replace Deprecated macros with direct calls. Unreviewed build fix. Replaced deprecated macros with direct calls to UIDevice messages. * Tools/MobileMiniBrowser/MobileMiniBrowserUITests/MobileMiniBrowserUITests.m: (-[MobileMiniBrowserUITests testBasicVideoPlayback]): (-[MobileMiniBrowserUITests testBasicVideoFullscreen]): (-[MobileMiniBrowserUITests testVideoFullscreenAndRotationAnimation]): (-[MobileMiniBrowserUITests testVideoFullscreenControlCenter]): Canonical link: https://commits.webkit.org/256249@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 31de97: MobileMiniBrowser should accept the '--url' comman...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 31de97a9dff67e49e76d50adaafc58dd663f6ddf https://github.com/WebKit/WebKit/commit/31de97a9dff67e49e76d50adaafc58dd663f6ddf Author: Ryan Reno Date: 2022-11-02 (Wed, 02 Nov 2022) Changed paths: M Tools/MobileMiniBrowser/MobileMiniBrowserFramework/WebViewController.m Log Message: --- MobileMiniBrowser should accept the '--url' command line argument https://bugs.webkit.org/show_bug.cgi?id=247378 rdar://101878523 Reviewed by Simon Fraser. This adds support for parsing and acting upon a --url command line arg. With this patch you would need to edit the scheme in Xcode and pass something like: --url https://www.apple.com to get MobileMiniBrowser to navigate to a specific URL on launch. This is a first step toward adding support to run-minibrowser so you could launch (Mobile)MiniBrowser like: run-minibrowser --iphone-simulator --url https://www.apple.com * Tools/MobileMiniBrowser/MobileMiniBrowserFramework/WebViewController.m: (-[WebViewController viewDidLoad]): (-[WebViewController addProtocolIfNecessary:]): (-[WebViewController targetURLorDefaultURL]): Canonical link: https://commits.webkit.org/256252@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f5f63b: MiniBrowser should accept the '--url' command line...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f5f63bec40dd7da7b6a041b369639bcfb47c58d5 https://github.com/WebKit/WebKit/commit/f5f63bec40dd7da7b6a041b369639bcfb47c58d5 Author: Ryan Reno Date: 2022-11-03 (Thu, 03 Nov 2022) Changed paths: M Tools/MiniBrowser/mac/AppDelegate.m Log Message: --- MiniBrowser should accept the '--url' command line argument https://bugs.webkit.org/show_bug.cgi?id=247451 rdar://101924215 Reviewed by Tim Horton. Just like https://bugs.webkit.org/show_bug.cgi?id=247378 we want Mac MiniBrowser to accept the --url command line argument. And just like in the MobileMiniBrowser case, this patch will allow you to set a --url argument in the Xcode scheme with something like --url https://www.apple.com * Tools/MiniBrowser/mac/AppDelegate.m: (-[BrowserAppDelegate targetURLOrDefaultURL]): (-[BrowserAppDelegate newWindow:]): Canonical link: https://commits.webkit.org/256289@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f84001: [Service Workers] Add WPT coverage for calling upd...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f84001c6aea236241ab6b4f5dd696737d02ad34e https://github.com/WebKit/WebKit/commit/f84001c6aea236241ab6b4f5dd696737d02ad34e Author: Ryan Reno Date: 2022-11-04 (Fri, 04 Nov 2022) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/update-import-scripts.https-expected.txt M LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/update-import-scripts.https.html A LayoutTests/platform/gtk/imported/w3c/web-platform-tests/service-workers/service-worker/update-import-scripts.https-expected.txt Log Message: --- [Service Workers] Add WPT coverage for calling update() on a ServiceWorkerRegistration with cross-origin importScripts https://bugs.webkit.org/show_bug.cgi?id=247390 rdar://101885464 Reviewed by Brent Fulgham. Cross-origin importScripts is covered with LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/import-scripts-cross-origin.https.html though that test does not cover the case where ServiceWorkerRegistration.update() is called. Further, the update-import-scripts tests do not cover the cross-origin case either. This patch adds that missing coverage. * LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/update-import-scripts.https-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/update-import-scripts.https.html: * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/service-workers/service-worker/update-import-scripts.https-expected.txt: Added Canonical link: https://commits.webkit.org/256330@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 6af97a: [MobileMiniBrowser] Add a close button to the Sett...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6af97a937a5cab59c30607a5a504362f9734ea55 https://github.com/WebKit/WebKit/commit/6af97a937a5cab59c30607a5a504362f9734ea55 Author: Ryan Reno Date: 2022-11-04 (Fri, 04 Nov 2022) Changed paths: M Tools/MobileMiniBrowser/MobileMiniBrowserFramework/Base.lproj/Main.storyboard M Tools/MobileMiniBrowser/MobileMiniBrowserFramework/SettingsViewController.h M Tools/MobileMiniBrowser/MobileMiniBrowserFramework/SettingsViewController.m Log Message: --- [MobileMiniBrowser] Add a close button to the Settings modal. https://bugs.webkit.org/show_bug.cgi?id=247505 rdar://101978776 Reviewed by Tim Horton. This adds a close button to the settings view so it's more intuitive to close it without taking any other action. Also updated the storyboard to target iOS 16 instead of iOS 9 or later. * Tools/MobileMiniBrowser/MobileMiniBrowserFramework/Base.lproj/Main.storyboard: * Tools/MobileMiniBrowser/MobileMiniBrowserFramework/SettingsViewController.h: * Tools/MobileMiniBrowser/MobileMiniBrowserFramework/SettingsViewController.m: (-[SettingsViewController setDefaultURLToCurrentURL:]): (-[SettingsViewController closeModal:]): Canonical link: https://commits.webkit.org/256343@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 1713be: [MobileMiniBrowser] Settings popover throws except...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1713bed5d0c732d56f06c5947117844dbdc4f765 https://github.com/WebKit/WebKit/commit/1713bed5d0c732d56f06c5947117844dbdc4f765 Author: Ryan Reno Date: 2022-11-07 (Mon, 07 Nov 2022) Changed paths: M Tools/MobileMiniBrowser/MobileMiniBrowserFramework/Base.lproj/Main.storyboard M Tools/MobileMiniBrowser/MobileMiniBrowserFramework/WebViewController.m Log Message: --- [MobileMiniBrowser] Settings popover throws exception on iPad simulator https://bugs.webkit.org/show_bug.cgi?id=247597 rdar://102067010 Reviewed by Simon Fraser. This fixes the presentation of the settings view to follow the popover API and makes the settings view work with autolayout. We will now anchor the view to the settings button so that iPad can correctly display it as a popover. * Tools/MobileMiniBrowser/MobileMiniBrowserFramework/Base.lproj/Main.storyboard: * Tools/MobileMiniBrowser/MobileMiniBrowserFramework/WebViewController.m: (-[WebViewController showSettings:]): Canonical link: https://commits.webkit.org/256436@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] ebc751: run-minibrowser should understand the --ios-device...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ebc75110236d0b9948c8f018ccbab4c15aee925b https://github.com/WebKit/WebKit/commit/ebc75110236d0b9948c8f018ccbab4c15aee925b Author: Ryan Reno Date: 2022-11-09 (Wed, 09 Nov 2022) Changed paths: M Tools/Scripts/webkitdirs.pm Log Message: --- run-minibrowser should understand the --ios-device command line args https://bugs.webkit.org/show_bug.cgi?id=247629 rdar://102103002 Reviewed by Brent Fulgham. This adds support to the old-run-minibrowser Perl script to launch MobileMiniBrowser in an iOS simulator. As of at least Xcode 14.1 we don't have the iPhone SE simulator (we support some later generation of iPhone SE). This patch also bumps the default iPhone simulator to iPhone 12 which aligns with run-webkit-tests --ios-simulator. * Tools/Scripts/webkitdirs.pm: (installedMobileMiniBrowserBundle): (mobileMiniBrowserBundle): (findOrCreateSimulatorForIOSDevice): (runIOSWebKitAppInSimulator): (runMiniBrowser): Canonical link: https://commits.webkit.org/256495@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 56280c: The Document object is leaked on some pages using ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 56280cdcbd8a337b7a904678c4bd955a5bbb1e31 https://github.com/WebKit/WebKit/commit/56280cdcbd8a337b7a904678c4bd955a5bbb1e31 Author: Ryan Reno Date: 2023-05-03 (Wed, 03 May 2023) Changed paths: A LayoutTests/media/media-session/actionHandler-no-document-leak-expected.txt A LayoutTests/media/media-session/actionHandler-no-document-leak.html A LayoutTests/media/media-session/resources/media-session-action-handler-document-leak-frame.html M Source/WebCore/Modules/mediasession/MediaSessionActionHandler.h M Source/WebCore/Modules/mediasession/MediaSessionActionHandler.idl Log Message: --- The Document object is leaked on some pages using media (like YouTube.com) https://bugs.webkit.org/show_bug.cgi?id=251835 rdar://105112595 Reviewed by Chris Dumez. By default a callback holds a Strong<> reference to the JS Function object. This has the effect of making the callback a GC root. Another option is to annotate the callback with the IsWeakCallback extended attribute which will hold the callback object as a Weak reference and keep it alive via the visitJSFunction mechanism instead of making it a root. In the case of MediaSessionActionHandler the strong reference will prevent an HTMLDocument from being garbage collected even after navigating away and clearing the caches (after a low memory warning, for example). This change adds the IsWeakCallback attribute and the necessary virtual function to the MediaSessionActionHandler base class. LayoutTests: Add a test to check that action handlers installed by the page are not leaked. Use an iframe to install and exercise the action handlers before the iframe is navigated away and a garbage collection is triggered (repeatedly). If after 500 attempts at GC the document containing the action handlers still exists we consider the document leaked. * LayoutTests/media/media-session/actionHandler-no-document-leak-expected.txt: Added. * LayoutTests/media/media-session/actionHandler-no-document-leak.html: Added. * LayoutTests/media/media-session/resources/media-session-action-handler-document-leak-frame.html: Added. * Source/WebCore/Modules/mediasession/MediaSessionActionHandler.h: * Source/WebCore/Modules/mediasession/MediaSessionActionHandler.idl: Canonical link: https://commits.webkit.org/263660@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 074313: MediaSession should keep its action handlers alive
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0743137c2f4f602963fc409ebc56ecd6690d204d https://github.com/WebKit/WebKit/commit/0743137c2f4f602963fc409ebc56ecd6690d204d Author: Ryan Reno Date: 2023-05-05 (Fri, 05 May 2023) Changed paths: M Source/WebCore/Modules/mediasession/MediaSession.cpp M Source/WebCore/Modules/mediasession/MediaSession.h M Source/WebCore/Modules/mediasession/MediaSession.idl M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj A Source/WebCore/bindings/js/JSMediaSessionCustom.cpp Log Message: --- MediaSession should keep its action handlers alive https://bugs.webkit.org/show_bug.cgi?id=256334 rdar://108913983 Reviewed by Chris Dumez. The MediaSessionActionHandler callback is now a weak reference and so when the MediaSession is visited it needs to mark any action handlers that have been added to it. * Source/WebCore/Modules/mediasession/MediaSession.cpp: (WebCore::MediaSession::setActionHandler): (WebCore::MediaSession::callActionHandler): * Source/WebCore/Modules/mediasession/MediaSession.h: (WebCore::MediaSession::hasActiveActionHandlers const): (WebCore::MediaSession::visitActionHandlers const): * Source/WebCore/Modules/mediasession/MediaSession.idl: * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/bindings/js/JSMediaSessionCustom.cpp: Added. (WebCore::JSMediaSession::visitAdditionalChildren): Canonical link: https://commits.webkit.org/263715@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] ade36a: HTMLCanvasElement is orphaned causing a HTMLDocume...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ade36a336115d4a570eba730ef89fbfb168d3d21 https://github.com/WebKit/WebKit/commit/ade36a336115d4a570eba730ef89fbfb168d3d21 Author: Ryan Reno Date: 2023-05-07 (Sun, 07 May 2023) Changed paths: A LayoutTests/fast/canvas/canvas-gradient-can-outlive-context-expected.txt A LayoutTests/fast/canvas/canvas-gradient-can-outlive-context.html A LayoutTests/fast/canvas/canvas-state-stack-gradient-expected.txt A LayoutTests/fast/canvas/canvas-state-stack-gradient.html A LayoutTests/http/tests/canvas/ctx.2d-canvas-style-no-document-leak-expected.txt A LayoutTests/http/tests/canvas/ctx.2d-canvas-style-no-document-leak.html A LayoutTests/http/tests/canvas/resources/background.png A LayoutTests/http/tests/canvas/resources/ctx.2d-fillStyle-color.html A LayoutTests/http/tests/canvas/resources/ctx.2d-fillStyle-gradient.html A LayoutTests/http/tests/canvas/resources/ctx.2d-fillStyle-pattern.html M Source/WebCore/html/canvas/CanvasGradient.cpp M Source/WebCore/html/canvas/CanvasGradient.h M Source/WebCore/html/canvas/CanvasStyle.cpp M Source/WebCore/html/canvas/CanvasStyle.h Log Message: --- HTMLCanvasElement is orphaned causing a HTMLDocument leak on YouTube video pages https://bugs.webkit.org/show_bug.cgi?id=256262 rdar://108845985 Reviewed by Darin Adler. CanvasRenderingContext2DBase has a State stack for setting up drawing state. Two of the fields - strokeStyle and fillStyle - each hold CanvasStyle objects. These objects may be set with colors or images or gradients. In the case of a CanvasGradient, the gradient has a strong reference to the context which creates a reference cycle. CanvasRenderingContext2DBase -> State -> CanvasStyle -> CanvasGradient -> CanvasRenderingContext(2DBase) What makes this cycle dangerous is the CanvasRenderingContext will increase the ref count of an HTMLCanvasElement which, being a Node, will increment the referencingNodeCount of a Document object. So if a gradient is set on the context's fillStyle or strokeStyle we can cause a Document leak if the state is never cleared like on YouTube video pages. This patch changes the CanvasGradient object to hold a weak reference to the CanvasRenderingContext instead of a strong reference which breaks the cycle. * LayoutTests/fast/canvas Add tests to verify the now-decoupled lifetimes of gradient and context do not cause crashes. * LayoutTests/fast/canvas/canvas-gradient-can-outlive-context-expected.txt: Added. * LayoutTests/fast/canvas/canvas-gradient-can-outlive-context.html: Added. * LayoutTests/fast/canvas/canvas-state-stack-gradient-expected.txt: Added. * LayoutTests/fast/canvas/canvas-state-stack-gradient.html: Added. * LayoutTests/http/tests/canvas Add a test to verify that setting the style of a 2D canvas context does not leak Documents. * LayoutTests/http/tests/canvas/ctx.2d-canvas-style-no-document-leak-expected.txt: Added. * LayoutTests/http/tests/canvas/ctx.2d-canvas-style-no-document-leak.html: Added. * LayoutTests/http/tests/canvas/resources/background.png: Added. * LayoutTests/http/tests/canvas/resources/ctx.2d-fillStyle-color.html: Added. * LayoutTests/http/tests/canvas/resources/ctx.2d-fillStyle-gradient.html: Added. * LayoutTests/http/tests/canvas/resources/ctx.2d-fillStyle-pattern.html: Added. * Source/WebCore/html/canvas/CanvasGradient.cpp: (WebCore::CanvasGradient::addColorStop): * Source/WebCore/html/canvas/CanvasGradient.h: * Source/WebCore/html/canvas/CanvasStyle.cpp: (WebCore::parseColor): Since the gradient can outlive the context that created it, we need to be able to parse colors without having a CSSParserContext reference. This overload calls CSSParser::parseColorWithoutContext in that case. * Source/WebCore/html/canvas/CanvasStyle.h: (WebCore::CanvasStyle::canvasGradient const): Canonical link: https://commits.webkit.org/263774@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] e93861: The Document object is leaked on some pages using ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e938617efad650e9578a649cdba3085c97393e4b https://github.com/WebKit/WebKit/commit/e938617efad650e9578a649cdba3085c97393e4b Author: Ryan Reno Date: 2023-05-09 (Tue, 09 May 2023) Changed paths: A LayoutTests/media/media-session/actionHandler-lifetime-expected.txt A LayoutTests/media/media-session/actionHandler-lifetime.html A LayoutTests/media/media-session/actionHandler-no-document-leak-expected.txt A LayoutTests/media/media-session/actionHandler-no-document-leak.html A LayoutTests/media/media-session/resources/media-session-action-handler-document-leak-frame.html M Source/WebCore/Modules/mediasession/MediaSession.cpp M Source/WebCore/Modules/mediasession/MediaSession.h M Source/WebCore/Modules/mediasession/MediaSession.idl M Source/WebCore/Modules/mediasession/MediaSessionActionHandler.h M Source/WebCore/Modules/mediasession/MediaSessionActionHandler.idl M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj A Source/WebCore/bindings/js/JSMediaSessionCustom.cpp Log Message: --- The Document object is leaked on some pages using media (like YouTube.com) https://bugs.webkit.org/show_bug.cgi?id=251835 rdar://105112595 Reviewed by Chris Dumez. Re-land of 263660@main (and 263715@main) fixing crashes due to prematurely garbage collected MediaSessionActionHandler JS wrappers. By default a callback holds a Strong<> reference to the JS Function object. This has the effect of making the callback a GC root. Another option is to annotate the callback with the IsWeakCallback extended attribute which will hold the callback object as a Weak reference and keep it alive via the visitJSFunction mechanism instead of making it a root. In the case of MediaSessionActionHandler the strong reference will prevent an HTMLDocument from being garbage collected even after navigating away and clearing the caches (after a low memory warning, for example). This change adds the IsWeakCallback attribute and the necessary virtual function to the MediaSessionActionHandler base class and makes changes to allow the MediaSession to mark any action handlers that have been added to it. LayoutTests: Add a test to check that action handlers installed by the page are not leaked. Use an iframe to install and exercise the action handlers before the iframe is navigated away and a garbage collection is triggered (repeatedly). If after 500 attempts at GC the document containing the action handlers still exists we consider the document leaked. Also add a test to check that action handlers survive garbage collection and can be called when appropriate. * LayoutTests/media/media-session/actionHandler-lifetime-expected.txt: Added. * LayoutTests/media/media-session/actionHandler-lifetime.html: Added. * LayoutTests/media/media-session/actionHandler-no-document-leak-expected.txt: Added. * LayoutTests/media/media-session/actionHandler-no-document-leak.html: Added. * LayoutTests/media/media-session/resources/media-session-action-handler-document-leak-frame.html: Added. * Source/WebCore/Modules/mediasession/MediaSession.cpp: (WebCore::MediaSession::virtualHasPendingActivity const): (WebCore::MediaSession::setActionHandler): (WebCore::MediaSession::callActionHandler): * Source/WebCore/Modules/mediasession/MediaSession.h: (WebCore::MediaSession::hasActiveActionHandlers const): (WebCore::MediaSession::visitActionHandlers const): * Source/WebCore/Modules/mediasession/MediaSession.idl: * Source/WebCore/Modules/mediasession/MediaSessionActionHandler.h: * Source/WebCore/Modules/mediasession/MediaSessionActionHandler.idl: * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/bindings/js/JSMediaSessionCustom.cpp: Added. (WebCore::JSMediaSession::visitAdditionalChildren): Canonical link: https://commits.webkit.org/263868@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b85d78: Add a null check for the current process' name whe...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b85d783df356a1bf6e88e5484e666c133efb23bd https://github.com/WebKit/WebKit/commit/b85d783df356a1bf6e88e5484e666c133efb23bd Author: Ryan Reno Date: 2023-05-16 (Tue, 16 May 2023) Changed paths: M Source/WebKit/UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm Log Message: --- Add a null check for the current process' name when launching a new process on macOS https://bugs.webkit.org/show_bug.cgi?id=256853 rdar://109210266 Reviewed by Chris Dumez. -[NSRunningApplication localizedName] is nullable. This adds a null check and falls back to the -[NSProcessInfo processName] if it is null on macOS. * Source/WebKit/UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm: (WebKit::ProcessLauncher::launchProcess): Canonical link: https://commits.webkit.org/264128@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f9cc49: [image-set] Handle zero resolution and clamping ne...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f9cc497c0b28ee7d1ca98585b072107d0e44f37b https://github.com/WebKit/WebKit/commit/f9cc497c0b28ee7d1ca98585b072107d0e44f37b Author: Ryan Reno Date: 2023-05-20 (Sat, 20 May 2023) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-negative-resolution-rendering-2.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-negative-resolution-rendering-3-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-negative-resolution-rendering-3.html M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-negative-resolution-rendering-expected.html M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-negative-resolution-rendering.html M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-zero-resolution-rendering-2-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-zero-resolution-rendering-2.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-zero-resolution-rendering-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-zero-resolution-rendering.html M Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp M Source/WebCore/rendering/style/StyleImageSet.cpp Log Message: --- [image-set] Handle zero resolution and clamping negative resolutions in calc expressions https://bugs.webkit.org/show_bug.cgi?id=254388 rdar://107167273 Reviewed by Tim Nguyen. In a CSSWG resolution it was decided that zero resolutions should be accepted by image-set but that they should produce an invalid image. This change accepts zero but will reject negative resolutions. In a follow-up we should clamp the result of calc expressions to zero. This change also resyncs the image-set WPT as of upstream commit c56aec60503481604225fdb7705f67d82ce437b8 https://github.com/w3c/csswg-drafts/issues/8532#issuecomment-1499478038 * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-negative-resolution-rendering-2.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-negative-resolution-rendering-3-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-negative-resolution-rendering-3.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-negative-resolution-rendering.html. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-negative-resolution-rendering-expected.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-negative-resolution-rendering.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-zero-resolution-rendering-2-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-zero-resolution-rendering-2.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-zero-resolution-rendering-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-zero-resolution-rendering.html: Added. * Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::consumeImageSetOption): * Source/WebCore/rendering/style/StyleImageSet.cpp: (WebCore::StyleImageSet::bestImageForScaleFactor): Canonical link: https://commits.webkit.org/264298@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f52fdf: [image-set] `type()` function should only take one...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f52fdf6f4c9f397c3805f840728e05a644727733 https://github.com/WebKit/WebKit/commit/f52fdf6f4c9f397c3805f840728e05a644727733 Author: Ryan Reno Date: 2023-05-21 (Sun, 21 May 2023) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing-expected.txt M Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp Log Message: --- [image-set] `type()` function should only take one string https://bugs.webkit.org/show_bug.cgi?id=256323 rdar://108909363 Reviewed by Tim Nguyen. Parsing for the image-set type() function is both too restricted and not strict enough. On the one hand, type( "image/png") (note the leading space) would be rejected while type("image/png" "image/png") would be accepted. This change fixes both issues by being a little more smart about handling the parser tokens passed to it and leaning on consumeString being able to handle leading and trailing whitespace tokens. We also need to be careful about not modifying the passed-in CSSParserTokenRange until after we've validated that the argument to type() was a single string. Otherwise we will hit an assert in the resolution calc() consumer. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing-expected.txt: * Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::ImageSetTypeCSSPrimitiveValueKnownTokenTypeFunctionConsumer::consume): Canonical link: https://commits.webkit.org/264310@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] e31b49: [image-set] Re-import WPT changes
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e31b4971569eed571c0d339f2038432b45a9bed8 https://github.com/WebKit/WebKit/commit/e31b4971569eed571c0d339f2038432b45a9bed8 Author: Ryan Reno Date: 2023-05-22 (Mon, 22 May 2023) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-negative-resolution-rendering-3-expected.html M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-negative-resolution-rendering-3.html M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-first-match-rendering.html M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-zero-resolution-rendering-2-expected.html M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-zero-resolution-rendering-2.html M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-zero-resolution-rendering-expected.html M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-zero-resolution-rendering.html M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/w3c-import.log Log Message: --- [image-set] Re-import WPT changes https://bugs.webkit.org/show_bug.cgi?id=257128 rdar://109664556 Reviewed by Tim Nguyen. Re-import changes to upstream image-set WPT as of upstream commit ba004353155163b0c356b753394e50d2dd6f0b87 * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-negative-resolution-rendering-3-expected.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-negative-resolution-rendering-3.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-first-match-rendering.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-zero-resolution-rendering-2-expected.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-zero-resolution-rendering-2.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-zero-resolution-rendering-expected.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-zero-resolution-rendering.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/w3c-import.log: Canonical link: https://commits.webkit.org/264379@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 56e5d7: [image-set] Pick first choice when identical resol...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 56e5d7cb43e7069afcda466873b4fd9ac13ce646 https://github.com/WebKit/WebKit/commit/56e5d7cb43e7069afcda466873b4fd9ac13ce646 Author: Ryan Reno Date: 2023-05-24 (Wed, 24 May 2023) Changed paths: M LayoutTests/TestExpectations M LayoutTests/platform/ios/TestExpectations M Source/WebCore/rendering/style/StyleImageSet.cpp Log Message: --- [image-set] Pick first choice when identical resolutions are found https://bugs.webkit.org/show_bug.cgi?id=257100 rdar://109619779 Reviewed by Tim Nguyen. Step 2 of the image-set selection algorithm [0] specifies that we should drop any whose resolution we have already seen. This can be acheived by comparing the resolution against the `result` that we have selected in the loop. This works because the Vector is sorted by resolution and we bail out of the loop the first time we find an image whose resolution is greater or equal to device resolution. While here, also fix up a bug where we were checking if the ImageWithScale object had a non-null pointer to an image rather than checking if the pointer was to a StyleInvalidImage object. The ImageWithScale defaults to having a StyleInvalidImage rather than a null pointer. [0] https://drafts.csswg.org/css-images-4/#image-set-notation * LayoutTests/TestExpectations: * LayoutTests/platform/ios/TestExpectations: * Source/WebCore/rendering/style/StyleImageSet.cpp: (WebCore::StyleImageSet::bestImageForScaleFactor): Canonical link: https://commits.webkit.org/264481@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 2f0199: [mixed-content] Resync WPT
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2f019929ef93eb73df47ac30ee8e53d723a87f6c https://github.com/WebKit/WebKit/commit/2f019929ef93eb73df47ac30ee8e53d723a87f6c Author: Ryan Reno Date: 2023-05-24 (Wed, 24 May 2023) Changed paths: A LayoutTests/imported/w3c/web-platform-tests/mixed-content/csp.https.window-expected.txt A LayoutTests/imported/w3c/web-platform-tests/mixed-content/csp.https.window.html A LayoutTests/imported/w3c/web-platform-tests/mixed-content/csp.https.window.js A LayoutTests/imported/w3c/web-platform-tests/mixed-content/csp.https.window.js.headers A LayoutTests/imported/w3c/web-platform-tests/mixed-content/nested-iframes.window-expected.txt A LayoutTests/imported/w3c/web-platform-tests/mixed-content/nested-iframes.window.html A LayoutTests/imported/w3c/web-platform-tests/mixed-content/nested-iframes.window.js A LayoutTests/imported/w3c/web-platform-tests/mixed-content/resources/middle-frame.html M LayoutTests/imported/w3c/web-platform-tests/mixed-content/resources/w3c-import.log M LayoutTests/imported/w3c/web-platform-tests/mixed-content/tentative/autoupgrades/audio-upgrade.https.sub-expected.txt M LayoutTests/imported/w3c/web-platform-tests/mixed-content/tentative/autoupgrades/audio-upgrade.https.sub.html M LayoutTests/imported/w3c/web-platform-tests/mixed-content/tentative/autoupgrades/image-upgrade.https.sub-expected.txt M LayoutTests/imported/w3c/web-platform-tests/mixed-content/tentative/autoupgrades/image-upgrade.https.sub.html A LayoutTests/imported/w3c/web-platform-tests/mixed-content/tentative/autoupgrades/mixed-content-cors.https.sub-expected.txt A LayoutTests/imported/w3c/web-platform-tests/mixed-content/tentative/autoupgrades/mixed-content-cors.https.sub.html M LayoutTests/imported/w3c/web-platform-tests/mixed-content/tentative/autoupgrades/video-upgrade.https.sub-expected.txt M LayoutTests/imported/w3c/web-platform-tests/mixed-content/tentative/autoupgrades/video-upgrade.https.sub.html M LayoutTests/imported/w3c/web-platform-tests/mixed-content/tentative/autoupgrades/w3c-import.log M LayoutTests/imported/w3c/web-platform-tests/mixed-content/w3c-import.log M LayoutTests/platform/glib/imported/w3c/web-platform-tests/mixed-content/tentative/autoupgrades/audio-upgrade.https.sub-expected.txt M LayoutTests/platform/glib/imported/w3c/web-platform-tests/mixed-content/tentative/autoupgrades/image-upgrade.https.sub-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/mixed-content/tentative/autoupgrades/mixed-content-cors.https.sub-expected.txt M LayoutTests/platform/glib/imported/w3c/web-platform-tests/mixed-content/tentative/autoupgrades/video-upgrade.https.sub-expected.txt Log Message: --- [mixed-content] Resync WPT https://bugs.webkit.org/show_bug.cgi?id=257150 rdar://109676140 Reviewed by Tim Nguyen. Resync mixed-content tests as of upstream commit a4d663e6e09213bf599fb3a9dc66a52f2549c7fe * LayoutTests/imported/w3c/web-platform-tests/mixed-content/csp.https.window-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/mixed-content/csp.https.window.html: Added. * LayoutTests/imported/w3c/web-platform-tests/mixed-content/csp.https.window.js: Added. (promise_test): (promise_test.async t): * LayoutTests/imported/w3c/web-platform-tests/mixed-content/csp.https.window.js.headers: Added. * LayoutTests/imported/w3c/web-platform-tests/mixed-content/nested-iframes.window-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/mixed-content/nested-iframes.window.html: Added. * LayoutTests/imported/w3c/web-platform-tests/mixed-content/nested-iframes.window.js: Added. (onmessage): * LayoutTests/imported/w3c/web-platform-tests/mixed-content/resources/middle-frame.html: Added. * LayoutTests/imported/w3c/web-platform-tests/mixed-content/resources/w3c-import.log: * LayoutTests/imported/w3c/web-platform-tests/mixed-content/tentative/autoupgrades/audio-upgrade.https.sub-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/mixed-content/tentative/autoupgrades/audio-upgrade.https.sub.html: * LayoutTests/imported/w3c/web-platform-tests/mixed-content/tentative/autoupgrades/image-upgrade.https.sub-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/mixed-content/tentative/autoupgrades/image-upgrade.https.sub.html: * LayoutTests/imported/w3c/web-platform-tests/mixed-content/tentative/autoupgrades/mixed-content-cors.https.sub-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/mixed-content/tentative/autoupgrades/mixed-content-cors.https.sub.html: Added. * LayoutTests/imported/w3c/web-platform-tests/mixed-content/tentative/autoupgrades/video-upgrade.https.sub-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/mixed-content/tentative/autoupgrades/video-upgrade.https.sub.html: * LayoutTests/imported/w3c/web-platform
[webkit-changes] [WebKit/WebKit] 900265: Third Party IFrame Navigation Block Bypass via Con...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 900265400e127db69a5ae3234151f005a3e769d3 https://github.com/WebKit/WebKit/commit/900265400e127db69a5ae3234151f005a3e769d3 Author: Ryan Reno Date: 2023-07-31 (Mon, 31 Jul 2023) Changed paths: A LayoutTests/http/tests/security/block-top-level-navigations-by-third-party-iframe-sandboxed-by-own-csp-expected.txt A LayoutTests/http/tests/security/block-top-level-navigations-by-third-party-iframe-sandboxed-by-own-csp.html A LayoutTests/http/tests/security/resources/attempt-top-level-navigation-with-csp.py M Source/WebCore/dom/Document.cpp Log Message: --- Third Party IFrame Navigation Block Bypass via Content Security Policy Sandbox https://bugs.webkit.org/show_bug.cgi?id=257903 rdar://109059471 Reviewed by Brent Fulgham. If a third-party iframe is unsandboxed we will prevent top navigation without user interaction with the frame. However, this is bypassable if the iframe gives itself a sandbox which allows top navigation via CSP. This change checks to see if the iframe element was unsandboxed and proceeds with the more strict third-party checks if so. * LayoutTests/http/tests/security/block-top-level-navigations-by-third-party-iframe-sandboxed-by-own-csp-expected.txt: Added. * LayoutTests/http/tests/security/block-top-level-navigations-by-third-party-iframe-sandboxed-by-own-csp.html: Added. * LayoutTests/http/tests/security/resources/attempt-top-level-navigation-with-csp.py: Added. * Source/WebCore/dom/Document.cpp: (WebCore::Document::isNavigationBlockedByThirdPartyIFrameRedirectBlocking): Originally-landed-as: 259548.823@safari-7615-branch (18a05c43972c). rdar://109059471 Canonical link: https://commits.webkit.org/266433@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 8299d7: Change compositing policy in response to memory pr...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8299d7639dd907163642c19c331a29c98f34ba12 https://github.com/WebKit/WebKit/commit/8299d7639dd907163642c19c331a29c98f34ba12 Author: Ryan Reno Date: 2023-08-01 (Tue, 01 Aug 2023) Changed paths: M Source/WTF/wtf/MemoryPressureHandler.h M Source/WebCore/rendering/RenderLayerCompositor.cpp Log Message: --- Change compositing policy in response to memory pressure status https://bugs.webkit.org/show_bug.cgi?id=259580 rdar://109875865 Reviewed by Simon Fraser. We switch to a more conservative compositing policy when the MemoryPressureHandler has a change in memory usage policy at most every 2 seconds. In some cases we can enter memory warning and critical memory pressure situations and get a foreground jetsam before this 2s has expired. This change will respond to recent memory warning and memory pressure notifications in order to change the compositing policy. While we can't guarantee to not jetsam, this does improve our chances of reducing layer counts before the system gets critically low on memory. * Source/WTF/wtf/MemoryPressureHandler.h: (WTF::MemoryPressureHandler::isUnderMemoryWarning const): * Source/WebCore/rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateCompositingPolicy): Canonical link: https://commits.webkit.org/266497@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 29231c: Add memory warning simulation to the MemoryPressur...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 29231ce7a037fa0af2c6d8fe47bafdb23ec7309e https://github.com/WebKit/WebKit/commit/29231ce7a037fa0af2c6d8fe47bafdb23ec7309e Author: Ryan Reno Date: 2023-08-03 (Thu, 03 Aug 2023) Changed paths: A LayoutTests/memory/memory-warning-simulation-expected.txt A LayoutTests/memory/memory-warning-simulation.html M Source/WTF/wtf/MemoryPressureHandler.cpp M Source/WTF/wtf/MemoryPressureHandler.h M Source/WTF/wtf/cocoa/MemoryPressureHandlerCocoa.mm M Source/WebCore/testing/Internals.cpp M Source/WebCore/testing/Internals.h M Source/WebCore/testing/Internals.idl Log Message: --- Add memory warning simulation to the MemoryPressureHandler https://bugs.webkit.org/show_bug.cgi?id=259802 rdar://113361130 Reviewed by Simon Fraser. This adds the ability to simulate a memory warning, complementing the existing memory pressure simulation facility. Adds both a notification handler (e.g. notifyutil on macOS) and a JS internals API for layout tests. * LayoutTests/memory/memory-warning-simulation-expected.txt: Added. * LayoutTests/memory/memory-warning-simulation.html: Added. * Source/WTF/wtf/MemoryPressureHandler.cpp: (WTF::MemoryPressureHandler::currentMemoryUsagePolicy): (WTF::MemoryPressureHandler::beginSimulatedMemoryWarning): (WTF::MemoryPressureHandler::endSimulatedMemoryWarning): * Source/WTF/wtf/MemoryPressureHandler.h: (WTF::MemoryPressureHandler::isUnderMemoryWarning const): (WTF::MemoryPressureHandler::isSimulatingMemoryWarning const): * Source/WTF/wtf/cocoa/MemoryPressureHandlerCocoa.mm: (WTF::MemoryPressureHandler::install): * Source/WebCore/testing/Internals.cpp: (WebCore::Internals::isUnderMemoryWarning): (WebCore::Internals::beginSimulatedMemoryWarning): (WebCore::Internals::endSimulatedMemoryWarning): * Source/WebCore/testing/Internals.h: * Source/WebCore/testing/Internals.idl: Canonical link: https://commits.webkit.org/266562@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 556e13: Prevent duplication of WASM throw and rethrow patc...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 556e13530a1c87ce76b7710ec8c2198251466e56 https://github.com/WebKit/WebKit/commit/556e13530a1c87ce76b7710ec8c2198251466e56 Author: David Degazio Date: 2023-08-07 (Mon, 07 Aug 2023) Changed paths: A JSTests/wasm/stress/phi-live-across-rethrow.js A JSTests/wasm/stress/phi-live-across-throw.js M Source/JavaScriptCore/b3/B3DuplicateTails.cpp M Source/JavaScriptCore/b3/B3Kind.cpp M Source/JavaScriptCore/b3/B3Kind.h M Source/JavaScriptCore/b3/B3PatchpointValue.cpp M Source/JavaScriptCore/b3/B3PatchpointValue.h M Source/JavaScriptCore/b3/B3ValueInlines.h M Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp Log Message: --- Prevent duplication of WASM throw and rethrow patchpoints in B3 https://bugs.webkit.org/show_bug.cgi?id=258408 rdar://110634913 Reviewed by Yusuke Suzuki. Adds a cloningForbidden property to B3Kind, used to prevent a B3 value from being cloned during optimizations, and applies it to the patchpoints generated for the WASM throw and rethrow opcodes in WasmB3IRGenerator. This prevents a problem where these patchpoints could be duplicated, still share a stackmap/callsite index, but have conflicting live value locations. * JSTests/wasm/stress/phi-live-across-rethrow.js: Added. (async test): * JSTests/wasm/stress/phi-live-across-throw.js: Added. (async test): * Source/JavaScriptCore/b3/B3DuplicateTails.cpp: * Source/JavaScriptCore/b3/B3Kind.cpp: (JSC::B3::Kind::dump const): * Source/JavaScriptCore/b3/B3Kind.h: (JSC::B3::Kind::hasCloningForbidden): (JSC::B3::Kind::hasCloningForbidden const): (JSC::B3::Kind::isCloningForbidden const): (JSC::B3::Kind::setIsCloningForbidden): (JSC::B3::Kind::operator== const): (JSC::B3::Kind::hash const): (JSC::B3::cloningForbidden): * Source/JavaScriptCore/b3/B3PatchpointValue.cpp: (JSC::B3::PatchpointValue::PatchpointValue): * Source/JavaScriptCore/b3/B3PatchpointValue.h: * Source/JavaScriptCore/b3/B3ValueInlines.h: (JSC::B3::Value::cloneImpl const): * Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp: (JSC::Wasm::B3IRGenerator::addThrow): (JSC::Wasm::B3IRGenerator::addRethrow): Originally-landed-as: 259548.844@safari-7615-branch (2e29306082ae). rdar://113286251 Canonical link: https://commits.webkit.org/266643@main Commit: 04bd941e62cbadecdc889fb575315ffd142756e4 https://github.com/WebKit/WebKit/commit/04bd941e62cbadecdc889fb575315ffd142756e4 Author: Ryan Reno Date: 2023-08-07 (Mon, 07 Aug 2023) Changed paths: M LayoutTests/http/tests/referrer-policy-iframe/no-referrer-when-downgrade/cross-origin-http.https-expected.txt M LayoutTests/http/tests/referrer-policy-iframe/no-referrer/cross-origin-http.https-expected.txt M LayoutTests/http/tests/referrer-policy-iframe/origin-when-cross-origin/cross-origin-http.https-expected.txt M LayoutTests/http/tests/referrer-policy-iframe/origin/cross-origin-http.https-expected.txt M LayoutTests/http/tests/referrer-policy-iframe/same-origin/cross-origin-http.https-expected.txt M LayoutTests/http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/cross-origin-http.https-expected.txt M LayoutTests/http/tests/referrer-policy-iframe/strict-origin/cross-origin-http.https-expected.txt M LayoutTests/http/tests/referrer-policy-iframe/unsafe-url/cross-origin-http.https-expected.txt M LayoutTests/http/tests/referrer-policy/no-referrer-when-downgrade/cross-origin-http.https-expected.txt M LayoutTests/http/tests/referrer-policy/no-referrer/cross-origin-http.https-expected.txt M LayoutTests/http/tests/referrer-policy/origin-when-cross-origin/cross-origin-http.https-expected.txt M LayoutTests/http/tests/referrer-policy/origin/cross-origin-http.https-expected.txt M LayoutTests/http/tests/referrer-policy/same-origin/cross-origin-http.https-expected.txt M LayoutTests/http/tests/referrer-policy/strict-origin-when-cross-origin/cross-origin-http.https-expected.txt M LayoutTests/http/tests/referrer-policy/strict-origin/cross-origin-http.https-expected.txt M LayoutTests/http/tests/referrer-policy/unsafe-url/cross-origin-http.https-expected.txt M LayoutTests/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/iframe-upgrade.https-expected.txt M LayoutTests/http/tests/security/mixedContent/insecure-iframe-in-iframe-expected.txt M LayoutTests/http/tests/security/mixedContent/insecure-iframe-in-iframe.html A LayoutTests/http/tests/security/mixedContent/insecure-iframe-in-sandboxed-iframe-expected.txt A LayoutTests/http/tests/security/mixedContent/insecure-iframe-in-sandboxed-iframe.html M LayoutTests/http/tests/security/mixedContent/insecure-script-in-data-iframe-in-main-frame-blocked-expected.txt M LayoutTests/http/tests/security/referrer-policy-header-and-meta-tag-emptyString.html M LayoutTests/http/tests/security/referrer-policy-header-and-meta
[webkit-changes] [WebKit/WebKit] bfe32c: Block sandboxed frames from navigating to javascri...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: bfe32ce05ee3b00154b18fef84cc2dff3c7bf5af https://github.com/WebKit/WebKit/commit/bfe32ce05ee3b00154b18fef84cc2dff3c7bf5af Author: Ryan Reno Date: 2023-08-08 (Tue, 08 Aug 2023) Changed paths: A LayoutTests/http/tests/security/sandboxed-iframe-javascript-self-navigation-expected.txt A LayoutTests/http/tests/security/sandboxed-iframe-javascript-self-navigation.html A LayoutTests/http/tests/security/sandboxed-iframe-javascript-top-navigation-expected.txt A LayoutTests/http/tests/security/sandboxed-iframe-javascript-top-navigation.html M Source/WebCore/loader/FrameLoader.cpp M Source/WebCore/loader/NavigationRequester.cpp M Source/WebCore/loader/NavigationRequester.h M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in Log Message: --- Block sandboxed frames from navigating to javascript URLs without allow-scripts sandbox flag. https://bugs.webkit.org/show_bug.cgi?id=257824 rdar://108462161 Reviewed by Alex Christensen. Sandboxed iframes could execute script in a target frame by navigating the frame to a javascript: URL. For example, the top frame when the iframe has the sandbox flag "allow-top-navigation". This change checks to see if the "allow-scripts" flag is set before executing the URL in the target frame. * LayoutTests/http/tests/security/sandboxed-iframe-javascript-self-navigation-expected.txt: Added. * LayoutTests/http/tests/security/sandboxed-iframe-javascript-self-navigation.html: Added. * LayoutTests/http/tests/security/sandboxed-iframe-javascript-top-navigation-expected.txt: Added. * LayoutTests/http/tests/security/sandboxed-iframe-javascript-top-navigation.html: Added. * Source/WebCore/loader/FrameLoader.cpp: (WebCore::FrameLoader::executeJavaScriptURL): * Source/WebCore/loader/NavigationRequester.cpp: (WebCore::NavigationRequester::from): * Source/WebCore/loader/NavigationRequester.h: (WebCore::NavigationRequester::encode const): (WebCore::NavigationRequester::decode): Originally-landed-as: 259548.813@safari-7615-branch (47ed6aa2ea88). rdar://113223713 Canonical link: https://commits.webkit.org/266689@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 23551a: Generated attribute setters for nullable types fai...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 23551a03b824a73d7f0b63db00a35706701324f5 https://github.com/WebKit/WebKit/commit/23551a03b824a73d7f0b63db00a35706701324f5 Author: Ryan Reno Date: 2023-08-09 (Wed, 09 Aug 2023) Changed paths: M Source/WebCore/bindings/scripts/CodeGeneratorJS.pm M Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp M Source/WebCore/bindings/scripts/test/TestObj.idl Log Message: --- Generated attribute setters for nullable types fail when passing null. https://bugs.webkit.org/show_bug.cgi?id=259947 rdar://113591277 Reviewed by Chris Dumez. We aren't allowing `null` as an attribute value in the setter for nullable enum attributes. This change will check if the attribute is nullable in the code generator and if so generate C++ code which will call the native implementation of the setter with `std::nullopt` when passed `null` in the JS code. Preserves the existing behavior for non-nullable attributes. * Source/WebCore/bindings/scripts/CodeGeneratorJS.pm: (GenerateAttributeSetterBodyDefinition): * Source/WebCore/bindings/scripts/test: Added an attribute to TestObj to check the output of the generator for nullable enum type attributes. Canonical link: https://commits.webkit.org/266726@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] bf6398: Add hysteresis to RenderLayerCompositor's composit...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: bf6398b824c5bc0f5a274231301914d5d8524c99 https://github.com/WebKit/WebKit/commit/bf6398b824c5bc0f5a274231301914d5d8524c99 Author: Ryan Reno Date: 2023-08-09 (Wed, 09 Aug 2023) Changed paths: A LayoutTests/compositing/layer-creation/compositing-policy-hysteresis-expected.txt A LayoutTests/compositing/layer-creation/compositing-policy-hysteresis.html A LayoutTests/platform/mac/compositing/layer-creation/compositing-policy-hysteresis-expected.txt M Source/WebCore/rendering/RenderLayerCompositor.cpp M Source/WebCore/rendering/RenderLayerCompositor.h Log Message: --- Add hysteresis to RenderLayerCompositor's compositing policy. https://bugs.webkit.org/show_bug.cgi?id=259865 rdar://113342477 Reviewed by Simon Fraser. RenderLayerCompositor::updateCompositingPolicy will change compositing policy when memory pressure status has changed (266497@main). It is possible that we could bounce between Conservative and Normal policies multiple times per second. Consider this example: 1) We enter a memory warning and so move to Conservative, deallocating layer backing memory. 2) This deallocation brings us just below the threshold for memory warning. 3) We see this status change and return to Normal, creating new layers and reallocating layer backing memory. 4) This reallocation brings us back into memory warning (goto 1). To avoid this situation this patch adds a HysteresisActivity to the RenderLayerCompositor. Whenever we change to Conservative compositing mode we impulse the activity and will not change compositing policy until after the activity has stopped. Currently that means we wait 2s after switching to a Conservative policy before allowing ourselves to switch back to a Normal policy. We don't block ourselves from switching from Normal to Conservative though since that can cause us to respond to system memory pressure too slowly. * LayoutTests/compositing/layer-creation/compositing-policy-hysteresis-expected.txt: Added. * LayoutTests/compositing/layer-creation/compositing-policy-hysteresis.html: Added. * LayoutTests/platform/mac/compositing/layer-creation/compositing-policy-hysteresis-expected.txt: Added. * Source/WebCore/rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::RenderLayerCompositor): (WebCore::RenderLayerCompositor::updateCompositingPolicy): (WebCore::RenderLayerCompositor::canUpdateCompositingPolicy const): * Source/WebCore/rendering/RenderLayerCompositor.h: Canonical link: https://commits.webkit.org/266738@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 0cb488: [image-set] border-image should fall back to borde...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0cb488dc32c401acec4cf7f3dff58511b68489eb https://github.com/WebKit/WebKit/commit/0cb488dc32c401acec4cf7f3dff58511b68489eb Author: Ryan Reno Date: 2023-08-09 (Wed, 09 Aug 2023) Changed paths: A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-all-options-invalid-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-all-options-invalid.html M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-computed.sub-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-computed.sub.html M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/w3c-import.log M LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-computed.sub-expected.txt M Source/WebCore/rendering/style/StyleInvalidImage.h Log Message: --- [image-set] border-image should fall back to border if the image is invalid https://bugs.webkit.org/show_bug.cgi?id=259990 rdar://113646392 Reviewed by Tim Nguyen. If the image-set represents an invalid image it behaves as a zero-sized transparent image. We can accomplish this by returning false from StyleInvalidImage::canRender. In the case of border-image, we check to see if we can render the image and if not we will behave as if we don't have a border-image at all. This will then fall back to the border property value, if present. Also update image-set WPT as of upstream commit cccad108b803ef9541ee164a306a9d694c831e01 * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-all-options-invalid-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-all-options-invalid.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-computed.sub-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-computed.sub.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/w3c-import.log: * LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-computed.sub-expected.txt: * Source/WebCore/rendering/style/StyleInvalidImage.h: Canonical link: https://commits.webkit.org/266749@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c54e9a: [Image Set]: Resync WPT
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c54e9a95a10a456fa96504337745cc80482736cb https://github.com/WebKit/WebKit/commit/c54e9a95a10a456fa96504337745cc80482736cb Author: Ryan Reno Date: 2023-02-07 (Tue, 07 Feb 2023) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/resources/resource-files.json A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-computed.sub-expected.txt A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-computed.sub.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-content-rendering-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-content-rendering.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-dpcm-rendering-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-dpcm-rendering.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-dpi-rendering-2-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-dpi-rendering-2.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-dpi-rendering-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-dpi-rendering.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-dppx-rendering-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-dppx-rendering.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-empty-url-rendering-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-empty-url-rendering.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-first-match-rendering-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-first-match-rendering.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-invalid-resolution-rendering-2-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-invalid-resolution-rendering-2.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-invalid-resolution-rendering-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-invalid-resolution-rendering.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-linear-gradient-rendering-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-linear-gradient-rendering.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-no-res-rendering-2-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-no-res-rendering-2.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-no-res-rendering-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-no-res-rendering.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-no-url-rendering-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-no-url-rendering.html M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-radial-gradient-rendering-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-radial-gradient-rendering.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-rendering-2-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-rendering-2.html M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-rendering-expected.html M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-rendering.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-resolution-001-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-resolution-001-ref.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-resolution-001.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-resolution-002-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set
[webkit-changes] [WebKit/WebKit] 5e3827: -webkit-image-set() should be an alias of image-set()
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5e38273c02f707913dc6183e04c5b44fded9e28a https://github.com/WebKit/WebKit/commit/5e38273c02f707913dc6183e04c5b44fded9e28a Author: Ryan Reno Date: 2023-02-07 (Tue, 07 Feb 2023) Changed paths: R LayoutTests/fast/css/image-set-parsing-invalid-expected.txt R LayoutTests/fast/css/image-set-parsing-invalid.html M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-computed.sub-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing.html M LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-computed.sub-expected.txt M Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp Log Message: --- -webkit-image-set() should be an alias of image-set() https://bugs.webkit.org/show_bug.cgi?id=229909 rdar://82999675 Reviewed by Tim Nguyen. -webkit-image-set had a strict subset of image-set's syntax and so the former was made into an alias of the latter in the css-images module level 4. This change removes the restrictions on the syntax for the prefixed function and makes it into a parse-time alias of image-set. * LayoutTests/fast/css/image-set-parsing-invalid-expected.txt: Removed. * LayoutTests/fast/css/image-set-parsing-invalid.html: Removed. This test is made obsolete by changes to the image-set parsing WPT and by making -webkit-image-set an alias to image-set. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-computed.sub-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing.html: * LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-computed.sub-expected.txt: * Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::consumeImage): Canonical link: https://commits.webkit.org/259994@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 310f67: Recognize CSSUnitType::CSS_X as a resolution calc ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 310f6772fe38734a6592e9ed1fa2f068556e4500 https://github.com/WebKit/WebKit/commit/310f6772fe38734a6592e9ed1fa2f068556e4500 Author: Ryan Reno Date: 2023-02-22 (Wed, 22 Feb 2023) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing.html M Source/WebCore/css/calc/CSSCalcCategoryMapping.cpp Log Message: --- Recognize CSSUnitType::CSS_X as a resolution calc unit category https://bugs.webkit.org/show_bug.cgi?id=252627 rdar://105700660 Reviewed by Tim Nguyen. We will fail to parse an expression like calc(1x * 2) because we are expecting a Resolution calculation category due to the first token in the expression being a Dimenson token. However, 'x' is not recognized by the mapping and is given the category Other. This causes us to bail and not perform the calculation. * Source/WebCore/css/calc/CSSCalcCategoryMapping.cpp: (WebCore::calcUnitCategory): * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing.html: Canonical link: https://commits.webkit.org/260678@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f9b1ad: [Image Set]: Refactor CSSImageSetValue to accept o...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f9b1ad4c0847a6799049abdb764a5ca7367b4800 https://github.com/WebKit/WebKit/commit/f9b1ad4c0847a6799049abdb764a5ca7367b4800 Author: Ryan Reno Date: 2023-02-23 (Thu, 23 Feb 2023) Changed paths: M LayoutTests/TestExpectations M LayoutTests/fast/css/image-set-parsing-expected.txt R LayoutTests/fast/css/image-set-parsing-generated-expected.txt R LayoutTests/fast/css/image-set-parsing-generated.html M LayoutTests/fast/css/image-set-parsing.html M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing.html M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj A Source/WebCore/css/CSSImageSetOptionValue.cpp A Source/WebCore/css/CSSImageSetOptionValue.h M Source/WebCore/css/CSSImageSetValue.cpp M Source/WebCore/css/CSSValue.cpp M Source/WebCore/css/CSSValue.h M Source/WebCore/css/CSSValuePair.cpp M Source/WebCore/css/calc/CSSCalcPrimitiveValueNode.cpp M Source/WebCore/css/parser/CSSPropertyParser.cpp M Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp M Source/WebCore/rendering/style/StyleImageSet.cpp Log Message: --- [Image Set]: Refactor CSSImageSetValue to accept optional resolution and MIME type parameters https://bugs.webkit.org/show_bug.cgi?id=252137 rdar://105367742 Reviewed by Antti Koivisto. The standardized image-set differs from -webkit-image-set in that each option has three arguments instead of two - an image, an optional resolution, and an optional type() function declaring the MIME type of the image. This refactors the CSSImageSetValue to hold an CSSImageSetOptionValue object instead of placing the image and resolution values in a vector and using a stride of 2 to represent each option. The actual parsing of resolution and type() will be in a follow-on patch. * LayoutTests/TestExpectations: Unskip newly passing WPT ref tests. * LayoutTests/fast/css/image-set-parsing-expected.txt: * LayoutTests/fast/css/image-set-parsing-generated-expected.txt: Removed. * LayoutTests/fast/css/image-set-parsing-generated.html: Removed. * LayoutTests/fast/css/image-set-parsing.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing.html: Refactor the internal parsing tests in the following ways: 1) Move and dedup all tests of standard properties (e.g. background-image) to WPT. 2) Move generated image tests (gradients, for example) to the main image-set-parsing test. 3) Test that -webkit-image-set is an alias to image-set 4) Test that the serialization is as expected (per WPT). * Source/WebCore/css/CSSImageSetOptionValue.cpp: Added. (WebCore::CSSImageSetOptionValue::Type::Type): (WebCore::CSSImageSetOptionValue::Type::cssText const): (WebCore::CSSImageSetOptionValue::CSSImageSetOptionValue): (WebCore::CSSImageSetOptionValue::create): (WebCore::CSSImageSetOptionValue::equals const): (WebCore::CSSImageSetOptionValue::customCSSText const): (WebCore::CSSImageSetOptionValue::image const): (WebCore::CSSImageSetOptionValue::resolution const): (WebCore::CSSImageSetOptionValue::setResolution): (WebCore::CSSImageSetOptionValue::type const): (WebCore::CSSImageSetOptionValue::setType): * Source/WebCore/css/CSSImageSetOptionValue.h: Copied from Source/WebCore/css/CSSImageSetValue.h. Create a new CSSImageSetOptionValue class to represent the arguments to the image-set function. This object holds a Ref to either a CSSImageValue or a generated image (e.g. a linear-gradient), and optionally holds a resolution (scale factor) and a MIME type string. * Source/WebCore/css/CSSImageSetValue.cpp: (WebCore::CSSImageSetValue::create): (WebCore::CSSImageSetValue::CSSImageSetValue): (WebCore::CSSImageSetValue::customCSSText const): (WebCore::CSSImageSetValue::createStyleImage const): * Source/WebCore/css/CSSImageSetValue.h: With -webkit-image-set, the image and resolution were the only two arguments and they were both required. The standardized image-set makes resolution and type optional. Instead of holding all the arguments as individual elements in the underlying CSSListValue storage we hold the new CSSImageSetOptionValues in the internal vector instead. We also now filter the image set on provided MIME type if it's supported or not when creating the StyleImage. * Source/WebCore/css/CSSValue.cpp: (WebCore::CSSValue::visitDerived): * Source/WebCore/css/CSSValue.h: (WebCore::CSSValue::isImageSetOptionValue const): Updates for support for the new CSSImageSetOptionValue. * Source/WebCore/css/calc/CSSCalcPrimitiveValueNode.cpp: * Source/WebCore/css/p
[webkit-changes] [WebKit/WebKit] e3554c: [Image-Set]: Support Resolution and Type as option...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e3554c53fff0e1d9ed207af749cd1dbaf7853300 https://github.com/WebKit/WebKit/commit/e3554c53fff0e1d9ed207af749cd1dbaf7853300 Author: Ryan Reno Date: 2023-02-24 (Fri, 24 Feb 2023) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-computed.sub-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing-expected.txt M LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-computed.sub-expected.txt M Source/WebCore/css/CSSImageSetOptionValue.cpp M Source/WebCore/css/CSSImageSetOptionValue.h M Source/WebCore/css/CSSImageSetValue.cpp M Source/WebCore/css/CSSValueKeywords.in M Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp M Source/WebCore/rendering/style/StyleCursorImage.cpp M Source/WebCore/rendering/style/StyleImageSet.cpp M Source/WebCore/rendering/style/StyleMultiImage.cpp M Source/WebCore/rendering/style/StyleMultiImage.h Log Message: --- [Image-Set]: Support Resolution and Type as optional arguments https://bugs.webkit.org/show_bug.cgi?id=225185 rdar://77598590 Reviewed by Tim Nguyen. Make resolution an optional argument to image-set. Also add support for the type optional argument. `type` is a hint that the author can provide to help us filter unsupported image types from the set. We won't consider an unsupported MIME type if it is specified. http://w3c.github.io/csswg-drafts/css-images-4/#image-set-notation * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-computed.sub-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing-expected.txt: * LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-computed.sub-expected.txt: * Source/WebCore/css/CSSImageSetOptionValue.cpp: (WebCore::CSSImageSetOptionValue::Type::cssText const): (WebCore::CSSImageSetOptionValue::CSSImageSetOptionValue): (WebCore::CSSImageSetOptionValue::create): (WebCore::CSSImageSetOptionValue::setType): * Source/WebCore/css/CSSImageSetOptionValue.h: * Source/WebCore/css/CSSImageSetValue.cpp: (WebCore::CSSImageSetValue::createStyleImage const): * Source/WebCore/css/CSSValueKeywords.in: * Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::ImageSetTypeCSSPrimitiveValueKnownTokenTypeFunctionConsumer::consume): (WebCore::CSSPropertyParserHelpers::consumeImageSetOption): (WebCore::CSSPropertyParserHelpers::consumeImageSet): * Source/WebCore/rendering/style/StyleCursorImage.cpp: (WebCore::StyleCursorImage::selectBestFitImage): * Source/WebCore/rendering/style/StyleImageSet.cpp: (WebCore::StyleImageSet::computedStyleValue const): * Source/WebCore/rendering/style/StyleMultiImage.cpp: (WebCore::StyleMultiImage::load): Early return if the image set was empty due to no supported image types being specified. We still ASSERT if the image set is non-empty and the image isn't actually a StyleImage type. * Source/WebCore/rendering/style/StyleMultiImage.h: Augumet ImageWithScale to also carry a MIME type string if one was specified by the author so we can accurately report the computed value. Canonical link: https://commits.webkit.org/260796@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 984b76: [Image-Set] Fix WPE/GTK test expectation
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 984b7654c803a105f5ce096c3218e5ae1a6177f4 https://github.com/WebKit/WebKit/commit/984b7654c803a105f5ce096c3218e5ae1a6177f4 Author: Ryan Reno Date: 2023-02-24 (Fri, 24 Feb 2023) Changed paths: M LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-computed.sub-expected.txt Log Message: --- [Image-Set] Fix WPE/GTK test expectation https://bugs.webkit.org/show_bug.cgi?id=252914 rdar://105888138 Unreviewed. test expectation fix. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-computed.sub-expected.txt: Canonical link: https://commits.webkit.org/260798@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3eb91d: [Image-Set] WPT Resync
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3eb91dfb3d1c02742da9f77972955b9350348a3e https://github.com/WebKit/WebKit/commit/3eb91dfb3d1c02742da9f77972955b9350348a3e Author: Ryan Reno Date: 2023-02-24 (Fri, 24 Feb 2023) Changed paths: M LayoutTests/TestExpectations A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-conic-gradient-rendering-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-conic-gradient-rendering.html M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-repeating-conic-gradient-rendering-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-repeating-conic-gradient-rendering.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-repeating-linear-gradient-rendering-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-repeating-linear-gradient-rendering.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-repeating-radial-gradient-rendering-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-repeating-radial-gradient-rendering.html M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-unsupported-rendering-2-expected.html M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-unsupported-rendering-2.html M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-unsupported-rendering-expected.html M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-unsupported-rendering.html M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/w3c-import.log Log Message: --- [Image-Set] WPT Resync https://bugs.webkit.org/show_bug.cgi?id=252917 rdar://105891314 Reviewed by Tim Nguyen. Resync image-set tests as of upstream commit 2951f647e1a7e5d8460e8cf6367b9bdab907cb78 * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-conic-gradient-rendering-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-unsupported-rendering-expected.html. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-conic-gradient-rendering.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-repeating-conic-gradient-rendering-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-unsupported-rendering-expected.html. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-repeating-conic-gradient-rendering.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-repeating-linear-gradient-rendering-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-unsupported-rendering-expected.html. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-repeating-linear-gradient-rendering.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-repeating-radial-gradient-rendering-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-unsupported-rendering-expected.html. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-repeating-radial-gradient-rendering.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-unsupported-rendering-2-expected.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-unsupported-rendering-2.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-unsupported-rendering-expected.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-unsupported-rendering.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/w3c-import.log: Canonical link: https://commits.webkit.org/260827@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 4c823b: [Image-Set] [iOS] image set tests failing on iOS
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 4c823b2dd0b4705017e54c0e27ff57e726f3731b https://github.com/WebKit/WebKit/commit/4c823b2dd0b4705017e54c0e27ff57e726f3731b Author: Ryan Reno Date: 2023-02-28 (Tue, 28 Feb 2023) Changed paths: M LayoutTests/platform/ios/TestExpectations Log Message: --- [Image-Set] [iOS] image set tests failing on iOS https://bugs.webkit.org/show_bug.cgi?id=253095 Unreviewed test gardening. * LayoutTests/platform/ios/TestExpectations: Canonical link: https://commits.webkit.org/260962@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 2fff06: image-set() should serialize in authored order
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2fff06ab22a9a766d9314fdc4eaefeadbf67d63d https://github.com/WebKit/WebKit/commit/2fff06ab22a9a766d9314fdc4eaefeadbf67d63d Author: Ryan Reno Date: 2023-03-01 (Wed, 01 Mar 2023) Changed paths: A LayoutTests/fast/css/image-set-type-crash-expected.txt A LayoutTests/fast/css/image-set-type-crash.html M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-computed.sub-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-computed.sub.html M LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-computed.sub-expected.txt M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/css/CSSImageSetOptionValue.cpp M Source/WebCore/css/CSSImageSetOptionValue.h M Source/WebCore/css/CSSImageSetValue.cpp M Source/WebCore/css/CSSImageValue.cpp M Source/WebCore/css/CSSImageValue.h M Source/WebCore/rendering/style/StyleImage.h M Source/WebCore/rendering/style/StyleImageSet.cpp M Source/WebCore/rendering/style/StyleImageSet.h A Source/WebCore/rendering/style/StyleInvalidImage.cpp A Source/WebCore/rendering/style/StyleInvalidImage.h M Source/WebCore/rendering/style/StyleMultiImage.cpp M Source/WebCore/rendering/style/StyleMultiImage.h Log Message: --- image-set() should serialize in authored order https://bugs.webkit.org/show_bug.cgi?id=251196 rdar://104683422 Reviewed by Antti Koivisto. To make choosing an image in the image-set more efficient we sort the set by resolution. This was causing us to serialize in a different order than the value was authored if the author did not also sort by resolution. This change preserves the order of the image-set-options as authored while providing a vector of sorted indices to enable linear lookups by device resolution. In the case where the image-set is empty because there are no supported image types we introduce the concept of an invalid image[0]. This is a Style object that represents a zero-sized image. This way we can have a well-defined image object to use in the style, rendering, and paint systems but no loads will be triggered and the invalid image will have zero intrinsic size so as not to affect layout calculations. [0] http://w3c.github.io/csswg-drafts/css-images-4/#invalid-image * LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-computed.sub-expected.txt: * LayoutTests/fast/css/image-set-type-crash-expected.txt: Added. * LayoutTests/fast/css/image-set-type-crash.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-computed.sub-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-computed.sub.html: Added test cases for checking the computed style of an image-set with no supported image types. * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/css/CSSImageSetOptionValue.cpp: (WebCore::CSSImageSetOptionValue::CSSImageSetOptionValue): (WebCore::CSSImageSetOptionValue::create): (WebCore::CSSImageSetOptionValue::equals const): (WebCore::CSSImageSetOptionValue::customCSSText const): (WebCore::CSSImageSetOptionValue::setResolution): (WebCore::CSSImageSetOptionValue::setType): (WebCore::CSSImageSetOptionValue::Type::Type): Deleted. (WebCore::CSSImageSetOptionValue::Type::cssText const): Deleted. (WebCore::CSSImageSetOptionValue::image const): Deleted. (WebCore::CSSImageSetOptionValue::resolution const): Deleted. (WebCore::CSSImageSetOptionValue::type const): Deleted. * Source/WebCore/css/CSSImageSetOptionValue.h: Remove the CSSImageSetOptionValue::Type class. Since we no longer filter the image set by given type prior to making the StyleImageSet object, there's no need to check if the type is supported at this stage. Now we just hold the string as given to us by the CSS parser (if any). Since type is an optional parameter for the image set option, we represent the lack of a specified type with a null string. * Source/WebCore/css/CSSImageSetValue.cpp: (WebCore::CSSImageSetValue::createStyleImage const): * Source/WebCore/rendering/style/StyleImage.h: (WebCore::StyleImage::isGeneratedImage const): (WebCore::StyleImage::isInvalidImage const): * Source/WebCore/rendering/style/StyleImageSet.cpp: (WebCore::StyleImageSet::create): (WebCore::StyleImageSet::StyleImageSet): (WebCore::StyleImageSet::bestImageForScaleFactor): * Source/WebCore/rendering/style/StyleImageSet.h: * Source/WebCore/rendering/style/StyleInvalidImage.cpp: Copied from Source/WebCore/css/CSSImageSetOptionValue.h. (WebCore::StyleInvalidImage::create): (WebCore::StyleInvalidImage::StyleInvalidImage): (WebCore::StyleInvalidImage::load): (WebCore::StyleInvalidImage::image
[webkit-changes] [WebKit/WebKit] edc821: IOSurfaceGetID is public API
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: edc821880f856e6814483f6d5971b5f9cc9d4f1b https://github.com/WebKit/WebKit/commit/edc821880f856e6814483f6d5971b5f9cc9d4f1b Author: Ryan Reno Date: 2023-03-15 (Wed, 15 Mar 2023) Changed paths: M Source/WTF/wtf/spi/cocoa/IOSurfaceSPI.h M Source/WebCore/platform/graphics/cocoa/IOSurface.mm Log Message: --- IOSurfaceGetID is public API https://bugs.webkit.org/show_bug.cgi?id=253973 rdar://106762871 Reviewed by Tim Horton. IOSurface::surfaceID was written before IOSurfaceGetID was available in the public SDK on all platforms. This removes the preprocessor platform checks and simply wraps IOSurfaceGetID. This also removes the now-redundant IOSurfaceID typedef from the SPI header. * Source/WebCore/platform/graphics/cocoa/IOSurface.mm: (WebCore::IOSurface::surfaceID const): * Source/WTF/wtf/spi/cocoa/IOSurfaceSPI.h: Canonical link: https://commits.webkit.org/261732@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 5bcdab: Cherry-pick 252432.1029@safari-7614-branch (9dda7b...
ce/WebCore/bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::initializeJSFunction const): * Source/WebCore/bindings/js/WebCoreJSClientData.cpp: (WebCore::JSVMClientData::~JSVMClientData): * Source/WebCore/bindings/js/WebCoreJSClientData.h: (WebCore::JSVMClientData::addClient): * Source/WebCore/dom/EventTarget.cpp: (WebCore::EventTarget::attributeEventListener): * Source/WebCore/inspector/CommandLineAPIHost.cpp: (WebCore::CommandLineAPIHost::getEventListeners): * Source/WebCore/inspector/WebInjectedScriptHost.cpp: (WebCore::objectForEventTargetListeners): * Source/WebCore/inspector/agents/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::buildObjectForEventListener): Canonical link: https://commits.webkit.org/252432.1030@safari-7614-branch Commit: 42498db72eabcb51b4f706c6da5b667fe517c943 https://github.com/WebKit/WebKit/commit/42498db72eabcb51b4f706c6da5b667fe517c943 Author: David Degazio <35146201+ddega...@users.noreply.github.com> Date: 2023-03-29 (Wed, 29 Mar 2023) Changed paths: A JSTests/stress/cell-speculated-array-indexof.js M Source/JavaScriptCore/dfg/DFGFixupPhase.cpp Log Message: --- Cherry-pick 252432.1031@safari-7614-branch (9f7e401c42a8). https://bugs.webkit.org/show_bug.cgi?id=250429 Fix use-after-free in DFGFixupPhase for array indexOf https://bugs.webkit.org/show_bug.cgi?id=250429 rdar://103852510 Reviewed by Jonathan Bedard and Michael Saboff. During DFG fixup, array indexOf nodes are folded to -1 when the search element is speculated to be a different type than the array element (for instance, JSCell instead of Int32). When this happens, a speculation check is inserted, which can cause the DFG graph's varArgChildren array to reallocate. This invalidates the searchElement Edge reference, which we use immediately after the check insertion in the fixup phase. This patch fixes this potential use-after-free by grabbing the searchElement's associated node before inserting any checks, giving us a persistent pointer to a DFG node rather than a reference into a vector. * JSTests/stress/cell-speculated-array-indexof.js: Added. * Source/JavaScriptCore/dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupArrayIndexOf): Canonical link: https://commits.webkit.org/252432.1031@safari-7614-branch Commit: a4cc9fef4ed925d82d7e5af3b0d0c0e7d7aea67c https://github.com/WebKit/WebKit/commit/a4cc9fef4ed925d82d7e5af3b0d0c0e7d7aea67c Author: Simon Fraser Date: 2023-03-29 (Wed, 29 Mar 2023) Changed paths: M Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp Log Message: --- Cherry-pick 252432.1033@safari-7614-branch (02e324c57689). https://bugs.webkit.org/show_bug.cgi?id=250742 Possible type confusion bug in RemoteScrollingCoordinatorTransaction::decode https://bugs.webkit.org/show_bug.cgi?id=250742 Reviewed by Jonathan Bedard and Ryosuke Niwa. RemoteScrollingCoordinatorTransaction::decode() fails to check whether the nodeID returned by `m_scrollingStateTree->insertNode()` is a new one, different from the `nodeID` argument. If so, it could indicate that the node type of `m_scrollingStateTree->stateNodeForID()` does not match `nodeType`, leading to type confusion. In the UI process, `m_scrollingStateTree->insertNode()` should never return a different nodeID; this only happens when the given nodeType does not match the type of the existing node, which only happens in the WebProcess. So if `insertNode()` returns a different nodeID, or when the returned node doesn't have the expected type, we can consider it an IPC decoding error. * Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp: (WebKit::RemoteScrollingCoordinatorTransaction::decode): Canonical link: https://commits.webkit.org/252432.1033@safari-7614-branch Commit: 534a3a6ea4c438cab97a52ed16d0c61f763d0377 https://github.com/WebKit/WebKit/commit/534a3a6ea4c438cab97a52ed16d0c61f763d0377 Author: Ryan Reno Date: 2023-03-29 (Wed, 29 Mar 2023) Changed paths: A LayoutTests/imported/w3c/web-platform-tests/content-security-policy/generic/wildcard-host-checks-path.sub-expected.txt A LayoutTests/imported/w3c/web-platform-tests/content-security-policy/generic/wildcard-host-checks-path.sub.html M Source/WebCore/page/csp/ContentSecurityPolicySource.cpp Log Message: --- Cherry-pick 252432.1034@safari-7614-branch (3ee4a8321986). https://bugs.webkit.org/show_bug.cgi?id=250709 CSP bypass due to incorrect handling of wildcard character in host expression https://bugs.webkit.org/show_bug.cgi?id=250709 rdar://104335301 Reviewed by Brent Fulgham and Jonathan Bedard. We were treating something like "https://*/foo"
[webkit-changes] [WebKit/WebKit] e5edae: Give WebKit-owned IOSurfaces names
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e5edaea039e254b86f390fe75a6b37b291b66998 https://github.com/WebKit/WebKit/commit/e5edaea039e254b86f390fe75a6b37b291b66998 Author: Ryan Reno Date: 2023-03-30 (Thu, 30 Mar 2023) Changed paths: M Source/WTF/wtf/spi/cocoa/IOSurfaceSPI.h M Source/WebCore/platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp M Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm M Source/WebCore/platform/graphics/cocoa/IOSurface.h M Source/WebCore/platform/graphics/cocoa/IOSurface.mm M Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm M Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBackend.cpp M Tools/DumpRenderTree/ios/PixelDumpSupportIOS.mm M Tools/TestWebKitAPI/Tests/WebCore/cocoa/IOSurfaceTests.mm Log Message: --- Give WebKit-owned IOSurfaces names https://bugs.webkit.org/show_bug.cgi?id=141586 rdar://problem/89791501 Reviewed by Simon Fraser. IOSurfaces can have name metadata attached to them for tools to consume. This change adds names to surfaces based on the RenderingPurpose they are being created for. Additionally, surfaces which are stored in the IOSurfacePool will update the name if a surface is being pulled from the pool for a different purpose than it was originally created for. * Source/WTF/wtf/spi/cocoa/IOSurfaceSPI.h: * Source/WebCore/platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp: (WebCore::ImageBufferIOSurfaceBackend::create): * Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm: (WebCore::GraphicsContextGLCocoa::allocateAndBindDisplayBufferBacking): * Source/WebCore/platform/graphics/cocoa/IOSurface.h: * Source/WebCore/platform/graphics/cocoa/IOSurface.mm: (WebCore::surfaceNameToNSString): (WebCore::IOSurface::create): (WebCore::IOSurface::createFromImage): (WebCore::optionsForBiplanarSurface): (WebCore::optionsFor32BitSurface): (WebCore::IOSurface::IOSurface): (WebCore::IOSurface::convertToFormat): (WebCore::IOSurface::nameForRenderingPurpose): (WebCore::operator<<): * Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm: (-[WKWebView _takeViewSnapshot]): (-[WKWebView _snapshotRectAfterScreenUpdates:rectInViewCoordinates:intoImageOfWidth:completionHandler:]): * Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBackend.cpp: (WebKit::ImageBufferShareableMappedIOSurfaceBackend::create): * Tools/DumpRenderTree/ios/PixelDumpSupportIOS.mm: (createBitmapContextFromWebView): * Tools/TestWebKitAPI/Tests/WebCore/cocoa/IOSurfaceTests.mm: (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/262331@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3abfcf: Revert 262331@main: May have caused memory regression
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3abfcfc86ce8c875b3427e7d54fd218cd20eed28 https://github.com/WebKit/WebKit/commit/3abfcfc86ce8c875b3427e7d54fd218cd20eed28 Author: Ryan Reno Date: 2023-03-30 (Thu, 30 Mar 2023) Changed paths: M Source/WTF/wtf/spi/cocoa/IOSurfaceSPI.h M Source/WebCore/platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp M Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm M Source/WebCore/platform/graphics/cocoa/IOSurface.h M Source/WebCore/platform/graphics/cocoa/IOSurface.mm M Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm M Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBackend.cpp M Tools/DumpRenderTree/ios/PixelDumpSupportIOS.mm M Tools/TestWebKitAPI/Tests/WebCore/cocoa/IOSurfaceTests.mm Log Message: --- Revert 262331@main: May have caused memory regression https://bugs.webkit.org/show_bug.cgi?id=141586 rdar://problem/89791501 Unreviewed, reverting 262331@main. * Source/WTF/wtf/spi/cocoa/IOSurfaceSPI.h: * Source/WebCore/platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp: (WebCore::ImageBufferIOSurfaceBackend::create): * Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm: (WebCore::GraphicsContextGLCocoa::allocateAndBindDisplayBufferBacking): * Source/WebCore/platform/graphics/cocoa/IOSurface.h: * Source/WebCore/platform/graphics/cocoa/IOSurface.mm: (WebCore::IOSurface::create): (WebCore::IOSurface::createFromImage): (WebCore::optionsForBiplanarSurface): (WebCore::optionsFor32BitSurface): (WebCore::IOSurface::IOSurface): (WebCore::IOSurface::convertToFormat): (WebCore::operator<<): (WebCore::surfaceNameToNSString): Deleted. (WebCore::IOSurface::nameForRenderingPurpose): Deleted. * Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm: (-[WKWebView _takeViewSnapshot]): (-[WKWebView _snapshotRectAfterScreenUpdates:rectInViewCoordinates:intoImageOfWidth:completionHandler:]): * Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBackend.cpp: (WebKit::ImageBufferShareableMappedIOSurfaceBackend::create): * Tools/DumpRenderTree/ios/PixelDumpSupportIOS.mm: (createBitmapContextFromWebView): * Tools/TestWebKitAPI/Tests/WebCore/cocoa/IOSurfaceTests.mm: Canonical link: https://commits.webkit.org/262370@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] e9041b: Resync fetch WPT
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e9041b9ec42e1b7336f93101d7ab4df67fbea996 https://github.com/WebKit/WebKit/commit/e9041b9ec42e1b7336f93101d7ab4df67fbea996 Author: Ryan Reno Date: 2022-11-16 (Wed, 16 Nov 2022) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/resources/resource-files.json M LayoutTests/imported/w3c/web-platform-tests/fetch/META.yml A LayoutTests/imported/w3c/web-platform-tests/fetch/api/abort/cache.https.any.serviceworker-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/api/abort/cache.https.any.serviceworker.html A LayoutTests/imported/w3c/web-platform-tests/fetch/api/abort/cache.https.any.sharedworker-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/api/abort/cache.https.any.sharedworker.html M LayoutTests/imported/w3c/web-platform-tests/fetch/api/abort/general.any-expected.txt M LayoutTests/imported/w3c/web-platform-tests/fetch/api/abort/general.any.js A LayoutTests/imported/w3c/web-platform-tests/fetch/api/abort/general.any.serviceworker-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/api/abort/general.any.serviceworker.html A LayoutTests/imported/w3c/web-platform-tests/fetch/api/abort/general.any.sharedworker-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/api/abort/general.any.sharedworker.html M LayoutTests/imported/w3c/web-platform-tests/fetch/api/abort/general.any.worker-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/api/abort/request.any-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/api/abort/request.any.html A LayoutTests/imported/w3c/web-platform-tests/fetch/api/abort/request.any.js A LayoutTests/imported/w3c/web-platform-tests/fetch/api/abort/request.any.serviceworker-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/api/abort/request.any.serviceworker.html A LayoutTests/imported/w3c/web-platform-tests/fetch/api/abort/request.any.sharedworker-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/api/abort/request.any.sharedworker.html A LayoutTests/imported/w3c/web-platform-tests/fetch/api/abort/request.any.worker-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/api/abort/request.any.worker.html M LayoutTests/imported/w3c/web-platform-tests/fetch/api/abort/serviceworker-intercepted.https-expected.txt M LayoutTests/imported/w3c/web-platform-tests/fetch/api/abort/serviceworker-intercepted.https.html M LayoutTests/imported/w3c/web-platform-tests/fetch/api/abort/w3c-import.log A LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.any.serviceworker-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.any.serviceworker.html A LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.any.sharedworker-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.any.sharedworker.html A LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/conditional-get.any.serviceworker-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/conditional-get.any.serviceworker.html A LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/conditional-get.any.sharedworker-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/conditional-get.any.sharedworker.html A LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/error-after-response.any.serviceworker-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/error-after-response.any.serviceworker.html A LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/error-after-response.any.sharedworker-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/error-after-response.any.sharedworker.html A LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/header-value-combining.any.serviceworker-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/header-value-combining.any.serviceworker.html A LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/header-value-combining.any.sharedworker-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/header-value-combining.any.sharedworker.html A LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/header-value-null-byte.any.serviceworker-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/header-value-null-byte.any.serviceworker.html A LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/header-value-null-byte.any.sharedworker-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/header-value-null-byte.any.sharedworker.html A LayoutTests/imported/w3c/web
[webkit-changes] [WebKit/WebKit] ec8ff5: Content downloaded with fetch() API when Content-E...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ec8ff55e6568cd38eb629339e589d5d97c077d95 https://github.com/WebKit/WebKit/commit/ec8ff55e6568cd38eb629339e589d5d97c077d95 Author: Ryan Reno Date: 2022-11-16 (Wed, 16 Nov 2022) Changed paths: A LayoutTests/imported/w3c/web-platform-tests/fetch/content-encoding/gzip-body.any-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/content-encoding/gzip-body.any.html A LayoutTests/imported/w3c/web-platform-tests/fetch/content-encoding/gzip-body.any.js A LayoutTests/imported/w3c/web-platform-tests/fetch/content-encoding/gzip-body.any.serviceworker-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/content-encoding/gzip-body.any.serviceworker.html A LayoutTests/imported/w3c/web-platform-tests/fetch/content-encoding/gzip-body.any.sharedworker-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/content-encoding/gzip-body.any.sharedworker.html A LayoutTests/imported/w3c/web-platform-tests/fetch/content-encoding/gzip-body.any.worker-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/content-encoding/gzip-body.any.worker.html A LayoutTests/imported/w3c/web-platform-tests/fetch/content-encoding/resources/foo.octetstream.gz A LayoutTests/imported/w3c/web-platform-tests/fetch/content-encoding/resources/foo.octetstream.gz.headers A LayoutTests/imported/w3c/web-platform-tests/fetch/content-encoding/resources/foo.text.gz A LayoutTests/imported/w3c/web-platform-tests/fetch/content-encoding/resources/foo.text.gz.headers M LayoutTests/platform/mac-wk1/TestExpectations M Source/WebCore/Modules/fetch/FetchLoader.cpp M Source/WebCore/loader/ResourceLoader.cpp M Source/WebCore/loader/ResourceLoader.h M Source/WebCore/loader/ResourceLoaderOptions.h M Source/WebCore/loader/ThreadableLoader.cpp M Source/WebCore/platform/network/BlobResourceHandle.cpp M Source/WebCore/platform/network/ResourceHandle.cpp M Source/WebCore/platform/network/ResourceHandle.h M Source/WebCore/platform/network/ResourceHandleInternal.h M Source/WebCore/platform/network/cf/ResourceHandleCFNet.cpp M Source/WebCore/platform/network/curl/ResourceHandleCurl.cpp M Source/WebCore/platform/network/mac/ResourceHandleMac.mm M Source/WebCore/xml/XMLHttpRequest.cpp M Source/WebKit/NetworkProcess/NetworkLoadParameters.h M Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp M Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp M Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp M Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.h M Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm M Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp M Source/WebKitLegacy/WebCoreSupport/PingHandle.h Log Message: --- Content downloaded with fetch() API when Content-Encoding: gzip is set is not decompressed https://bugs.webkit.org/show_bug.cgi?id=247421 rdar://101935292 Reviewed by Brent Fulgham. In 195247@main we adopted CFNetwork SPI to opt-out of content encoding sniffing for XMLHttpRequest. Content encoding sniffing would cause responses with `Content-Encoding: gzip` and `Content-Type: application/octet-stream` to be treated as `Content-Type: application/gzip` and `Content-Encoding: identity` on macOS. The user and developer visible behavior is that the gzipped data is not decompressed. This brings that change forward to Fetch requests by setting the ContentEncodingSniffingPolicy flag in the FetchLoader. As an additional step this also renames the ContentEncodingSniffingPolicy flags to Default and Disable and replaces raw bools representing those flags with the enum itself. On iOS the flag has no effect since the default behavior is to opt-out of sniffing. * LayoutTests/platform/mac-wk1/TestExpectations: Skip new worker tests since workers are unsupported in WK1. * LayoutTests/imported/w3c/web-platform-tests/fetch/content-encoding/gzip-body.any-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/fetch/content-encoding/gzip-body.any.html: Added. * LayoutTests/imported/w3c/web-platform-tests/fetch/content-encoding/gzip-body.any.js: Added. (string_appeared_here.forEach.contentType.promise_test.async t): * LayoutTests/imported/w3c/web-platform-tests/fetch/content-encoding/gzip-body.any.serviceworker-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/fetch/content-encoding/gzip-body.any.serviceworker.html: Added. * LayoutTests/imported/w3c/web-platform-tests/fetch/content-encoding/gzip-body.any.sharedworker-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/fetch/content-encoding/gzip-body.any.sharedworker.html: Added. * LayoutTests/imported/w3c/web-platform-tests/fetch/content-encoding/gzip-body.any.worker-expected.txt
[webkit-changes] [WebKit/WebKit] e0bf40: Block loading remote content in console message st...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e0bf4081c1a0c961d923a9c894bd2c7c3d24a759 https://github.com/WebKit/WebKit/commit/e0bf4081c1a0c961d923a9c894bd2c7c3d24a759 Author: Ryan Reno Date: 2022-11-18 (Fri, 18 Nov 2022) Changed paths: M Source/WebInspectorUI/UserInterface/Views/ConsoleMessageView.js Log Message: --- Block loading remote content in console message style formatter. https://bugs.webkit.org/show_bug.cgi?id=248066 rdar://101434152 Reviewed by Brent Fulgham and Patrick Angle. This blocks loading remote resources in the %c console formatter by disallowing CSS values using the `url` or `src` CSS functions. * Source/WebInspectorUI/UserInterface/Views/ConsoleMessageView.js: (WI.ConsoleMessageView.prototype._formatWithSubstitutionString.styleFormatter): (WI.ConsoleMessageView.prototype._formatWithSubstitutionString.isAllowedValue): Canonical link: https://commits.webkit.org/256840@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 93ece5: REGRESSION (250836@main): [ iOS ] fast/forms/textf...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 93ece5e17f0a9a8fe3a937f19d79c3a4caedb399 https://github.com/WebKit/WebKit/commit/93ece5e17f0a9a8fe3a937f19d79c3a4caedb399 Author: Ryan Reno Date: 2022-11-18 (Fri, 18 Nov 2022) Changed paths: M LayoutTests/fast/forms/textfield-outline.html M LayoutTests/platform/ios-wk2/TestExpectations Log Message: --- REGRESSION (250836@main): [ iOS ] fast/forms/textfield-outline.html is a flaky failure https://bugs.webkit.org/show_bug.cgi?id=241205 rdar://94255807 Reviewed by Simon Fraser. The test fast/forms/textfield-outline.html became flaky because 250836@main introduced asynchronous appearance changes when there is a programmatic selection being set on a frame. This caused a race condition between the test runner completing and the render tree being updated with the cursor in the correct scrollX position. I went part of the way to fixing this test in 252417@main by switching from synchronous to asynchronous keydown events in the test. However, the test still had a race condition because the test runner wasn't being told to wait for all three asynchronous key downs to complete. This simply puts the testRunner in "asynchronous mode" by calling testRunner.waitUntilDone and testRunner.notifyDone. * LayoutTests/fast/forms/textfield-outline.html: * LayoutTests/platform/ios-wk2/TestExpectations: Canonical link: https://commits.webkit.org/256856@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 274b33: WPT Fetch Private Network Access tests dumping the...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 274b3310fed1d8c58417ca13194d647fe90d8d57 https://github.com/WebKit/WebKit/commit/274b3310fed1d8c58417ca13194d647fe90d8d57 Author: Ryan Reno Date: 2022-11-18 (Fri, 18 Nov 2022) Changed paths: R LayoutTests/imported/w3c/web-platform-tests/fetch/private-network-access/non-secure-context.window-expected.txt R LayoutTests/imported/w3c/web-platform-tests/fetch/private-network-access/non-secure-context.window.html R LayoutTests/imported/w3c/web-platform-tests/fetch/private-network-access/secure-context.https.window-expected.txt R LayoutTests/imported/w3c/web-platform-tests/fetch/private-network-access/secure-context.https.window.html R LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/private-network-access/non-secure-context.window-expected.txt R LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/private-network-access/secure-context.https.window-expected.txt M LayoutTests/platform/ios-wk2/TestExpectations Log Message: --- WPT Fetch Private Network Access tests dumping the render tree as test output on iOS 16 simulator. https://bugs.webkit.org/show_bug.cgi?id=247682 rdar://102144343 Unreviewed test gardening. These tests don't exist upstream and mistakenly had files generated for them during the fetch WPT resync in 256738@main * LayoutTests/imported/w3c/web-platform-tests/fetch/private-network-access/non-secure-context.window-expected.txt: Removed. * LayoutTests/imported/w3c/web-platform-tests/fetch/private-network-access/non-secure-context.window.html: Removed. * LayoutTests/imported/w3c/web-platform-tests/fetch/private-network-access/secure-context.https.window-expected.txt: Removed. * LayoutTests/imported/w3c/web-platform-tests/fetch/private-network-access/secure-context.https.window.html: Removed. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/private-network-access/non-secure-context.window-expected.txt: Removed. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/private-network-access/secure-context.https.window-expected.txt: Removed. * LayoutTests/platform/ios-wk2/TestExpectations: Canonical link: https://commits.webkit.org/256870@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] ee768c: imported/w3c/web-platform-tests/fetch/stale-while-...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ee768c0b2c5815e09934e3e4588e64a687878ba8 https://github.com/WebKit/WebKit/commit/ee768c0b2c5815e09934e3e4588e64a687878ba8 Author: Ryan Reno Date: 2022-11-29 (Tue, 29 Nov 2022) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/web-platform-tests/fetch/stale-while-revalidate/revalidate-not-blocked-by-csp-expected.txt M LayoutTests/imported/w3c/web-platform-tests/fetch/stale-while-revalidate/revalidate-not-blocked-by-csp.html Log Message: --- imported/w3c/web-platform-tests/fetch/stale-while-revalidate/revalidate-not-blocked-by-csp.html times out https://bugs.webkit.org/show_bug.cgi?id=248424 rdar://102734100 Reviewed by Brent Fulgham. This test times out for all browsers because of a bug in how the Count header value is incremented. The server backed by fetch/stale-while-revalidate/resources/stale-image.py will only increment the count value it stores if the request URL does not contain a `query` URL query parameter. The first time the server gets a request (when the image is first loaded) the URL does not contain that parameter and so it increments count. However, when we poll the server in the while loop we always call fetch with a URL that contains the `query` parameter. This caused the server to never increment the counter and so we time out waiting for the fetch response headers to contain Count: 2. This fixes that bug by adding a boolean which causes us to poll the server with the `query` parameter every other time around the loop. * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/web-platform-tests/fetch/stale-while-revalidate/revalidate-not-blocked-by-csp-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/fetch/stale-while-revalidate/revalidate-not-blocked-by-csp.html: Canonical link: https://commits.webkit.org/257154@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 30e82d: Synchronize fetch WPT
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 30e82dd4126d70741ec62f55bd9cc5d2f4ab4b4c https://github.com/WebKit/WebKit/commit/30e82dd4126d70741ec62f55bd9cc5d2f4ab4b4c Author: Ryan Reno Date: 2022-11-30 (Wed, 30 Nov 2022) Changed paths: M LayoutTests/imported/w3c/resources/resource-files.json M LayoutTests/imported/w3c/web-platform-tests/fetch/api/abort/serviceworker-intercepted.https-expected.txt M LayoutTests/imported/w3c/web-platform-tests/fetch/api/abort/serviceworker-intercepted.https.html A LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-redirection.any-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-redirection.any.html A LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-redirection.any.js A LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-redirection.any.serviceworker-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-redirection.any.serviceworker.html A LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-redirection.any.sharedworker-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-redirection.any.sharedworker.html A LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-redirection.any.worker-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-redirection.any.worker.html M LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/w3c-import.log A LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/dump-authorization-header.py M LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/w3c-import.log M LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-static-error.any-expected.txt M LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-static-error.any.js M LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-static-error.any.serviceworker-expected.txt M LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-static-error.any.sharedworker-expected.txt M LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-static-error.any.worker-expected.txt M LayoutTests/imported/w3c/web-platform-tests/fetch/content-encoding/gzip-body.any.html M LayoutTests/imported/w3c/web-platform-tests/fetch/content-encoding/gzip-body.any.serviceworker.html M LayoutTests/imported/w3c/web-platform-tests/fetch/content-encoding/gzip-body.any.sharedworker.html M LayoutTests/imported/w3c/web-platform-tests/fetch/content-encoding/gzip-body.any.worker.html M LayoutTests/imported/w3c/web-platform-tests/fetch/content-encoding/resources/w3c-import.log M LayoutTests/imported/w3c/web-platform-tests/fetch/content-encoding/w3c-import.log A LayoutTests/imported/w3c/web-platform-tests/fetch/orb/resources/js-unlabeled.js A LayoutTests/imported/w3c/web-platform-tests/fetch/orb/resources/png-mislabeled-as-html.png A LayoutTests/imported/w3c/web-platform-tests/fetch/orb/resources/png-mislabeled-as-html.png.headers A LayoutTests/imported/w3c/web-platform-tests/fetch/orb/resources/png-unlabeled.png A LayoutTests/imported/w3c/web-platform-tests/fetch/orb/resources/w3c-import.log A LayoutTests/imported/w3c/web-platform-tests/fetch/orb/tentative/img-mime-types-coverage.tentative.sub-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/orb/tentative/img-mime-types-coverage.tentative.sub.html A LayoutTests/imported/w3c/web-platform-tests/fetch/orb/tentative/img-png-mislabeled-as-html.sub-expected.html A LayoutTests/imported/w3c/web-platform-tests/fetch/orb/tentative/img-png-mislabeled-as-html.sub-ref.html A LayoutTests/imported/w3c/web-platform-tests/fetch/orb/tentative/img-png-mislabeled-as-html.sub.html A LayoutTests/imported/w3c/web-platform-tests/fetch/orb/tentative/img-png-unlabeled.sub-expected.html A LayoutTests/imported/w3c/web-platform-tests/fetch/orb/tentative/img-png-unlabeled.sub-ref.html A LayoutTests/imported/w3c/web-platform-tests/fetch/orb/tentative/img-png-unlabeled.sub.html A LayoutTests/imported/w3c/web-platform-tests/fetch/orb/tentative/script-unlabeled.sub-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/orb/tentative/script-unlabeled.sub.html A LayoutTests/imported/w3c/web-platform-tests/fetch/orb/tentative/w3c-import.log A LayoutTests/imported/w3c/web-platform-tests/fetch/private-network-access/iframe.tentative.https.window-expected.txt A LayoutTests/imported/w3c/web-platform-tests/fetch/private-network-access/iframe.tentative.https.window.html A LayoutTests/imported/w3c/web-platform
[webkit-changes] [WebKit/WebKit] 7c9d43: Resync Secure Contexts WPT
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 7c9d4354393a7ef4aeb49f0cc6300b78acf889e6 https://github.com/WebKit/WebKit/commit/7c9d4354393a7ef4aeb49f0cc6300b78acf889e6 Author: Ryan Reno Date: 2022-12-16 (Fri, 16 Dec 2022) Changed paths: M LayoutTests/TestExpectations A LayoutTests/imported/w3c/web-platform-tests/secure-contexts/META.yml A LayoutTests/imported/w3c/web-platform-tests/secure-contexts/basic-dedicated-worker-expected.txt M LayoutTests/imported/w3c/web-platform-tests/secure-contexts/basic-dedicated-worker.html A LayoutTests/imported/w3c/web-platform-tests/secure-contexts/basic-dedicated-worker.https-expected.txt M LayoutTests/imported/w3c/web-platform-tests/secure-contexts/basic-popup-and-iframe-tests-expected.txt M LayoutTests/imported/w3c/web-platform-tests/secure-contexts/basic-popup-and-iframe-tests.https-expected.txt M LayoutTests/imported/w3c/web-platform-tests/secure-contexts/basic-popup-and-iframe-tests.https.js A LayoutTests/imported/w3c/web-platform-tests/secure-contexts/basic-shared-worker-expected.txt A LayoutTests/imported/w3c/web-platform-tests/secure-contexts/basic-shared-worker.https-expected.txt A LayoutTests/imported/w3c/web-platform-tests/secure-contexts/shared-worker-insecure-first.https-expected.txt A LayoutTests/imported/w3c/web-platform-tests/secure-contexts/shared-worker-secure-first.https-expected.txt M LayoutTests/imported/w3c/web-platform-tests/secure-contexts/support/w3c-import.log M LayoutTests/imported/w3c/web-platform-tests/secure-contexts/w3c-import.log A LayoutTests/platform/glib/imported/w3c/web-platform-tests/secure-contexts/basic-dedicated-worker-expected.txt M LayoutTests/platform/glib/imported/w3c/web-platform-tests/secure-contexts/basic-popup-and-iframe-tests-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/secure-contexts/basic-popup-and-iframe-tests.https-expected.txt M LayoutTests/platform/mac-wk1/TestExpectations Log Message: --- Resync Secure Contexts WPT https://bugs.webkit.org/show_bug.cgi?id=249335 rdar://103371925 Reviewed by Brent Fulgham. Resync Secure Contexts WPT as of upstream commit 8adf127d65cbca5895a4e665dcb9e763e79abc79 * LayoutTests/TestExpectations: * LayoutTests/platform/mac-wk1/TestExpectations: * LayoutTests/imported/w3c/web-platform-tests/secure-contexts/META.yml: Added. * LayoutTests/imported/w3c/web-platform-tests/secure-contexts/basic-dedicated-worker-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/secure-contexts/basic-dedicated-worker.html: * LayoutTests/imported/w3c/web-platform-tests/secure-contexts/basic-dedicated-worker.https-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/secure-contexts/basic-popup-and-iframe-tests-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/secure-contexts/basic-popup-and-iframe-tests.https-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/secure-contexts/basic-popup-and-iframe-tests.https.js: * LayoutTests/imported/w3c/web-platform-tests/secure-contexts/basic-shared-worker-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/secure-contexts/basic-shared-worker.https-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/secure-contexts/shared-worker-insecure-first.https-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/secure-contexts/shared-worker-secure-first.https-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/secure-contexts/support/w3c-import.log: * LayoutTests/imported/w3c/web-platform-tests/secure-contexts/w3c-import.log: * LayoutTests/platform/glib/imported/w3c/web-platform-tests/secure-contexts/basic-dedicated-worker-expected.txt: Added. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/secure-contexts/basic-popup-and-iframe-tests-expected.txt: * LayoutTests/platform/glib/imported/w3c/web-platform-tests/secure-contexts/basic-popup-and-iframe-tests.https-expected.txt: Copied from LayoutTests/platform/glib/imported/w3c/web-platform-tests/secure-contexts/basic-popup-and-iframe-tests-expected.txt. Canonical link: https://commits.webkit.org/257994@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 0445ac: Store CSP delivered via meta tag as a valid HTTP h...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0445ac553799b27c80ebc292d372e0663ad70b8a https://github.com/WebKit/WebKit/commit/0445ac553799b27c80ebc292d372e0663ad70b8a Author: Ryan Reno Date: 2022-12-19 (Mon, 19 Dec 2022) Changed paths: M Source/WebCore/page/csp/ContentSecurityPolicyDirectiveList.cpp Log Message: --- Store CSP delivered via meta tag as a valid HTTP header. https://bugs.webkit.org/show_bug.cgi?id=249596 rdar://103170891 Reviewed by Brent Fulgham. A CSP delivered via a meta tag could have invalid HTTP header values in it. Take for example this: The value of the CSP header that the ContentSecurityPolicyDirectiveList will get will be the raw string including whitespace and most importantly newline characters. These newline characters are invalid characters in an HTTP header[0]. The parsing algorithm for CSP handles this appropriately and creates a valid CSP for the document. However, if a script in the document then creates blob URLs which are navigated to or otherwise fetched, the Network process will return a ResourceResponse object with a Content-Security-Policy header that contains the newlines. This is caught by the ResourceResponseBase::containsInvalidHTTPHeaders function which causes the fetch to fail. To combat this we can simply strip the newline characters from the meta-delivered CSP and store the policy as a valid HTTP header. [0] https://fetch.spec.whatwg.org/#header-value * Source/WebCore/page/csp/ContentSecurityPolicyDirectiveList.cpp: (WebCore::ContentSecurityPolicyDirectiveList::parse): Canonical link: https://commits.webkit.org/258110@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] a58085: Cherry-pick 0445ac553799. rdar://problem/103170891
Branch: refs/heads/safari-7615.1.16-branch Home: https://github.com/WebKit/WebKit Commit: a58085420faa7872aad9c6c8d2ce01275cbea1a1 https://github.com/WebKit/WebKit/commit/a58085420faa7872aad9c6c8d2ce01275cbea1a1 Author: Ryan Reno Date: 2022-12-19 (Mon, 19 Dec 2022) Changed paths: M Source/WebCore/page/csp/ContentSecurityPolicyDirectiveList.cpp Log Message: --- Cherry-pick 0445ac553799. rdar://problem/103170891 Store CSP delivered via meta tag as a valid HTTP header. https://bugs.webkit.org/show_bug.cgi?id=249596 rdar://103170891 Reviewed by Brent Fulgham. A CSP delivered via a meta tag could have invalid HTTP header values in it. Take for example this: The value of the CSP header that the ContentSecurityPolicyDirectiveList will get will be the raw string including whitespace and most importantly newline characters. These newline characters are invalid characters in an HTTP header[0]. The parsing algorithm for CSP handles this appropriately and creates a valid CSP for the document. However, if a script in the document then creates blob URLs which are navigated to or otherwise fetched, the Network process will return a ResourceResponse object with a Content-Security-Policy header that contains the newlines. This is caught by the ResourceResponseBase::containsInvalidHTTPHeaders function which causes the fetch to fail. To combat this we can simply strip the newline characters from the meta-delivered CSP and store the policy as a valid HTTP header. [0] https://fetch.spec.whatwg.org/#header-value * Source/WebCore/page/csp/ContentSecurityPolicyDirectiveList.cpp: (WebCore::ContentSecurityPolicyDirectiveList::parse): Canonical link: https://commits.webkit.org/258110@main Canonical link: https://commits.webkit.org/257979.6@safari-7615.1.16-branch ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 8df840: Add regression testing for CSP inheritance via met...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8df840f39f29393e105f1baf471b1bdda069f848 https://github.com/WebKit/WebKit/commit/8df840f39f29393e105f1baf471b1bdda069f848 Author: Ryan Reno Date: 2022-12-20 (Tue, 20 Dec 2022) Changed paths: A LayoutTests/imported/w3c/web-platform-tests/content-security-policy/inheritance/blob-inherits-from-meta-http-equiv-with-invalid-characters-expected.txt A LayoutTests/imported/w3c/web-platform-tests/content-security-policy/inheritance/blob-inherits-from-meta-http-equiv-with-invalid-characters.html Log Message: --- Add regression testing for CSP inheritance via meta tag containing newline characters https://bugs.webkit.org/show_bug.cgi?id=249616 rdar://103535066 Reviewed by Brent Fulgham. This adds a test for blob URL inheriting a CSP delivered via a meta tag when the content attirbute contains newlines. The fix for this landed in 258110@main * LayoutTests/imported/w3c/web-platform-tests/content-security-policy/inheritance/blob-inherits-from-meta-http-equiv-with-invalid-characters-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/content-security-policy/inheritance/blob-inherits-from-meta-http-equiv-with-invalid-characters.html: Added. Canonical link: https://commits.webkit.org/258146@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9bcb54: CSP 3: Update Content Security Policy when header ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9bcb547791aa90dfe8715b041f14e374c42f5199 https://github.com/WebKit/WebKit/commit/9bcb547791aa90dfe8715b041f14e374c42f5199 Author: Ryan Reno Date: 2023-01-15 (Sun, 15 Jan 2023) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/content-security-policy/generic/304-response-should-update-csp.sub-expected.txt M Source/WebCore/platform/network/CacheValidation.cpp Log Message: --- CSP 3: Update Content Security Policy when header sent as part of a 304 response https://bugs.webkit.org/show_bug.cgi?id=244637 rdar://99405897 Reviewed by Brent Fulgham. We ignore any headers with the "Content-" prefix in a 304 response. This change special-cases the Content-Security-Policy and Content-Security-Policy-Report-Only headers to be included in the cached response. This has the effect of updating the cache entry's CSP if the server sends a new CSP in a 304 response. * LayoutTests/imported/w3c/web-platform-tests/content-security-policy/generic/304-response-should-update-csp.sub-expected.txt: * Source/WebCore/platform/network/CacheValidation.cpp: (WebCore::shouldUpdateHeaderAfterRevalidation): Canonical link: https://commits.webkit.org/258931@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] ad1a3d: JSC Weak External Symbols build fix
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ad1a3d78d883ff2e2eb80f4c205e15cb1c86ba8c https://github.com/WebKit/WebKit/commit/ad1a3d78d883ff2e2eb80f4c205e15cb1c86ba8c Author: Ryan Reno Date: 2023-01-25 (Wed, 25 Jan 2023) Changed paths: M Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig Log Message: --- JSC Weak External Symbols build fix https://bugs.webkit.org/show_bug.cgi?id=251186 rdar://104673478 Unreviewed build fix * Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig: Canonical link: https://commits.webkit.org/259396@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 12c97f: Shrink the size of ReportingObserver
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 12c97f7650721444b359ac0d0ab2e4d9b1599fda https://github.com/WebKit/WebKit/commit/12c97f7650721444b359ac0d0ab2e4d9b1599fda Author: Ryan Reno Date: 2025-01-20 (Mon, 20 Jan 2025) Changed paths: M Source/WebCore/Modules/reporting/ReportingObserver.cpp M Source/WebCore/Modules/reporting/ReportingObserver.h R Source/WebCore/Modules/reporting/ReportingObserverOptions.idl Log Message: --- Shrink the size of ReportingObserver https://bugs.webkit.org/show_bug.cgi?id=286232 rdar://143206158 Reviewed by Anne van Kesteren. In the spec ReportingObserverOptions contains a boolean and a sequence. We had it implemented as an optional sequence which took up extra space for std::optional bookkeeping. Before this patch ReportingObserver was 104 bytes but with a 16 byte aligned allocator we end up using 112 bytes. This shrinks the type down to 96 bytes by storing a nullopt `types` array as an empty array in the ReportingObserver C++ object. * Source/WebCore/Modules/reporting/ReportingObserver.cpp: (WebCore::ReportingObserver::ReportingObserver): (WebCore::ReportingObserver::observe): (WebCore::ReportingObserver::appendQueuedReportIfCorrectType): * Source/WebCore/Modules/reporting/ReportingObserver.h: * Source/WebCore/Modules/reporting/ReportingObserverOptions.idl: Removed. Canonical link: https://commits.webkit.org/289153@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 05a7df: Rename PageMac to PageCocoa
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 05a7df671d96d898e6ac2d23c5ad7d38f0445428 https://github.com/WebKit/WebKit/commit/05a7df671d96d898e6ac2d23c5ad7d38f0445428 Author: Ryan Reno Date: 2025-01-02 (Thu, 02 Jan 2025) Changed paths: M Source/WebCore/SaferCPPExpectations/UncountedLocalVarsCheckerExpectations M Source/WebCore/SourcesCocoa.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj A Source/WebCore/page/cocoa/PageCocoa.mm M Source/WebCore/page/cocoa/WebTextIndicatorLayer.h M Source/WebCore/page/ios/EventHandlerIOS.mm M Source/WebCore/page/mac/ImageOverlayControllerMac.mm R Source/WebCore/page/mac/PageMac.mm Log Message: --- Rename PageMac to PageCocoa https://bugs.webkit.org/show_bug.cgi?id=284912 rdar://141714841 Reviewed by Aditya Keerthi. PageMac is used by more than just the Mac platform. Rename to PageCocoa to reflect this fact. * Source/WebCore/SaferCPPExpectations/UncountedLocalVarsCheckerExpectations: * Source/WebCore/SourcesCocoa.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/page/cocoa/PageCocoa.mm: Renamed from Source/WebCore/page/mac/PageMac.mm. * Source/WebCore/page/cocoa/WebTextIndicatorLayer.h: * Source/WebCore/page/ios/EventHandlerIOS.mm: * Source/WebCore/page/mac/ImageOverlayControllerMac.mm: Canonical link: https://commits.webkit.org/288386@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 6f76dc: Revert "RenderObject::isOutOfFlowPositioned can be...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6f76dc8b0dea9bbf3f11b4e64c6481bca19cf071 https://github.com/WebKit/WebKit/commit/6f76dc8b0dea9bbf3f11b4e64c6481bca19cf071 Author: Ryan Reno Date: 2025-02-26 (Wed, 26 Feb 2025) Changed paths: M LayoutTests/TestExpectations M Source/WebCore/rendering/RenderBox.cpp M Source/WebCore/rendering/RenderBox.h M Source/WebCore/rendering/RenderElement.cpp M Source/WebCore/rendering/RenderElement.h M Source/WebCore/rendering/RenderFragmentedFlow.cpp M Source/WebCore/rendering/RenderFragmentedFlow.h M Source/WebCore/rendering/RenderLayerModelObject.cpp M Source/WebCore/rendering/RenderObject.cpp M Source/WebCore/rendering/style/RenderStyleConstants.cpp M Source/WebCore/rendering/style/RenderStyleConstants.h M Source/WebCore/rendering/updating/RenderTreeUpdater.cpp Log Message: --- Revert "RenderObject::isOutOfFlowPositioned can be read before it gets set." Reviewed by Matt Woodrow. This reverts commit 055d5a97c962454efc1124c46f7cac5b35812164. It was the cause of a power regression on iPad. Canonical link: https://commits.webkit.org/291192@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes