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

Side by Side Diff: content/browser/android/synchronous_compositor_host.h

Issue 2036023002: Rewire Android WebView's compositor changed signal. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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 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_BROWSER_ANDROID_SYNCHRONOUS_COMPOSITOR_HOST_H_ 5 #ifndef CONTENT_BROWSER_ANDROID_SYNCHRONOUS_COMPOSITOR_HOST_H_
6 #define CONTENT_BROWSER_ANDROID_SYNCHRONOUS_COMPOSITOR_HOST_H_ 6 #define CONTENT_BROWSER_ANDROID_SYNCHRONOUS_COMPOSITOR_HOST_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 void DidChangeRootLayerScrollOffset( 64 void DidChangeRootLayerScrollOffset(
65 const gfx::ScrollOffset& root_offset) override; 65 const gfx::ScrollOffset& root_offset) override;
66 void SynchronouslyZoomBy(float zoom_delta, const gfx::Point& anchor) override; 66 void SynchronouslyZoomBy(float zoom_delta, const gfx::Point& anchor) override;
67 void SetIsActive(bool is_active) override; 67 void SetIsActive(bool is_active) override;
68 void OnComputeScroll(base::TimeTicks animation_time) override; 68 void OnComputeScroll(base::TimeTicks animation_time) override;
69 69
70 InputEventAckState HandleInputEvent(const blink::WebInputEvent& input_event); 70 InputEventAckState HandleInputEvent(const blink::WebInputEvent& input_event);
71 void DidOverscroll(const DidOverscrollParams& over_scroll_params); 71 void DidOverscroll(const DidOverscrollParams& over_scroll_params);
72 void BeginFrame(const cc::BeginFrameArgs& args); 72 void BeginFrame(const cc::BeginFrameArgs& args);
73 bool OnMessageReceived(const IPC::Message& message); 73 bool OnMessageReceived(const IPC::Message& message);
74 void DidBecomeCurrent();
75 74
76 private: 75 private:
77 class ScopedSendZeroMemory; 76 class ScopedSendZeroMemory;
78 struct SharedMemoryWithSize; 77 struct SharedMemoryWithSize;
79 friend class ScopedSetZeroMemory; 78 friend class ScopedSetZeroMemory;
80 friend class SynchronousCompositorBase; 79 friend class SynchronousCompositorBase;
81 80
82 SynchronousCompositorHost(RenderWidgetHostViewAndroid* rwhva, 81 SynchronousCompositorHost(RenderWidgetHostViewAndroid* rwhva,
83 SynchronousCompositorClient* client, 82 SynchronousCompositorClient* client,
84 bool async_input, 83 bool async_input,
85 bool use_in_proc_software_draw); 84 bool use_in_proc_software_draw);
86 void PopulateCommonParams(SyncCompositorCommonBrowserParams* params); 85 void PopulateCommonParams(SyncCompositorCommonBrowserParams* params);
87 void ProcessCommonParams(const SyncCompositorCommonRendererParams& params); 86 void ProcessCommonParams(const SyncCompositorCommonRendererParams& params);
88 void UpdateNeedsBeginFrames(); 87 void UpdateNeedsBeginFrames();
89 void UpdateFrameMetaData(const cc::CompositorFrameMetadata& frame_metadata); 88 void UpdateFrameMetaData(const cc::CompositorFrameMetadata& frame_metadata);
90 void OutputSurfaceCreated(); 89 void OutputSurfaceCreated();
91 void OnOverScroll(const SyncCompositorCommonRendererParams& params, 90 void OnOverScroll(const SyncCompositorCommonRendererParams& params,
92 const DidOverscrollParams& over_scroll_params); 91 const DidOverscrollParams& over_scroll_params);
93 void SendAsyncCompositorStateIfNeeded(); 92 void SendAsyncCompositorStateIfNeeded();
94 void UpdateStateTask(); 93 void UpdateStateTask();
95 bool DemandDrawSwInProc(SkCanvas* canvas); 94 bool DemandDrawSwInProc(SkCanvas* canvas);
96 void SetSoftwareDrawSharedMemoryIfNeeded(size_t stride, size_t buffer_size); 95 void SetSoftwareDrawSharedMemoryIfNeeded(size_t stride, size_t buffer_size);
97 void SendZeroMemory(); 96 void SendZeroMemory();
98 97
99 RenderWidgetHostViewAndroid* const rwhva_; 98 RenderWidgetHostViewAndroid* const rwhva_;
100 SynchronousCompositorClient* const client_; 99 SynchronousCompositorClient* const client_;
101 const scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner_; 100 const scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner_;
102 const int routing_id_; 101 const int routing_id_;
102 const int process_id_;
103 IPC::Sender* const sender_; 103 IPC::Sender* const sender_;
104 const bool async_input_; 104 const bool async_input_;
105 const bool use_in_process_zero_copy_software_draw_; 105 const bool use_in_process_zero_copy_software_draw_;
106 106
107 bool is_active_; 107 bool is_active_;
108 size_t bytes_limit_; 108 size_t bytes_limit_;
109 std::unique_ptr<SharedMemoryWithSize> software_draw_shm_; 109 std::unique_ptr<SharedMemoryWithSize> software_draw_shm_;
110 110
111 // Updated by both renderer and browser. 111 // Updated by both renderer and browser.
112 gfx::ScrollOffset root_scroll_offset_; 112 gfx::ScrollOffset root_scroll_offset_;
113 113
114 // From renderer. 114 // From renderer.
115 uint32_t renderer_param_version_; 115 uint32_t renderer_param_version_;
116 bool need_animate_scroll_; 116 bool need_animate_scroll_;
117 uint32_t need_invalidate_count_; 117 uint32_t need_invalidate_count_;
118 bool need_begin_frame_; 118 bool need_begin_frame_;
119 uint32_t did_activate_pending_tree_count_; 119 uint32_t did_activate_pending_tree_count_;
120 120
121 base::WeakPtrFactory<SynchronousCompositorHost> weak_ptr_factory_; 121 base::WeakPtrFactory<SynchronousCompositorHost> weak_ptr_factory_;
122 DISALLOW_COPY_AND_ASSIGN(SynchronousCompositorHost); 122 DISALLOW_COPY_AND_ASSIGN(SynchronousCompositorHost);
123 }; 123 };
124 124
125 } // namespace content 125 } // namespace content
126 126
127 #endif // CONTENT_BROWSER_ANDROID_SYNCHRONOUS_COMPOSITOR_HOST_H_ 127 #endif // CONTENT_BROWSER_ANDROID_SYNCHRONOUS_COMPOSITOR_HOST_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698