This has been revealed in connection with bug 90394 and it makes repaint tests failing.
Created attachment 156283 [details] proposed fix This was suggested by Joselyn :) Actually I'm not 100% sure it's correct. It fixes the tests and don't introduce new fails. But is it ok to send tile updates when waiting for the ui process? I guess it works because when running WTR, the UI expects this behavior. As long as the only user of force repaint is wtr this makes no danger but still I wonder whether should we involve the UI side in fixing this.
Comment on attachment 156283 [details] proposed fix View in context: https://bugs.webkit.org/attachment.cgi?id=156283&action=review Yep that's what I had in mind. I think it's ok to override m_waitingForUIProcess here since forceRepaint does the same for the rest of the layer sync operations by calling flushPendingLayerChanges directly instead of performScheduledLayerFlush. > Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:179 > + WTF::TemporaryChange<bool> inForceRepaint(m_inForceRepaint, true); Wow, didn't know we had such a class.
Comment on attachment 156283 [details] proposed fix Landed in http://trac.webkit.org/changeset/124603
(In reply to comment #3) > (From update of attachment 156283 [details]) > Landed in http://trac.webkit.org/changeset/124603 It made 18 tests crash, here is the brand new bug report for you: https://bugs.webkit.org/show_bug.cgi?id=93121
Reopening because of the crashes.
Reverted r124603 for reason: Made a few tests crash under LayerTreeCoordinator::flushPendingLayerChanges Committed r124620: <http://trac.webkit.org/changeset/124620>