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

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

Issue 15689003: Part 3/3 (RWH/IOSurface) of adding with device scale factor to transport surfaces (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add missed lines Created 7 years, 7 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_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 6bad9f931d7ce54b731206340e7d0d1f1f523e44..200c1aa3355e08033196f1db3924b6b8a37b6592 100644
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
@@ -943,7 +943,6 @@ void RenderWidgetHostViewMac::CopyFromCompositingSurface(
scoped_callback_runner.Release();
compositing_iosurface_->CopyTo(GetScaledOpenGLPixelRect(src_subrect),
- ScaleFactor(cocoa_view_),
dst_pixel_size,
callback);
}
@@ -975,7 +974,6 @@ void RenderWidgetHostViewMac::CopyFromCompositingSurfaceToVideoFrame(
scoped_callback_runner.Release();
compositing_iosurface_->CopyToVideoFrame(
GetScaledOpenGLPixelRect(src_subrect),
- ScaleFactor(cocoa_view_),
target,
callback);
}
@@ -1046,7 +1044,8 @@ void RenderWidgetHostViewMac::PluginImeCompositionCompleted(
}
bool RenderWidgetHostViewMac::CompositorSwapBuffers(uint64 surface_handle,
- const gfx::Size& size) {
+ const gfx::Size& size,
+ float scale_factor) {
if (is_hidden_)
return true;
@@ -1060,9 +1059,10 @@ bool RenderWidgetHostViewMac::CompositorSwapBuffers(uint64 surface_handle,
RenderWidgetHostViewFrameSubscriber::DeliverFrameCallback callback;
if (frame_subscriber_->ShouldCaptureFrame(present_time,
&frame, &callback)) {
- compositing_iosurface_->SetIOSurface(surface_handle, size);
+ compositing_iosurface_->SetIOSurface(
+ surface_handle, size, scale_factor);
compositing_iosurface_->CopyToVideoFrame(
- gfx::Rect(size), ScaleFactor(cocoa_view_), frame,
+ gfx::Rect(size), frame,
base::Bind(callback, present_time));
return true;
}
@@ -1102,7 +1102,7 @@ bool RenderWidgetHostViewMac::CompositorSwapBuffers(uint64 surface_handle,
if (!compositing_iosurface_)
return true;
- compositing_iosurface_->SetIOSurface(surface_handle, size);
+ compositing_iosurface_->SetIOSurface(surface_handle, size, scale_factor);
GotAcceleratedFrame();
@@ -1312,7 +1312,9 @@ void RenderWidgetHostViewMac::AcceleratedSurfaceBuffersSwapped(
pending_swap_buffers_acks_.push_back(std::make_pair(params.route_id,
gpu_host_id));
- if (CompositorSwapBuffers(params.surface_handle, params.size))
+ if (CompositorSwapBuffers(params.surface_handle,
+ params.size,
+ params.scale_factor))
AckPendingSwapBuffers();
}
@@ -1326,7 +1328,9 @@ void RenderWidgetHostViewMac::AcceleratedSurfacePostSubBuffer(
pending_swap_buffers_acks_.push_back(std::make_pair(params.route_id,
gpu_host_id));
- if (CompositorSwapBuffers(params.surface_handle, params.surface_size))
+ if (CompositorSwapBuffers(params.surface_handle,
+ params.surface_size,
+ params.surface_scale_factor))
AckPendingSwapBuffers();
}
@@ -1341,20 +1345,11 @@ void RenderWidgetHostViewMac::AcceleratedSurfaceRelease() {
bool RenderWidgetHostViewMac::HasAcceleratedSurface(
const gfx::Size& desired_size) {
- // Update device scale factor for the IOSurface before checking if there
- // is a match. When initially created, the IOSurface is unaware of its
- // scale factor, which can result in compatible IOSurfaces not being used
- // http://crbug.com/237293
- if (compositing_iosurface_.get() &&
- compositing_iosurface_->HasIOSurface()) {
- compositing_iosurface_->SetDeviceScaleFactor(ScaleFactor(cocoa_view_));
- }
-
return last_frame_was_accelerated_ &&
compositing_iosurface_.get() &&
compositing_iosurface_->HasIOSurface() &&
(desired_size.IsEmpty() ||
- compositing_iosurface_->io_surface_size() == desired_size);
+ compositing_iosurface_->dip_io_surface_size() == desired_size);
}
void RenderWidgetHostViewMac::AboutToWaitForBackingStoreMsg() {

Powered by Google App Engine
This is Rietveld 408576698