Bug 59851

Summary: Pages with accelerated compositing do not redraw unless scrolled
Product: WebKit Reporter: Chris Marrin <cmarrin>
Component: Layout and RenderingAssignee: Chris Marrin <cmarrin>
Status: RESOLVED FIXED    
Severity: Normal CC: simon.fraser
Priority: P1 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Windows 7   
Attachments:
Description Flags
Patch
simon.fraser: review-
Patch simon.fraser: review+

Description Chris Marrin 2011-04-29 17:42:51 PDT
* STEPS TO REPRODUCE
1. go to http://demos.legendthemes.com/3d/
2. Press F11 for Full Screen
3. Press F11 to leave Full screen

* RESULTS
Page will not repaint correctly unless scrolled.

<rdar://problem/9242845>
Comment 1 Chris Marrin 2011-04-29 17:52:22 PDT
Created attachment 91777 [details]
Patch
Comment 2 Simon Fraser (smfr) 2011-04-29 17:59:18 PDT
Comment on attachment 91777 [details]
Patch

Why does Windows need this change but not Mac?
Comment 3 Chris Marrin 2011-04-29 19:43:38 PDT
(In reply to comment #2)
> (From update of attachment 91777 [details])
> Why does Windows need this change but not Mac?

I thought about that. I haven't tried debugging this sequence of calls on Mac. But I'm assuming that there is some Mac specific code that does a setNeedsDIsplay() later in time. Or it could be that CA automatically dirties the layer when changing size and CACF doesn't. I don't think doing a setNeedsDisplay here will hurt Mac. But I could always rejigger the code a bit so this is only done on Windows.
Comment 4 Simon Fraser (smfr) 2011-04-29 19:55:33 PDT
Comment on attachment 91777 [details]
Patch

I actually think we need it (see Radar comments).
Comment 5 Simon Fraser (smfr) 2011-05-01 22:57:15 PDT
Comment on attachment 91777 [details]
Patch

Actually, I think you should only repaint if it got larger, and then only the rects that were revealed.
Comment 6 Chris Marrin 2011-05-02 12:27:14 PDT
Created attachment 91956 [details]
Patch
Comment 7 Chris Marrin 2011-05-02 12:56:25 PDT
Landed in http://trac.webkit.org/changeset/85508