Index: Source/core/frame/LocalDOMWindow.cpp |
diff --git a/Source/core/frame/LocalDOMWindow.cpp b/Source/core/frame/LocalDOMWindow.cpp |
index ed919733412a7be4977fadd6ff04c40b833eca3c..63166456b86981f9116694335f4300516658d77e 100644 |
--- a/Source/core/frame/LocalDOMWindow.cpp |
+++ b/Source/core/frame/LocalDOMWindow.cpp |
@@ -69,6 +69,7 @@ |
#include "core/frame/Navigator.h" |
#include "core/frame/Screen.h" |
#include "core/frame/Settings.h" |
+#include "core/frame/WebKitPoint.h" |
#include "core/html/HTMLFrameOwnerElement.h" |
#include "core/inspector/ConsoleMessage.h" |
#include "core/inspector/ConsoleMessageStorage.h" |
@@ -1343,6 +1344,36 @@ PassRefPtrWillBeRawPtr<CSSRuleList> LocalDOMWindow::getMatchedCSSRules(Element* |
return m_frame->document()->ensureStyleResolver().pseudoCSSRulesForElement(element, pseudoId, rulesToInclude); |
} |
+PassRefPtrWillBeRawPtr<WebKitPoint> LocalDOMWindow::webkitConvertPointFromNodeToPage(Node* node, const WebKitPoint* p) const |
+{ |
+ if (!node || !p) |
+ return nullptr; |
+ |
+ if (!document()) |
+ return nullptr; |
+ |
+ document()->updateLayoutIgnorePendingStylesheets(); |
+ |
+ FloatPoint pagePoint(p->x(), p->y()); |
+ pagePoint = node->convertToPage(pagePoint); |
+ return WebKitPoint::create(pagePoint.x(), pagePoint.y()); |
+} |
+ |
+PassRefPtrWillBeRawPtr<WebKitPoint> LocalDOMWindow::webkitConvertPointFromPageToNode(Node* node, const WebKitPoint* p) const |
+{ |
+ if (!node || !p) |
+ return nullptr; |
+ |
+ if (!document()) |
+ return nullptr; |
+ |
+ document()->updateLayoutIgnorePendingStylesheets(); |
+ |
+ FloatPoint nodePoint(p->x(), p->y()); |
+ nodePoint = node->convertFromPage(nodePoint); |
+ return WebKitPoint::create(nodePoint.x(), nodePoint.y()); |
+} |
+ |
double LocalDOMWindow::devicePixelRatio() const |
{ |
if (!m_frame) |