#include "chrome/browser/metrics/first_web_contents_profiler.h"
#include <memory>
#include <string>
#include "base/check.h"
#include "base/functional/bind.h"
#include "base/location.h"
#include "base/metrics/histogram_functions.h"
#include "base/time/time.h"
#include "chrome/browser/metrics/first_web_contents_profiler_base.h"
#include "chrome/browser/ui/browser_list.h"
#include "components/startup_metric_utils/browser/startup_metric_utils.h"
#include "content/public/browser/navigation_controller.h"
#include "content/public/browser/navigation_entry.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/web_contents.h"
namespace metrics {
namespace {
void RecordFirstWebContentsFinishReason(
StartupProfilingFinishReason finish_reason) { … }
class FirstWebContentsProfiler : public FirstWebContentsProfilerBase { … };
FirstWebContentsProfiler::FirstWebContentsProfiler(
content::WebContents* web_contents)
: … { … }
void FirstWebContentsProfiler::RecordFinishReason(
StartupProfilingFinishReason finish_reason) { … }
void FirstWebContentsProfiler::RecordNavigationFinished(
base::TimeTicks navigation_start) { … }
void FirstWebContentsProfiler::RecordFirstNonEmptyPaint() { … }
bool FirstWebContentsProfiler::WasStartupInterrupted() { … }
}
void BeginFirstWebContentsProfiling() { … }
}