Bug 137915

Summary: Overflowing scroll problems when CSS perspective is active in HTML tag
Product: WebKit Reporter: Marcos <swat_marc>
Component: CSSAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: djmadeira
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Mac (Intel)   
OS: OS X 10.9   
Attachments:
Description Flags
Bug sample none

Description Marcos 2014-10-21 03:28:50 PDT
Created attachment 240195 [details]
Bug sample

WebKit 7.1 (9537.85.10.17.1, r174761)

     Safari 7.1: FAIL
  Firefox 36a: OK
     Opera 25: FAIL

What steps will reproduce the problem?
1. In the CSS, set html tag has a property -webkit-perspective:1.
2. In the CSS, you create a navigation drawer by making nav element to be position:fixed, top:0, bottom:0, overflow:auto.
3. In the HTML, create enough navigation and content items to make them overflow.

What is the expected result?
It should be possible to scroll up to the latest item in both content and navigation drawer.

What happens instead of that?
It's impossible to reach the latest item in the navigation drawer. Instead, the navigation drawer bottom property is dismissed (?) and its height is set to the total height of the HTML element.
Comment 1 DJ Madeira 2015-04-08 11:10:54 PDT
I can confirm seeing this same bug in Chrome Canary & Safari. It seems to be related to the height of absolute & fixed position elements being calculated differently on perspective vs. not parents; see demo: http://codepen.io/djmadeira/pen/JoqgGE

The perspective child has the height of its parent, even though the parent doesn't have position: relative, but the other div correctly gets it's height from the root.

I should note that I see the same behavior in Firefox; maybe this is intentional, just arcane?