Commit 794ea1b6 authored by Friedrich Horschig's avatar Friedrich Horschig Committed by Chromium LUCI CQ

[Android] Add traces to keyboard accessory code

This CL does not affect any behavior.

By adding traces, debugging events of jankiness becomes simpler and it
allows to figure out which steps that rely on cached data slow down
once the caching is reduced.

Bug: None
Change-Id: I2771e85038fd215067bb2a9aa6a2750e80e842c6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2633266Reviewed-by: default avatarMatthias Körber <koerber@google.com>
Commit-Queue: Friedrich [CET] <fhorschig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#844485}
parent eb99c8ab
......@@ -25,6 +25,7 @@ import androidx.annotation.Nullable;
import androidx.annotation.Px;
import androidx.annotation.VisibleForTesting;
import org.chromium.base.TraceEvent;
import org.chromium.base.supplier.ObservableSupplierImpl;
import org.chromium.base.supplier.Supplier;
import org.chromium.chrome.browser.ChromeKeyboardVisibilityDelegate;
......@@ -325,6 +326,8 @@ class ManualFillingMediator extends EmptyTabObserver
onOrientationChange();
return;
} else if (property == KEYBOARD_EXTENSION_STATE) {
TraceEvent.instant("ManualFillingMediator$KeyboardExtensionState",
getNameForState(mModel.get(KEYBOARD_EXTENSION_STATE)));
transitionIntoState(mModel.get(KEYBOARD_EXTENSION_STATE));
return;
} else if (property == SUPPRESSED_BY_BOTTOM_SHEET) {
......@@ -342,9 +345,11 @@ class ManualFillingMediator extends EmptyTabObserver
*/
private void transitionIntoState(@KeyboardExtensionState int extensionState) {
if (!meetsStatePreconditions(extensionState)) return;
TraceEvent.begin("ManualFillingMediator#transitionIntoState");
enforceStateProperties(extensionState);
changeBottomControlSpaceForState(extensionState);
updateKeyboard(extensionState);
TraceEvent.end("ManualFillingMediator#transitionIntoState");
}
/**
......@@ -670,6 +675,24 @@ class ManualFillingMediator extends EmptyTabObserver
return mModel.get(KEYBOARD_EXTENSION_STATE) == state;
}
private static String getNameForState(@KeyboardExtensionState int state) {
switch (state) {
case HIDDEN:
return "HIDDEN";
case EXTENDING_KEYBOARD:
return "EXTENDING_KEYBOARD";
case REPLACING_KEYBOARD:
return "REPLACING_KEYBOARD";
case WAITING_TO_REPLACE:
return "WAITING_TO_REPLACE";
case FLOATING_BAR:
return "FLOATING_BAR";
case FLOATING_SHEET:
return "FLOATING_SHEET";
}
return null;
}
@VisibleForTesting
void setInsetObserverViewSupplier(Supplier<InsetObserverView> insetObserverViewSupplier) {
mInsetObserverViewSupplier = insetObserverViewSupplier;
......
......@@ -118,6 +118,8 @@ void ManualFillingControllerImpl::RefreshSuggestions(
void ManualFillingControllerImpl::NotifyFocusedInputChanged(
autofill::mojom::FocusedFieldType focused_field_type) {
TRACE_EVENT0("passwords",
"ManualFillingControllerImpl::NotifyFocusedInputChanged");
focused_field_type_ = focused_field_type;
// Ensure warnings and filling state is updated according to focused field.
......@@ -275,6 +277,7 @@ bool ManualFillingControllerImpl::ShouldShowAccessory() const {
}
void ManualFillingControllerImpl::UpdateVisibility() {
TRACE_EVENT0("passwords", "ManualFillingControllerImpl::UpdateVisibility");
if (ShouldShowAccessory()) {
for (const FillingSource& source : available_sources_) {
if (!available_sheets_.contains(source))
......
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