[webkit-changes] [WebKit/WebKit] 9f4b18: Safari tab freeze and gpu process crash when calli...
youennf
noreply at github.com
Tue Sep 26 02:40:37 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 9f4b18808c8363f95aea0e40a43ebb5793f0ac94
https://github.com/WebKit/WebKit/commit/9f4b18808c8363f95aea0e40a43ebb5793f0ac94
Author: Youenn Fablet <youennf at gmail.com>
Date: 2023-09-26 (Tue, 26 Sep 2023)
Changed paths:
M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp
M Source/WebKit/GPUProcess/media/RemoteVideoFrameObjectHeap.cpp
M Source/WebKit/GPUProcess/media/RemoteVideoFrameObjectHeap.h
M Source/WebKit/GPUProcess/media/RemoteVideoFrameObjectHeap.mm
M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
M Tools/TestWebKitAPI/Tests/WebKit/GetUserMedia.mm
A Tools/TestWebKitAPI/Tests/WebKitCocoa/camera-to-canvas.html
Log Message:
-----------
Safari tab freeze and gpu process crash when calling canvas function drawimage/getimagedata/setimagedata from high resolution getUserMedia stream with several background tabs
https://bugs.webkit.org/show_bug.cgi?id=256366
rdar://109074255
Reviewed by Jean-Yves Avenard.
In case of low memory warning, we now destroy the RemoteVideoFrameObjectHeap pixel conformer if any since it might have a non empty buffer pool.
We introduce a lock so that we can do that clean-up from any thread.
* Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::lowMemoryHandler):
* Source/WebKit/GPUProcess/media/RemoteVideoFrameObjectHeap.cpp:
(WebKit::RemoteVideoFrameObjectHeap::convertFrameBuffer):
(WebKit::RemoteVideoFrameObjectHeap::lowMemoryHandler):
* Source/WebKit/GPUProcess/media/RemoteVideoFrameObjectHeap.h:
* Source/WebKit/GPUProcess/media/RemoteVideoFrameObjectHeap.mm:
(WebKit::RemoteVideoFrameObjectHeap::createPixelConformer):
(WebKit::RemoteVideoFrameObjectHeap::createPixelConformerIfNeeded): Deleted.
* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/camera-to-canvas.html: Added.
Canonical link: https://commits.webkit.org/268444@main
More information about the webkit-changes
mailing list