Commit 1db1e87c authored by Nate Fischer's avatar Nate Fischer Committed by Commit Bot

AW docs: document Dev UI

No change to logic, only docs.

This adds general documentation for how to launch Dev UI, and provides
information for how Dev UI interacts with Finch.

Fixed: 1058571
Test: tools/md_browser/md_browser.py
Test: Upload to gerrit > open file > click "gitiles"
Change-Id: Icc7234807935d764886a66305ff8cd5653701f5e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2123334Reviewed-by: default avatarHazem Ashmawy <hazems@chromium.org>
Commit-Queue: Nate Fischer <ntfschr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#755053}
parent 88cb1d9e
# Flag UI # Flag UI
[TOC]
While WebView supports [toggling arbitrary flags](commandline-flags.md) on While WebView supports [toggling arbitrary flags](commandline-flags.md) on
debuggable devices, we also support toggling a curated set of experimental debuggable devices, we also support toggling a curated set of experimental
flags/features on production Android devices. We expose these features as part flags/features on production Android devices. We expose these features as part
...@@ -8,12 +10,89 @@ tool. ...@@ -8,12 +10,89 @@ tool.
![WebView flag UI](images/webview_flag_ui.png) ![WebView flag UI](images/webview_flag_ui.png)
## Launching WebView DevTools
The flag UI is part of "WebView DevTools," an on-device tool that ships with
device's WebView implementation. You can launch WebView DevTools by any of the
following:
### Launcher icon on pre-stable channels (preferred)
The best way to launch WebView DevTools is to [download WebView Dev or WebView
Canary](prerelease.md). These channels will have a launcher icon which will
launch WebView DevTools.
*** note
**Note:** the WebView DevTools icon does not appear by default on Android 7
through 9 (Nougat/Oreo/Pie). To enable the launcher icon, first [change your
WebView provider](prerelease.md#Android-7-through-9-Nougat_Oreo_Pie) and then
launch the same Chrome channel or any WebView app (ex. [WebView shell
browser](webview-shell.md), or open an email in Gmail).
***
### Launch via adb
If you have adb installed, you can connect your Android device to launch
DevTools:
```sh
adb shell am start -a "com.android.webview.SHOW_DEV_UI"
```
### Launch via WebView Shell
Newer versions of [WebView shell](webview-shell.md) have a menu option to launch
WebView DevTools. If your copy of WebView shell doesn't have this option, you
may need to rebuild it yourself.
## Using the flag UI ## Using the flag UI
This feature is launching soon! Until then, Googlers can follow instructions in Once you've launched WebView DevTools, tap the "Flags" option in the bottom
[this email thread](http://shortn/_Whbt0gWDS9). navgation bar. You can scroll through the list to find your desired feature/flag
(ex. "highlight-all-webviews"), tap the dropdown (look for "Default"), and tap
"Enabled" in the dialog popup. You can enable (or disable) as many flags as you
need.
*** promo
**Tip:** enabling "highlight-all-webviews" (which tints all WebView objects
yellow) in addition to your desired flag is a great way to verify apps have
picked up WebView flags.
***
Kill and restart WebView apps so they pick up the new flags.
When you're done, open the notification tray and tap the WebView DevTools
notification to go back to the flag UI. Tap "Reset all to default" and kill and
restart WebView apps to go back to the default behavior.
### Overriding variations/Field Trials
Like Chrome, WebView supports A/B experiments and feature rollouts through
variations (AKA "field trials" or "Finch"). The flag UI can override the field
trial config, either to **enable** an experimental feature to ensure your app
works correctly, or to **disable** an experiment to determine if this is the
root cause for a WebView behavior change breaking your app. Simply tap "Enabled"
or "Disabled" in the UI; "Default" means WebView will pick up the random field
trial experiment.
If you find an experiment is the root cause for app breakage, please [file a
bug](https://bugs.chromium.org/p/chromium/issues/entry?template=Webview+Bugs),
mention which experiment, and link to your app's Play Store page for our team to
investigate.
### Accelerating field trial config download
You can also use the flag UI to download new field trial configs ("seeds") more
quickly, to verify the next seed will fix app breakage. Enable all of the
following:
* `finch-seed-expiration-age=0`
* `finch-seed-min-update-period=0`
* `finch-seed-min-download-period=0`
* `finch-seed-ignore-pending-download`
<!-- TODO(ntfschr): fill this out when Dev UI launches (https://crbug.com/1002589)--> Restart your app, kill it, and restart it a second time. Your app should be
running with the latest WebView variations seed.
## Adding your flags and features to the UI ## Adding your flags and features to the UI
......
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