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 @@ ...@@ -143,6 +143,7 @@
X("vk") \ X("vk") \
X("wayland") \ X("wayland") \
X("webaudio") \ X("webaudio") \
X("weblayer") \
X("WebCore") \ X("WebCore") \
X("webrtc") \ X("webrtc") \
X("xr") \ X("xr") \
......
...@@ -115,6 +115,7 @@ void ContentViewRenderView::UpdateLayerTreeHost() { ...@@ -115,6 +115,7 @@ void ContentViewRenderView::UpdateLayerTreeHost() {
void ContentViewRenderView::DidSwapFrame(int pending_frames) { void ContentViewRenderView::DidSwapFrame(int pending_frames) {
JNIEnv* env = base::android::AttachCurrentThread(); JNIEnv* env = base::android::AttachCurrentThread();
TRACE_EVENT0("weblayer", "Java_ContentViewRenderView_didSwapFrame");
if (Java_ContentViewRenderView_didSwapFrame(env, java_obj_)) { if (Java_ContentViewRenderView_didSwapFrame(env, java_obj_)) {
compositor_->SetNeedsRedraw(); compositor_->SetNeedsRedraw();
} }
......
...@@ -39,6 +39,7 @@ void DownloadCallbackProxy::DownloadRequested( ...@@ -39,6 +39,7 @@ void DownloadCallbackProxy::DownloadRequested(
ConvertUTF8ToJavaString(env, content_disposition)); ConvertUTF8ToJavaString(env, content_disposition));
ScopedJavaLocalRef<jstring> jstring_mime_type( ScopedJavaLocalRef<jstring> jstring_mime_type(
ConvertUTF8ToJavaString(env, mime_type)); ConvertUTF8ToJavaString(env, mime_type));
TRACE_EVENT0("weblayer", "Java_DownloadCallbackProxy_downloadRequested");
Java_DownloadCallbackProxy_downloadRequested( Java_DownloadCallbackProxy_downloadRequested(
env, java_delegate_, jstring_url, jstring_user_agent, env, java_delegate_, jstring_url, jstring_user_agent,
jstring_content_disposition, jstring_mime_type, content_length); jstring_content_disposition, jstring_mime_type, content_length);
......
...@@ -28,11 +28,13 @@ FullscreenCallbackProxy::~FullscreenCallbackProxy() { ...@@ -28,11 +28,13 @@ FullscreenCallbackProxy::~FullscreenCallbackProxy() {
void FullscreenCallbackProxy::EnterFullscreen(base::OnceClosure exit_closure) { void FullscreenCallbackProxy::EnterFullscreen(base::OnceClosure exit_closure) {
exit_fullscreen_closure_ = std::move(exit_closure); exit_fullscreen_closure_ = std::move(exit_closure);
TRACE_EVENT0("weblayer", "Java_FullscreenCallbackProxy_enterFullscreen");
Java_FullscreenCallbackProxy_enterFullscreen(AttachCurrentThread(), Java_FullscreenCallbackProxy_enterFullscreen(AttachCurrentThread(),
java_delegate_); java_delegate_);
} }
void FullscreenCallbackProxy::ExitFullscreen() { void FullscreenCallbackProxy::ExitFullscreen() {
TRACE_EVENT0("weblayer", "Java_FullscreenCallbackProxy_exitFullscreen");
Java_FullscreenCallbackProxy_exitFullscreen(AttachCurrentThread(), Java_FullscreenCallbackProxy_exitFullscreen(AttachCurrentThread(),
java_delegate_); java_delegate_);
} }
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
#include "base/android/jni_string.h" #include "base/android/jni_string.h"
#include "base/trace_event/trace_event.h"
#include "weblayer/browser/java/jni/NavigationControllerImpl_jni.h" #include "weblayer/browser/java/jni/NavigationControllerImpl_jni.h"
#endif #endif
...@@ -121,8 +122,13 @@ void NavigationControllerImpl::DidStartNavigation( ...@@ -121,8 +122,13 @@ void NavigationControllerImpl::DidStartNavigation(
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
if (java_controller_) { if (java_controller_) {
JNIEnv* env = AttachCurrentThread(); JNIEnv* env = AttachCurrentThread();
Java_NavigationControllerImpl_createNavigation( {
env, java_controller_, reinterpret_cast<jlong>(navigation)); 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( Java_NavigationControllerImpl_navigationStarted(
env, java_controller_, navigation->java_navigation()); env, java_controller_, navigation->java_navigation());
} }
...@@ -140,6 +146,8 @@ void NavigationControllerImpl::DidRedirectNavigation( ...@@ -140,6 +146,8 @@ void NavigationControllerImpl::DidRedirectNavigation(
auto* navigation = navigation_map_[navigation_handle].get(); auto* navigation = navigation_map_[navigation_handle].get();
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
if (java_controller_) { if (java_controller_) {
TRACE_EVENT0("weblayer",
"Java_NavigationControllerImpl_navigationRedirected");
Java_NavigationControllerImpl_navigationRedirected( Java_NavigationControllerImpl_navigationRedirected(
AttachCurrentThread(), java_controller_, navigation->java_navigation()); AttachCurrentThread(), java_controller_, navigation->java_navigation());
} }
...@@ -157,6 +165,8 @@ void NavigationControllerImpl::ReadyToCommitNavigation( ...@@ -157,6 +165,8 @@ void NavigationControllerImpl::ReadyToCommitNavigation(
auto* navigation = navigation_map_[navigation_handle].get(); auto* navigation = navigation_map_[navigation_handle].get();
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
if (java_controller_) { if (java_controller_) {
TRACE_EVENT0("weblayer",
"Java_NavigationControllerImpl_readyToCommitNavigation");
Java_NavigationControllerImpl_readyToCommitNavigation( Java_NavigationControllerImpl_readyToCommitNavigation(
AttachCurrentThread(), java_controller_, navigation->java_navigation()); AttachCurrentThread(), java_controller_, navigation->java_navigation());
} }
...@@ -176,6 +186,8 @@ void NavigationControllerImpl::DidFinishNavigation( ...@@ -176,6 +186,8 @@ void NavigationControllerImpl::DidFinishNavigation(
!navigation_handle->IsErrorPage()) { !navigation_handle->IsErrorPage()) {
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
if (java_controller_) { if (java_controller_) {
TRACE_EVENT0("weblayer",
"Java_NavigationControllerImpl_navigationCompleted");
Java_NavigationControllerImpl_navigationCompleted( Java_NavigationControllerImpl_navigationCompleted(
AttachCurrentThread(), java_controller_, AttachCurrentThread(), java_controller_,
navigation->java_navigation()); navigation->java_navigation());
...@@ -186,6 +198,8 @@ void NavigationControllerImpl::DidFinishNavigation( ...@@ -186,6 +198,8 @@ void NavigationControllerImpl::DidFinishNavigation(
} else { } else {
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
if (java_controller_) { if (java_controller_) {
TRACE_EVENT0("weblayer",
"Java_NavigationControllerImpl_navigationFailed");
Java_NavigationControllerImpl_navigationFailed( Java_NavigationControllerImpl_navigationFailed(
AttachCurrentThread(), java_controller_, AttachCurrentThread(), java_controller_,
navigation->java_navigation()); navigation->java_navigation());
...@@ -209,6 +223,8 @@ void NavigationControllerImpl::DidStopLoading() { ...@@ -209,6 +223,8 @@ void NavigationControllerImpl::DidStopLoading() {
void NavigationControllerImpl::LoadProgressChanged(double progress) { void NavigationControllerImpl::LoadProgressChanged(double progress) {
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
if (java_controller_) { if (java_controller_) {
TRACE_EVENT0("weblayer",
"Java_NavigationControllerImpl_loadProgressChanged");
Java_NavigationControllerImpl_loadProgressChanged( Java_NavigationControllerImpl_loadProgressChanged(
AttachCurrentThread(), java_controller_, progress); AttachCurrentThread(), java_controller_, progress);
} }
...@@ -219,6 +235,8 @@ void NavigationControllerImpl::LoadProgressChanged(double progress) { ...@@ -219,6 +235,8 @@ void NavigationControllerImpl::LoadProgressChanged(double progress) {
void NavigationControllerImpl::DidFirstVisuallyNonEmptyPaint() { void NavigationControllerImpl::DidFirstVisuallyNonEmptyPaint() {
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
TRACE_EVENT0("weblayer",
"Java_NavigationControllerImpl_onFirstContentfulPaint");
Java_NavigationControllerImpl_onFirstContentfulPaint(AttachCurrentThread(), Java_NavigationControllerImpl_onFirstContentfulPaint(AttachCurrentThread(),
java_controller_); java_controller_);
#endif #endif
...@@ -230,6 +248,7 @@ void NavigationControllerImpl::DidFirstVisuallyNonEmptyPaint() { ...@@ -230,6 +248,7 @@ void NavigationControllerImpl::DidFirstVisuallyNonEmptyPaint() {
void NavigationControllerImpl::NotifyLoadStateChanged() { void NavigationControllerImpl::NotifyLoadStateChanged() {
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
if (java_controller_) { if (java_controller_) {
TRACE_EVENT0("weblayer", "Java_NavigationControllerImpl_loadStateChanged");
Java_NavigationControllerImpl_loadStateChanged( Java_NavigationControllerImpl_loadStateChanged(
AttachCurrentThread(), java_controller_, web_contents()->IsLoading(), AttachCurrentThread(), java_controller_, web_contents()->IsLoading(),
web_contents()->IsLoadingToDifferentDocument()); web_contents()->IsLoadingToDifferentDocument());
......
...@@ -28,6 +28,7 @@ NewTabCallbackProxy::~NewTabCallbackProxy() { ...@@ -28,6 +28,7 @@ NewTabCallbackProxy::~NewTabCallbackProxy() {
void NewTabCallbackProxy::OnNewTab(std::unique_ptr<Tab> tab, NewTabType type) { void NewTabCallbackProxy::OnNewTab(std::unique_ptr<Tab> tab, NewTabType type) {
JNIEnv* env = AttachCurrentThread(); JNIEnv* env = AttachCurrentThread();
// The Java side takes ownership of Tab. // The Java side takes ownership of Tab.
TRACE_EVENT0("weblayer", "Java_NewTabCallbackProxy_onNewTab");
Java_NewTabCallbackProxy_onNewTab(env, java_impl_, Java_NewTabCallbackProxy_onNewTab(env, java_impl_,
reinterpret_cast<jlong>(tab.release()), reinterpret_cast<jlong>(tab.release()),
static_cast<int>(type)); static_cast<int>(type));
......
...@@ -28,10 +28,12 @@ void TabCallbackProxy::DisplayedUrlChanged(const GURL& url) { ...@@ -28,10 +28,12 @@ void TabCallbackProxy::DisplayedUrlChanged(const GURL& url) {
JNIEnv* env = AttachCurrentThread(); JNIEnv* env = AttachCurrentThread();
ScopedJavaLocalRef<jstring> jstring_url( ScopedJavaLocalRef<jstring> jstring_url(
ConvertUTF8ToJavaString(env, url.spec())); ConvertUTF8ToJavaString(env, url.spec()));
TRACE_EVENT0("weblayer", "Java_TabCallbackProxy_visibleUrlChanged");
Java_TabCallbackProxy_visibleUrlChanged(env, java_observer_, jstring_url); Java_TabCallbackProxy_visibleUrlChanged(env, java_observer_, jstring_url);
} }
void TabCallbackProxy::OnRenderProcessGone() { void TabCallbackProxy::OnRenderProcessGone() {
TRACE_EVENT0("weblayer", "Java_TabCallbackProxy_onRenderProcessGone");
Java_TabCallbackProxy_onRenderProcessGone(AttachCurrentThread(), Java_TabCallbackProxy_onRenderProcessGone(AttachCurrentThread(),
java_observer_); java_observer_);
} }
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
#include "base/android/callback_android.h" #include "base/android/callback_android.h"
#include "base/android/jni_string.h" #include "base/android/jni_string.h"
#include "base/json/json_writer.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 "components/embedder_support/android/delegate/color_chooser_android.h"
#include "weblayer/browser/java/jni/TabImpl_jni.h" #include "weblayer/browser/java/jni/TabImpl_jni.h"
#include "weblayer/browser/top_controls_container_view.h" #include "weblayer/browser/top_controls_container_view.h"
...@@ -291,6 +292,7 @@ int TabImpl::GetTopControlsHeight() { ...@@ -291,6 +292,7 @@ int TabImpl::GetTopControlsHeight() {
bool TabImpl::DoBrowserControlsShrinkRendererSize( bool TabImpl::DoBrowserControlsShrinkRendererSize(
const content::WebContents* web_contents) { const content::WebContents* web_contents) {
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
TRACE_EVENT0("weblayer", "Java_TabImpl_doBrowserControlsShrinkRendererSize");
return Java_TabImpl_doBrowserControlsShrinkRendererSize( return Java_TabImpl_doBrowserControlsShrinkRendererSize(
base::android::AttachCurrentThread(), java_impl_); base::android::AttachCurrentThread(), java_impl_);
#else #else
......
...@@ -110,6 +110,8 @@ void TopControlsContainerView::SetWebContents( ...@@ -110,6 +110,8 @@ void TopControlsContainerView::SetWebContents(
void TopControlsContainerView::DidToggleFullscreenModeForTab( void TopControlsContainerView::DidToggleFullscreenModeForTab(
bool entered_fullscreen, bool entered_fullscreen,
bool will_cause_resize) { bool will_cause_resize) {
TRACE_EVENT0("weblayer",
"Java_TopControlsContainerView_didToggleFullscreenModeForTab");
Java_TopControlsContainerView_didToggleFullscreenModeForTab( Java_TopControlsContainerView_didToggleFullscreenModeForTab(
AttachCurrentThread(), java_top_controls_container_view_, AttachCurrentThread(), java_top_controls_container_view_,
entered_fullscreen); 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