When incremental loading is suppressed for composited content, black flashes can occur before the first paint
Created attachment 111081 [details]
Comment on attachment 111081 [details]
Andy and I are still discussing this.
After talking to Simon I agree the better approach here is to freeze the layer tree during loading, similar to what we do in WebKit2 to prevent flashes when navigating away from a composited page. I'm going to do this in three steps:
- Consolidate the two Mac code paths that install run loop observers for layer tree syncing into a single class that has the ability to install and uninstall the observer.
- Add the layer tree freezing logic for Mac WebKit1 and WebKit2 using this new class.
- Add a separate implementation for Apple's Windows port, which uses a different mechanism for layer tree syncing.
Andy fixed this another way.