| Index: cc/debug/frame_timing_tracker.cc
|
| diff --git a/cc/debug/frame_timing_tracker.cc b/cc/debug/frame_timing_tracker.cc
|
| index 009d298b3b8fd0fca605f6d90e4f5e0e6471ccb8..50aa92be5aabed16abef231f50ba5509e8bd9842 100644
|
| --- a/cc/debug/frame_timing_tracker.cc
|
| +++ b/cc/debug/frame_timing_tracker.cc
|
| @@ -21,6 +21,16 @@ FrameTimingTracker::CompositeTimingEvent::CompositeTimingEvent(
|
| FrameTimingTracker::CompositeTimingEvent::~CompositeTimingEvent() {
|
| }
|
|
|
| +FrameTimingTracker::MainFrameTimingEvent::MainFrameTimingEvent(
|
| + int frame_id,
|
| + base::TimeTicks timestamp,
|
| + base::TimeTicks end_time)
|
| + : frame_id(frame_id), timestamp(timestamp), end_time(end_time) {
|
| +}
|
| +
|
| +FrameTimingTracker::MainFrameTimingEvent::~MainFrameTimingEvent() {
|
| +}
|
| +
|
| // static
|
| scoped_ptr<FrameTimingTracker> FrameTimingTracker::Create() {
|
| return make_scoped_ptr(new FrameTimingTracker);
|
| @@ -37,23 +47,52 @@ void FrameTimingTracker::SaveTimeStamps(
|
| const std::vector<FrameAndRectIds>& frame_ids) {
|
| if (!composite_events_)
|
| composite_events_.reset(new CompositeTimingSet);
|
| - for (const auto& pair : frame_ids)
|
| + for (const auto& pair : frame_ids) {
|
| (*composite_events_)[pair.second].push_back(
|
| CompositeTimingEvent(pair.first, timestamp));
|
| + }
|
| +}
|
| +
|
| +void FrameTimingTracker::SaveMainFrameTimeStamps(
|
| + const std::vector<int64_t>& request_ids,
|
| + base::TimeTicks main_frame_time,
|
| + base::TimeTicks end_time,
|
| + int source_frame_number) {
|
| + if (!main_frame_events_)
|
| + main_frame_events_.reset(new MainFrameTimingSet);
|
| + for (const auto& request : request_ids) {
|
| + std::vector<MainFrameTimingEvent>& events = (*main_frame_events_)[request];
|
| + events.push_back(
|
| + MainFrameTimingEvent(source_frame_number, main_frame_time, end_time));
|
| + }
|
| }
|
|
|
| scoped_ptr<FrameTimingTracker::CompositeTimingSet>
|
| -FrameTimingTracker::GroupCountsByRectId() {
|
| +FrameTimingTracker::GroupCompositeCountsByRectId() {
|
| if (!composite_events_)
|
| return make_scoped_ptr(new CompositeTimingSet);
|
| - scoped_ptr<CompositeTimingSet> composite_info(new CompositeTimingSet);
|
| - for (auto& infos : *composite_events_)
|
| + for (auto& infos : *composite_events_) {
|
| std::sort(
|
| infos.second.begin(), infos.second.end(),
|
| [](const CompositeTimingEvent& lhs, const CompositeTimingEvent& rhs) {
|
| return lhs.timestamp < rhs.timestamp;
|
| });
|
| + }
|
| return composite_events_.Pass();
|
| }
|
|
|
| +scoped_ptr<FrameTimingTracker::MainFrameTimingSet>
|
| +FrameTimingTracker::GroupMainFrameCountsByRectId() {
|
| + if (!main_frame_events_)
|
| + return make_scoped_ptr(new MainFrameTimingSet);
|
| + for (auto& infos : *main_frame_events_) {
|
| + std::sort(
|
| + infos.second.begin(), infos.second.end(),
|
| + [](const MainFrameTimingEvent& lhs, const MainFrameTimingEvent& rhs) {
|
| + return lhs.timestamp < rhs.timestamp;
|
| + });
|
| + }
|
| + return main_frame_events_.Pass();
|
| +}
|
| +
|
| } // namespace cc
|
|
|