Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(119)

Unified Diff: content/renderer/render_view_impl.cc

Issue 1703433002: Move DIP(WIndow) to Viewport conversion code for drag&drop from browser to renderer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/renderer/render_view_impl.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/render_view_impl.cc
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index dc176876650a155d6f13fea9fa24958b43c2b4b1..c085b129fbd6e0208856d78479b463ad60fa239b 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -2212,6 +2212,13 @@ float RenderViewImpl::GetDeviceScaleFactorForTest() const {
return device_scale_factor_;
}
+gfx::Point RenderViewImpl::ConvertWindowPointToViewport(
+ const gfx::Point& point) {
+ blink::WebFloatRect point_in_viewport(point.x(), point.y(), 0, 0);
+ convertWindowToViewport(&point_in_viewport);
+ return gfx::Point(point_in_viewport.x, point_in_viewport.y);
+}
+
void RenderViewImpl::didChangeIcon(WebLocalFrame* frame,
WebIconURL::Type icon_type) {
if (frame->parent())
@@ -2413,7 +2420,7 @@ void RenderViewImpl::OnDragTargetDragEnter(const DropData& drop_data,
int key_modifiers) {
WebDragOperation operation = webview()->dragTargetDragEnter(
DropDataToWebDragData(drop_data),
- client_point,
+ ConvertWindowPointToViewport(client_point),
screen_point,
ops,
key_modifiers);
@@ -2426,7 +2433,7 @@ void RenderViewImpl::OnDragTargetDragOver(const gfx::Point& client_point,
WebDragOperationsMask ops,
int key_modifiers) {
WebDragOperation operation = webview()->dragTargetDragOver(
- client_point,
+ ConvertWindowPointToViewport(client_point),
screen_point,
ops,
key_modifiers);
@@ -2441,13 +2448,15 @@ void RenderViewImpl::OnDragTargetDragLeave() {
void RenderViewImpl::OnDragTargetDrop(const gfx::Point& client_point,
const gfx::Point& screen_point,
int key_modifiers) {
- webview()->dragTargetDrop(client_point, screen_point, key_modifiers);
+ webview()->dragTargetDrop(
+ ConvertWindowPointToViewport(client_point), screen_point, key_modifiers);
}
void RenderViewImpl::OnDragSourceEnded(const gfx::Point& client_point,
const gfx::Point& screen_point,
WebDragOperation op) {
- webview()->dragSourceEndedAt(client_point, screen_point, op);
+ webview()->dragSourceEndedAt(
+ ConvertWindowPointToViewport(client_point), screen_point, op);
}
void RenderViewImpl::OnDragSourceSystemDragEnded() {
« no previous file with comments | « content/renderer/render_view_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698