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

Side by Side Diff: content/browser/renderer_host/render_widget_host_impl.h

Issue 13068002: Send vsync notification from browser to renderer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Made the RWHV API Android-only. Created 7 years, 8 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 | Annotate | Revision Log
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 #ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_IMPL_H_ 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_IMPL_H_
6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_IMPL_H_ 6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_IMPL_H_
7 7
8 #include <deque> 8 #include <deque>
9 #include <list> 9 #include <list>
10 #include <map> 10 #include <map>
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after
391 // locked. 391 // locked.
392 bool GotResponseToLockMouseRequest(bool allowed); 392 bool GotResponseToLockMouseRequest(bool allowed);
393 393
394 // Tells the RenderWidget about the latest vsync parameters. 394 // Tells the RenderWidget about the latest vsync parameters.
395 // Note: Make sure the timebase was obtained using 395 // Note: Make sure the timebase was obtained using
396 // base::TimeTicks::HighResNow. Using the non-high res timer will result in 396 // base::TimeTicks::HighResNow. Using the non-high res timer will result in
397 // incorrect synchronization across processes. 397 // incorrect synchronization across processes.
398 virtual void UpdateVSyncParameters(base::TimeTicks timebase, 398 virtual void UpdateVSyncParameters(base::TimeTicks timebase,
399 base::TimeDelta interval); 399 base::TimeDelta interval);
400 400
401 // Notifies the RenderWidget that the display vsync signal was triggered and
402 // now is a good time to render a new frame.
403 virtual void SendVSync(base::TimeTicks frame_time);
404
401 // Called by the view in response to AcceleratedSurfaceBuffersSwapped or 405 // Called by the view in response to AcceleratedSurfaceBuffersSwapped or
402 // AcceleratedSurfacePostSubBuffer. 406 // AcceleratedSurfacePostSubBuffer.
403 static void AcknowledgeBufferPresent( 407 static void AcknowledgeBufferPresent(
404 int32 route_id, 408 int32 route_id,
405 int gpu_host_id, 409 int gpu_host_id,
406 const AcceleratedSurfaceMsg_BufferPresented_Params& params); 410 const AcceleratedSurfaceMsg_BufferPresented_Params& params);
407 411
408 // Called by the view in response to OnSwapCompositorFrame. 412 // Called by the view in response to OnSwapCompositorFrame.
409 static void SendSwapCompositorFrameAck( 413 static void SendSwapCompositorFrameAck(
410 int32 route_id, int renderer_host_id, const cc::CompositorFrameAck& ack); 414 int32 route_id, int renderer_host_id, const cc::CompositorFrameAck& ack);
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
570 void OnRequestMove(const gfx::Rect& pos); 574 void OnRequestMove(const gfx::Rect& pos);
571 void OnSetTooltipText(const string16& tooltip_text, 575 void OnSetTooltipText(const string16& tooltip_text,
572 WebKit::WebTextDirection text_direction_hint); 576 WebKit::WebTextDirection text_direction_hint);
573 void OnPaintAtSizeAck(int tag, const gfx::Size& size); 577 void OnPaintAtSizeAck(int tag, const gfx::Size& size);
574 void OnCompositorSurfaceBuffersSwapped(int32 surface_id, 578 void OnCompositorSurfaceBuffersSwapped(int32 surface_id,
575 uint64 surface_handle, 579 uint64 surface_handle,
576 int32 route_id, 580 int32 route_id,
577 const gfx::Size& size, 581 const gfx::Size& size,
578 int32 gpu_process_host_id); 582 int32 gpu_process_host_id);
579 bool OnSwapCompositorFrame(const IPC::Message& message); 583 bool OnSwapCompositorFrame(const IPC::Message& message);
584 void OnSetVSyncNotificationEnabled(bool enabled);
580 void OnUpdateRect(const ViewHostMsg_UpdateRect_Params& params); 585 void OnUpdateRect(const ViewHostMsg_UpdateRect_Params& params);
581 void OnUpdateIsDelayed(); 586 void OnUpdateIsDelayed();
582 void OnInputEventAck(WebKit::WebInputEvent::Type event_type, 587 void OnInputEventAck(WebKit::WebInputEvent::Type event_type,
583 InputEventAckState ack_result); 588 InputEventAckState ack_result);
584 void OnBeginSmoothScroll( 589 void OnBeginSmoothScroll(
585 int gesture_id, 590 int gesture_id,
586 const ViewHostMsg_BeginSmoothScroll_Params &params); 591 const ViewHostMsg_BeginSmoothScroll_Params &params);
587 void OnSelectRangeAck(); 592 void OnSelectRangeAck();
588 void OnMsgMoveCaretAck(); 593 void OnMsgMoveCaretAck();
589 virtual void OnFocus(); 594 virtual void OnFocus();
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after
876 881
877 // List of callbacks for pending snapshot requests to the renderer. 882 // List of callbacks for pending snapshot requests to the renderer.
878 std::queue<base::Callback<void(bool, const SkBitmap&)> > pending_snapshots_; 883 std::queue<base::Callback<void(bool, const SkBitmap&)> > pending_snapshots_;
879 884
880 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostImpl); 885 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostImpl);
881 }; 886 };
882 887
883 } // namespace content 888 } // namespace content
884 889
885 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_IMPL_H_ 890 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698