RESOLVED FIXED 21941
[Transforms] RenderObject::absolutePosition() needs to be made transform-aware
https://bugs.webkit.org/show_bug.cgi?id=21941
Summary [Transforms] RenderObject::absolutePosition() needs to be made transform-aware
Simon Fraser (smfr)
Reported 2008-10-28 18:08:53 PDT
The absolutePosition() method knows nothing about transforms, and gives the wrong answer for elements with transforms. This needs to be fixed.
Attachments
Testcase to exercise most of the absolutePosition code paths (5.94 KB, text/html)
2008-10-30 21:21 PDT, Simon Fraser (smfr)
no flags
First cut patch (54.83 KB, patch)
2008-10-30 21:41 PDT, Simon Fraser (smfr)
no flags
Patch, changelog (69.22 KB, patch)
2008-10-31 15:22 PDT, Simon Fraser (smfr)
no flags
Patch, changelog (68.23 KB, patch)
2008-11-03 21:37 PST, Simon Fraser (smfr)
no flags
Patch with newlines (68.23 KB, patch)
2008-11-04 09:56 PST, Simon Fraser (smfr)
hyatt: review+
Simon Fraser (smfr)
Comment 1 2008-10-30 21:21:57 PDT
Created attachment 24791 [details] Testcase to exercise most of the absolutePosition code paths
Simon Fraser (smfr)
Comment 2 2008-10-30 21:41:33 PDT
Created attachment 24793 [details] First cut patch
Simon Fraser (smfr)
Comment 3 2008-10-31 15:22:26 PDT
Created attachment 24820 [details] Patch, changelog
Simon Fraser (smfr)
Comment 4 2008-10-31 15:24:23 PDT
I ran the PLT with and without the patch; no measurable performance impact.
Dave Hyatt
Comment 5 2008-10-31 15:26:48 PDT
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.)
Simon Fraser (smfr)
Comment 6 2008-11-03 21:37:09 PST
Created attachment 24883 [details] Patch, changelog
Simon Fraser (smfr)
Comment 7 2008-11-04 09:56:58 PST
Created attachment 24886 [details] Patch with newlines
Dave Hyatt
Comment 8 2008-11-04 10:27:05 PST
Comment on attachment 24886 [details] Patch with newlines Rename addScrolledOffset/subtractScrolledOffset to be addScrolledContentOffset/subtractScrolledContentOffset to match your new method. r=me
Simon Fraser (smfr)
Comment 9 2008-11-04 10:46:34 PST
Filed bug 22064 to clean up addScrolledContentOffset/subtractScrolledContentOffset/scrolledContentOffset
Simon Fraser (smfr)
Comment 10 2008-11-04 10:55:07 PST
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)
Note You need to log in before you can comment on or make changes to this bug.