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

Issue 704292 link

Starred by 3 users

Issue metadata

Status: Verified
Owner:
Closed: Mar 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

HTML input disappears under certain circumstances

Reported by pavel.ka...@delightex.com, Mar 22 2017

Issue description

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

Example URL:
https://studio.cospaces.io/#Signup

Steps to reproduce the problem:
1. Open attached file (test.html). You will see webgl canvas and two text inputs.
2. Start typing text in the first input.

What is the expected behavior?
All of text inputs remain visible on page.

What went wrong?
When the text in the first input is long enough, second input disappears.

Does it occur on multiple sites: N/A

Is it a problem with a plugin? No 

Did this work before? Yes 56

Does this work in other browsers? Yes

Chrome version: 57.0.2987.110  Channel: stable
OS Version: OS X 10.12.3
Flash Version: 

The issue does not reproduce if you comment canvas#getContext call.

It also does not reproduce in chrome 56 and other browsers.

It is present in chrome canary as well.
 
test.html
885 bytes View Download
You are probably looking for a change made after 444511 (known good), but no later than 444538 (first known bad).
CHANGELOG URL:
  https://chromium.googlesource.com/chromium/src/+log/13b9222716acd3be1ff8fe6ec66ab4e63fd1abe6..c8f7c9a765a19793152467f3bae12f4897cbfc86

Comment 2 by ajha@chromium.org, Mar 23 2017

Labels: -Pri-2 -Type-Compat Needs-Bisect Needs-Triage-M57 Pri-1 Type-Bug-Regression
Cc: ranjitkan@chromium.org pbomm...@chromium.org gov...@chromium.org
Labels: -Needs-Bisect -Needs-Triage-M57 hasbisect-per-revision ReleaseBlock-Stable M-57
Owner: chrishtr@chromium.org
Status: Assigned (was: Unconfirmed)
Able to reproduce the issue and the issue is broken in M57, below are the bisect details for the same:

Good build: 57.0.2985.0
Bad Build: 57.0.2986.0

Using per revision bisect, obtained the following change log:

Bisect URL:
===========
https://chromium.googlesource.com/chromium/src/+log/68a9f80c98b83971e4d5a189726b97cc79573ad5..b54db9226dbbd130ba7ea0aac6125aca81a18020

Change log:
===========
https://chromium.googlesource.com/chromium/src/+/b54db9226dbbd130ba7ea0aac6125aca81a18020

@ chrishtr: Assigning to you, kindly take a look into it. Please help us to find an owner if not with respect to your change

Adding blocker label, since broken in M57. Please undo if not the case. 

Note: Issue is observed only on MAC OS, not seeing on Windows and Linux OS.

Thanks.!

Comment 4 by gov...@chromium.org, Mar 23 2017

We've stable candidate almost ready to go. PTAl ASAP and let us know if this is indeed a stable blocker. Thank you.
Labels: OS-Windows
I have tried on 3 machines 2 windows(7 and 10) and 1 mac(10.12.3) none of the machines reproduce the issue. I suspect this has to be related to GPU(Very wild guess) since my home PC Windows 10 I was able to reproduce the issue.
Components: Blink>Paint

Comment 7 by gov...@chromium.org, Mar 23 2017

Cc: keta...@chromium.org amineer@chromium.org
+ amineer@ and +ketakid@ FYI as this is related to Blink.
It reproduces on Windows 10 with a non-unit device scale factor. That also explains why it reproduces on Mac. It would also reproduce on Linux with a HighDPI monitor setup.

I do not think we block the stable candidate that is ready to go.
Reproduces on high-DPI screens. 
--enable-prefer-compositing-to-lcd-text makes it repro.
Labels: BugSource-User RegressionFound-57 Regressed-57 PaintTeamTriaged-20170323
My bad,Yes all the machine which I have checked were non High-DPI,just checked on another Windows High-DPi machgine and was able to reproduce the issue.
https://codereview.chromium.org/2770943003 will fix this bug.

1. The fix is simple
2. The fix is safe, and uses well-established mechanisms
3. The root bug this fixes has technically been around for two years (but see next point)
4. However, the change to more correctly and aggressively clip the output (which is what
the bisect result in comment 3 does) means that the root bug will now surface in a lot more
places. I'm not actually sure that the root cause was possible to exhibit in a web page
before. Therefore, it is reasonable to call this an M57 regression.
5. I'm not sure how common this problem will be, but suspect it will be common because
composited input boxes on high-DPI screes are very common, and increasingly so due to the
increasing prevalence of such screens.
Labels: -OS-Windows -OS-Mac OS-All
Labels: -OS-All OS-Android OS-Chrome OS-iOS OS-Linux OS-Mac OS-Windows
Sorry based on offline chat with chrishtr@, this is applicable on all platforms hence marking them individually.
Labels: -OS-iOS
iOS doesn't use Blink so not applicable there.
I don't think this should block 57 without more evidence.
Labels: -M-57 M-58
On Android, we've been able to repro on:
- Pixel / N
- ASUS Predator / L
- Xperia Z1 / KK and L
- Galaxy Trend Plus / JB
Via chat with christhtr@, re "without more evidence":

"Right, not enough evidence of it being prevalent. in particular, my minimized test case requires and extra clipping div that I don't know yet is a prevalent pattern in the wild. I'm debugging now why it is required to reproduce the bug in my testcase."

From given test example HTML:
<div style="position: absolute; top: 0; bottom: 0; left: 0; right: 0; overflow: hidden;">
 <canvas id="canvas1" style="width: 100%; height: 100%" width="368" height="368"></canvas>
 <input type="text" class="i1"/>
 <input type="text" class="i2"/>
</div>

The "overflow: hidden" is the extra clipping referenced.  chrishtr@ and I did agree that while perhaps not a best practice to put input in a container that needs to be clipped via overflow:hidden, it does seem like code a developer could write.

We should think about whether clipped <input> and <canvas> elements are used in conjunction frequently since that seems to be a part of the requirement here as well.
Labels: M-57
Re-applying M-57 as it's still under discussion for that milestone.
Latest status: I have rewritten the patch to more directly address what I
now know is the root cause. Still a reasonable candidate for merging if
possible.

Project Member

Comment 22 by bugdroid1@chromium.org, Mar 24 2017

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

commit e038518f79d429d7ccebaa16aae92773bf238459
Author: chrishtr <chrishtr@chromium.org>
Date: Fri Mar 24 13:37:20 2017

Include control clip in list of clip-related properties.

BUG= 704292 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2770943003
Cr-Commit-Position: refs/heads/master@{#459407}

[modify] https://crrev.com/e038518f79d429d7ccebaa16aae92773bf238459/third_party/WebKit/LayoutTests/TestExpectations
[add] https://crrev.com/e038518f79d429d7ccebaa16aae92773bf238459/third_party/WebKit/LayoutTests/compositing/squashing/squash-composited-input-expected.html
[add] https://crrev.com/e038518f79d429d7ccebaa16aae92773bf238459/third_party/WebKit/LayoutTests/compositing/squashing/squash-composited-input.html
[modify] https://crrev.com/e038518f79d429d7ccebaa16aae92773bf238459/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[modify] https://crrev.com/e038518f79d429d7ccebaa16aae92773bf238459/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/e038518f79d429d7ccebaa16aae92773bf238459/third_party/WebKit/Source/core/layout/LayoutObject.cpp
[modify] https://crrev.com/e038518f79d429d7ccebaa16aae92773bf238459/third_party/WebKit/Source/core/layout/LayoutObject.h
[modify] https://crrev.com/e038518f79d429d7ccebaa16aae92773bf238459/third_party/WebKit/Source/core/layout/compositing/CompositingInputsUpdater.cpp

Project Member

Comment 23 by bugdroid1@chromium.org, Mar 24 2017

Labels: merge-merged-3050
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/aaa524354b7113c2ebddea574530f6e48b0a43e6

commit aaa524354b7113c2ebddea574530f6e48b0a43e6
Author: Alex Mineer <amineer@chromium.org>
Date: Fri Mar 24 15:13:22 2017

Include control clip in list of clip-related properties.

BUG= 704292 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

(cherry picked from commit e038518f79d429d7ccebaa16aae92773bf238459)

Review-Url: https://codereview.chromium.org/2770943003
Cr-Original-Commit-Position: refs/heads/master@{#459407}
Cr-Commit-Position: refs/branch-heads/3050@{#3}
Cr-Branched-From: bf9bcae65b9dc113edb7409c582238d5cbf7acaf-refs/heads/master@{#459323}

[modify] https://crrev.com/aaa524354b7113c2ebddea574530f6e48b0a43e6/third_party/WebKit/LayoutTests/TestExpectations
[add] https://crrev.com/aaa524354b7113c2ebddea574530f6e48b0a43e6/third_party/WebKit/LayoutTests/compositing/squashing/squash-composited-input-expected.html
[add] https://crrev.com/aaa524354b7113c2ebddea574530f6e48b0a43e6/third_party/WebKit/LayoutTests/compositing/squashing/squash-composited-input.html
[modify] https://crrev.com/aaa524354b7113c2ebddea574530f6e48b0a43e6/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[modify] https://crrev.com/aaa524354b7113c2ebddea574530f6e48b0a43e6/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/aaa524354b7113c2ebddea574530f6e48b0a43e6/third_party/WebKit/Source/core/layout/LayoutObject.cpp
[modify] https://crrev.com/aaa524354b7113c2ebddea574530f6e48b0a43e6/third_party/WebKit/Source/core/layout/LayoutObject.h
[modify] https://crrev.com/aaa524354b7113c2ebddea574530f6e48b0a43e6/third_party/WebKit/Source/core/layout/compositing/CompositingInputsUpdater.cpp

Project Member

Comment 24 by bugdroid1@chromium.org, Mar 24 2017

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

commit cfae8b4f4c4396c85d3afbc62501460ea3a712fc
Author: Rebaseline Bot <blink-rebaseline-bot@chromium.org>
Date: Fri Mar 24 15:27:21 2017

Auto-rebaseline for r459407

Build: https://build.chromium.org/p/chromium.infra.cron/builders/rebaseline-o-matic/builds/641992

https://chromium.googlesource.com/chromium/src/+/e038518f79d42

BUG= 704292 
TBR=chrishtr@chromium.org

Review-Url: https://codereview.chromium.org/2773783003 .
Cr-Commit-Position: refs/heads/master@{#459427}

[modify] https://crrev.com/cfae8b4f4c4396c85d3afbc62501460ea3a712fc/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/cfae8b4f4c4396c85d3afbc62501460ea3a712fc/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[modify] https://crrev.com/cfae8b4f4c4396c85d3afbc62501460ea3a712fc/third_party/WebKit/LayoutTests/platform/mac-mac10.10/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[modify] https://crrev.com/cfae8b4f4c4396c85d3afbc62501460ea3a712fc/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[modify] https://crrev.com/cfae8b4f4c4396c85d3afbc62501460ea3a712fc/third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[modify] https://crrev.com/cfae8b4f4c4396c85d3afbc62501460ea3a712fc/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[modify] https://crrev.com/cfae8b4f4c4396c85d3afbc62501460ea3a712fc/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[modify] https://crrev.com/cfae8b4f4c4396c85d3afbc62501460ea3a712fc/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[modify] https://crrev.com/cfae8b4f4c4396c85d3afbc62501460ea3a712fc/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[modify] https://crrev.com/cfae8b4f4c4396c85d3afbc62501460ea3a712fc/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt

Labels: Merge-Approved-58 Merge-Approved-57
Merge approved for M57 branch 2987 and M58 branch 3029.
Project Member

Comment 26 by bugdroid1@chromium.org, Mar 24 2017

Labels: -merge-approved-58 merge-merged-3029
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bade029a5dc0c82c8cd028894e5e9e168568015f

commit bade029a5dc0c82c8cd028894e5e9e168568015f
Author: Philip Rogers <pdr@chromium.org>
Date: Fri Mar 24 18:09:59 2017

Include control clip in list of clip-related properties.

BUG= 704292 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2770943003
Cr-Commit-Position: refs/heads/master@{#459407}
(cherry picked from commit e038518f79d429d7ccebaa16aae92773bf238459)

Review-Url: https://codereview.chromium.org/2777493003 .
Cr-Commit-Position: refs/branch-heads/3029@{#411}
Cr-Branched-From: 939b32ee5ba05c396eef3fd992822fcca9a2e262-refs/heads/master@{#454471}

[modify] https://crrev.com/bade029a5dc0c82c8cd028894e5e9e168568015f/third_party/WebKit/LayoutTests/TestExpectations
[add] https://crrev.com/bade029a5dc0c82c8cd028894e5e9e168568015f/third_party/WebKit/LayoutTests/compositing/squashing/squash-composited-input-expected.html
[add] https://crrev.com/bade029a5dc0c82c8cd028894e5e9e168568015f/third_party/WebKit/LayoutTests/compositing/squashing/squash-composited-input.html
[modify] https://crrev.com/bade029a5dc0c82c8cd028894e5e9e168568015f/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[modify] https://crrev.com/bade029a5dc0c82c8cd028894e5e9e168568015f/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/bade029a5dc0c82c8cd028894e5e9e168568015f/third_party/WebKit/Source/core/layout/LayoutObject.cpp
[modify] https://crrev.com/bade029a5dc0c82c8cd028894e5e9e168568015f/third_party/WebKit/Source/core/layout/LayoutObject.h
[modify] https://crrev.com/bade029a5dc0c82c8cd028894e5e9e168568015f/third_party/WebKit/Source/core/layout/compositing/CompositingInputsUpdater.cpp

Project Member

Comment 27 by bugdroid1@chromium.org, Mar 24 2017

Labels: -merge-approved-57 merge-merged-2987
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/50880818423336a173c78541ff84c5840fac9556

commit 50880818423336a173c78541ff84c5840fac9556
Author: Philip Rogers <pdr@chromium.org>
Date: Fri Mar 24 18:14:45 2017

Include control clip in list of clip-related properties.

BUG= 704292 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2770943003
Cr-Commit-Position: refs/heads/master@{#459407}
(cherry picked from commit e038518f79d429d7ccebaa16aae92773bf238459)

Review-Url: https://codereview.chromium.org/2773163002 .
Cr-Commit-Position: refs/branch-heads/2987@{#875}
Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943}

[modify] https://crrev.com/50880818423336a173c78541ff84c5840fac9556/third_party/WebKit/LayoutTests/TestExpectations
[add] https://crrev.com/50880818423336a173c78541ff84c5840fac9556/third_party/WebKit/LayoutTests/compositing/squashing/squash-composited-input-expected.html
[add] https://crrev.com/50880818423336a173c78541ff84c5840fac9556/third_party/WebKit/LayoutTests/compositing/squashing/squash-composited-input.html
[modify] https://crrev.com/50880818423336a173c78541ff84c5840fac9556/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[modify] https://crrev.com/50880818423336a173c78541ff84c5840fac9556/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/50880818423336a173c78541ff84c5840fac9556/third_party/WebKit/Source/core/layout/LayoutObject.cpp
[modify] https://crrev.com/50880818423336a173c78541ff84c5840fac9556/third_party/WebKit/Source/core/layout/LayoutObject.h
[modify] https://crrev.com/50880818423336a173c78541ff84c5840fac9556/third_party/WebKit/Source/core/layout/compositing/CompositingInputsUpdater.cpp

Verified on Chrome:59.0.3050.4 Device:Pixel-XL/7.1.2 and Samsung Galaxy S4 (GT-I9505)/JDQ39. But when we click on the first input box the second input box border is missing in the left side and when we enter more text in input boxes we don't see the issue 

@ images:http://go/chrome-androidlogs1/6/704292

Comment 29 by pdr@chromium.org, Mar 24 2017

I think that's an existing bug that's related to how far you're zoomed in. I don't think that should have changed with this fix.
Labels: TE-Verified-M59 TE-Verified-59.0.3053.0 TE-Verified-M57 TE-Verified-57.0.2987.129
Rechecked the issue on MAC retina and Windows 10 Hdmi display using the steps provided in the issue description and observed that fix is working as intended. The second text box is not hidden when first input is long enough. Verified on canary 59.0.3053.0 and 57.0.2987.129.

Adding TE-Verified Labels.

Thanks.!
Also verified on a HiDpi linux (Ubuntu 14.04) machine and fix is working as intended on  chrome 59.0.3053.0 and 57.0.2987.129.

Thanks.!
Android: Issue is verified on M57- 57.0.2987.126
Status: Fixed (was: Assigned)
Status: Verified (was: Fixed)
Verfied with chrome build '57.0.2987.126, Samsung Galaxy S5/MMB29M
Thank you for fixing the bug. 
Requesting postmortem for this please see go/chrome-postmortems for the process to follow).
Project Member

Comment 37 by bugdroid1@chromium.org, Mar 28 2017

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

commit f580e12f9cba0b796fad37ae647950940ff2edd5
Author: Rebaseline Bot <blink-rebaseline-bot@chromium.org>
Date: Tue Mar 28 22:13:58 2017

Auto-rebaseline for r460154

Build: https://build.chromium.org/p/chromium.infra.cron/builders/rebaseline-o-matic/builds/646287

https://chromium.googlesource.com/chromium/src/+/5cc1a05a63f4d

BUG= 704292 
TBR=chrishtr@chromium.org

Review-Url: https://codereview.chromium.org/2779113003 .
Cr-Commit-Position: refs/heads/master@{#460222}

[modify] https://crrev.com/f580e12f9cba0b796fad37ae647950940ff2edd5/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/f580e12f9cba0b796fad37ae647950940ff2edd5/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[modify] https://crrev.com/f580e12f9cba0b796fad37ae647950940ff2edd5/third_party/WebKit/LayoutTests/platform/mac-mac10.10/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[modify] https://crrev.com/f580e12f9cba0b796fad37ae647950940ff2edd5/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[modify] https://crrev.com/f580e12f9cba0b796fad37ae647950940ff2edd5/third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[modify] https://crrev.com/f580e12f9cba0b796fad37ae647950940ff2edd5/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[modify] https://crrev.com/f580e12f9cba0b796fad37ae647950940ff2edd5/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[modify] https://crrev.com/f580e12f9cba0b796fad37ae647950940ff2edd5/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[modify] https://crrev.com/f580e12f9cba0b796fad37ae647950940ff2edd5/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[modify] https://crrev.com/f580e12f9cba0b796fad37ae647950940ff2edd5/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt

Labels: TE-Verified-M58 TE-Verified-58.0.3029.41
Tested the issue on windows 10 -HiDPI, Mac Retina 10.12.3-HiDPI, Linux Ubuntu 14.04 -HiDPI using chrome version#58.0.3029.41 with the steps mentioned in comment #0.Observed that second input is not getting disappeared when the text in the first input is long enough.Hence adding TE-Verified labels.
Please find the attached screen cast for the same.
Thanks!!
704292.mp4
2.3 MB View Download

Sign in to add a comment