Safari on iPhone 6+ in landscape mode doesn't render fixed positioned elements correctly

Originator:tuckdesign
Number:rdar://19410956 Date Originated:1/8/2015
Status:Open Resolved:no
Product:Safari Mobile Product Version:iphone6+
Classification:High Reproducible:yes
 
On iPhone 6+ (iOS 8.1), when you open page in landscape orientation and page has element with properties "position: fixed; bottom: 0; right: 0" element is rendered in Safari's address bar instead in html area of page.

Steps to Reproduce:
1. Start iPhone 6+ simulator (iOS8.1)
2. Rotate it to landscape (wait until all icons rotate and it goes really in landscape)
3. Start Safari app
4. Open example URL: http://www.tuckdesign.com/t.php (it has only simple html with 2 divs of which one has "position:fixed"
5. See that "wwww" from fixed div (id="test") is shown under adress bar, instead at bottom of the page
6. This doesn't happen if you start safari in portrait orientation and later rotate to landscape!

Expected Results:
Div with fixed position should be rendered at bottom of page.

Actual Results:
Div with fixed position is rendered under (or "within" address bar). Even window.innerHeight reports 44 (height of address bar)!

Version:
iOS 8.1

Notes:


Configuration:
iPhone 6+ (iOS8.1) simulator. Safari started in landscape orientation

Comments

This happens on the actual device as well.

To reproduce, you may need to go into settings and clear browser data before returning to Safari and opening a web page. window.innerHeight will report 44 instead of 414 until you rotate to portrait and back again.

By jasonkester at July 24, 2015, 3:48 p.m. (reply...)

Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!