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 |