The absolutePosition() method knows nothing about transforms, and gives the wrong answer for elements with transforms. This needs to be fixed.
Created attachment 24791 [details] Testcase to exercise most of the absolutePosition code paths
Created attachment 24793 [details] First cut patch
Created attachment 24820 [details] Patch, changelog
I ran the PLT with and without the patch; no measurable performance impact.
Comment on attachment 24820 [details] Patch, changelog Can localToAbsolute have = FloatPoint() as the default argument? (I can't remember if you can construct objects as default arguments or not.)
Created attachment 24883 [details] Patch, changelog
Created attachment 24886 [details] Patch with newlines
Comment on attachment 24886 [details] Patch with newlines Rename addScrolledOffset/subtractScrolledOffset to be addScrolledContentOffset/subtractScrolledContentOffset to match your new method. r=me
Filed bug 22064 to clean up addScrolledContentOffset/subtractScrolledContentOffset/scrolledContentOffset
Committed r38098 M WebKit/mac/ChangeLog M WebKit/mac/WebView/WebRenderNode.mm M WebCore/platform/graphics/FloatPoint.h M WebCore/platform/graphics/IntSize.h M WebCore/svg/SVGSVGElement.cpp M WebCore/html/HTMLInputElement.cpp M WebCore/html/HTMLImageElement.cpp M WebCore/html/HTMLAreaElement.cpp M WebCore/html/HTMLAnchorElement.cpp M WebCore/html/HTMLInputElement.h M WebCore/rendering/RenderPart.cpp M WebCore/rendering/RenderObject.cpp M WebCore/rendering/RenderTableCell.cpp M WebCore/rendering/RenderBox.h M WebCore/rendering/RenderFlow.cpp M WebCore/rendering/RenderObject.h M WebCore/rendering/RenderLayer.cpp M WebCore/rendering/RenderSVGInlineText.cpp M WebCore/rendering/RenderListMarker.cpp M WebCore/rendering/RenderText.cpp M WebCore/rendering/RenderBox.cpp M WebCore/rendering/RenderBlock.cpp M WebCore/rendering/RenderWidget.cpp M WebCore/rendering/RenderView.cpp M WebCore/rendering/LayoutState.cpp M WebCore/rendering/RenderContainer.cpp M WebCore/rendering/RenderListBox.cpp M WebCore/rendering/RenderSVGText.cpp M WebCore/rendering/RenderReplaced.cpp M WebCore/rendering/RenderView.h M WebCore/rendering/RenderLayer.h M WebCore/rendering/RenderVideo.cpp M WebCore/rendering/RenderTableCell.h M WebCore/dom/ContainerNode.cpp M WebCore/dom/Node.cpp M WebCore/dom/MouseRelatedEvent.cpp M WebCore/dom/ContainerNode.h M WebCore/editing/visible_units.cpp M WebCore/editing/SelectionController.cpp M WebCore/ChangeLog M WebCore/WebCore.base.exp M WebCore/page/AccessibilityRenderObject.cpp M WebCore/page/EventHandler.cpp r38098 = c65d3288003ff07697e37bc5b28bf517124d89b0 (trunk)