#include "components/page_load_metrics/google/browser/gws_abandoned_page_load_metrics_observer.h"
#include <string>
#include "base/containers/flat_map.h"
#include "base/metrics/histogram_functions.h"
#include "base/no_destructor.h"
#include "base/strings/string_util.h"
#include "base/time/time.h"
#include "components/page_load_metrics/browser/page_load_metrics_util.h"
#include "components/page_load_metrics/common/page_load_timing.h"
#include "content/public/browser/navigation_handle.h"
namespace internal {
const char kGWSAbandonedPageLoadMetricsHistogramPrefix[] = …;
const char kSuffixWasNonSRP[] = …;
const char kGwsAFTStartMarkName[] = …;
const char kGwsAFTEndMarkName[] = …;
const char kGwsHeaderChunkStartMarkName[] = …;
const char kGwsHeaderChunkEndMarkName[] = …;
const char kGwsBodyChunkStartMarkName[] = …;
const char kGwsBodyChunkEndMarkName[] = …;
}
GWSAbandonedPageLoadMetricsObserver::GWSAbandonedPageLoadMetricsObserver() =
default;
GWSAbandonedPageLoadMetricsObserver::~GWSAbandonedPageLoadMetricsObserver() =
default;
const char* GWSAbandonedPageLoadMetricsObserver::GetObserverName() const { … }
page_load_metrics::PageLoadMetricsObserver::ObservePolicy
GWSAbandonedPageLoadMetricsObserver::OnNavigationEvent(
content::NavigationHandle* navigation_handle) { … }
const base::flat_map<std::string,
AbandonedPageLoadMetricsObserver::NavigationMilestone>&
GWSAbandonedPageLoadMetricsObserver::GetCustomUserTimingMarkNames() const { … }
bool GWSAbandonedPageLoadMetricsObserver::IsAllowedToLogMetrics() const { … }
bool GWSAbandonedPageLoadMetricsObserver::IsAllowedToLogUKM() const { … }
std::string GWSAbandonedPageLoadMetricsObserver::GetHistogramPrefix() const { … }
std::vector<std::string>
GWSAbandonedPageLoadMetricsObserver::GetAdditionalSuffixes() const { … }
void GWSAbandonedPageLoadMetricsObserver::AddSRPMetricsToUKMIfNeeded(
ukm::builders::AbandonedSRPNavigation& builder) { … }