[webkit-changes] [WebKit/WebKit] 688c51: Prevent WebCodecs encoder and decoder from being G...

youennf noreply at github.com
Wed Nov 16 09:30:16 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 688c513969e45393eab4da4d912b2e9eda4fdd94
      https://github.com/WebKit/WebKit/commit/688c513969e45393eab4da4d912b2e9eda4fdd94
  Author: Youenn Fablet <youennf at gmail.com>
  Date:   2022-11-16 (Wed, 16 Nov 2022)

  Changed paths:
    A LayoutTests/http/wpt/webcodecs/webcodecs-gc-expected.txt
    A LayoutTests/http/wpt/webcodecs/webcodecs-gc.html
    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

  Log Message:
  -----------
  Prevent WebCodecs encoder and decoder from being GCed in case they are flushing
https://bugs.webkit.org/show_bug.cgi?id=247941
rdar://problem/102360806

Reviewed by Eric Carlson.

Add a m_isFlushing boolean to encoder and decoder.
Forbidd GC when m_isFlushing is true.
Set m_isFlushing to true when flush is called and corresponding promise is not resolved.

* LayoutTests/http/wpt/webcodecs/webcodecs-gc-expected.txt: Added.
* LayoutTests/http/wpt/webcodecs/webcodecs-gc.html: Added.
* Source/WebCore/Modules/webcodecs/WebCodecsVideoDecoder.cpp:
(WebCore::WebCodecsVideoDecoder::~WebCodecsVideoDecoder):
(WebCore::WebCodecsVideoDecoder::configure):
(WebCore::WebCodecsVideoDecoder::decode):
(WebCore::WebCodecsVideoDecoder::flush):
(WebCore::WebCodecsVideoDecoder::virtualHasPendingActivity const):
* Source/WebCore/Modules/webcodecs/WebCodecsVideoDecoder.h:
* Source/WebCore/Modules/webcodecs/WebCodecsVideoEncoder.cpp:
(WebCore::WebCodecsVideoEncoder::flush):
(WebCore::WebCodecsVideoEncoder::virtualHasPendingActivity const):
* Source/WebCore/Modules/webcodecs/WebCodecsVideoEncoder.h:

Canonical link: https://commits.webkit.org/256739@main




More information about the webkit-changes mailing list