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

Side by Side Diff: content/renderer/pepper/pepper_graphics_2d_host.cc

Issue 252663002: Track plugin input event latency (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: fix win & mac build Created 6 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/pepper/pepper_graphics_2d_host.h" 5 #include "content/renderer/pepper/pepper_graphics_2d_host.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/debug/trace_event.h" 8 #include "base/debug/trace_event.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 int32_t PepperGraphics2DHost::OnResourceMessageReceived( 221 int32_t PepperGraphics2DHost::OnResourceMessageReceived(
222 const IPC::Message& msg, 222 const IPC::Message& msg,
223 ppapi::host::HostMessageContext* context) { 223 ppapi::host::HostMessageContext* context) {
224 PPAPI_BEGIN_MESSAGE_MAP(PepperGraphics2DHost, msg) 224 PPAPI_BEGIN_MESSAGE_MAP(PepperGraphics2DHost, msg)
225 PPAPI_DISPATCH_HOST_RESOURCE_CALL(PpapiHostMsg_Graphics2D_PaintImageData, 225 PPAPI_DISPATCH_HOST_RESOURCE_CALL(PpapiHostMsg_Graphics2D_PaintImageData,
226 OnHostMsgPaintImageData) 226 OnHostMsgPaintImageData)
227 PPAPI_DISPATCH_HOST_RESOURCE_CALL(PpapiHostMsg_Graphics2D_Scroll, 227 PPAPI_DISPATCH_HOST_RESOURCE_CALL(PpapiHostMsg_Graphics2D_Scroll,
228 OnHostMsgScroll) 228 OnHostMsgScroll)
229 PPAPI_DISPATCH_HOST_RESOURCE_CALL(PpapiHostMsg_Graphics2D_ReplaceContents, 229 PPAPI_DISPATCH_HOST_RESOURCE_CALL(PpapiHostMsg_Graphics2D_ReplaceContents,
230 OnHostMsgReplaceContents) 230 OnHostMsgReplaceContents)
231 PPAPI_DISPATCH_HOST_RESOURCE_CALL_0(PpapiHostMsg_Graphics2D_Flush, 231 PPAPI_DISPATCH_HOST_RESOURCE_CALL(PpapiHostMsg_Graphics2D_Flush,
232 OnHostMsgFlush) 232 OnHostMsgFlush)
233 PPAPI_DISPATCH_HOST_RESOURCE_CALL(PpapiHostMsg_Graphics2D_SetScale, 233 PPAPI_DISPATCH_HOST_RESOURCE_CALL(PpapiHostMsg_Graphics2D_SetScale,
234 OnHostMsgSetScale) 234 OnHostMsgSetScale)
235 PPAPI_DISPATCH_HOST_RESOURCE_CALL(PpapiHostMsg_Graphics2D_ReadImageData, 235 PPAPI_DISPATCH_HOST_RESOURCE_CALL(PpapiHostMsg_Graphics2D_ReadImageData,
236 OnHostMsgReadImageData) 236 OnHostMsgReadImageData)
237 PPAPI_END_MESSAGE_MAP() 237 PPAPI_END_MESSAGE_MAP()
238 return PP_ERROR_FAILED; 238 return PP_ERROR_FAILED;
239 } 239 }
240 240
241 bool PepperGraphics2DHost::IsGraphics2DHost() { return true; } 241 bool PepperGraphics2DHost::IsGraphics2DHost() { return true; }
242 242
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after
493 image_resource->height() != image_data_->height()) 493 image_resource->height() != image_data_->height())
494 return PP_ERROR_BADARGUMENT; 494 return PP_ERROR_BADARGUMENT;
495 495
496 QueuedOperation operation(QueuedOperation::REPLACE); 496 QueuedOperation operation(QueuedOperation::REPLACE);
497 operation.replace_image = image_resource; 497 operation.replace_image = image_resource;
498 queued_operations_.push_back(operation); 498 queued_operations_.push_back(operation);
499 return PP_OK; 499 return PP_OK;
500 } 500 }
501 501
502 int32_t PepperGraphics2DHost::OnHostMsgFlush( 502 int32_t PepperGraphics2DHost::OnHostMsgFlush(
503 ppapi::host::HostMessageContext* context) { 503 ppapi::host::HostMessageContext* context,
504 const std::vector<ui::LatencyInfo>& latency_info) {
504 // Don't allow more than one pending flush at a time. 505 // Don't allow more than one pending flush at a time.
505 if (HasPendingFlush()) 506 if (HasPendingFlush())
506 return PP_ERROR_INPROGRESS; 507 return PP_ERROR_INPROGRESS;
507 508
509 if (bound_instance_)
510 bound_instance_->AddLatencyInfo(latency_info);
511
508 PP_Resource old_image_data = 0; 512 PP_Resource old_image_data = 0;
509 flush_reply_context_ = context->MakeReplyMessageContext(); 513 flush_reply_context_ = context->MakeReplyMessageContext();
510 if (is_running_in_process_) 514 if (is_running_in_process_)
511 return Flush(NULL); 515 return Flush(NULL);
512 516
513 // Reuse image data when running out of process. 517 // Reuse image data when running out of process.
514 int32_t result = Flush(&old_image_data); 518 int32_t result = Flush(&old_image_data);
515 519
516 if (old_image_data) { 520 if (old_image_data) {
517 // If the Graphics2D has an old image data it's not using any more, send 521 // If the Graphics2D has an old image data it's not using any more, send
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
787 gfx::Point inverse_scaled_point = 791 gfx::Point inverse_scaled_point =
788 gfx::ToFlooredPoint(gfx::ScalePoint(*delta, inverse_scale)); 792 gfx::ToFlooredPoint(gfx::ScalePoint(*delta, inverse_scale));
789 if (original_delta != inverse_scaled_point) 793 if (original_delta != inverse_scaled_point)
790 return false; 794 return false;
791 } 795 }
792 796
793 return true; 797 return true;
794 } 798 }
795 799
796 } // namespace content 800 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/pepper/pepper_graphics_2d_host.h ('k') | content/renderer/pepper/pepper_graphics_2d_host_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698