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

Issue 593758 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Mar 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All , Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Subsequence caching must be disabled when in shouldSuppressPaintingLayer mode

Reported by pedrofle...@gmail.com, Mar 10 2016

Issue description

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

Steps to reproduce the problem:
1. Create an iframe that loads an external html page
2. The iframe html page contains a text-input and loads an external stylesheet
3. Open an html page loading the iframe

Example Code: https://gist.github.com/torpedro/95a33fa188a8ff9b40bb
Example Code deployed: http://torpedro.com/other/chrome-iframe-bug/test.html

What is the expected behavior?
The iframe should show the input immediately after loading the page.
This works in latest Firefox and Safari.

What went wrong?
The iframe doesn't render the input boxes. They exist in the DOM though and can be interacted with.
As soon as I interact with them they are rendered.

Did this work before? Yes 

Chrome version: 49.0.2623.75  Channel: beta
OS Version: OS X 10.11.1
Flash Version: Shockwave Flash 21.0 r0
 

Comment 1 by mih...@teleport.ly, Mar 13 2016

Any workarounds?

I have a similar problem - offscreen iframe does not render fully and interaction does not paint it properly either, SVG gets half rendered for example, resize or scroll forces iframe layer to work properly. Will try to create reproduction steps.
Components: -UI Blink>UI

Comment 3 Deleted

Comment 4 by tkent@chromium.org, Mar 18 2016

Components: -Blink Blink>Paint
Components: -Blink>Paint Blink>Paint>Invalidation Blink>HTML>IFrame
Labels: -Type-Bug -Pri-2 -Via-Wizard OS-All Pri-1 Type-Bug-Regression
Owner: chrishtr@chromium.org
Status: Available (was: Unconfirmed)
Happens in m50 and trunk. This seems like a pretty serious regression. Assigning to chrishtr@ for triage.

It's not clear to me that c#1 is the same issue. How do you know that something offscreen is painted or not? Could you please clarify the steps to reproduce your problem? 
Labels: Needs-Bisect M-49
Status: Assigned (was: Available)

Comment 7 by mih...@teleport.ly, Mar 22 2016

Sorry for being not clear with c#1.

Here's the current repro case failing with Chrome 49 (OS X only) - https://dl.dropboxusercontent.com/u/463359/regression.html

Also failing on Canary (v51).

Steps:
1) Click "Open" button - <iframe> is transformed to correct position but not painted.
2) Click in the vicinity of "Open" button or resize paints the iframe


I'm trying to get it narrowed down as it is connected to my frame contents - don't know yet what.
Also disabling web security with flag helps too.
Cc: wangxianzhu@chromium.org
Labels: -Needs-Bisect
This is a subsequence caching bug. Digging some more to find the place where
we are failing to set needsRepaint.
It's a bug when transitioning from shouldSuppressPaintingLayer (FOUC-avoidance
mode) to regular painting mode. This doc gives some more background, but
the fix should be to mark needsRepaint when exiting that mode.

https://docs.google.com/document/d/1waQggCtPb44gwTp8PK5iz4B-YTiSOSBqbqtbopNrxNA/edit?pref=2&pli=1#
Labels: ReleaseBlock-Stable M-50
Summary: Subsequence caching must be disabled when in shouldSuppressPaintingLayer mode (was: iframe is not rendered automatically, only after interacting with the area)
Cc: sshruthi@chromium.org
This bug has been marked as M49 Stable blocker and We're in process of cutting Stable RC today. So wanted to know if the fix/merge will be safe to M49 and when can we expect the fix?
Per chat with chrishtr@, this is M50 Stable blocker NOT M49. 
Bug was originally reported for M49, so not removing "M-49" label for now. Shruthi, please remove M-49" label if you think it is ok to do so.
Labels: -M-49
Status: Started (was: Assigned)
I removed M-49 for clarity. However, the bug does appear in M49, and it's still
possible we will need to merge this to M-49 as it may be a severe issue. :(
Labels: Merge-Request-50

Comment 17 by tin...@google.com, Mar 24 2016

Labels: -Merge-Request-50 Merge-Approved-50 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M50 (branch: 2661)
Project Member

Comment 18 by bugdroid1@chromium.org, Mar 24 2016

Labels: -merge-approved-50 merge-merged-2661
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/91283f70477be7d059454b89fb7839dbd465130d

commit 91283f70477be7d059454b89fb7839dbd465130d
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Thu Mar 24 17:07:55 2016

Disable subsequence caching when didLayoutWithPendingStylesheets is true.

BUG= 593758 

Review URL: https://codereview.chromium.org/1823353003

Cr-Commit-Position: refs/heads/master@{#382791}
(cherry picked from commit 27c25394291c192a6a10a83f2bae1c1539feb993)

Review URL: https://codereview.chromium.org/1827043003 .

Cr-Commit-Position: refs/branch-heads/2661@{#376}
Cr-Branched-From: ef6f6ae5e4c96622286b563658d5cd62a6cf1197-refs/heads/master@{#378081}

[modify] https://crrev.com/91283f70477be7d059454b89fb7839dbd465130d/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp
[modify] https://crrev.com/91283f70477be7d059454b89fb7839dbd465130d/third_party/WebKit/Source/web/tests/DocumentLoadingRenderingTest.cpp

Labels: M-49 Merge-Request-49
It would be really good to merge this to 49 if possible. I'm sure sites are affected.
Project Member

Comment 20 by bugdroid1@chromium.org, Mar 24 2016

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

commit 7e84cd06b975aa722a15d60cd0beed523bfdf8bc
Author: trchen <trchen@chromium.org>
Date: Thu Mar 24 20:59:35 2016

Revert of Disable subsequence caching when didLayoutWithPendingStylesheets is true. (patchset #1 id:1 of https://codereview.chromium.org/1827043003/ )

Reason for revert:
Build failed. The branch was before we renamed the getters from property to getProperty.

Original issue's description:
> Disable subsequence caching when didLayoutWithPendingStylesheets is true.
>
> BUG= 593758 
>
> Review URL: https://codereview.chromium.org/1823353003
>
> Cr-Commit-Position: refs/heads/master@{#382791}
> (cherry picked from commit 27c25394291c192a6a10a83f2bae1c1539feb993)
>
> Committed: https://chromium.googlesource.com/chromium/src/+/91283f70477be7d059454b89fb7839dbd465130d

TBR=chrishtr@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 593758 

Review URL: https://codereview.chromium.org/1833003002

Cr-Commit-Position: refs/branch-heads/2661@{#382}
Cr-Branched-From: ef6f6ae5e4c96622286b563658d5cd62a6cf1197-refs/heads/master@{#378081}

[modify] https://crrev.com/7e84cd06b975aa722a15d60cd0beed523bfdf8bc/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp
[modify] https://crrev.com/7e84cd06b975aa722a15d60cd0beed523bfdf8bc/third_party/WebKit/Source/web/tests/DocumentLoadingRenderingTest.cpp

Owner: trchen@chromium.org
Project Member

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

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

commit 90353a6a03badd7df0bc8c2af004397a72e44ab9
Author: trchen <trchen@chromium.org>
Date: Thu Mar 24 21:47:41 2016

Disable subsequence caching when didLayoutWithPendingStylesheets is true.

BUG= 593758 
Review URL: https://codereview.chromium.org/1823353003

Cr-Commit-Position: refs/heads/master@{#382791}
(cherry picked from commit 27c25394291c192a6a10a83f2bae1c1539feb993)

TBR=chrishtr@chromium.org
NOTRY=true
NOPRESUBMIT=true

Review URL: https://codereview.chromium.org/1828303004

Cr-Commit-Position: refs/branch-heads/2661@{#384}
Cr-Branched-From: ef6f6ae5e4c96622286b563658d5cd62a6cf1197-refs/heads/master@{#378081}

[modify] https://crrev.com/90353a6a03badd7df0bc8c2af004397a72e44ab9/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp
[modify] https://crrev.com/90353a6a03badd7df0bc8c2af004397a72e44ab9/third_party/WebKit/Source/web/tests/DocumentLoadingRenderingTest.cpp

Comment 23 by tin...@google.com, Mar 25 2016

Labels: -Merge-Request-49 Merge-Review-49 Hotlist-Merge-Review
[Automated comment] Request affecting a post-stable build (M49), manual review required.

Comment 24 Deleted

Had a group chat with trchen@ & sshruthi@ and as per trchen@, this is a safe merge .The build error was due to simple variable renaming (Comment #20). Also the change was baked in canary as well. So approving merge to M49 branch 2623. Please merge ASAP.
Project Member

Comment 26 by bugdroid1@chromium.org, Mar 25 2016

Labels: -merge-approved-49 merge-merged-2623
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/78fbeb99c97eefd89a91841db74ea212820f7c50

commit 78fbeb99c97eefd89a91841db74ea212820f7c50
Author: trchen <trchen@chromium.org>
Date: Fri Mar 25 22:17:02 2016

Disable subsequence caching when didLayoutWithPendingStylesheets is true.

BUG= 593758 
Review URL: https://codereview.chromium.org/1823353003

Cr-Commit-Position: refs/heads/master@{#382791}
(cherry picked from commit 27c25394291c192a6a10a83f2bae1c1539feb993)

TBR=chrishtr@chromium.org
NOTRY=true
NOPRESUBMIT=true

Review URL: https://codereview.chromium.org/1833043007

Cr-Commit-Position: refs/branch-heads/2623@{#656}
Cr-Branched-From: 92d77538a86529ca35f9220bd3cd512cbea1f086-refs/heads/master@{#369907}

[modify] https://crrev.com/78fbeb99c97eefd89a91841db74ea212820f7c50/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp
[modify] https://crrev.com/78fbeb99c97eefd89a91841db74ea212820f7c50/third_party/WebKit/Source/web/tests/DocumentLoadingRenderingTest.cpp

Status: Fixed (was: Started)

Comment 28 by ajha@chromium.org, Mar 28 2016

Labels: TE-Verified-M49 TE-Verified-49.0.2623.110
Verified the merge on the latest M-49(49.0.2623.110/ branch-heads/2623@{#657}) on Windows-7, Mac OS 10.11.3 and Linux Ubuntu 14.04. This is working as intended and input boxes are rendered as soon as landing on http://torpedro.com/other/chrome-iframe-bug/test.html.

Thank you!

Comment 29 by ajha@chromium.org, Mar 30 2016

Labels: TE-Verified-M50 TE-Verified-50.0.2661.57
Works fine on 50.0.2661.57 as well, across Windows-7, Mac OS 10.11.3 and Linux Ubuntu 14.04. Adding verified label for M-50 also. 

Sign in to add a comment