New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Chrome doesn't render below the fold correctly on retina display while ok on not retina (same viewport size)

Reported by pinha...@gmail.com, Sep 26

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36

Steps to reproduce the problem:
1. load https://surveys.segmanta.com/99a9h8 on a retina display (not iphone) - macbook pro or android 
2. scroll down 
3. Load the same url not on retina

What is the expected behavior?
It should work the same

What went wrong?
On retina - items are missing below the fold (they are kinda there) on non retina it loads ok.

Did this work before? Yes 68

Does this work in other browsers? Yes

Chrome version: 69.0.3497.100  Channel: stable
OS Version: OS X 10.13.2
Flash Version: 

Weirdest bug I encountered :)
 
Fixable by adding will-change: transform to the scrollable element.
Labels: Needs-Bisect Needs-Triage-M69
Cc: vamshi.kommuri@chromium.org
Labels: Triaged-ET Needs-Feedback
Thanks for filing the issue!

Unable to reproduce the issue on reported chrome version 69.0.3497.100 using Retina(MacBook Pro) and Non-Retina(MacBook Air) with the below mentioned steps.
1. Launched Chrome
2. Navigated to https://surveys.segmanta.com/99a9h8
3. Scrolled down the page.
We observed all the 15 choices loaded properly without any issues on Non-Retina and Retina too. Attaching the screen cast of the same for reference.

@Reporter: Could you please have a look at the screencast and let us know if we have missed anything and requesting you to check the same on a new profile without any apps & extensions.  
889492.mp4
900 KB View Download
Hi!

Sorry about this - I updated our application (couldn't go with it broken) - I changed the scrolling to another container.


I attached a simple reproduction - Hope this helps :) 


retina-bug.html
2.1 KB View Download
Project Member

Comment 5 by sheriffbot@chromium.org, Sep 27

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: -Pri-2 -Needs-Bisect hasbisect-per-revision ReleaseBlock-Stable M-69 Target-70 Target-71 RegressedIn-69 FoundIn-71 FoundIn-70 Target-69 FoundIn-69 Pri-1
Owner: chrishtr@google.com
Status: Assigned (was: Unconfirmed)
Able to reproduce the issue on reported chrome version 69.0.3497.100 and on the latest canary 71.0.3562.0 using Mac 10.13.1
Note: Couldn't reproduce the issue on Windows 10 and Ubuntu 14.04

Bisect Information:
--------------------
Good Build: 69.0.3457.0
Bad Build:  69.0.3460.0

You are probably looking for a change made after 566998 (known good), but no later than 566999 (first known bad).
CHANGELOG URL:  https://chromium.googlesource.com/chromium/src/+log/94c42a4f61de9033ca247f0bf1803adda939725c..a3dfbb28e205cfc9d264b4ed4d0ccc7000a280bc
Suspecting: https://chromium.googlesource.com/chromium/src/+/a3dfbb28e205cfc9d264b4ed4d0ccc7000a280bc
Review URL: https://chromium-review.googlesource.com/1095816

@Chris Harrelson: Please help in assigning it to the right owner, if this is not related to your change. Adding RB-Stable as this seems to be a recent regression.

Thanks!
Owner: chrishtr@chromium.org
Labels: M-70
Cc: pbomm...@chromium.org manoranj...@chromium.org abdulsyed@chromium.org
I can reproduce this on ToT with --enable-prefer-compositing-to-lcd-text.
Labels: -M-69 -Target-69
Removing M-69 blocker. The root cause of this bug is deeper than just that particular patch; it merely exposed the root cause in more scenarios.
[bulk edit] - This issue is marked as a stable blocker for M70. We are two weeks away from M70 Stable. Please take a look urgently!
Project Member

Comment 13 by bugdroid1@chromium.org, Oct 1

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/aa14bd3327d6d299d310f13fb900fdd636e30817

commit aa14bd3327d6d299d310f13fb900fdd636e30817
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Mon Oct 01 22:16:24 2018

[PE] Don't consider "unclipped_descendants" from being conditioned on having a composted scrolling ancestor.

Also, scrollers which NeedCompositedScrolling count as a composited scrolling ancestor,
not just ones with direct reasons.

This fixes cases such as a fixed-position element under a scroller with an in-flow sibling,
on high-DPI screens:

<div style="overflow: scroll">  : This is composited due to high-DPI
  <div style="position: fixed; background: white"></div>  : This is composited due to high-DPI
  <div style="position: relative; top: 500px"></div>  : This is not composited because it
  is not overlapping the fixed position element unless scroll is applied. Once scrolled,
  it will not be visible because it is overlapped by the positon: fixed element.
</div>

There is already a code pattern to handle composited promotion for this flavor of case. However,
the fixed position element does not have a non-root composited scroller above it. This is why
the code was wrong before this patch.

Bug:  889492 

Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I650408cb3bc7c2b7fac932f7e968863bcdcd41d5
Reviewed-on: https://chromium-review.googlesource.com/1253063
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: vmpstr <vmpstr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595576}
[modify] https://crrev.com/aa14bd3327d6d299d310f13fb900fdd636e30817/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2
[add] https://crrev.com/aa14bd3327d6d299d310f13fb900fdd636e30817/third_party/WebKit/LayoutTests/compositing/overflow/overlap-testing-ancestor-scroller-high-dpi-expected.html
[add] https://crrev.com/aa14bd3327d6d299d310f13fb900fdd636e30817/third_party/WebKit/LayoutTests/compositing/overflow/overlap-testing-ancestor-scroller-high-dpi.html
[modify] https://crrev.com/aa14bd3327d6d299d310f13fb900fdd636e30817/third_party/blink/renderer/core/paint/compositing/compositing_requirements_updater.cc

Labels: Merge-Request-70
Project Member

Comment 15 by sheriffbot@chromium.org, Oct 2

Labels: -Merge-Request-70 Merge-Review-70 Hotlist-Merge-Review
This bug requires manual review: We are only 13 days from stable.
Please contact the milestone owner if you have questions.
Owners: benmason@(Android), kariahda@(iOS), geohsu@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
has this been tested in canary? how safe is this merge overall?
Cc: chrishtr@chromium.org viswa.karala@chromium.org schenney@chromium.org
 Issue 890595  has been merged into this issue.
I have tested it in canary.

There are now two reports of this bug, leading me to conclude it is more
important to merge than yesterday. I am also monitoring the metric Compositing.Renderer.NumActiveLayers to see if it increases on canary versions
71.0.3569.0 and onward. So far there is not yet enough data.


https://uma.googleplex.com/p/chrome/timeline_v2?sid=1242f15a7df0c4d24c77ddfa86040382
Labels: TE-Verified-M71 TE-Verified-71.0.3571.0
Verified the fix on Mac 10.13.1 using Chrome version #71.0.3571.0 as per the comment#0 using test file in Comment#4.
Attaching screen cast for reference.
Observed all the items rendered correctly.
Hence, the fix is working as expected. 
Adding the verified labels.
Note: Able to reproduce the issue on chrome version with out fix.

Thanks...!!
889492.mp4
861 KB View Download
Labels: -Merge-Review-70 Merge-Approved-70
Project Member

Comment 21 by bugdroid1@chromium.org, Oct 5

Labels: -merge-approved-70 merge-merged-3538
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/66ef5ec53dffd017317a99097eb810b4a807b403

commit 66ef5ec53dffd017317a99097eb810b4a807b403
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Fri Oct 05 22:09:29 2018

[PE] Don't consider "unclipped_descendants" from being conditioned on having a composted scrolling ancestor.

Also, scrollers which NeedCompositedScrolling count as a composited scrolling ancestor,
not just ones with direct reasons.

This fixes cases such as a fixed-position element under a scroller with an in-flow sibling,
on high-DPI screens:

<div style="overflow: scroll">  : This is composited due to high-DPI
  <div style="position: fixed; background: white"></div>  : This is composited due to high-DPI
  <div style="position: relative; top: 500px"></div>  : This is not composited because it
  is not overlapping the fixed position element unless scroll is applied. Once scrolled,
  it will not be visible because it is overlapped by the positon: fixed element.
</div>

There is already a code pattern to handle composited promotion for this flavor of case. However,
the fixed position element does not have a non-root composited scroller above it. This is why
the code was wrong before this patch.

Bug:  889492 

TBR=chrishtr@chromium.org

(cherry picked from commit aa14bd3327d6d299d310f13fb900fdd636e30817)

Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I650408cb3bc7c2b7fac932f7e968863bcdcd41d5
Reviewed-on: https://chromium-review.googlesource.com/1253063
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: vmpstr <vmpstr@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#595576}
Reviewed-on: https://chromium-review.googlesource.com/c/1265827
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/branch-heads/3538@{#879}
Cr-Branched-From: 79f7c91a2b2a2932cd447fa6f865cb6662fa8fa6-refs/heads/master@{#587811}
[modify] https://crrev.com/66ef5ec53dffd017317a99097eb810b4a807b403/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2
[add] https://crrev.com/66ef5ec53dffd017317a99097eb810b4a807b403/third_party/WebKit/LayoutTests/compositing/overflow/overlap-testing-ancestor-scroller-high-dpi-expected.html
[add] https://crrev.com/66ef5ec53dffd017317a99097eb810b4a807b403/third_party/WebKit/LayoutTests/compositing/overflow/overlap-testing-ancestor-scroller-high-dpi.html
[modify] https://crrev.com/66ef5ec53dffd017317a99097eb810b4a807b403/third_party/blink/renderer/core/paint/compositing/compositing_requirements_updater.cc

Status: Fixed (was: Assigned)
Labels: Merge-Merged-70-3538
The following revision refers to this bug: 
https://chromium.googlesource.com/chromium/src.git/+/66ef5ec53dffd017317a99097eb810b4a807b403

Commit: 66ef5ec53dffd017317a99097eb810b4a807b403
Author: chrishtr@chromium.org
Commiter: chrishtr@chromium.org
Date: 2018-10-05 22:09:29 +0000 UTC

[PE] Don't consider "unclipped_descendants" from being conditioned on having a composted scrolling ancestor.

Also, scrollers which NeedCompositedScrolling count as a composited scrolling ancestor,
not just ones with direct reasons.

This fixes cases such as a fixed-position element under a scroller with an in-flow sibling,
on high-DPI screens:

<div style="overflow: scroll">  : This is composited due to high-DPI
  <div style="position: fixed; background: white"></div>  : This is composited due to high-DPI
  <div style="position: relative; top: 500px"></div>  : This is not composited because it
  is not overlapping the fixed position element unless scroll is applied. Once scrolled,
  it will not be visible because it is overlapped by the positon: fixed element.
</div>

There is already a code pattern to handle composited promotion for this flavor of case. However,
the fixed position element does not have a non-root composited scroller above it. This is why
the code was wrong before this patch.

Bug:  889492 

TBR=chrishtr@chromium.org

(cherry picked from commit aa14bd3327d6d299d310f13fb900fdd636e30817)

Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I650408cb3bc7c2b7fac932f7e968863bcdcd41d5
Reviewed-on: https://chromium-review.googlesource.com/1253063
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: vmpstr <vmpstr@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#595576}
Reviewed-on: https://chromium-review.googlesource.com/c/1265827
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/branch-heads/3538@{#879}
Cr-Branched-From: 79f7c91a2b2a2932cd447fa6f865cb6662fa8fa6-refs/heads/master@{#587811}
Cc: enne@chromium.org wangxianzhu@chromium.org pdr@chromium.org vmp...@chromium.org ericrk@chromium.org
 Issue 886997  has been merged into this issue.
Issue 893439 has been merged into this issue.
 Issue 892774  has been merged into this issue.

Sign in to add a comment