| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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_ANDROID_SYNCHRONOUS_COMPOSITOR_PROXY_H_ | 5 #ifndef CONTENT_RENDERER_ANDROID_SYNCHRONOUS_COMPOSITOR_PROXY_H_ |
| 6 #define CONTENT_RENDERER_ANDROID_SYNCHRONOUS_COMPOSITOR_PROXY_H_ | 6 #define CONTENT_RENDERER_ANDROID_SYNCHRONOUS_COMPOSITOR_PROXY_H_ |
| 7 | 7 |
| 8 #include "base/macros.h" | 8 #include "base/macros.h" |
| 9 #include "content/common/input/input_event_ack_state.h" | 9 #include "content/common/input/input_event_ack_state.h" |
| 10 #include "content/renderer/android/synchronous_compositor_external_begin_frame_s
ource.h" | 10 #include "content/renderer/android/synchronous_compositor_external_begin_frame_s
ource.h" |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 class CompositorFrame; | 27 class CompositorFrame; |
| 28 } // namespace cc | 28 } // namespace cc |
| 29 | 29 |
| 30 namespace content { | 30 namespace content { |
| 31 | 31 |
| 32 class SynchronousCompositorOutputSurface; | 32 class SynchronousCompositorOutputSurface; |
| 33 struct SyncCompositorCommonBrowserParams; | 33 struct SyncCompositorCommonBrowserParams; |
| 34 struct SyncCompositorCommonRendererParams; | 34 struct SyncCompositorCommonRendererParams; |
| 35 struct SyncCompositorDemandDrawHwParams; | 35 struct SyncCompositorDemandDrawHwParams; |
| 36 struct SyncCompositorDemandDrawSwParams; | 36 struct SyncCompositorDemandDrawSwParams; |
| 37 struct SyncCompositorSetSharedMemoryParams; |
| 37 | 38 |
| 38 class SynchronousCompositorProxy | 39 class SynchronousCompositorProxy |
| 39 : public ui::SynchronousInputHandler, | 40 : public ui::SynchronousInputHandler, |
| 40 public SynchronousCompositorExternalBeginFrameSourceClient, | 41 public SynchronousCompositorExternalBeginFrameSourceClient, |
| 41 public SynchronousCompositorOutputSurfaceClient { | 42 public SynchronousCompositorOutputSurfaceClient { |
| 42 public: | 43 public: |
| 43 SynchronousCompositorProxy( | 44 SynchronousCompositorProxy( |
| 44 int routing_id, | 45 int routing_id, |
| 45 IPC::Sender* sender, | 46 IPC::Sender* sender, |
| 46 SynchronousCompositorOutputSurface* output_surface, | 47 SynchronousCompositorOutputSurface* output_surface, |
| (...skipping 15 matching lines...) Expand all Loading... |
| 62 void OnNeedsBeginFramesChange(bool needs_begin_frames) override; | 63 void OnNeedsBeginFramesChange(bool needs_begin_frames) override; |
| 63 | 64 |
| 64 // SynchronousCompositorOutputSurfaceClient overrides. | 65 // SynchronousCompositorOutputSurfaceClient overrides. |
| 65 void Invalidate() override; | 66 void Invalidate() override; |
| 66 | 67 |
| 67 void OnMessageReceived(const IPC::Message& message); | 68 void OnMessageReceived(const IPC::Message& message); |
| 68 bool Send(IPC::Message* message); | 69 bool Send(IPC::Message* message); |
| 69 void DidOverscroll(const DidOverscrollParams& did_overscroll_params); | 70 void DidOverscroll(const DidOverscrollParams& did_overscroll_params); |
| 70 | 71 |
| 71 private: | 72 private: |
| 73 struct SharedMemoryWithSize; |
| 74 |
| 72 void ProcessCommonParams( | 75 void ProcessCommonParams( |
| 73 const SyncCompositorCommonBrowserParams& common_params); | 76 const SyncCompositorCommonBrowserParams& common_params); |
| 74 void PopulateCommonParams(SyncCompositorCommonRendererParams* params); | 77 void PopulateCommonParams(SyncCompositorCommonRendererParams* params); |
| 75 | 78 |
| 76 // IPC handlers. | 79 // IPC handlers. |
| 77 void HandleInputEvent( | 80 void HandleInputEvent( |
| 78 const SyncCompositorCommonBrowserParams& common_params, | 81 const SyncCompositorCommonBrowserParams& common_params, |
| 79 const blink::WebInputEvent* event, | 82 const blink::WebInputEvent* event, |
| 80 SyncCompositorCommonRendererParams* common_renderer_params, | 83 SyncCompositorCommonRendererParams* common_renderer_params, |
| 81 InputEventAckState* ack); | 84 InputEventAckState* ack); |
| 82 void BeginFrame(const SyncCompositorCommonBrowserParams& common_params, | 85 void BeginFrame(const SyncCompositorCommonBrowserParams& common_params, |
| 83 const cc::BeginFrameArgs& args, | 86 const cc::BeginFrameArgs& args, |
| 84 SyncCompositorCommonRendererParams* common_renderer_params); | 87 SyncCompositorCommonRendererParams* common_renderer_params); |
| 85 void OnComputeScroll( | 88 void OnComputeScroll( |
| 86 const SyncCompositorCommonBrowserParams& common_params, | 89 const SyncCompositorCommonBrowserParams& common_params, |
| 87 base::TimeTicks animation_time, | 90 base::TimeTicks animation_time, |
| 88 SyncCompositorCommonRendererParams* common_renderer_params); | 91 SyncCompositorCommonRendererParams* common_renderer_params); |
| 89 void DemandDrawHw(const SyncCompositorCommonBrowserParams& common_params, | 92 void DemandDrawHw(const SyncCompositorCommonBrowserParams& common_params, |
| 90 const SyncCompositorDemandDrawHwParams& params, | 93 const SyncCompositorDemandDrawHwParams& params, |
| 91 SyncCompositorCommonRendererParams* common_renderer_params, | 94 SyncCompositorCommonRendererParams* common_renderer_params, |
| 92 cc::CompositorFrame* frame); | 95 cc::CompositorFrame* frame); |
| 96 void SetSharedMemory( |
| 97 const SyncCompositorCommonBrowserParams& common_params, |
| 98 const SyncCompositorSetSharedMemoryParams& params, |
| 99 bool* success, |
| 100 SyncCompositorCommonRendererParams* common_renderer_params); |
| 101 void ZeroSharedMemory(); |
| 93 void DemandDrawSw(const SyncCompositorCommonBrowserParams& common_params, | 102 void DemandDrawSw(const SyncCompositorCommonBrowserParams& common_params, |
| 94 const SyncCompositorDemandDrawSwParams& params, | 103 const SyncCompositorDemandDrawSwParams& params, |
| 95 bool* result, | 104 bool* result, |
| 96 SyncCompositorCommonRendererParams* common_renderer_params, | 105 SyncCompositorCommonRendererParams* common_renderer_params, |
| 97 cc::CompositorFrame* frame); | 106 cc::CompositorFrame* frame); |
| 98 | 107 |
| 99 void DidActivatePendingTree(); | 108 void DidActivatePendingTree(); |
| 100 void DeliverMessages(); | 109 void DeliverMessages(); |
| 101 void SendAsyncRendererStateIfNeeded(); | 110 void SendAsyncRendererStateIfNeeded(); |
| 102 | 111 |
| 103 const int routing_id_; | 112 const int routing_id_; |
| 104 IPC::Sender* const sender_; | 113 IPC::Sender* const sender_; |
| 105 SynchronousCompositorOutputSurface* const output_surface_; | 114 SynchronousCompositorOutputSurface* const output_surface_; |
| 106 SynchronousCompositorExternalBeginFrameSource* const begin_frame_source_; | 115 SynchronousCompositorExternalBeginFrameSource* const begin_frame_source_; |
| 107 ui::SynchronousInputHandlerProxy* const input_handler_proxy_; | 116 ui::SynchronousInputHandlerProxy* const input_handler_proxy_; |
| 108 InputHandlerManagerClient::Handler* const input_handler_; | 117 InputHandlerManagerClient::Handler* const input_handler_; |
| 109 bool inside_receive_; | 118 bool inside_receive_; |
| 110 | 119 |
| 111 // From browser. | 120 // From browser. |
| 112 size_t bytes_limit_; | 121 size_t bytes_limit_; |
| 122 scoped_ptr<SharedMemoryWithSize> software_draw_shm_; |
| 113 | 123 |
| 124 // To browser. |
| 114 uint32_t version_; | 125 uint32_t version_; |
| 115 gfx::ScrollOffset total_scroll_offset_; // Modified by both. | 126 gfx::ScrollOffset total_scroll_offset_; // Modified by both. |
| 116 gfx::ScrollOffset max_scroll_offset_; | 127 gfx::ScrollOffset max_scroll_offset_; |
| 117 gfx::SizeF scrollable_size_; | 128 gfx::SizeF scrollable_size_; |
| 118 float page_scale_factor_; | 129 float page_scale_factor_; |
| 119 float min_page_scale_factor_; | 130 float min_page_scale_factor_; |
| 120 float max_page_scale_factor_; | 131 float max_page_scale_factor_; |
| 121 bool need_animate_scroll_; | 132 bool need_animate_scroll_; |
| 122 bool need_invalidate_; | 133 bool need_invalidate_; |
| 123 bool need_begin_frame_; | 134 bool need_begin_frame_; |
| 124 bool did_activate_pending_tree_; | 135 bool did_activate_pending_tree_; |
| 125 | 136 |
| 126 DISALLOW_COPY_AND_ASSIGN(SynchronousCompositorProxy); | 137 DISALLOW_COPY_AND_ASSIGN(SynchronousCompositorProxy); |
| 127 }; | 138 }; |
| 128 | 139 |
| 129 } // namespace content | 140 } // namespace content |
| 130 | 141 |
| 131 #endif // CONTENT_RENDERER_ANDROID_SYNCHRONOUS_COMPOSITOR_PROXY_H_ | 142 #endif // CONTENT_RENDERER_ANDROID_SYNCHRONOUS_COMPOSITOR_PROXY_H_ |
| OLD | NEW |