The web inspector no longer paints itself reliably. See attached screenshots demonstrating different rendering errors. Often the entire inspector disappears, but I haven't managed to get a screenshot showing this yet. It seems to be fine in 2.40.3, so I bet it's possible to bisect it. I will find out.
Created attachment 467096 [details] Screenshot one
Created attachment 467097 [details] Screenshot two
Created attachment 467098 [details] Screenshot three Right after I gave up on trying to get a screenshot of the entire inspector disappearing, it happened. Here.
Created attachment 467099 [details] Screenshot four When the web inspector disappears, moving the mouse over the inspector causes regions close to the mouse pointer to draw.
(In reply to Michael Catanzaro from comment #0) > It seems to be fine in 2.40.3, so I bet it's possible to bisect it. I will > find out. Unfortunately I couldn't find a consistent reproducer. Cannot bisect it unless we can find a way to trigger the bug reliably. :/
1. open epiphany side by side with another window 2. open web inspector 3. move another window to cover epiphany 4. switch to epiphany with alt+esc 5. move mouse pointer into the web inspector
Thank you! Getting to step 3 is normally (but not always) sufficient for me to reproduce. Still, the bug happens often enough with these steps that I should be able to bisect it.
I tried bisecting this but failed; I must have marked a bad commit as good by mistake. Will try again soon.
I tried again. I'm not quite done yet, but I'm pretty sure I'm going to end on 263118@main "[CoordinatedGraphics] Simplify drawing area resize implementation"
(In reply to Michael Catanzaro from comment #9) > I tried again. I'm not quite done yet, but I'm pretty sure I'm going to end > on 263118@main "[CoordinatedGraphics] Simplify drawing area resize > implementation" Confirmed. This is the first bad commit.
The problem is that we are discarding the backing store in the UI process when the web view is no longer in the active window, and not requesting a repaint when the web view is redraw. So, we switch to a different window, 2 seconds later the backing store is discarded, and web view is redraw because another window is moving on top, but we don't have an image to render in the UI process anymore. This indeed regressed in 263118@main, we were notifying the web process about the backing store change when discarded and requesting a repaint on a redraw. We should do the same now, but it can be simpler now. This happens with the inspector because the inspector view doesn't follow the hardware accelerated setting, and this is a non-accelerated compositing bug. I think we should make sure the inspector is accelerated too when policy is always. I'll submit a different bug for that.
Pull request: https://github.com/WebKit/WebKit/pull/16275
Committed 266511@main (184eb796664e): <https://commits.webkit.org/266511@main> Reviewed commits have been landed. Closing PR #16275 and removing active labels.
<rdar://problem/113267570>