[webkit-changes] [WebKit/WebKit] e42fb9: Versioning.
Ryosuke Niwa
noreply at github.com
Thu Oct 26 14:41:28 PDT 2023
Branch: refs/heads/safari-7614.4.4.0-branch
Home: https://github.com/WebKit/WebKit
Commit: e42fb9ec8a6627b8e905b6d9c5b2ca92f87de16f
https://github.com/WebKit/WebKit/commit/e42fb9ec8a6627b8e905b6d9c5b2ca92f87de16f
Author: Alan Coon <alancoon at apple.com>
Date: 2022-12-20 (Tue, 20 Dec 2022)
Changed paths:
M Source/JavaScriptCore/Configurations/Version.xcconfig
M Source/ThirdParty/ANGLE/Configurations/Version.xcconfig
M Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig
M Source/WebCore/Configurations/Version.xcconfig
M Source/WebCore/PAL/Configurations/Version.xcconfig
M Source/WebGPU/Configurations/Version.xcconfig
M Source/WebInspectorUI/Configurations/Version.xcconfig
M Source/WebKit/Configurations/Version.xcconfig
M Source/WebKitLegacy/mac/Configurations/Version.xcconfig
Log Message:
-----------
Versioning.
WebKit-7614.4.4.0.1
Canonical link: https://commits.webkit.org/252432.953@safari-7614.4.4.0-branch
Commit: cb5c54728e248d855ed31af1e4c68bb5a6bd6249
https://github.com/WebKit/WebKit/commit/cb5c54728e248d855ed31af1e4c68bb5a6bd6249
Author: Kimmo Kinnunen <kkinnunen at apple.com>
Date: 2022-12-20 (Tue, 20 Dec 2022)
Changed paths:
M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp
M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h
M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp
M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h
M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.messages.in
M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLCocoa.cpp
M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h
M Tools/Scripts/generate-gpup-webgl
Log Message:
-----------
Cherry-pick 5192197861cf. rdar://problem/100252324
REGRESSION (iOS 16): WebGL 2 crashing on glReadPixels
https://bugs.webkit.org/show_bug.cgi?id=245476
rdar://problem/100252324
Reviewed by Alex Christensen.
ReadPixels is currently a method that sends the client
passed data buffer to GPUP, reads the pixels into that
and passes the data back to WP.
Conceptually message of form ReadPixels(uint8_t* data) -> (uint8_t* data)
Before:
IPC encoding of memory arrays for calls like ReadPixels
would work as follows:
- If the array fits to the stream connection command buffer,
copy the array there
- Alternatively downgrade the message to out-of-stream message.
- Copy the array to the IPC::Encoder message body buffer.
- Pass the message body as Mach message memory mapping.
IPC decoding of memory arrays for calls like ReadPixels
would work as follows:
- Allocate temp Vector for the data
- Copy the data from stream command buffer / Mach message memory
mapping into the temp buffer
- Call ReadPixels
- Copy the temp Vector to IPC::Encoder message body buffer
similar to the encoding phase, and send it back to WP.
This would have two problems:
- Extensive copying is slow for very big buffers
- The temp Vector and Mach message buffers via IPC encoding
contribute to GPUP footprint.
- The call IPC encoding buffer is not explicitly attributed to
the caller. It's unclear to which process this belongs, likely
this contributes to GPUP footprint.
- The temp Vector is not attributed to the caller, contributing
to GPUP footprint.
- The reply IPC encoding buffer is not attributed to the caller,
contributing to the GPUP footprint.
- The ownership of the reply IPC encoding buffer, when passed as
Mach message memory, is unclear. Likly this contributes to
GPUP footprint. (Same as the encoding part).
After:
If the read pixels buffer is large, copy it to a newly allocated
shared memory buffer and use that to read the pixels.
Add a new IPC message variant for passing the shared memory area.
* Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::readnPixels2):
* Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h:
* Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.messages.in:
* Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
(WebKit::RemoteGraphicsContextGLProxy::readnPixels):
(WebKit::RemoteGraphicsContextGLProxy::readnPixelsSharedMemory):
* Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
* Tools/Scripts/generate-gpup-webgl:
Canonical link: https://commits.webkit.org/258127@main
Canonical link: https://commits.webkit.org/252432.954@safari-7614.4.4.0-branch
Commit: 206fedd3cfbcdd349ed8c3407e8dc74fbf8a8027
https://github.com/WebKit/WebKit/commit/206fedd3cfbcdd349ed8c3407e8dc74fbf8a8027
Author: Alan Coon <alancoon at apple.com>
Date: 2022-12-20 (Tue, 20 Dec 2022)
Changed paths:
M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp
M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp
Log Message:
-----------
Apply build fix. rdar://problem/100252324
FAILURE /System/Volumes/Data/otmp/od.luxon/lw.luxon/sandbox-0/WebCore/Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp:473:68: error: no member named 'size' in 'GCGLSpan<GCGLvoid>'
Canonical link: https://commits.webkit.org/252432.955@safari-7614.4.4.0-branch
Commit: 14e1d07d5d896ce890567cf38c4c0bd63edad9a5
https://github.com/WebKit/WebKit/commit/14e1d07d5d896ce890567cf38c4c0bd63edad9a5
Author: Alan Coon <alancoon at apple.com>
Date: 2022-12-21 (Wed, 21 Dec 2022)
Changed paths:
M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp
M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp
Log Message:
-----------
Revert 206fedd3cfb. rdar://problem/100252324
This reverts commit 206fedd3cfbcdd349ed8c3407e8dc74fbf8a8027.
Canonical link: https://commits.webkit.org/252432.956@safari-7614.4.4.0-branch
Commit: a084118a465cdb7a991828cfea017a38ed64816a
https://github.com/WebKit/WebKit/commit/a084118a465cdb7a991828cfea017a38ed64816a
Author: Alan Coon <alancoon at apple.com>
Date: 2022-12-21 (Wed, 21 Dec 2022)
Changed paths:
M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp
M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h
M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp
M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h
M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.messages.in
M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLCocoa.cpp
M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h
M Tools/Scripts/generate-gpup-webgl
Log Message:
-----------
Revert 5192197861cf. rdar://problem/100252324
This reverts commit cb5c54728e248d855ed31af1e4c68bb5a6bd6249.
Canonical link: https://commits.webkit.org/252432.957@safari-7614.4.4.0-branch
Commit: a2b8a5ff3ddc3117c8b520d2a3b2370ba2230b57
https://github.com/WebKit/WebKit/commit/a2b8a5ff3ddc3117c8b520d2a3b2370ba2230b57
Author: Alan Coon <alancoon at apple.com>
Date: 2022-12-21 (Wed, 21 Dec 2022)
Changed paths:
M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp
M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h
M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp
M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h
M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.messages.in
M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLCocoa.cpp
M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h
M Tools/Scripts/generate-gpup-webgl
Log Message:
-----------
Cherry-pick 5192197861cf. rdar://problem/100252324
This reverts commit a084118a465cdb7a991828cfea017a38ed64816a.
Canonical link: https://commits.webkit.org/252432.958@safari-7614.4.4.0-branch
Commit: 714f527f4063087db73ea7bc3aaf3377dbf4fe0a
https://github.com/WebKit/WebKit/commit/714f527f4063087db73ea7bc3aaf3377dbf4fe0a
Author: Alan Coon <alancoon at apple.com>
Date: 2022-12-21 (Wed, 21 Dec 2022)
Changed paths:
M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp
Log Message:
-----------
Apply patch. rdar://problem/100252324
Fix build on branch after 5192197861cf.
Canonical link: https://commits.webkit.org/252432.959@safari-7614.4.4.0-branch
Commit: 93b0d387547a9b96c576b03dddc33b06628b1784
https://github.com/WebKit/WebKit/commit/93b0d387547a9b96c576b03dddc33b06628b1784
Author: Alan Coon <alancoon at apple.com>
Date: 2022-12-21 (Wed, 21 Dec 2022)
Changed paths:
M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp
M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp
Log Message:
-----------
Apply build fix. rdar://problem/100252324
Additional fix after 5192197861cf.
Canonical link: https://commits.webkit.org/252432.960@safari-7614.4.4.0-branch
Commit: 50e64498ceb76c9e9ca0e07b1f7a3ab14d762298
https://github.com/WebKit/WebKit/commit/50e64498ceb76c9e9ca0e07b1f7a3ab14d762298
Author: Alan Coon <alancoon at apple.com>
Date: 2023-01-03 (Tue, 03 Jan 2023)
Changed paths:
M Source/JavaScriptCore/Configurations/Version.xcconfig
M Source/ThirdParty/ANGLE/Configurations/Version.xcconfig
M Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig
M Source/WebCore/Configurations/Version.xcconfig
M Source/WebCore/PAL/Configurations/Version.xcconfig
M Source/WebGPU/Configurations/Version.xcconfig
M Source/WebInspectorUI/Configurations/Version.xcconfig
M Source/WebKit/Configurations/Version.xcconfig
M Source/WebKitLegacy/mac/Configurations/Version.xcconfig
Log Message:
-----------
Versioning.
WebKit-7614.4.4.0.2
Canonical link: https://commits.webkit.org/252432.961@safari-7614.4.4.0-branch
Commit: 2ef5aae78a5f54fc0f695c953116259aeceb85d7
https://github.com/WebKit/WebKit/commit/2ef5aae78a5f54fc0f695c953116259aeceb85d7
Author: Wenson Hsieh <wenson_hsieh at apple.com>
Date: 2023-01-03 (Tue, 03 Jan 2023)
Changed paths:
A LayoutTests/http/tests/contentfiltering/load-event-in-allowed-subframe-expected.txt
A LayoutTests/http/tests/contentfiltering/load-event-in-allowed-subframe.html
A LayoutTests/http/tests/contentfiltering/resources/lots-of-text.html
M Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp
Log Message:
-----------
Cherry-pick 5d11f0377c18. rdar://problem/103247851
REGRESSION (248723 at main): Videos on bbc.co.uk fail to load when content filtering is enabled
https://bugs.webkit.org/show_bug.cgi?id=249811
rdar://103247851
Reviewed by Brent Fulgham and Alex Christensen.
On articles on bbc.co.uk, video elements are embedded inside subframes, and are only interactive
once the containing subframe has finished loading (i.e. dispatched the "load" event). In the case
where:
1. Content filtering is enabled, and also happens in the network process via the
`CONTENT_FILTERING_IN_NETWORKING_PROCESS` codepath new in iOS 16/macOS Ventura.
2. The subframe is loaded from a disk cache entry (as opposed to over the network, or in memory
cache).
...we end up never dispatching the load event on the subframe, due to the fact that the
corresponding `WebCore::SubresourceLoader` driving the subframe load never gets notified that
loading finished. This is because, in following code within the network process (in the codepath
marked below), we exit early after delivering the cached data to the content filter, before either
sending `WebResourceLoader::DidReceiveResource` or `WebResourceLoader::DidFinishResourceLoad` (the
latter of which we use in the case where we don't already have a shareable resource handle). To fix
this, we simply pull the logic to dispatch `WebResourceLoader::DidFinishResourceLoad` out into a
separate callback, and invoke it from both places.
```
#if ENABLE(SHAREABLE_RESOURCE)
if (!entry->shareableResourceHandle().isNull()) {
#if ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
if (m_contentFilter && !m_contentFilter->continueAfterDataReceived(entry->buffer()->makeContiguous(), entry->buffer()->size())) {
m_contentFilter->continueAfterNotifyFinished(m_parameters.request.url());
m_contentFilter->stopFilteringMainResource(); // <-------
return;
}
#endif
send(Messages::WebResourceLoader::DidReceiveResource(entry->shareableResourceHandle()));
return;
}
#endif
```
Note that we prefer dispatching `DidFinishResourceLoad` over `DidReceiveResource` below (which we
would normally use in this shareable resource handle codepath), since the resource loader in the web
process would already have received the data when content filtering is enabled, so sending the
entire cached resource handle again is redundant.
Test: http/tests/contentfiltering/load-event-in-allowed-subframe.html
* LayoutTests/http/tests/contentfiltering/load-event-in-allowed-subframe-expected.txt: Added.
* LayoutTests/http/tests/contentfiltering/load-event-in-allowed-subframe.html: Added.
* LayoutTests/http/tests/contentfiltering/resources/lots-of-text.html: Added.
Add a new test resource that consists of an HTML page that contains a large amount of text. This
ensures that we'll attempt to store it in disk cache, which is a necessary part of reproducing this
bug.
* Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::sendResultForCacheEntry):
Dispatch `WebResourceLoader::DidFinishResourceLoad` in both content filtering codepaths when
`CONTENT_FILTERING_IN_NETWORKING_PROCESS` is enabled.
Canonical link: https://commits.webkit.org/258394@main
Canonical link: https://commits.webkit.org/252432.962@safari-7614.4.4.0-branch
Commit: 60146d1b9b54b6940ec9bca53c2e5f19aa5d3924
https://github.com/WebKit/WebKit/commit/60146d1b9b54b6940ec9bca53c2e5f19aa5d3924
Author: Alan Coon <alancoon at apple.com>
Date: 2023-01-04 (Wed, 04 Jan 2023)
Changed paths:
M Source/JavaScriptCore/Configurations/Version.xcconfig
M Source/ThirdParty/ANGLE/Configurations/Version.xcconfig
M Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig
M Source/WebCore/Configurations/Version.xcconfig
M Source/WebCore/PAL/Configurations/Version.xcconfig
M Source/WebGPU/Configurations/Version.xcconfig
M Source/WebInspectorUI/Configurations/Version.xcconfig
M Source/WebKit/Configurations/Version.xcconfig
M Source/WebKitLegacy/mac/Configurations/Version.xcconfig
Log Message:
-----------
Versioning.
WebKit-7614.4.4.0.3
Canonical link: https://commits.webkit.org/252432.963@safari-7614.4.4.0-branch
Commit: bde5951526cde6d2a2c4f600a99669d2354c7168
https://github.com/WebKit/WebKit/commit/bde5951526cde6d2a2c4f600a99669d2354c7168
Author: Jer Noble <jer.noble at apple.com>
Date: 2023-01-04 (Wed, 04 Jan 2023)
Changed paths:
A LayoutTests/media/audio-session-category-unmute-mute-expected.txt
A LayoutTests/media/audio-session-category-unmute-mute.html
M LayoutTests/media/video-test.js
M LayoutTests/platform/gtk/TestExpectations
M Source/WebCore/platform/audio/PlatformMediaSession.cpp
M Source/WebCore/platform/audio/PlatformMediaSession.h
M Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm
M Source/WebCore/platform/audio/glib/MediaSessionManagerGLib.cpp
Log Message:
-----------
Cherry-pick 2ed67ffbd825. rdar://problem/103408312
[iOS] Changing the mute state of autoplaying silent videos can interrupt system audio
https://bugs.webkit.org/show_bug.cgi?id=249408
rdar://103408312
Reviewed by Eric Carlson.
WebKit will attempt to leave the default AVAudioSession category in "ambient"
when no audible playback exists. However, when an audible media element pauses,
WebKit will leave the category in "media playback", which allows APIs like Now
Playing to continue working. It does this by tracking, for each media element,
that the element has played sometime since the last time WebKit received an
interruption. The assumption is that elements which have previously played
should not cause the category to drop to "none" when they pause.
However, this logic gets confused when a previously silent media element
(i.e., muted) pauses, then becomes not-silent (i.e., unmuted). The
PlatformMediaSessionManager sees that the element is capable of producing
audio, and has played since the last interruption, so sets the AVAudioSession
category to "media playback". When that element is then played, AVFoundation
will activate the AVAudioSession, which by virtue of being configured for
"media playback", will interrupt other system audio.
To resolve this, rather than tracking whether the element has "played since the
last interruption", track whether the element has "played _audibly_ since the
last interruption." Rename hasPlayedSinceLastInterruption() ->
hasPlayedAudiblySinceLastInterruption() to clarify the new behavior.
* LayoutTests/media/audio-session-category-unmute-mute-expected.txt: Added.
* LayoutTests/media/audio-session-category-unmute-mute.html: Added.
* Source/WebCore/platform/audio/PlatformMediaSession.cpp:
(WebCore::PlatformMediaSession::setState):
* Source/WebCore/platform/audio/PlatformMediaSession.h:
(WebCore::PlatformMediaSession::hasPlayedAudiblySinceLastInterruption const):
(WebCore::PlatformMediaSession::clearHasPlayedAudiblySinceLastInterruption):
(WebCore::PlatformMediaSession::hasPlayedSinceLastInterruption const): Deleted.
(WebCore::PlatformMediaSession::clearHasPlayedSinceLastInterruption): Deleted.
* Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm:
(WebCore::MediaSessionManagerCocoa::updateSessionState):
(WebCore::MediaSessionManagerCocoa::beginInterruption):
Canonical link: https://commits.webkit.org/258000@main
Canonical link: https://commits.webkit.org/252432.964@safari-7614.4.4.0-branch
Commit: d25016dd82de695207d0d596213d2d6cfa69f4c6
https://github.com/WebKit/WebKit/commit/d25016dd82de695207d0d596213d2d6cfa69f4c6
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2023-01-04 (Wed, 04 Jan 2023)
Changed paths:
A LayoutTests/fast/forms/datalist/datalist-id-change-crash-expected.txt
A LayoutTests/fast/forms/datalist/datalist-id-change-crash.html
M Source/WebCore/html/HTMLInputElement.cpp
Log Message:
-----------
Cherry-pick 3be45019e7fd. rdar://problem/103823004
Crash in HTMLInputElement::dataListMayHaveChanged via ListAttributeTargetObserver::idTargetChanged
https://bugs.webkit.org/show_bug.cgi?id=250039
Reviewed by Wenson Hsieh, Geoffrey Garen and Aditya Keerthi.
Merge https://commits.webkit.org/253773@main to avoid hitting this crash.
* LayoutTests/fast/forms/datalist/datalist-id-change-crash-expected.txt: Added.
* LayoutTests/fast/forms/datalist/datalist-id-change-crash.html: Added.
* Source/WebCore/html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::resetListAttributeTargetObserver):
(WebCore::ListAttributeTargetObserver::ListAttributeTargetObserver):
Canonical link: https://commits.webkit.org/252432.1015@safari-7614-branch
Canonical link: https://commits.webkit.org/252432.965@safari-7614.4.4.0-branch
Compare: https://github.com/WebKit/WebKit/compare/e42fb9ec8a66%5E...d25016dd82de
More information about the webkit-changes
mailing list