[webkit-changes] [WebKit/WebKit] 335771: REGRESSION(266959 at main): [ Debug ] ASSERTION FAILE...

Sihui noreply at github.com
Wed Aug 16 23:27:45 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 335771b16fe5502cee59806639614d5a0b19c40c
      https://github.com/WebKit/WebKit/commit/335771b16fe5502cee59806639614d5a0b19c40c
  Author: Sihui Liu <sihui_liu at apple.com>
  Date:   2023-08-16 (Wed, 16 Aug 2023)

  Changed paths:
    M Source/WebCore/Modules/speech/SpeechSynthesis.cpp
    M Source/WebCore/Modules/speech/SpeechSynthesisUtterance.cpp

  Log Message:
  -----------
  REGRESSION(266959 at main): [ Debug ] ASSERTION FAILED: m_suspendIfNeededWasCalled
https://bugs.webkit.org/show_bug.cgi?id=260314
rdar://113993253

Reviewed by Ryosuke Niwa.

The assertion failure happens when running layout test under LayoutTests/fast/speechsynthesis. The patch fixes it by
invoking suspendIfNeeded() upon creation of SpeechSynthesisUtterance.

This patch also contains two drive-by fixes:
1. When m_completionHandler of SpeechSynthesisUtterance is set, event is passed to the handler instead of being
dispatched, so wrapper of SpeechSynthesisUtterance does not need be kept alive for event dispatch.
2. SpeechSynthesisUtterance should be marked as active for event dispatch when it is handed over to SpeechSynthesis.

* Source/WebCore/Modules/speech/SpeechSynthesis.cpp:
(WebCore::SpeechSynthesis::speak):
* Source/WebCore/Modules/speech/SpeechSynthesisUtterance.cpp:
(WebCore::SpeechSynthesisUtterance::create):
(WebCore::SpeechSynthesisUtterance::setIsActiveForEventDispatch):

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




More information about the webkit-changes mailing list