[Webkit-unassigned] [Bug 208709] Break out of timer loop on display refresh

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Mar 6 07:58:44 PST 2020


https://bugs.webkit.org/show_bug.cgi?id=208709

--- Comment #2 from Simon Fraser (smfr) <simon.fraser at apple.com> ---
Comment on attachment 392711
  --> https://bugs.webkit.org/attachment.cgi?id=392711
wip

View in context: https://bugs.webkit.org/attachment.cgi?id=392711&action=review

> Source/WebCore/platform/ThreadTimers.cpp:129
> +        if (DisplayRefreshMonitorManager::sharedManager().hasPendingRefresh() && !m_didBreakForPendingDisplayRefreshWithoutFiringTimers) {

It's a bit gross for timers to know about DisplayRefreshMonitorManager, and we need something that works on iOS too.

> Source/WebCore/platform/graphics/DisplayRefreshMonitor.h:86
> +    WEBCORE_EXPORT void setIsPreviousFrameDone(bool);

I presume this is WEBCORE_EXPORT just to satisfy the linker, not because anyone else calls it (because it doesn't lock).

> Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp:250
> +    DisplayRefreshMonitorManager::sharedManager().displayWasUpdated(displayID);

Which thread are we on here?

DisplayRefreshMonitorManager::displayWasUpdated() doesn't look thread safe.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20200306/f1637de1/attachment.htm>


More information about the webkit-unassigned mailing list