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

Unified Diff: cc/scheduler/begin_frame_source.h

Issue 1026233002: cc: Making BeginFrameSources support multiple BeginFrameObservers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 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
« no previous file with comments | « no previous file | cc/scheduler/begin_frame_source.cc » ('j') | cc/scheduler/begin_frame_source.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/scheduler/begin_frame_source.h
diff --git a/cc/scheduler/begin_frame_source.h b/cc/scheduler/begin_frame_source.h
index d845dacd8e417505e27b3663246ae38c53234285..1131d72d1b3330f6a78a85fa21aca56c828db237 100644
--- a/cc/scheduler/begin_frame_source.h
+++ b/cc/scheduler/begin_frame_source.h
@@ -47,10 +47,10 @@ class CC_EXPORT BeginFrameObserver {
// These requirements are designed to allow chaining and nesting of
// BeginFrameObservers which filter the incoming BeginFrame messages while
// preventing "double dropping" and other bad side effects.
- virtual const BeginFrameArgs LastUsedBeginFrameArgs() const = 0;
+ virtual const BeginFrameArgs LastUsedBeginFrameArgs() = 0;
// Tracing support
- virtual void AsValueInto(base::trace_event::TracedValue* dict) const = 0;
+ virtual void AsValueInto(base::trace_event::TracedValue* dict) = 0;
};
// Simple mix in which implements a BeginFrameObserver which checks the
@@ -72,10 +72,10 @@ class CC_EXPORT BeginFrameObserverMixIn : public BeginFrameObserver {
// OnBeginFrameMixInDelegate and updates the last_begin_frame_args_ value on
// true.
void OnBeginFrame(const BeginFrameArgs& args) override;
- const BeginFrameArgs LastUsedBeginFrameArgs() const override;
+ const BeginFrameArgs LastUsedBeginFrameArgs() override;
// Outputs last_begin_frame_args_
- void AsValueInto(base::trace_event::TracedValue* dict) const override;
+ void AsValueInto(base::trace_event::TracedValue* dict) override;
protected:
// Subclasses should override this method!
@@ -122,7 +122,7 @@ class CC_EXPORT BeginFrameSource {
// Tracing support - Recommend (but not required) to call this implementation
// in any override.
- virtual void AsValueInto(base::trace_event::TracedValue* dict) const = 0;
+ virtual void AsValueInto(base::trace_event::TracedValue* dict) = 0;
};
// Simple mix in which implements a BeginFrameSource.
@@ -134,7 +134,7 @@ class CC_EXPORT BeginFrameSource {
// in their own AsValueInto implementation.
class CC_EXPORT BeginFrameSourceMixIn : public BeginFrameSource {
public:
- ~BeginFrameSourceMixIn() override {}
+ ~BeginFrameSourceMixIn() override;
// BeginFrameSource
bool NeedsBeginFrames() const final;
@@ -146,7 +146,7 @@ class CC_EXPORT BeginFrameSourceMixIn : public BeginFrameSource {
// Tracing support - Recommend (but not required) to call this implementation
// in any override.
- void AsValueInto(base::trace_event::TracedValue* dict) const override;
+ void AsValueInto(base::trace_event::TracedValue* dict) override;
protected:
BeginFrameSourceMixIn();
@@ -159,7 +159,7 @@ class CC_EXPORT BeginFrameSourceMixIn : public BeginFrameSource {
// needs_begin_frames change.
virtual void OnNeedsBeginFramesChange(bool needs_begin_frames) {}
- BeginFrameObserver* observer_;
+ ObserverList<BeginFrameObserver> observer_list_;
bool needs_begin_frames_;
private:
@@ -178,7 +178,7 @@ class CC_EXPORT BackToBackBeginFrameSource : public BeginFrameSourceMixIn {
void DidFinishFrame(size_t remaining_frames) override;
// Tracing
- void AsValueInto(base::trace_event::TracedValue* dict) const override;
+ void AsValueInto(base::trace_event::TracedValue* dict) override;
protected:
explicit BackToBackBeginFrameSource(
@@ -211,7 +211,7 @@ class CC_EXPORT SyntheticBeginFrameSource : public BeginFrameSourceMixIn,
~SyntheticBeginFrameSource() override;
// Tracing
- void AsValueInto(base::trace_event::TracedValue* dict) const override;
+ void AsValueInto(base::trace_event::TracedValue* dict) override;
// VSyncParameterObserver
void OnUpdateVSyncParameters(base::TimeTicks new_vsync_timebase,
@@ -254,7 +254,7 @@ class CC_EXPORT BeginFrameSourceMultiplexer : public BeginFrameSourceMixIn,
// calls to preserve the monotonicity of the BeginFrameArgs when switching
// sources.
void OnBeginFrame(const BeginFrameArgs& args) override;
- const BeginFrameArgs LastUsedBeginFrameArgs() const override;
+ const BeginFrameArgs LastUsedBeginFrameArgs() override;
// BeginFrameSource
void DidFinishFrame(size_t remaining_frames) override;
@@ -263,7 +263,7 @@ class CC_EXPORT BeginFrameSourceMultiplexer : public BeginFrameSourceMixIn,
void OnNeedsBeginFramesChange(bool needs_begin_frames) override;
// Tracing
- void AsValueInto(base::trace_event::TracedValue* dict) const override;
+ void AsValueInto(base::trace_event::TracedValue* dict) override;
protected:
BeginFrameSourceMultiplexer();
« no previous file with comments | « no previous file | cc/scheduler/begin_frame_source.cc » ('j') | cc/scheduler/begin_frame_source.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698