Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(310)

Issue 2656113002: Reland of Fix shouldPaint issue when a composited floating iframe becomes non-self-painting (Closed)

Created:
3 years, 11 months ago by Xianzhu
Modified:
3 years, 11 months ago
CC:
blink-reviews, blink-reviews-layout_chromium.org, blink-reviews-paint_chromium.org, chromium-reviews, dshwang, eae+blinkwatch, jchaffraix+rendering, leviw+renderwatch, pdr+renderingwatchlist_chromium.org, szager+layoutwatch_chromium.org, zoltan1
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Reland of Fix shouldPaint issue when a composited floating iframe becomes non-self-painting (patchset #1 id:1 of https://codereview.chromium.org/2651253003/ ) The layout test failure was because of difference of a pixel at the top-right corner of the iframe: 0xffc4c4c4 vs 0xfec4c4c4. This is an acceptable difference, but to make the test pass, remove the border from the iframe. Original issue's description: > Revert of Fix shouldPaint issue when a composited floating iframe becomes non-self-painting (patchset #4 id:60001 of https://codereview.chromium.org/2654843004/ ) > > Reason for revert: > Fails on https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Win7/builds/49858 > Snippet: > 20:56:41.220 1868 worker/4 compositing/iframes/floating-self-painting-frame-complex.html output stderr lines: > 20:56:41.220 1868 [5864:3688:0125/205640.620:601633:ERROR:graphicslayer.cpp(1294)] "LayoutView #document" Uninvalidated old/new pixels mismatch at 411,8 old:ffc4c4c4 new:fec4c4c4 > 20:56:41.294 1868 "E:\b\c\b\win_layout\src\out\Release\image_diff.exe --diff c:\users\chrome~2\appdata\local\temp\tmpous4g4\actual.png c:\users\chrome~2\appdata\local\temp\tmpous4g4\expected.png c:\users\chrome~2\appdata\local\temp\tmpous4g4\diff.png" took 0.07s > 20:56:41.389 1868 "E:\b\c\b\win_layout\src\out\Release\image_diff.exe --diff c:\users\chrome~2\appdata\local\temp\tmpaddjzm\actual.png c:\users\chrome~2\appdata\local\temp\tmpaddjzm\expected.png c:\users\chrome~2\appdata\local\temp\tmpaddjzm\diff.png" took 0.09s > 20:56:41.393 3184 [6230/47861] compositing/iframes/floating-self-painting-frame-complex.html failed unexpectedly (reference mismatch) > 20:56:41.392 1868 worker/4 compositing/iframes/floating-self-painting-frame-complex.html failed: > 20:56:41.392 1868 worker/4 reference mismatch > > Original issue's description: > > Fix shouldPaint issue when a composited floating iframe becomes non-self-painting > > > > Previously we forced selfPainting flags (but let selfPainting() function > > return false) on all blocks into which a composited (for certain reason) > > floating iframe overhangs or intrudes. When the iframe became non-self- > > painting, all these blocks will paint the float. This caused multiple > > issues, such as duplicated painting, display items with duplicated ids, > > subsequence caching disorders, etc. > > > > This CL contains two parts: > > 1. Revert crrev.com/413649 which caused the problems; > > 2. Set PaintLayer::selfPaintingStatusChanged() when self-painting status > > changes, and check it and clear it during compositing update. > > If the status changed for a floating layer, update ancestor > > shouldPaint flags to reflect the new status. > > > > BUG=680423 > > TEST=compositing/iframes/floating-self-painting-frame.html > > TEST=compositing/iframes/floating-self-painting-frame-expected.html > > TEST=fast/block/float/float-change-composited-scrolling.html > > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 > > R=chrishtr@chromium.org > > > > Review-Url: https://codereview.chromium.org/2654843004 . > > Cr-Commit-Position: refs/heads/master@{#446226} > > Committed: https://chromium.googlesource.com/chromium/src/+/574d079a3f53ebfae2d34cc304fe8613cbcdf593 > > TBR=chrishtr@chromium.org,wangxianzhu@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=680423 > > Review-Url: https://codereview.chromium.org/2651253003 > Cr-Commit-Position: refs/heads/master@{#446271} > Committed: https://chromium.googlesource.com/chromium/src/+/59473b9e2c27131e748807e5390d33f20fcacc97 TBR=chrishtr@chromium.org,kjellander@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. BUG=680423 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2656113002 Cr-Commit-Position: refs/heads/master@{#446403} Committed: https://chromium.googlesource.com/chromium/src/+/ed00b16cf9ab2a6321b78d6ee274bbf73a63ae6a

Patch Set 1 #

Patch Set 2 : Remove iframe borders #

Messages

Total messages: 12 (8 generated)
Xianzhu
Created Reland of Fix shouldPaint issue when a composited floating iframe becomes non-self-painting
3 years, 11 months ago (2017-01-26 17:06:00 UTC) #1
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2656113002/210001
3 years, 11 months ago (2017-01-26 17:11:47 UTC) #8
commit-bot: I haz the power
Committed patchset #2 (id:210001) as https://chromium.googlesource.com/chromium/src/+/ed00b16cf9ab2a6321b78d6ee274bbf73a63ae6a
3 years, 11 months ago (2017-01-26 19:47:17 UTC) #11
kjellander_chromium
3 years, 11 months ago (2017-01-26 21:42:45 UTC) #12
Message was sent while issue was closed.
lgtm

Powered by Google App Engine
This is Rietveld 408576698