| Index: Source/core/dom/Node.cpp
|
| diff --git a/Source/core/dom/Node.cpp b/Source/core/dom/Node.cpp
|
| index 86b776ca6635bcd78088e9361e474924b4363aff..c39749c92fe4309f9236f2b6f0079aaf7b000647 100644
|
| --- a/Source/core/dom/Node.cpp
|
| +++ b/Source/core/dom/Node.cpp
|
| @@ -1602,6 +1602,34 @@ unsigned short Node::compareDocumentPosition(const Node* otherNode, ShadowTreesT
|
| DOCUMENT_POSITION_PRECEDING | DOCUMENT_POSITION_CONTAINS | connection;
|
| }
|
|
|
| +FloatPoint Node::convertToPage(const FloatPoint& p) const
|
| +{
|
| + // If there is a renderer, just ask it to do the conversion
|
| + if (renderer())
|
| + return renderer()->localToAbsolute(p, UseTransforms);
|
| +
|
| + // Otherwise go up the tree looking for a renderer
|
| + if (Element* parent = parentElement())
|
| + return parent->convertToPage(p);
|
| +
|
| + // No parent - no conversion needed
|
| + return p;
|
| +}
|
| +
|
| +FloatPoint Node::convertFromPage(const FloatPoint& p) const
|
| +{
|
| + // If there is a renderer, just ask it to do the conversion
|
| + if (renderer())
|
| + return renderer()->absoluteToLocal(p, UseTransforms);
|
| +
|
| + // Otherwise go up the tree looking for a renderer
|
| + if (Element* parent = parentElement())
|
| + return parent->convertFromPage(p);
|
| +
|
| + // No parent - no conversion needed
|
| + return p;
|
| +}
|
| +
|
| String Node::debugName() const
|
| {
|
| StringBuilder name;
|
|
|