// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_PAGE_LOAD_METRICS_BROWSER_PAGE_LOAD_METRICS_UPDATE_DISPATCHER_H_ #define COMPONENTS_PAGE_LOAD_METRICS_BROWSER_PAGE_LOAD_METRICS_UPDATE_DISPATCHER_H_ #include <map> #include <memory> #include "base/memory/raw_ptr.h" #include "base/time/time.h" #include "base/timer/timer.h" #include "components/page_load_metrics/browser/layout_shift_normalization.h" #include "components/page_load_metrics/browser/page_load_metrics_observer.h" #include "components/page_load_metrics/browser/page_load_metrics_observer_delegate.h" #include "components/page_load_metrics/browser/responsiveness_metrics_normalization.h" #include "components/page_load_metrics/common/page_load_metrics.mojom.h" namespace content { class NavigationHandle; class RenderFrameHost; } // namespace content namespace page_load_metrics { class PageLoadMetricsEmbedderInterface; namespace internal { enum class PageLoadTrackerPageType; // Used to track the status of PageLoadTimings received from the render process. // // These values are recorded in histograms. Entries should not be renumbered // and numeric values should never be reused. // // If you add elements to this enum, make sure you update the enum value in // histograms.xml. Only add elements to the end to prevent inconsistencies // between versions. // LINT.IfChange(PageLoadTimingStatus) enum PageLoadTimingStatus { … }; // LINT.ThenChange(//tools/metrics/histograms/metadata/page/enums.xml:PageLoadTimingStatus) extern const char kPageLoadTimingStatus[]; } // namespace internal // PageLoadMetricsUpdateDispatcher manages updates to page load metrics data, // and dispatches them to the Client. PageLoadMetricsUpdateDispatcher may delay // dispatching metrics updates to the Client in cases where metrics state hasn't // stabilized. class PageLoadMetricsUpdateDispatcher { … }; } // namespace page_load_metrics #endif // COMPONENTS_PAGE_LOAD_METRICS_BROWSER_PAGE_LOAD_METRICS_UPDATE_DISPATCHER_H_