New issue
Advanced search Search tips

Issue 840943 link

Starred by 6 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug-Regression



Sign in to add a comment

(2) Android WebView control with TalkBack set to importantForAccessibility="noHideDescendants"

Reported by g...@kochaniak.com, May 8 2018

Issue description

Steps to reproduce the problem:
1. Build attached very simple Android app, WebView Test, install on a device with arm-v7 processor (happens less frequently on arm-v8)
2. Enable TalkBack, start the app.
3. Observe very long time it takes for the UI and TalkBack to become responsive.

What is the expected behavior?
TalkBack and UI elements like buttons or scrolling the content of WebView should be responsive as soon as the text is loaded. It worked fine until Chrome/WebView ver. 66 was released. Downgrade to WebView 65 or older (or simply uninstall Chrome and WebView updates on device, and all works correctly.

What went wrong?
Very long time to respond to user input, make any buttons (even system buttons like Back, Home...) active.

Did this work before? Yes Chrome/WebView 65

Chrome version: 66 or higher, stable, beta, dev  Channel: stable
OS Version: 4, 5, 6, 7, 8
Flash Version: n/a

The offending instruction is:

    document.body.style.opacity="1";

in $(document).ready(function() {}). If the opacity setting is commented out, all works normally. In the bigger app, we need to set the opacity 0 for the body until all the layout is set to user preferences (e.g. margins, columns etc.) and then show it with opacity 1, to avoid flicker. The simple demo avoids all this extra code.

Also, using jquery is not an issue here. I had the same problem when jquery was commented out with the whole $(document).ready() part, and the opacity set function was instead put at the end of body.

I also attached app-debug.apk if someone would like to test without building the app.
 
WebViewTest.zip
726 KB Download

Comment 1 by junov@chromium.org, May 8 2018

Components: -Blink Mobile>WebView
Labels: Needs-triage-Mobile
Cc: pnangunoori@chromium.org
Labels: WV-Triaged Needs-Feedback
greg@ -- Thanks for reporting this issue with sample tests file. Tried to install the app-debug.apk file using Pixel 2 Android 8.0.0 and Samsung J7 Android 7.0.0 and was not able to install the application. On Samsung J7, we could observe the error "The package appears to be corrupt". Attached the screenshot of the same.

Also, request you to provide the devices make and model on which issue is observed along with the updated test apk file.

Let us know if we have missed anything.

Thanks in advance!
840943.png
27.6 KB View Download

Comment 4 by g...@kochaniak.com, May 9 2018

On Pixel 2 the problem will not be visible, as I wrote, it happens mostly
on older devices with 32-bit arm-v7 processor. I tested on LG G3 with
original LG Android 6 system, and on HTC One m7 with Android 7.1.1
(LineageOS). I have stack traces with a similar error crash from countless
users via Crashlytics, can compile a list of devices and OSes if you need.
Will build a Release apk of the test app if you want, or just build it
yourself with Android Studio...
Project Member

Comment 5 by sheriffbot@chromium.org, May 9 2018

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding the requester to the cc list.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 6 by g...@kochaniak.com, May 9 2018

I'm attaching a release build of the test app, wrapped in ZIP for extra protection. If you try to install it, make sure to first change the setting under Android System Settings - Security - turn on the "Unknown sources" option to let the system install apps from any source other than Google Play.

Greg
app-release.zip
1.1 MB Download
Labels: Needs-Feedback
greg@ -- Yes, "Unknown sources" in settings is enabled. Please share .APK file itself as it we can directly install and test. 

Also,  please share other device details as well, as the devices mentioned in C#4 are not available with our team.

Thanks!

Comment 8 by g...@kochaniak.com, May 10 2018

Well, I uploaded ZIP file with the APK in my previous post... Just look one post above yours. If you need direct APK without a zip wrapper, here it is attached to this comment.
app-release.apk
1.3 MB Download
Project Member

Comment 9 by sheriffbot@chromium.org, May 10 2018

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding the requester to the cc list.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: hasbisect-per-revision FoundIn-66 Target-67 RegressedIn-66 Target-66 M-66 M-67 FoundIn-67 M-68 ReleaseBlock-Stable FoundIn-68 Target-68
Owner: dtseng@chromium.org
Status: Assigned (was: Unconfirmed)
Tested the issue in Android and able to reproduce the issue. 

Prereuisite - 
> Enable talkback.
> Install the sample application provided.

Steps Followed:
1. Launch sample application provided.
2. Observed that application takes long time to respond.

Chrome versions tested:
66.0.3359.158(Stable), 68.0.3426.0(Canary)

OS:
Android 8.1.0 and Android 7.0.0

Android Devices:
Nexus 6P, Samsung J7

Using the per-revision bisect providing the bisect results,
Good Build - 66.0.3341.0 (534605)
Bad Build - 66.0.3342.0 (534887)

You are looking for a change made after 534884(GOOD), but before 534885(BAD).

CHANGELOG URL:
The script might not always return single CL as suspect as some perf builds might get missing due to failure.
https://chromium.googlesource.com/chromium/src/+/e3b187672dd0ba2aeda38b5226992e8411ef3304

@dtseng:  Could you please look into the issue, pardon me if it has nothing to do with your changes and if possible please assign it to owner concerned.

Please navigate to below link for log's and video--
go/chrome-androidlogs/840943

Thanks!
Labels: -ReleaseBlock-Stable
Labels: -M-67 -M-66 ReleaseBlock-Stable
This is a recent regression, please target a fix during M68 time frame.
Is there any progress made on this issue? I just tested WebView ver. 68.0.3440.14 beta, the bug is still there. The test was on LG G3 phone with arm v7 processor.
Any update here?
Additional ping!
Owner: zork@chromium.org
Status: available (was: Assigned)
+ zork for triage.
I suspect that the bisect is wrong because r534885 did indeed introduce a performance regression, but it was fixed in r539757: https://chromium-review.googlesource.com/c/chromium/src/+/940815

In version numbers, it regressed in 66.0.3342.0 and was fixed in 66.0.3358.0 before it even reached the beta channel.

I do think that there's potentially a lot of room for performance improvements, but I don't think this bisect is pointing to a regression that's ongoing.

Labels: -ReleaseBlock-Stable -M-68 M-69
Since there is ongoing work around this and no simple cause, I don't think it makes sense to block stable on it.  Changing to target M-69 for now.
Status: Assigned (was: Available)
Looks like we have right owner for this issue, changing status from available to assigned to remove this issue from WebView bugcop queue.

zork@, please feel free to change it back if you are not the right owner.

Sign in to add a comment