Bug 109873

Summary: Body element has incorrect size for transform:scale(<1) children
Product: WebKit Reporter: etlovett2
Component: Layout and RenderingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED INVALID    
Severity: Normal CC: simon.fraser
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: OS X 10.7   
Attachments:
Description Flags
Simplified test case
none
Test case, with body height:100% addition none

Description etlovett2 2013-02-14 16:06:44 PST
Open the attached test case page. The browser correctly sizes the body element when the scaled-up div is shown (and when a non-scaled div is shown, though that's not included) but it does not properly size the body element when the scaled-down div is shown. In that case, the body element should be ~1024px in height, but it's 2026px. This results in a bunch of extra whitespace at the bottom of the page.

Bug occurs in:
* WebKit nightly (Version 6.0.2 (7536.26.17, 537+))
* Chrome Canary (Version 27.0.1412.0 canary)
* Firefox Beta (19.0) - I'll be filing a bug against Firefox as well

Only tested on OS X 10.7.5.
Comment 1 etlovett2 2013-02-14 16:07:35 PST
Created attachment 188445 [details]
Simplified test case

Attempting to add attachment, since it didn't work during creation.
Comment 2 etlovett2 2013-02-14 16:14:35 PST
Filed against Firefox as https://bugzilla.mozilla.org/show_bug.cgi?id=841596.
Comment 3 etlovett2 2013-02-14 18:21:48 PST
Closing per the comment at https://bugzilla.mozilla.org/show_bug.cgi?id=841596#c2.

Note that this test case does not exhibit the bug if height:100% is set on the body (see forthcoming attachment as example).
Comment 4 etlovett2 2013-02-14 18:22:07 PST
Created attachment 188461 [details]
 Test case, with body height:100% addition
Comment 5 Simon Fraser (smfr) 2013-02-14 20:10:49 PST
Transforms don't affect layout. The body is being sized before the transform is applied. However, transforms do affect overflow, so with the 2x div, the scrollbars allow you to scroll to the bottom. This is correct behavior.