910e62b5创建于 1月15日历史提交
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "android_webview/renderer/aw_render_frame_observer.h"

#include "base/android/orderfile/orderfile_buildflags.h"

#if BUILDFLAG(ORDERFILE_INSTRUMENTATION)
#include "base/android/orderfile/orderfile_instrumentation.h"  // nogncheck
#endif

namespace android_webview {

AwRenderFrameObserver::AwRenderFrameObserver(content::RenderFrame* render_frame)
    : content::RenderFrameObserver(render_frame) {}

AwRenderFrameObserver::~AwRenderFrameObserver() = default;

void AwRenderFrameObserver::DidStartNavigation(
    const GURL& url,
    std::optional<blink::WebNavigationType> navigation_type) {
#if BUILDFLAG(ORDERFILE_INSTRUMENTATION)
  // Ensures that StartDelayedDump is called only once for the first navigation
  // during the WebView Renderer process lifetime.
  [[maybe_unused]] static bool call_once = [] {
    base::android::orderfile::StartDelayedDump();
    return true;
  }();
#endif
}

void AwRenderFrameObserver::OnDestruct() {
  delete this;
}

}  // namespace android_webview