Bug 205651

Summary: REGRESSION(r253360): [GTK] Page becomes blank during the back/forward gesture animation if loading triggers PSON
Product: WebKit Reporter: Alice Mikhaylenko <alicem>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: bugs-noreply, cassidy, cedric.bellegarde, mcatanzaro
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=205650

Description Alice Mikhaylenko 2019-12-30 13:23:06 PST
Related to https://bugs.webkit.org/show_bug.cgi?id=205650, but it also happens with AC mode.

Another regression from https://github.com/WebKit/webkit/commit/94d2fcd0c2eb2399b31253290153676de5cf21ee

Is it possible to somehow not immediately blank the drawing area on PSON and show the previous contents until there's something new to draw (which the new process won't do because layer tree state will be frozen)?
Comment 1 Michael Catanzaro 2020-03-05 16:28:58 PST
Well this seems bad.
Comment 2 C├ędric Bellegarde 2020-03-11 23:19:43 PDT
I guess it's related, while loading a new page, WebKitGTK randomly flashes.

Comment 3 Alice Mikhaylenko 2020-04-29 12:28:30 PDT
Not really, this is only about the gesture. During the gesture we show the current page (as it is) sliding away or being there while another sheet slides over it, and that other sheet is a static screenshot.

After the gesture is done, the actual page is completely invisible, and we show the screenshot only and wait until the new page has loaded enough. After it's enough, we remove the screenshot and it's done.

Previously we started loading new page only after the gesture is done, i.e. the drawing area is invisible. Now it starts earlier, hence you can see the new page starting loading while it still shouldn't.

There are some calls to prevent this on Apple side, we just need to implement them for CoordinatedDrawingArea really.
Comment 4 Alice Mikhaylenko 2020-05-05 05:22:27 PDT
Ah no, that comment was about 205650, sorry.

Still not related to flashing though, it's about not blanking the drawing area on PSON until layer tree state is unfrozen.