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

Unified Diff: cc/test/scheduler_test_common.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
Index: cc/test/scheduler_test_common.h
diff --git a/cc/test/scheduler_test_common.h b/cc/test/scheduler_test_common.h
index 763ccc8351d761e5d546b961cbfa29d17f424e37..897e0bab7ab3c306a7496ff0e5ec3ff44dfce599 100644
--- a/cc/test/scheduler_test_common.h
+++ b/cc/test/scheduler_test_common.h
@@ -76,11 +76,21 @@ class TestDelayBasedTimeSource : public DelayBasedTimeSource {
struct FakeBeginFrameSource : public BeginFrameSourceMixIn {
bool remaining_frames_ = false;
- BeginFrameObserver* GetObserver() { return observer_; }
+ BeginFrameObserver* GetObserver() {
+ if ((observer_list_).might_have_observers()) {
+ ObserverList<BeginFrameObserver>::Iterator it(&observer_list_);
+ BeginFrameObserver* obs;
+ while ((obs = it.GetNext()) != nullptr) {
+ return obs;
+ }
+ }
+ return nullptr;
+ }
BeginFrameArgs TestLastUsedBeginFrameArgs() {
- if (observer_) {
- return observer_->LastUsedBeginFrameArgs();
+ BeginFrameObserver* obs = GetObserver();
+ if (obs) {
+ return obs->LastUsedBeginFrameArgs();
}
return BeginFrameArgs();
}
@@ -90,7 +100,7 @@ struct FakeBeginFrameSource : public BeginFrameSourceMixIn {
// BeginFrameSource
void DidFinishFrame(size_t remaining_frames) override;
- void AsValueInto(base::trace_event::TracedValue* dict) const override;
+ void AsValueInto(base::trace_event::TracedValue* dict) override;
~FakeBeginFrameSource() override {}
};

Powered by Google App Engine
This is Rietveld 408576698