[webkit-changes] [WebKit/WebKit] 2e5a9d: [Site Isolation] If testRunner.notifyDone is calle...

2024-02-07 Thread Ryan Reno
  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

2024-03-27 Thread Ryan Reno
  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...

2024-07-01 Thread Ryan Reno
  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

2024-07-02 Thread Ryan Reno
  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

2024-07-03 Thread Ryan Reno
  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

2024-07-03 Thread Ryan Reno
  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...

2024-07-08 Thread Ryan Reno
  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...

2024-07-08 Thread Ryan Reno
  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...

2024-07-08 Thread Ryan Reno
  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...

2024-07-09 Thread Ryan Reno
  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...

2024-07-09 Thread Ryan Reno
  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...

2024-07-11 Thread Ryan Reno
  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

2024-07-15 Thread Ryan Reno
  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-...

2024-07-29 Thread Ryan Reno
  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...

2024-07-29 Thread Ryan Reno
  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 ...

2024-07-31 Thread Ryan Reno
  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 ...

2024-08-02 Thread Ryan Reno
  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 ...

2024-08-22 Thread Ryan Reno
  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 ...

2024-08-22 Thread Ryan Reno
  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...

2024-08-23 Thread Ryan Reno
  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...

2024-09-11 Thread Ryan Reno
  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

2024-06-25 Thread Ryan Reno
  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...

2024-09-12 Thread Ryan Reno
  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...

2024-09-13 Thread Ryan Reno
  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...

2024-09-13 Thread Ryan Reno
  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 ...

2023-08-22 Thread Ryan Reno
  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

2023-08-22 Thread Ryan Reno
  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...

2023-08-23 Thread Ryan Reno
  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

2023-08-23 Thread Ryan Reno
  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...

2023-08-24 Thread Ryan Reno
  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

2023-09-08 Thread Ryan Reno
  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...

2023-09-09 Thread Ryan Reno
  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...

2023-09-10 Thread Ryan Reno
  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...

2023-09-20 Thread Ryan Reno
  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

2023-09-27 Thread Ryan Reno
  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.

2023-10-25 Thread Ryan Reno
  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...

2022-09-20 Thread Ryan Reno
  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

2022-09-22 Thread Ryan Reno
  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 ...

2022-10-10 Thread Ryan Reno
  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

2022-10-12 Thread Ryan Reno
  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

2022-10-17 Thread Ryan Reno
  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...

2022-10-18 Thread Ryan Reno
  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...

2022-10-19 Thread Ryan Reno
  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

2022-10-19 Thread Ryan Reno
  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...

2022-10-24 Thread Ryan Reno
  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

2022-10-26 Thread Ryan Reno
  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 ...

2022-11-02 Thread Ryan Reno
  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...

2022-11-02 Thread Ryan Reno
  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...

2022-11-03 Thread Ryan Reno
  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...

2022-11-04 Thread Ryan Reno
  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...

2022-11-04 Thread Ryan Reno
  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...

2022-11-07 Thread Ryan Reno
  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...

2022-11-09 Thread Ryan Reno
  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 ...

2023-05-03 Thread Ryan Reno
  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

2023-05-05 Thread Ryan Reno
  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...

2023-05-07 Thread Ryan Reno
  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 ...

2023-05-09 Thread Ryan Reno
  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...

2023-05-16 Thread Ryan Reno
  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...

2023-05-20 Thread Ryan Reno
  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...

2023-05-21 Thread Ryan Reno
  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

2023-05-22 Thread Ryan Reno
  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...

2023-05-24 Thread Ryan Reno
  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

2023-05-24 Thread Ryan Reno
  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...

2023-07-31 Thread Ryan Reno
  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...

2023-08-01 Thread Ryan Reno
  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...

2023-08-03 Thread Ryan Reno
  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...

2023-08-07 Thread Ryan Reno
  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...

2023-08-08 Thread Ryan Reno
  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...

2023-08-09 Thread Ryan Reno
  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...

2023-08-09 Thread Ryan Reno
  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...

2023-08-09 Thread Ryan Reno
  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

2023-02-07 Thread Ryan Reno
  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()

2023-02-07 Thread Ryan Reno
  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 ...

2023-02-22 Thread Ryan Reno
  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...

2023-02-23 Thread Ryan Reno
  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...

2023-02-24 Thread Ryan Reno
  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

2023-02-24 Thread Ryan Reno
  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

2023-02-24 Thread Ryan Reno
  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

2023-02-28 Thread Ryan Reno
  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

2023-03-01 Thread Ryan Reno
  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

2023-03-15 Thread Ryan Reno
  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...

2023-03-28 Thread Ryan Reno
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

2023-03-30 Thread Ryan Reno
  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

2023-03-30 Thread Ryan Reno
  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

2022-11-16 Thread Ryan Reno
  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...

2022-11-16 Thread Ryan Reno
  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...

2022-11-18 Thread Ryan Reno
  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...

2022-11-18 Thread Ryan Reno
  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...

2022-11-18 Thread Ryan Reno
  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-...

2022-11-29 Thread Ryan Reno
  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

2022-11-30 Thread Ryan Reno
  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

2022-12-16 Thread Ryan Reno
  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...

2022-12-19 Thread Ryan Reno
  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

2022-12-19 Thread Ryan Reno
  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...

2022-12-20 Thread Ryan Reno
  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 ...

2023-01-15 Thread Ryan Reno
  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

2023-01-25 Thread Ryan Reno
  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

2025-01-20 Thread Ryan Reno
  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

2025-01-02 Thread Ryan Reno
  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...

2025-02-26 Thread Ryan Reno
  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


  1   2   >