Summary: | ChromeClient::needsImmediateRenderingUpdate() only exists to work around a WebKit1 bug | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Simon Fraser (smfr) <simon.fraser> | ||||
Component: | New Bugs | Assignee: | Simon Fraser (smfr) <simon.fraser> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | sabouhallawa, simon.fraser, webkit-bug-importer | ||||
Priority: | P2 | Keywords: | InRadar | ||||
Version: | WebKit Nightly Build | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Attachments: |
|
Description
Simon Fraser (smfr)
2020-10-05 14:36:25 PDT
Created attachment 410563 [details]
Patch
Comment on attachment 410563 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=410563&action=review > Source/WebCore/ChangeLog:9 > + because the RunLoopObserver was always invalidate at the end of the callback. invalidating? or calling invalidate()? > Source/WebKitLegacy/mac/WebView/WebViewData.h:125 > + bool m_insideCallback { false }; > + bool m_rescheduledInsideCallback { false }; I think using two booleans can be a little bit difficult to understand. Can't we use enum for the states of these two members? enum class SchedulingState { None, InsideCallback, AlreadyRescheduled } // Maybe the names need to be changed. > Source/WebKitLegacy/mac/WebView/WebViewData.mm:129 > + SetForScope<bool> insideCallbackScope(m_insideCallback, true); > + m_rescheduledInsideCallback = false; This can be changed to SetForScope<SchedulingState> change(m_schedulingState, SchedulingState::InsideCallback); |