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

Unified Diff: content/renderer/gpu/compositor_external_begin_frame_source.h

Issue 2281143002: Refactor external begin frame source into a base class (Closed)
Patch Set: Use client interfaces instead GOSH Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: content/renderer/gpu/compositor_external_begin_frame_source.h
diff --git a/content/renderer/gpu/compositor_external_begin_frame_source.h b/content/renderer/gpu/compositor_external_begin_frame_source.h
index 8a965772f36ddd4493fa854e7e66ba116c60aa36..6be7780c5ad777832671fa5fc73bcda9526e8461 100644
--- a/content/renderer/gpu/compositor_external_begin_frame_source.h
+++ b/content/renderer/gpu/compositor_external_begin_frame_source.h
@@ -24,6 +24,7 @@ namespace content {
// to a fixed thread where cc::Scheduler is running.
class CompositorExternalBeginFrameSource
: public cc::BeginFrameSource,
danakj 2016/08/26 22:39:13 Can we TODO to remove this as a subclass and expla
+ public cc::ExternalBeginFrameSourceClient,
public NON_EXPORTED_BASE(base::NonThreadSafe) {
public:
explicit CompositorExternalBeginFrameSource(
@@ -38,6 +39,9 @@ class CompositorExternalBeginFrameSource
void DidFinishFrame(cc::BeginFrameObserver* obs,
size_t remaining_frames) override {}
+ // cc::ExternalBeginFrameSourceClient implementation
danakj 2016/08/26 22:39:13 .
+ void OnNeedsBeginFrames(bool need_begin_frames) override;
+
private:
class CompositorExternalBeginFrameSourceProxy
: public base::RefCountedThreadSafe<
@@ -62,22 +66,20 @@ class CompositorExternalBeginFrameSource
DISALLOW_COPY_AND_ASSIGN(CompositorExternalBeginFrameSourceProxy);
};
- void SetClientReady();
void OnMessageReceived(const IPC::Message& message);
-
void OnSetBeginFrameSourcePaused(bool paused);
void OnBeginFrame(const cc::BeginFrameArgs& args);
bool Send(IPC::Message* message);
+ // Shared helper implementation.
+ cc::ExternalBeginFrameSource external_begin_frame_source_;
+
scoped_refptr<CompositorForwardingMessageFilter> begin_frame_source_filter_;
scoped_refptr<CompositorExternalBeginFrameSourceProxy>
begin_frame_source_proxy_;
scoped_refptr<IPC::SyncMessageFilter> message_sender_;
int routing_id_;
CompositorForwardingMessageFilter::Handler begin_frame_source_filter_handler_;
- cc::BeginFrameArgs missed_begin_frame_args_;
- std::unordered_set<cc::BeginFrameObserver*> observers_;
- bool paused_ = false;
DISALLOW_COPY_AND_ASSIGN(CompositorExternalBeginFrameSource);
};

Powered by Google App Engine
This is Rietveld 408576698