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

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

Issue 163433008: Revert 251207 "Use gpu::Mailbox instead of std:string in IPCs" (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 6 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
Index: trunk/src/content/browser/renderer_host/render_widget_host_view_aura.cc
===================================================================
--- trunk/src/content/browser/renderer_host/render_widget_host_view_aura.cc (revision 251280)
+++ trunk/src/content/browser/renderer_host/render_widget_host_view_aura.cc (working copy)
@@ -327,7 +327,10 @@
DCHECK(!texture_to_produce.get() || !skip_frame);
if (texture_to_produce.get()) {
GLHelper* gl_helper = ImageTransportFactory::GetInstance()->GetGLHelper();
- ack.gl_frame_data->mailbox = texture_to_produce->Produce();
+ std::string mailbox_name = texture_to_produce->Produce();
+ std::copy(mailbox_name.data(),
+ mailbox_name.data() + mailbox_name.length(),
+ reinterpret_cast<char*>(ack.gl_frame_data->mailbox.name));
ack.gl_frame_data->size = texture_to_produce->size();
ack.gl_frame_data->sync_point =
gl_helper ? gl_helper->InsertSyncPoint() : 0;
@@ -345,7 +348,7 @@
void AcknowledgeBufferForGpu(
int32 route_id,
int gpu_host_id,
- const gpu::Mailbox& received_mailbox,
+ const std::string& received_mailbox,
bool skip_frame,
const scoped_refptr<ui::Texture>& texture_to_produce) {
AcceleratedSurfaceMsg_BufferPresented_Params ack;
@@ -353,10 +356,10 @@
DCHECK(!texture_to_produce.get() || !skip_frame);
if (texture_to_produce.get()) {
GLHelper* gl_helper = ImageTransportFactory::GetInstance()->GetGLHelper();
- ack.mailbox = texture_to_produce->Produce();
+ ack.mailbox_name = texture_to_produce->Produce();
sync_point = gl_helper ? gl_helper->InsertSyncPoint() : 0;
} else if (skip_frame) {
- ack.mailbox = received_mailbox;
+ ack.mailbox_name = received_mailbox;
ack.sync_point = 0;
}
@@ -1299,7 +1302,7 @@
const gfx::Rect& surface_rect,
float surface_scale_factor,
const gfx::Rect& damage_rect,
- const gpu::Mailbox& mailbox,
+ const std::string& mailbox_name,
const BufferPresentedCallback& ack_callback) {
if (last_swapped_surface_size_ != surface_rect.size()) {
// The surface could have shrunk since we skipped an update, in which
@@ -1312,7 +1315,7 @@
if (ShouldSkipFrame(ConvertSizeToDIP(surface_scale_factor,
surface_rect.size())) ||
- mailbox.IsZero()) {
+ mailbox_name.empty()) {
skipped_damage_.op(RectToSkIRect(damage_rect), SkRegion::kUnion_Op);
ack_callback.Run(true, scoped_refptr<ui::Texture>());
return false;
@@ -1327,7 +1330,7 @@
return false;
}
- current_surface_->Consume(mailbox, surface_rect.size());
+ current_surface_->Consume(mailbox_name, surface_rect.size());
released_front_lock_ = NULL;
UpdateExternalTexture();
@@ -1393,11 +1396,11 @@
&AcknowledgeBufferForGpu,
params_in_pixel.route_id,
gpu_host_id,
- params_in_pixel.mailbox);
+ params_in_pixel.mailbox_name);
BuffersSwapped(params_in_pixel.size,
gfx::Rect(params_in_pixel.size),
params_in_pixel.scale_factor,
- params_in_pixel.mailbox,
+ params_in_pixel.mailbox_name,
params_in_pixel.latency_info,
ack_callback);
}
@@ -1688,10 +1691,13 @@
GLHelper* gl_helper = ImageTransportFactory::GetInstance()->GetGLHelper();
gl_helper->WaitSyncPoint(frame->gl_frame_data->sync_point);
+ std::string mailbox_name(
+ reinterpret_cast<const char*>(frame->gl_frame_data->mailbox.name),
+ sizeof(frame->gl_frame_data->mailbox.name));
BuffersSwapped(frame->gl_frame_data->size,
frame->gl_frame_data->sub_buffer_rect,
frame->metadata.device_scale_factor,
- frame->gl_frame_data->mailbox,
+ mailbox_name,
frame->metadata.latency_info,
ack_callback);
}
@@ -1719,7 +1725,7 @@
const gfx::Size& surface_size,
const gfx::Rect& damage_rect,
float surface_scale_factor,
- const gpu::Mailbox& mailbox,
+ const std::string& mailbox_name,
const std::vector<ui::LatencyInfo>& latency_info,
const BufferPresentedCallback& ack_callback) {
scoped_refptr<ui::Texture> previous_texture(current_surface_);
@@ -1729,7 +1735,7 @@
if (!SwapBuffersPrepare(surface_rect,
surface_scale_factor,
damage_rect,
- mailbox,
+ mailbox_name,
ack_callback)) {
return;
}
@@ -1796,11 +1802,11 @@
base::Bind(&AcknowledgeBufferForGpu,
params_in_pixel.route_id,
gpu_host_id,
- params_in_pixel.mailbox);
+ params_in_pixel.mailbox_name);
BuffersSwapped(params_in_pixel.surface_size,
damage_rect,
params_in_pixel.surface_scale_factor,
- params_in_pixel.mailbox,
+ params_in_pixel.mailbox_name,
params_in_pixel.latency_info,
ack_callback);
}

Powered by Google App Engine
This is Rietveld 408576698