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

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: Use web_contents_ 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 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 const cc::CompositorFrameAck& frame_ack) override; 61 const cc::CompositorFrameAck& frame_ack) override;
62 void SetMemoryPolicy(size_t bytes_limit) override; 62 void SetMemoryPolicy(size_t bytes_limit) override;
63 void DidChangeRootLayerScrollOffset( 63 void DidChangeRootLayerScrollOffset(
64 const gfx::ScrollOffset& root_offset) override; 64 const gfx::ScrollOffset& root_offset) override;
65 void SynchronouslyZoomBy(float zoom_delta, const gfx::Point& anchor) override; 65 void SynchronouslyZoomBy(float zoom_delta, const gfx::Point& anchor) override;
66 void OnComputeScroll(base::TimeTicks animation_time) override; 66 void OnComputeScroll(base::TimeTicks animation_time) override;
67 67
68 void DidOverscroll(const DidOverscrollParams& over_scroll_params); 68 void DidOverscroll(const DidOverscrollParams& over_scroll_params);
69 void DidSendBeginFrame(); 69 void DidSendBeginFrame();
70 bool OnMessageReceived(const IPC::Message& message); 70 bool OnMessageReceived(const IPC::Message& message);
71 void DidBecomeCurrent();
72 71
73 private: 72 private:
74 class ScopedSendZeroMemory; 73 class ScopedSendZeroMemory;
75 struct SharedMemoryWithSize; 74 struct SharedMemoryWithSize;
76 friend class ScopedSetZeroMemory; 75 friend class ScopedSetZeroMemory;
77 friend class SynchronousCompositorBase; 76 friend class SynchronousCompositorBase;
78 77
79 SynchronousCompositorHost(RenderWidgetHostViewAndroid* rwhva, 78 SynchronousCompositorHost(RenderWidgetHostViewAndroid* rwhva,
80 SynchronousCompositorClient* client, 79 SynchronousCompositorClient* client,
81 bool use_in_proc_software_draw); 80 bool use_in_proc_software_draw);
82 void ProcessCommonParams(const SyncCompositorCommonRendererParams& params); 81 void ProcessCommonParams(const SyncCompositorCommonRendererParams& params);
83 void UpdateFrameMetaData(const cc::CompositorFrameMetadata& frame_metadata); 82 void UpdateFrameMetaData(const cc::CompositorFrameMetadata& frame_metadata);
84 void OutputSurfaceCreated(); 83 void OutputSurfaceCreated();
85 bool DemandDrawSwInProc(SkCanvas* canvas); 84 bool DemandDrawSwInProc(SkCanvas* canvas);
86 void SetSoftwareDrawSharedMemoryIfNeeded(size_t stride, size_t buffer_size); 85 void SetSoftwareDrawSharedMemoryIfNeeded(size_t stride, size_t buffer_size);
87 void SendZeroMemory(); 86 void SendZeroMemory();
88 87
89 RenderWidgetHostViewAndroid* const rwhva_; 88 RenderWidgetHostViewAndroid* const rwhva_;
90 SynchronousCompositorClient* const client_; 89 SynchronousCompositorClient* const client_;
91 const scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner_; 90 const scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner_;
91 const int process_id_;
92 const int routing_id_; 92 const int routing_id_;
93 IPC::Sender* const sender_; 93 IPC::Sender* const sender_;
94 const bool use_in_process_zero_copy_software_draw_; 94 const bool use_in_process_zero_copy_software_draw_;
95 95
96 size_t bytes_limit_; 96 size_t bytes_limit_;
97 std::unique_ptr<SharedMemoryWithSize> software_draw_shm_; 97 std::unique_ptr<SharedMemoryWithSize> software_draw_shm_;
98 98
99 // Updated by both renderer and browser. 99 // Updated by both renderer and browser.
100 gfx::ScrollOffset root_scroll_offset_; 100 gfx::ScrollOffset root_scroll_offset_;
101 101
102 // From renderer. 102 // From renderer.
103 uint32_t renderer_param_version_; 103 uint32_t renderer_param_version_;
104 bool need_animate_scroll_; 104 bool need_animate_scroll_;
105 uint32_t need_invalidate_count_; 105 uint32_t need_invalidate_count_;
106 uint32_t did_activate_pending_tree_count_; 106 uint32_t did_activate_pending_tree_count_;
107 107
108 DISALLOW_COPY_AND_ASSIGN(SynchronousCompositorHost); 108 DISALLOW_COPY_AND_ASSIGN(SynchronousCompositorHost);
109 }; 109 };
110 110
111 } // namespace content 111 } // namespace content
112 112
113 #endif // CONTENT_BROWSER_ANDROID_SYNCHRONOUS_COMPOSITOR_HOST_H_ 113 #endif // CONTENT_BROWSER_ANDROID_SYNCHRONOUS_COMPOSITOR_HOST_H_
OLDNEW
« no previous file with comments | « android_webview/native/aw_contents.cc ('k') | content/browser/android/synchronous_compositor_host.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698