Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 98bd399284d49c61001e4b3f2d2d93f2c05fbc6b
      
https://github.com/WebKit/WebKit/commit/98bd399284d49c61001e4b3f2d2d93f2c05fbc6b
  Author: Said Abou-Hallawa <[email protected]>
  Date:   2026-07-27 (Mon, 27 Jul 2026)

  Changed paths:
    M Source/WTF/wtf/RunLoop.cpp
    M Source/WTF/wtf/RunLoop.h
    M Source/WebCore/platform/graphics/ImageFrameWorkQueue.cpp

  Log Message:
  -----------
  Async image decoding may be requested on a worker thread
https://bugs.webkit.org/show_bug.cgi?id=317048
rdar://179529478

Reviewed by Geoffrey Garen.

Since the main thread and the worker thread both use the RunLoop, this problem
can be fixed by finishing the decoding request on the creator thread rather than
on the main thread.

callOnRunLoop() will be added and ImageFrameWorkQueue will use it instead of 
using
callOnMainThread(). The creater RunLoop will be captured when the ImageDecoder
WrokQueue starts.

* Source/WTF/wtf/RunLoop.cpp:
(WTF::callOnRunLoop):
* Source/WTF/wtf/RunLoop.h:
* Source/WebCore/platform/graphics/ImageFrameWorkQueue.cpp:
(WebCore::ImageFrameWorkQueue::start):
(WebCore::ImageFrameWorkQueue::dispatch):
(WebCore::ImageFrameWorkQueue::stop):
(WebCore::ImageFrameWorkQueue::isPendingDecodingAtIndex const):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to