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

Unified Diff: content/browser/renderer_host/render_widget_host_view_mac.mm

Issue 2417463003: Account for failure of coordinate space transformations in browser (Closed)
Patch Set: Review comments addressed Created 4 years, 2 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/browser/renderer_host/render_widget_host_view_mac.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/renderer_host/render_widget_host_view_mac.mm
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm
index 54a4b4a939ccd31b269864a309bc25dfa4988fff..ff4d50fc1a755720dea34bb841a7d9e28bba64d2 100644
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
@@ -1559,27 +1559,31 @@ void RenderWidgetHostViewMac::ProcessGestureEvent(
render_widget_host_->ForwardGestureEventWithLatencyInfo(event, latency);
}
-gfx::Point RenderWidgetHostViewMac::TransformPointToLocalCoordSpace(
+bool RenderWidgetHostViewMac::TransformPointToLocalCoordSpace(
const gfx::Point& point,
- const cc::SurfaceId& original_surface) {
- gfx::Point transformed_point;
+ const cc::SurfaceId& original_surface,
+ gfx::Point* transformed_point) {
// Transformations use physical pixels rather than DIP, so conversion
// is necessary.
float scale_factor = display::Screen::GetScreen()
->GetDisplayNearestWindow(cocoa_view_)
.device_scale_factor();
gfx::Point point_in_pixels = gfx::ConvertPointToPixel(scale_factor, point);
- transformed_point =
- browser_compositor_->GetDelegatedFrameHost()
- ->TransformPointToLocalCoordSpace(point_in_pixels, original_surface);
- return gfx::ConvertPointToDIP(scale_factor, transformed_point);
+ if (!browser_compositor_->GetDelegatedFrameHost()
+ ->TransformPointToLocalCoordSpace(point_in_pixels, original_surface,
+ transformed_point))
+ return false;
+ *transformed_point = gfx::ConvertPointToDIP(scale_factor, *transformed_point);
+ return true;
}
-gfx::Point RenderWidgetHostViewMac::TransformPointToCoordSpaceForView(
+bool RenderWidgetHostViewMac::TransformPointToCoordSpaceForView(
const gfx::Point& point,
- RenderWidgetHostViewBase* target_view) {
+ RenderWidgetHostViewBase* target_view,
+ gfx::Point* transformed_point) {
return browser_compositor_->GetDelegatedFrameHost()
- ->TransformPointToCoordSpaceForView(point, target_view);
+ ->TransformPointToCoordSpaceForView(point, target_view,
+ transformed_point);
}
bool RenderWidgetHostViewMac::Send(IPC::Message* message) {
« no previous file with comments | « content/browser/renderer_host/render_widget_host_view_mac.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698