Skip to content

Commit

Permalink
[M115][aw][tracing] Add a trace event tracking AwContents lifetime
Browse files Browse the repository at this point in the history
This change adds a trace event with the 'android_webview.timeline'
category that starts in AwContents constructor and ends in AwContents
destructor.

(cherry picked from commit 876a1a3)

Bug: 1452205, b/280436352
Change-Id: Iec1133bf394cc15fe14d32cb5e543f54e579aba9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4573729
Reviewed-by: Alexander Timin <altimin@chromium.org>
Commit-Queue: Oksana Zhuravlova <oksamyt@chromium.org>
Reviewed-by: Richard Coles <torne@chromium.org>
Cr-Original-Commit-Position: refs/heads/main@{#1153370}
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4606043
Reviewed-by: Krishna Govind <govind@chromium.org>
Owners-Override: Krishna Govind <govind@chromium.org>
Cr-Commit-Position: refs/branch-heads/5790@{#704}
Cr-Branched-From: 1d71a33-refs/heads/main@{#1148114}
  • Loading branch information
Oksana Zhuravlova authored and Chromium LUCI CQ committed Jun 13, 2023
1 parent d4e060c commit db8e7c4
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions android_webview/browser/aw_contents.cc
Expand Up @@ -59,6 +59,8 @@
#include "base/supports_user_data.h"
#include "base/task/single_thread_task_runner.h"
#include "base/threading/thread_restrictions.h"
#include "base/trace_event/trace_event.h"
#include "base/trace_event/typed_macros.h"
#include "components/android_autofill/browser/android_autofill_manager.h"
#include "components/android_autofill/browser/autofill_provider_android.h"
#include "components/autofill/content/browser/content_autofill_driver.h"
Expand Down Expand Up @@ -225,6 +227,8 @@ AwContents::AwContents(std::unique_ptr<WebContents> web_contents)
: content::WebContentsObserver(web_contents.get()),
browser_view_renderer_(this, content::GetUIThreadTaskRunner({})),
web_contents_(std::move(web_contents)) {
TRACE_EVENT_BEGIN("android_webview.timeline", "WebView Instance",
perfetto::Track::FromPointer(this));
base::subtle::NoBarrier_AtomicIncrement(&g_instance_count, 1);
icon_helper_ = std::make_unique<IconHelper>(web_contents_.get());
icon_helper_->SetListener(this);
Expand Down Expand Up @@ -368,6 +372,9 @@ AwContents::~AwContents() {
WebContentsObserver::Observe(nullptr);
AwBrowserProcess::GetInstance()->visibility_metrics_logger()->RemoveClient(
this);
// Corresponds to "WebView Instance" in AwContents's constructor.
TRACE_EVENT_END("android_webview.timeline",
perfetto::Track::FromPointer(this));
}

base::android::ScopedJavaLocalRef<jobject> AwContents::GetWebContents(
Expand Down

0 comments on commit db8e7c4

Please sign in to comment.