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

Side by Side Diff: content/renderer/gpu/compositor_output_surface.h

Issue 619843002: cc: Make separate interface for BeginFrame ipc from OutputSurface (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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 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 #ifndef CONTENT_RENDERER_GPU_COMPOSITOR_OUTPUT_SURFACE_H_ 5 #ifndef CONTENT_RENDERER_GPU_COMPOSITOR_OUTPUT_SURFACE_H_
6 #define CONTENT_RENDERER_GPU_COMPOSITOR_OUTPUT_SURFACE_H_ 6 #define CONTENT_RENDERER_GPU_COMPOSITOR_OUTPUT_SURFACE_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/memory/ref_counted.h" 10 #include "base/memory/ref_counted.h"
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 uint32 output_surface_id, 51 uint32 output_surface_id,
52 const scoped_refptr<ContextProviderCommandBuffer>& context_provider, 52 const scoped_refptr<ContextProviderCommandBuffer>& context_provider,
53 scoped_ptr<cc::SoftwareOutputDevice> software, 53 scoped_ptr<cc::SoftwareOutputDevice> software,
54 scoped_refptr<FrameSwapMessageQueue> swap_frame_message_queue, 54 scoped_refptr<FrameSwapMessageQueue> swap_frame_message_queue,
55 bool use_swap_compositor_frame_message); 55 bool use_swap_compositor_frame_message);
56 virtual ~CompositorOutputSurface(); 56 virtual ~CompositorOutputSurface();
57 57
58 // cc::OutputSurface implementation. 58 // cc::OutputSurface implementation.
59 virtual bool BindToClient(cc::OutputSurfaceClient* client) override; 59 virtual bool BindToClient(cc::OutputSurfaceClient* client) override;
60 virtual void SwapBuffers(cc::CompositorFrame* frame) override; 60 virtual void SwapBuffers(cc::CompositorFrame* frame) override;
61 #if defined(OS_ANDROID)
62 virtual void SetNeedsBeginFrame(bool enable) override;
63 #endif
64 61
65 // TODO(epenner): This seems out of place here and would be a better fit 62 // TODO(epenner): This seems out of place here and would be a better fit
66 // int CompositorThread after it is fully refactored (http://crbug/170828) 63 // int CompositorThread after it is fully refactored (http://crbug/170828)
67 virtual void UpdateSmoothnessTakesPriority(bool prefer_smoothness) override; 64 virtual void UpdateSmoothnessTakesPriority(bool prefer_smoothness) override;
68 65
69 protected: 66 protected:
70 void ShortcutSwapAck(uint32 output_surface_id, 67 void ShortcutSwapAck(uint32 output_surface_id,
71 scoped_ptr<cc::GLFrameData> gl_frame_data, 68 scoped_ptr<cc::GLFrameData> gl_frame_data,
72 scoped_ptr<cc::SoftwareFrameData> software_frame_data); 69 scoped_ptr<cc::SoftwareFrameData> software_frame_data);
73 virtual void OnSwapAck(uint32 output_surface_id, 70 virtual void OnSwapAck(uint32 output_surface_id,
(...skipping 19 matching lines...) Expand all
93 friend class base::RefCountedThreadSafe<CompositorOutputSurfaceProxy>; 90 friend class base::RefCountedThreadSafe<CompositorOutputSurfaceProxy>;
94 ~CompositorOutputSurfaceProxy() {} 91 ~CompositorOutputSurfaceProxy() {}
95 CompositorOutputSurface* output_surface_; 92 CompositorOutputSurface* output_surface_;
96 93
97 DISALLOW_COPY_AND_ASSIGN(CompositorOutputSurfaceProxy); 94 DISALLOW_COPY_AND_ASSIGN(CompositorOutputSurfaceProxy);
98 }; 95 };
99 96
100 void OnMessageReceived(const IPC::Message& message); 97 void OnMessageReceived(const IPC::Message& message);
101 void OnUpdateVSyncParametersFromBrowser(base::TimeTicks timebase, 98 void OnUpdateVSyncParametersFromBrowser(base::TimeTicks timebase,
102 base::TimeDelta interval); 99 base::TimeDelta interval);
103 #if defined(OS_ANDROID)
104 void OnBeginFrame(const cc::BeginFrameArgs& args);
105 #endif
106 bool Send(IPC::Message* message); 100 bool Send(IPC::Message* message);
107 101
108 bool use_swap_compositor_frame_message_; 102 bool use_swap_compositor_frame_message_;
109 103
110 scoped_refptr<IPC::ForwardingMessageFilter> output_surface_filter_; 104 scoped_refptr<IPC::ForwardingMessageFilter> output_surface_filter_;
111 scoped_refptr<CompositorOutputSurfaceProxy> output_surface_proxy_; 105 scoped_refptr<CompositorOutputSurfaceProxy> output_surface_proxy_;
112 scoped_refptr<IPC::SyncMessageFilter> message_sender_; 106 scoped_refptr<IPC::SyncMessageFilter> message_sender_;
113 scoped_refptr<FrameSwapMessageQueue> frame_swap_message_queue_; 107 scoped_refptr<FrameSwapMessageQueue> frame_swap_message_queue_;
114 int routing_id_; 108 int routing_id_;
115 bool prefers_smoothness_; 109 bool prefers_smoothness_;
116 base::PlatformThreadHandle main_thread_handle_; 110 base::PlatformThreadHandle main_thread_handle_;
117 111
118 // TODO(danakj): Remove this when crbug.com/311404 112 // TODO(danakj): Remove this when crbug.com/311404
119 bool layout_test_mode_; 113 bool layout_test_mode_;
120 scoped_ptr<cc::CompositorFrameAck> layout_test_previous_frame_ack_; 114 scoped_ptr<cc::CompositorFrameAck> layout_test_previous_frame_ack_;
121 base::WeakPtrFactory<CompositorOutputSurface> weak_ptrs_; 115 base::WeakPtrFactory<CompositorOutputSurface> weak_ptrs_;
122 }; 116 };
123 117
124 } // namespace content 118 } // namespace content
125 119
126 #endif // CONTENT_RENDERER_GPU_COMPOSITOR_OUTPUT_SURFACE_H_ 120 #endif // CONTENT_RENDERER_GPU_COMPOSITOR_OUTPUT_SURFACE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698