Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Element.getOffsets() is broken in iOS 4.3 if using -webkit-transform #2245

Closed
ibolmo opened this Issue · 3 comments

3 participants

Olmo Maldonado Varyen Sergio Crisostomo
Olmo Maldonado
Owner

Element.getOffsets() is not reporting the correct values if an element is within a div that has been translated using the -webkit-transform property in MobileSafari in iOS 4.3.1. This is the case as tested on my iPhone 3GS and iPad 1, both with iOS 4.3.1.

Please see the attached HTML file to see a test case. The red border box should have the getOffsets() values of the red box itself, it reads (20, 20) on webkit browsers on my Mac, as expected, but is instead (20+width_of_browser_window, 20) on iOS. The red box is within a DIV that had been translated to the left using -webkit-transform, the red box is itself translated to the right to compensate.

Seems to me the problem is in line 4313 of mootools_core_1.3.1.js, as for some reason this.getBoundingClientRect is ignored for iOS. Whatever issue that prevented this.getBoundingClientRect from being used in iOS I presume has been fixed in 4.3, as if I remove the ios check, the test case works as intended.

Attached file

Olmo Maldonado
Owner

(from a comment)

Additionally, elements within a div using CSS3 multi columns are also affected.

Varyen

This problem also exists in desktop webkits. When I use -webkit-transform with matrix for rotation, element.getPosition() returns different values in firefox and in chrome & safari.

Olmo Maldonado ibolmo modified the milestone: 1.5.1, 1.5
Sergio Crisostomo SergioCrisostomo modified the milestone: 1.5.2, 1.5.1
Olmo Maldonado ibolmo added the incomplete label
Olmo Maldonado ibolmo added worksforme and removed incomplete labels
Olmo Maldonado ibolmo closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.