androidwebviewprobe

command
v1.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 16, 2026 License: BSD-3-Clause Imports: 14 Imported by: 0

Documentation

Overview

Command androidwebviewprobe is the on-device pass for the Android android.webkit.WebView backend (#63, #76) and the #143 IME polish work: hosting in the panel window, the runOnUiThread threading discipline under churn (the pre-rebrand tracker #973 deadlock shape), geometry + native clip inside a container.Scroll, the #59 focus bridge, the bridge and navigation API, teardown — and instrumented cold-tap / keystroke-latency measurement.

The probe appends every result to the on-screen log AND to stdout — launch with `adb logcat -s Bellui` and the results stream back to the host machine. Taps are injected from the host with `adb shell input tap` aimed by the tapinfo lines (canvas coordinates, scale and inset for computing device pixels); hack/androidwebviewprobe/drive.sh automates the whole loop.

Modes, selected by a system property so no rebuild or reinstall is needed (`adb shell setprop debug.bellui.probe <mode>` before launching):

  • "" (default): the scripted #76 flow. Steps 6/7 wait for a tap (adb injectable); a fresh tapinfo line is emitted after step 6 because the keyboard-driven relayout moves the Entry (#143 item 3), and step 7b drives the same handback programmatically through the FocusNativeView/Canvas.Focus seam, no finger needed.
  • "coldtap": hosts a full-viewport page input (any tap inside the host area lands on the editor — no CSS coordinate math) and then idles; the launch → tap → keyboard-visible? loop is driven entirely from the host machine (#143 item 1).
  • "latency": the same full-viewport input plus in-page instrumentation that reports, per keystroke, the delivery latency (event.timeStamp → JS handler) and the paint latency (input event → next rAF) over the bridge. The stall-detector spinner is NOT created in this mode — it forces a full-canvas GL redraw at frame rate, which is probe cost, not backend cost (#143 item 2).
  • "latency-spinner": latency mode WITH the spinner, to price the spinner itself by comparison.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL