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

Unified Diff: content/browser/renderer_host/render_widget_host_view_aura.cc

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
Index: content/browser/renderer_host/render_widget_host_view_aura.cc
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
index e33befce57be7ed3ccf813b35fe7956a13ff72a8..67cd7d905ec0fbaeb10338cc320eac6cee3afc20 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -2063,27 +2063,31 @@ void RenderWidgetHostViewAura::ProcessGestureEvent(
host_->ForwardGestureEventWithLatencyInfo(event, latency);
}
-gfx::Point RenderWidgetHostViewAura::TransformPointToLocalCoordSpace(
+bool RenderWidgetHostViewAura::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.
gfx::Point point_in_pixels =
gfx::ConvertPointToPixel(device_scale_factor_, point);
- transformed_point = delegated_frame_host_->TransformPointToLocalCoordSpace(
- point_in_pixels, original_surface);
- return gfx::ConvertPointToDIP(device_scale_factor_, transformed_point);
+ if (!delegated_frame_host_->TransformPointToLocalCoordSpace(
+ point_in_pixels, original_surface, transformed_point))
+ return false;
+ *transformed_point =
+ gfx::ConvertPointToDIP(device_scale_factor_, *transformed_point);
+ return true;
}
-gfx::Point RenderWidgetHostViewAura::TransformPointToCoordSpaceForView(
+bool RenderWidgetHostViewAura::TransformPointToCoordSpaceForView(
const gfx::Point& point,
- RenderWidgetHostViewBase* target_view) {
+ RenderWidgetHostViewBase* target_view,
+ gfx::Point* transformed_point) {
// In TransformPointToLocalCoordSpace() there is a Point-to-Pixel conversion,
// but it is not necessary here because the final target view is responsible
// for converting before computing the final transform.
- return delegated_frame_host_->TransformPointToCoordSpaceForView(point,
- target_view);
+ return delegated_frame_host_->TransformPointToCoordSpaceForView(
+ point, target_view, transformed_point);
}
void RenderWidgetHostViewAura::FocusedNodeChanged(

Powered by Google App Engine
This is Rietveld 408576698