Bug 70086 - When incremental loading is suppressed for composited content, black flashes can occur before the first paint
Summary: When incremental loading is suppressed for composited content, black flashes ...
Status: RESOLVED INVALID
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Andy Estes
URL:
Keywords: InRadar
Depends on: 72106 73641
Blocks:
  Show dependency treegraph
 
Reported: 2011-10-13 20:36 PDT by Andy Estes
Modified: 2012-02-10 15:57 PST (History)
3 users (show)

See Also:


Attachments
Patch (4.07 KB, patch)
2011-10-14 14:41 PDT, Andy Estes
simon.fraser: review-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andy Estes 2011-10-13 20:36:52 PDT
When incremental loading is suppressed for composited content, black flashes can occur before the first paint
Comment 1 Andy Estes 2011-10-13 20:37:42 PDT
<rdar://problem/10242404>
Comment 2 Andy Estes 2011-10-14 14:41:53 PDT
Created attachment 111081 [details]
Patch
Comment 3 Simon Fraser (smfr) 2011-10-14 14:52:15 PDT
Comment on attachment 111081 [details]
Patch

Andy and I are still discussing this.
Comment 4 Andy Estes 2011-11-11 02:12:07 PST
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.
Comment 5 Sam Weinig 2012-02-10 15:57:58 PST
Andy fixed this another way.