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

Unified Diff: content/browser/renderer_host/compositor_impl_android.h

Issue 2585993002: Revert of [android] Make RWHVAndroid a BeginFrameObserver. (Closed)
Patch Set: Created 4 years 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/compositor_impl_android.h
diff --git a/content/browser/renderer_host/compositor_impl_android.h b/content/browser/renderer_host/compositor_impl_android.h
index 1530644a2d6733d44558a0d34a99ecdb79a4bbae..87aba9a9409c88b4f013040ce75a2964b22c3fce 100644
--- a/content/browser/renderer_host/compositor_impl_android.h
+++ b/content/browser/renderer_host/compositor_impl_android.h
@@ -33,6 +33,7 @@
namespace cc {
class AnimationHost;
+class BeginFrameSource;
class Display;
class Layer;
class LayerTreeHost;
@@ -53,10 +54,20 @@
public ui::UIResourceProvider,
public ui::WindowAndroidCompositor {
public:
+ class VSyncObserver {
+ public:
+ virtual void OnVSync(base::TimeTicks timebase,
+ base::TimeDelta interval) = 0;
+ };
+
CompositorImpl(CompositorClient* client, gfx::NativeWindow root_window);
~CompositorImpl() override;
static bool IsInitialized();
+
+ void AddObserver(VSyncObserver* observer);
+ void RemoveObserver(VSyncObserver* observer);
+ void OnNeedsBeginFramesChange(bool needs_begin_frames);
// ui::ResourceProvider implementation.
cc::UIResourceId CreateUIResource(cc::UIResourceClient* client) override;
@@ -102,6 +113,8 @@
void AttachLayerForReadback(scoped_refptr<cc::Layer> layer) override;
void RequestCopyOfOutputOnRootLayer(
std::unique_ptr<cc::CopyOutputRequest> request) override;
+ void OnVSync(base::TimeTicks frame_time,
+ base::TimeDelta vsync_period) override;
void SetNeedsAnimate() override;
cc::FrameSinkId GetFrameSinkId() override;
@@ -134,10 +147,12 @@
scoped_refptr<cc::Layer> readback_layer_tree_;
// Destruction order matters here:
+ base::ObserverList<VSyncObserver, true> observer_list_;
std::unique_ptr<cc::AnimationHost> animation_host_;
std::unique_ptr<cc::LayerTreeHost> host_;
ui::ResourceManagerImpl resource_manager_;
+ std::unique_ptr<cc::BeginFrameSource> begin_frame_source_;
std::unique_ptr<cc::Display> display_;
gfx::Size size_;
@@ -167,6 +182,7 @@
bool compositor_frame_sink_request_pending_;
gpu::Capabilities gpu_capabilities_;
+ bool needs_begin_frames_;
base::WeakPtrFactory<CompositorImpl> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(CompositorImpl);

Powered by Google App Engine
This is Rietveld 408576698