OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #include "cc/scheduler/begin_frame_source.h" | 5 #include "cc/scheduler/begin_frame_source.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
10 #include "base/location.h" | 10 #include "base/location.h" |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
162 | 162 |
163 observers_.erase(obs); | 163 observers_.erase(obs); |
164 if (observers_.empty()) | 164 if (observers_.empty()) |
165 time_source_->SetActive(false); | 165 time_source_->SetActive(false); |
166 } | 166 } |
167 | 167 |
168 void DelayBasedBeginFrameSource::OnTimerTick() { | 168 void DelayBasedBeginFrameSource::OnTimerTick() { |
169 BeginFrameArgs args = CreateBeginFrameArgs(time_source_->LastTickTime(), | 169 BeginFrameArgs args = CreateBeginFrameArgs(time_source_->LastTickTime(), |
170 BeginFrameArgs::NORMAL); | 170 BeginFrameArgs::NORMAL); |
171 std::unordered_set<BeginFrameObserver*> observers(observers_); | 171 std::unordered_set<BeginFrameObserver*> observers(observers_); |
172 for (auto& obs : observers) { | 172 for (auto* obs : observers) { |
173 BeginFrameArgs last_args = obs->LastUsedBeginFrameArgs(); | 173 BeginFrameArgs last_args = obs->LastUsedBeginFrameArgs(); |
174 if (!last_args.IsValid() || | 174 if (!last_args.IsValid() || |
175 (args.frame_time > | 175 (args.frame_time > |
176 last_args.frame_time + args.interval / kDoubleTickDivisor)) | 176 last_args.frame_time + args.interval / kDoubleTickDivisor)) |
177 obs->OnBeginFrame(args); | 177 obs->OnBeginFrame(args); |
178 } | 178 } |
179 } | 179 } |
180 | 180 |
181 } // namespace cc | 181 } // namespace cc |
OLD | NEW |