blob: 83440b1b763922abc0d60e51537837c6e7ab85b9 [file] [log] [blame]
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/page_load_metrics/browser/metrics_lifecycle_observer.h"
namespace page_load_metrics {
MetricsLifecycleObserver::MetricsLifecycleObserver(
content::WebContents* web_contents)
: observer_(page_load_metrics::MetricsWebContentsObserver::FromWebContents(
web_contents)) {
observer_->AddLifecycleObserver(this);
}
MetricsLifecycleObserver::~MetricsLifecycleObserver() {
if (observer_) {
observer_->RemoveLifecycleObserver(this);
observer_ = nullptr;
}
}
void MetricsLifecycleObserver::OnGoingAway() {
observer_ = nullptr;
}
const PageLoadMetricsObserverDelegate*
MetricsLifecycleObserver::GetDelegateForCommittedLoad() {
return observer_ ? &observer_->GetDelegateForCommittedLoad() : nullptr;
}
} // namespace page_load_metrics