Bug 126267

Summary: Root background doesn't correctly update with composited <html> element
Product: WebKit Reporter: Geoffrey Benson <geoff.benson>
Component: Layout and RenderingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED CONFIGURATION CHANGED    
Severity: Normal CC: ahmad.saleem792, simon.fraser, thorton, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
Example test case which triggers the bug none

Description Geoffrey Benson 2013-12-27 15:21:31 PST
This bug is best seen with a minimal demonstration page, which I have attached.

How to reproduce:
* Apply this style declaration:
html {
  -webkit-backface-visibility: hidden;
}

* After the page has loaded, change the styling on the <body> tag dynamically via JavaScript, for example by setting the background-color to something new.

Expected behavior:
The body style should be applied, and the viewport should redraw to show the applied style.

Actual behavior:
Only portions of the page get updated.  This bug was found when researching why only parts of the screen were rendered with a new background image when a style was applied to <body> (the parts of the screen which didn't get new elements added remained black, per the <body>'s previous style at the time.)

Additional:
If the time between initial render and when the <body> style is changed is small enough (1ms or less), the bug doesn't trigger.

This has been reproduced on the following environments:

MacOS: Safari 7.0.1, Chrome 31.0.1650.63, Opera Next 19.0.1326.21
Windows 7: Chrome 31.0.1650.63 m
Android: 4.3, 4.0, 2.3.5 (though 2.3.5 has additional rendering bugs related to this). 
iOS: 7.0.4

Workaround:
If the -webkit-backface-visibility style is applied to <body> instead of <html>, this bug is not triggered.
Comment 1 Geoffrey Benson 2013-12-27 15:22:10 PST
Created attachment 220066 [details]
Example test case which triggers the bug
Comment 2 Radar WebKit Bug Importer 2014-01-02 14:34:49 PST
<rdar://problem/15740636>
Comment 3 Ahmad Saleem 2023-02-24 09:32:23 PST
I am not able to reproduce this bug in Safari 16.3 & STP164 and we are matching with Chrome Canary 112 and Firefox Nightly 112 as well in the attached testcase.

Marking this as "RESOLVED CONFIGURATION CHANGED". Thanks!

Please reopen if this is reproducible. Thanks!