Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8c66f1def4e54f5a404425465ad45c6471e99297
      
https://github.com/WebKit/WebKit/commit/8c66f1def4e54f5a404425465ad45c6471e99297
  Author: Ryan Reno <[email protected]>
  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
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to