Bug 127347

Summary: Delay initial layer flush during loading on all platforms
Product: WebKit Reporter: Antti Koivisto <koivisto>
Component: Layout and RenderingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, esprehn+autocc, glenn, kondapallykalyan, simon.fraser, thorton
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
patch kling: review+

Description Antti Koivisto 2014-01-21 07:57:21 PST
To reduce unnecessary repaints enable the same behaviour as iOS already has.
Comment 1 Antti Koivisto 2014-01-21 08:02:04 PST
Created attachment 221743 [details]
patch
Comment 2 Andreas Kling 2014-01-21 08:18:09 PST
Comment on attachment 221743 [details]
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=221743&action=review

Well that looked easy.
r=me

> Source/WebCore/rendering/RenderLayerCompositor.cpp:253
> -    , m_layerFlushThrottlingEnabled(false)
> +    , m_layerFlushThrottlingEnabled(page() && page()->progress().isMainLoadProgressing())

I wonder why page() returns a pointer, and not a reference.
Comment 3 Antti Koivisto 2014-01-21 08:40:08 PST
https://trac.webkit.org/r162443
Comment 4 Simon Fraser (smfr) 2014-01-21 10:53:04 PST
Does this mean we see a longer delay on back/forward before seeing the new page? Or is page cache navigation not affected?
Comment 5 Antti Koivisto 2014-01-21 14:04:24 PST
(In reply to comment #4)
> Does this mean we see a longer delay on back/forward before seeing the new page? Or is page cache navigation not affected?

Page cache navigation shouldn't be affected. Completed load always turn off throttling.