Chromium Code Reviews| Index: chrome/browser/page_load_metrics/page_load_metrics_update_dispatcher.h |
| diff --git a/chrome/browser/page_load_metrics/page_load_metrics_update_dispatcher.h b/chrome/browser/page_load_metrics/page_load_metrics_update_dispatcher.h |
| index 47f6e4f5171e0534183f852a14dad6a3af9cfc08..32c1a152452c11ea2ebd5c7d2f34adfd8c0f9ff4 100644 |
| --- a/chrome/browser/page_load_metrics/page_load_metrics_update_dispatcher.h |
| +++ b/chrome/browser/page_load_metrics/page_load_metrics_update_dispatcher.h |
| @@ -9,6 +9,7 @@ |
| #include "base/macros.h" |
| #include "base/time/time.h" |
| +#include "base/timer/timer.h" |
| #include "chrome/common/page_load_metrics/page_load_metrics.mojom.h" |
| namespace content { |
| @@ -65,6 +66,8 @@ enum PageLoadTimingStatus { |
| }; |
| extern const char kPageLoadTimingStatus[]; |
| +extern const char kHistogramOutOfOrderTiming[]; |
| +extern const char kHistogramOutOfOrderTimingBuffered[]; |
| } // namespace internal |
| @@ -101,6 +104,8 @@ class PageLoadMetricsUpdateDispatcher { |
| void DidFinishSubFrameNavigation( |
| content::NavigationHandle* navigation_handle); |
| + void ShutDown(); |
| + |
| const mojom::PageLoadTiming& timing() const { |
| return *(current_merged_page_timing_.get()); |
| } |
| @@ -122,12 +127,7 @@ class PageLoadMetricsUpdateDispatcher { |
| void UpdateMainFrameMetadata(const mojom::PageLoadMetadata& new_metadata); |
| void UpdateSubFrameMetadata(const mojom::PageLoadMetadata& subframe_metadata); |
| - // Merge values from |new_paint_timing| into |pending_merged_page_timing_|, |
| - // offsetting any new timings by the |navigation_start_offset|. |
| - void MergePaintTiming(base::TimeDelta navigation_start_offset, |
| - const mojom::PaintTiming& new_paint_timing, |
| - bool is_main_frame); |
| - |
| + void MaybeDispatchTimingUpdates(bool did_merge_new_timing_value); |
| void DispatchTimingUpdates(); |
| // The client is guaranteed to outlive this object. |
| @@ -136,6 +136,8 @@ class PageLoadMetricsUpdateDispatcher { |
| // Interface to chrome features. Must outlive the class. |
| PageLoadMetricsEmbedderInterface* const embedder_interface_; |
| + std::unique_ptr<base::Timer> timer_; |
|
Charlie Harrison
2017/05/30 14:49:07
#include <memory>
Bryan McQuade
2017/05/30 15:30:23
done
|
| + |
| // Time the navigation for this page load was initiated. |
| const base::TimeTicks navigation_start_; |