New issue
Advanced search Search tips

Issue 788137 link

Starred by 3 users

Issue metadata

Status: WontFix
Owner:
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Tile borders appear broken in Quora app

Reported by ngo...@etouch.net, Nov 23 2017

Issue description

Device name: ASUS_Z010D /6.0.1(MMB29P), Htc Desire 630/6.0.1(1.00.400.3), Samsung Galaxy J5 6.0.1/(MMB29M)
WebView version: 61.0.3129.3
Application: Quora
Application version: 2.6.7
Package name: com.quora.android


Bisect Information: This is a regression issue broken in 'M-63'.

Per-Version bisect information:
Good build: 63.0.3213.0
Bad build : 63.0.3214.0

Regression range: https://chromium.googlesource.com/chromium/src/+log/63.0.3213.0..63.0.3214.0?pretty=fuller&n=10000 


Steps to reproduce:
1. Launch Quora > Sign in with valid credentials > Feeds
2. Scroll down until you see "Discover new people" section
3. Observe the edges of the tiles under "Discover new people".(Refer screen record)

Actual result: The borders of the tiles are missing/tile borders appear broken.

Expected result: The borders of the tiles should not be broken.


Additional Info: Issue is reproducible only on above mentioned devices.
 

Comment 1 by battun@chromium.org, Nov 23 2017

Labels: -Pri-3 M-64 Pri-1
Status: Untriaged (was: Unconfirmed)
Please find the log and Video @ http://go/chrome-androidlogs1/7/788137

Comment 2 by battun@chromium.org, Nov 23 2017

Could you please any one look into issue.Can't do per-cl bisect due not reproducible on Nexus devices.

Thanks!
I won't have time to investigate this today, leaving for next bugcop.
In the meantime, would it be possible to get a screenrecording with the "show layout borders" setting applied?

Comment 4 by battun@chromium.org, Nov 28 2017

gsennton@Uploaded screen record and logs of "show layout borders",please look into @ http://go/chrome-androidlogs1/7/788137
Cc: battun@chromium.org
I think the setting we want is the flag:

$ adb shell "echo '_ --show-composited-layer-borders' > /data/local/tmp/webview-command-line"
Labels: -Pri-1 Pri-2
When I looked at this, it appeared to be that about:blank was drawing at incorrect scale. I don't believe that this would ever be visible without composited layer borders, but it would be good to ensure that there's no potential to racily affect other content and that it doesn't cause a visible difference in the case where the content behind the webview is not white.
Cc: ntfschr@chromium.org tobiasjs@chromium.org
Toby, was c#6 meant for a different bug? This bug isn't about composited layer borders, but issue 787980 is.
Labels: -M-64 M-63
Here are some screenshots (with the good build and bad build). It's pretty obvious that the big issue here is that the fonts and layouts change from one version to another (this reminds me of http://b/70151530).

I decided to test this on 2 font size settings: the smallest and the biggest. Observations:

 * quora-good-webview-small-font looks basically identical to quora-good-webview-big-font. System font does *not* affect webview
 * quora-bad-webview-small-font looks *super* different from quora-bad-webview-big-font

Looks like a real bug.
quora-good-webview-small-font.png
263 KB View Download
quora-bad-webview-small-font.png
256 KB View Download
quora-bad-webview-big-font.png
280 KB View Download
quora-good-webview-big-font.png
265 KB View Download
Also, this might be our first M63 regression which is *not* PlzNavigate. Issue still repros even with --disable-browser-side-navigation.
Heads up to anyone trying to repro on a DCHECK build: Quora sets bad cookies, hitting the dcheck in  issue 779887 . Need to remove those dchecks before trying to repro (of course, this is unrelated to the underlying bug).
Cc: jaebaek@chromium.org
So far the best guess I have is bfe88542d3e3fd92c64c281207b46f13ab4a2513, so I'll CC jaebaek@chromium.org. Any chance your CL could play a part here--does it take system font settings into account anywhere?
ntfschr@, I am not sure, but I don't think the bug is from the CL. Basically, the CL has impact only when --use-zoom-for-dsf is enabled. If the flag is disabled, the CL does not change any behavior. Currently, the flag is disabled by default and there is no way to turn it on in Android WebView.

Comment 13 by ctzsm@chromium.org, Dec 19 2017

Labels: Needs-Bisect
Owner: battun@chromium.org
Status: Assigned (was: Untriaged)
By using chrome://inspect, I found that the element size is different in different version of WebViews.

M63 (bad build) with largest font size -> element size 140 * 243.594
M61 (good build) with largest font size -> element size 140 * 244

More specifically, I think the "people plus" icon near "Follow | xx.xk" caused this issue. By changing the font size, the icon is showing extra bit near the bottom if we take a closer look. I also checked that "0.594" is from this part.


battun@, this is repro with Nexus device, you need to go to settings -> Display -> Font size then choose the largest one. Could you please do a per-CL bisect with this setting? Thanks! 
Whoops, I forgot to test on Nexus--makes sense that it would repro across all devices, good catch Shimi.

Yeah, to reiterate, the bug is not "tile borders are broken." The real bug is "WebView renders things differently for different system font sizes."

So for each build, you'll need to try the largest and smallest font settings on the device (kill & restart the app after you change the font size). A good build means the app looks the same with either font setting. A bad build means the app looks different.

Thanks, all!
battun@,
as per #13, please do bisect. thanks!

Cc: -jaebaek@chromium.org
Labels: -Restrict-View-Google
I don't see anything secret here, so I'm going to open this up and direct followers of https://b.corp.google.com/issues/70151530 over here.

Also, removing jaebaek@ since his CL doesn't appear to be the culprit so far.
Labels: -Needs-Bisect hasbisect-per-revision Type-Bug-Regression
Owner: chrishtr@chromium.org
Per-CL bisect information:
Good commit:501156
Bad commit:501157

Suspect CL:
https://chromium.googlesource.com/chromium/src/+/707023d380f9c090b21bce9d0f4cb502cce2858a


chrishtr@  Might be it looks like this issue is related to your change. please look into once, if its not related to your change please reassign back to me. 

Thansk!
Cc: chrishtr@chromium.org
Owner: battun@chromium.org
battun@ please re-check the bisect. I locally reverted 707023d380f9c090b21bce9d0f4cb502cce2858a and it didn't fix the problem.

chrishtr@ please correct me if I'm mistaken and this is indeed your bug.
I also tested on the Quora web app, which appears to have the same UI, and
could not reproduce.
I don't think this pertains to the web app. Android WebView appears to be confused about how to size-up some elements. It should use the sizes specified in the CSS, but now it sometimes computes something based on the system-wide font setting.
Owner: ntfschr@chromium.org
ntfschr@ I have tried multiple times per-cl bisect as per #13 but, it's pointing same Suspect CL as i mentioned in #17.

Thanks!
Owner: chrishtr@chromium.org
chrishtr@ could you double-check if your CL is affected by the Android system font (maybe I was wrong in #18)?

Essentially, android system font size should not affect layouts in WebView. I've found that quora is the best app to repro this (most parts always render the same, but sections which resemble "discover new people" tend to show the bug).

You can find the setting at:

Settings > Display > Font size > (toggle between "small" and "largest") (Make sure to kill & restart the app after toggling the setting)

If your Cl doesn't cause this, please pass back.
We just got pinged on b/72113267. Any update?
Hoping to make progress on this next week.
Cc: pnangunoori@chromium.org
 Issue 816509  has been merged into this issue.
Status: WontFix (was: Assigned)
I don't think there is a bug in Chrome. The error is in the app's HTML.
I installed a custom webview, then loaded the quora app, and inspected its
webview. Each of these "follow" elements that are clipped have
overflow:hidden, and is sized too small to not clip the text.

DevTools also agrees, indicating that the <div>'s clip bounds don't include
the full size of the text. Removing overflow:hidden from the element also
"fixes" the bug.
Status: Assigned (was: WontFix)
That makes sense. However, why does the page's font size change based on the Android system font size? That's the unanswered question (and it's a behavior change that was introduced in that bisect range).

http://b/72113267 and http://b/70151530 are examples where apps claim to be *unable* to specify consistent font size, because it always varies according to the device's system font size. That's a poor developer experience, and I don't think it is working-as-intended (if I'm wrong, please explain and re-close). If these really are bad apps, then let's talk with the developers of the 1P apps ( issue 816509 ) and explain how to fix their HTML.
Owner: boliu@chromium.org
I don't know, but it was not my CL.

(Note that Chrome itself sets font size as a function of both the user's browser
settings and what the developer desires.)

Bo?

Comment 29 by torne@chromium.org, Mar 27 2018

It seems like we *should* be changing font sizes based on the system font size, and if we previously weren't doing so, then that's a bug. Pages probably *shouldn't* be able to prevent this, since font size can be used for accessibility..

Nate, why are you assuming that this is bad? :)
http://b/70151530 was an example of an app which couldn't get a consistent UX because of the font changes. I guess it's ok to say "bad HTML/CSS", since they worked around the issue by changing their web site.

At this point, the behavior has changed for the past 2 releases, and only a handful of apps appear broken. Not enough impact to merit fixing?
All web apps loaded in the browser need to account for the possibility of
browser zoom changing their font size, and respond accordingly. It does seem
reasonable to expect this of apps with webviews, but maybe there should be
an override?
Status: WontFix (was: Assigned)

Sign in to add a comment