Commit 3d1dd793 authored by Alex Clarke's avatar Alex Clarke Committed by Commit Bot

WebLayer: Add some trace events around Java callbacks

This will help us diagnose any client related performance issues from
traces.

Change-Id: Iafe9ac796aca317d8eaee9a9bf10890ba719a1df
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1900993
Auto-Submit: Alex Clarke <alexclarke@chromium.org>
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Reviewed-by: default avatarEric Seckler <eseckler@chromium.org>
Reviewed-by: default avatarTobias Sargeant <tobiasjs@chromium.org>
Cr-Commit-Position: refs/heads/master@{#715266}
parent 2ec28db9
......@@ -143,6 +143,7 @@
X("vk") \
X("wayland") \
X("webaudio") \
X("weblayer") \
X("WebCore") \
X("webrtc") \
X("xr") \
......
......@@ -115,6 +115,7 @@ void ContentViewRenderView::UpdateLayerTreeHost() {
void ContentViewRenderView::DidSwapFrame(int pending_frames) {
JNIEnv* env = base::android::AttachCurrentThread();
TRACE_EVENT0("weblayer", "Java_ContentViewRenderView_didSwapFrame");
if (Java_ContentViewRenderView_didSwapFrame(env, java_obj_)) {
compositor_->SetNeedsRedraw();
}
......
......@@ -39,6 +39,7 @@ void DownloadCallbackProxy::DownloadRequested(
ConvertUTF8ToJavaString(env, content_disposition));
ScopedJavaLocalRef<jstring> jstring_mime_type(
ConvertUTF8ToJavaString(env, mime_type));
TRACE_EVENT0("weblayer", "Java_DownloadCallbackProxy_downloadRequested");
Java_DownloadCallbackProxy_downloadRequested(
env, java_delegate_, jstring_url, jstring_user_agent,
jstring_content_disposition, jstring_mime_type, content_length);
......
......@@ -28,11 +28,13 @@ FullscreenCallbackProxy::~FullscreenCallbackProxy() {
void FullscreenCallbackProxy::EnterFullscreen(base::OnceClosure exit_closure) {
exit_fullscreen_closure_ = std::move(exit_closure);
TRACE_EVENT0("weblayer", "Java_FullscreenCallbackProxy_enterFullscreen");
Java_FullscreenCallbackProxy_enterFullscreen(AttachCurrentThread(),
java_delegate_);
}
void FullscreenCallbackProxy::ExitFullscreen() {
TRACE_EVENT0("weblayer", "Java_FullscreenCallbackProxy_exitFullscreen");
Java_FullscreenCallbackProxy_exitFullscreen(AttachCurrentThread(),
java_delegate_);
}
......
......@@ -14,6 +14,7 @@
#if defined(OS_ANDROID)
#include "base/android/jni_string.h"
#include "base/trace_event/trace_event.h"
#include "weblayer/browser/java/jni/NavigationControllerImpl_jni.h"
#endif
......@@ -121,8 +122,13 @@ void NavigationControllerImpl::DidStartNavigation(
#if defined(OS_ANDROID)
if (java_controller_) {
JNIEnv* env = AttachCurrentThread();
{
TRACE_EVENT0("weblayer",
"Java_NavigationControllerImpl_createNavigation");
Java_NavigationControllerImpl_createNavigation(
env, java_controller_, reinterpret_cast<jlong>(navigation));
}
TRACE_EVENT0("weblayer", "Java_NavigationControllerImpl_navigationStarted");
Java_NavigationControllerImpl_navigationStarted(
env, java_controller_, navigation->java_navigation());
}
......@@ -140,6 +146,8 @@ void NavigationControllerImpl::DidRedirectNavigation(
auto* navigation = navigation_map_[navigation_handle].get();
#if defined(OS_ANDROID)
if (java_controller_) {
TRACE_EVENT0("weblayer",
"Java_NavigationControllerImpl_navigationRedirected");
Java_NavigationControllerImpl_navigationRedirected(
AttachCurrentThread(), java_controller_, navigation->java_navigation());
}
......@@ -157,6 +165,8 @@ void NavigationControllerImpl::ReadyToCommitNavigation(
auto* navigation = navigation_map_[navigation_handle].get();
#if defined(OS_ANDROID)
if (java_controller_) {
TRACE_EVENT0("weblayer",
"Java_NavigationControllerImpl_readyToCommitNavigation");
Java_NavigationControllerImpl_readyToCommitNavigation(
AttachCurrentThread(), java_controller_, navigation->java_navigation());
}
......@@ -176,6 +186,8 @@ void NavigationControllerImpl::DidFinishNavigation(
!navigation_handle->IsErrorPage()) {
#if defined(OS_ANDROID)
if (java_controller_) {
TRACE_EVENT0("weblayer",
"Java_NavigationControllerImpl_navigationCompleted");
Java_NavigationControllerImpl_navigationCompleted(
AttachCurrentThread(), java_controller_,
navigation->java_navigation());
......@@ -186,6 +198,8 @@ void NavigationControllerImpl::DidFinishNavigation(
} else {
#if defined(OS_ANDROID)
if (java_controller_) {
TRACE_EVENT0("weblayer",
"Java_NavigationControllerImpl_navigationFailed");
Java_NavigationControllerImpl_navigationFailed(
AttachCurrentThread(), java_controller_,
navigation->java_navigation());
......@@ -209,6 +223,8 @@ void NavigationControllerImpl::DidStopLoading() {
void NavigationControllerImpl::LoadProgressChanged(double progress) {
#if defined(OS_ANDROID)
if (java_controller_) {
TRACE_EVENT0("weblayer",
"Java_NavigationControllerImpl_loadProgressChanged");
Java_NavigationControllerImpl_loadProgressChanged(
AttachCurrentThread(), java_controller_, progress);
}
......@@ -219,6 +235,8 @@ void NavigationControllerImpl::LoadProgressChanged(double progress) {
void NavigationControllerImpl::DidFirstVisuallyNonEmptyPaint() {
#if defined(OS_ANDROID)
TRACE_EVENT0("weblayer",
"Java_NavigationControllerImpl_onFirstContentfulPaint");
Java_NavigationControllerImpl_onFirstContentfulPaint(AttachCurrentThread(),
java_controller_);
#endif
......@@ -230,6 +248,7 @@ void NavigationControllerImpl::DidFirstVisuallyNonEmptyPaint() {
void NavigationControllerImpl::NotifyLoadStateChanged() {
#if defined(OS_ANDROID)
if (java_controller_) {
TRACE_EVENT0("weblayer", "Java_NavigationControllerImpl_loadStateChanged");
Java_NavigationControllerImpl_loadStateChanged(
AttachCurrentThread(), java_controller_, web_contents()->IsLoading(),
web_contents()->IsLoadingToDifferentDocument());
......
......@@ -28,6 +28,7 @@ NewTabCallbackProxy::~NewTabCallbackProxy() {
void NewTabCallbackProxy::OnNewTab(std::unique_ptr<Tab> tab, NewTabType type) {
JNIEnv* env = AttachCurrentThread();
// The Java side takes ownership of Tab.
TRACE_EVENT0("weblayer", "Java_NewTabCallbackProxy_onNewTab");
Java_NewTabCallbackProxy_onNewTab(env, java_impl_,
reinterpret_cast<jlong>(tab.release()),
static_cast<int>(type));
......
......@@ -28,10 +28,12 @@ void TabCallbackProxy::DisplayedUrlChanged(const GURL& url) {
JNIEnv* env = AttachCurrentThread();
ScopedJavaLocalRef<jstring> jstring_url(
ConvertUTF8ToJavaString(env, url.spec()));
TRACE_EVENT0("weblayer", "Java_TabCallbackProxy_visibleUrlChanged");
Java_TabCallbackProxy_visibleUrlChanged(env, java_observer_, jstring_url);
}
void TabCallbackProxy::OnRenderProcessGone() {
TRACE_EVENT0("weblayer", "Java_TabCallbackProxy_onRenderProcessGone");
Java_TabCallbackProxy_onRenderProcessGone(AttachCurrentThread(),
java_observer_);
}
......
......@@ -31,6 +31,7 @@
#include "base/android/callback_android.h"
#include "base/android/jni_string.h"
#include "base/json/json_writer.h"
#include "base/trace_event/trace_event.h"
#include "components/embedder_support/android/delegate/color_chooser_android.h"
#include "weblayer/browser/java/jni/TabImpl_jni.h"
#include "weblayer/browser/top_controls_container_view.h"
......@@ -291,6 +292,7 @@ int TabImpl::GetTopControlsHeight() {
bool TabImpl::DoBrowserControlsShrinkRendererSize(
const content::WebContents* web_contents) {
#if defined(OS_ANDROID)
TRACE_EVENT0("weblayer", "Java_TabImpl_doBrowserControlsShrinkRendererSize");
return Java_TabImpl_doBrowserControlsShrinkRendererSize(
base::android::AttachCurrentThread(), java_impl_);
#else
......
......@@ -110,6 +110,8 @@ void TopControlsContainerView::SetWebContents(
void TopControlsContainerView::DidToggleFullscreenModeForTab(
bool entered_fullscreen,
bool will_cause_resize) {
TRACE_EVENT0("weblayer",
"Java_TopControlsContainerView_didToggleFullscreenModeForTab");
Java_TopControlsContainerView_didToggleFullscreenModeForTab(
AttachCurrentThread(), java_top_controls_container_view_,
entered_fullscreen);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment