Index: Source/web/WebViewImpl.cpp |
diff --git a/Source/web/WebViewImpl.cpp b/Source/web/WebViewImpl.cpp |
index a070e5041f681efab4e87a51916b0604875b92c4..cb85e0485d1e33ca8e3724e1e04e9627e6cdd41d 100644 |
--- a/Source/web/WebViewImpl.cpp |
+++ b/Source/web/WebViewImpl.cpp |
@@ -2263,6 +2263,14 @@ bool WebViewImpl::selectionBounds(WebRect& anchor, WebRect& focus) const |
IntRect scaledAnchor(frame->view()->contentsToWindow(anchor)); |
IntRect scaledFocus(frame->view()->contentsToWindow(focus)); |
+ |
+ if (pinchVirtualViewportEnabled()) { |
+ IntPoint pinchViewportOffset = |
+ roundedIntPoint(page()->frameHost().pinchViewport().visibleRect().location()); |
+ scaledAnchor.moveBy(-pinchViewportOffset); |
+ scaledFocus.moveBy(-pinchViewportOffset); |
+ } |
+ |
scaledAnchor.scale(pageScaleFactor()); |
scaledFocus.scale(pageScaleFactor()); |
anchor = scaledAnchor; |