|
|
|
Created:
4 years, 11 months ago by Stephen Chennney Modified:
4 years, 10 months ago CC:
blink-reviews, blink-reviews-rendering, eae+blinkwatch, jchaffraix+rendering, leviw+renderwatch, pdr+renderingwatchlist_chromium.org, szager+layoutwatch_chromium.org, zoltan1 Base URL:
https://chromium.googlesource.com/chromium/blink.git@master Target Ref:
refs/heads/master Project:
blink Visibility:
Public. |
DescriptionCheck for buffer under/over run in table cell painting
R=chrishtr@chromium.org,jchaffraix@chromium.org
BUG=475698
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=196716
Patch Set 1 #Patch Set 2 : Revert changes and add asserts to verify correctness #
Total comments: 1
Patch Set 3 : Extract common code #
Messages
Total messages: 23 (8 generated)
The CQ bit was checked by schenney@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1162243004/1
Attempted fix (hat tip chrishtr) for BlockPainter crashes. We would indeed fail on 1x1 tables if margins are of a certain size and the repaint rect is of a certain size. Hard to see how to write a test.
I think you could repro by positioning a 1x1 table such that the border crosses a compositor tile boundary, then invalidate something else in the tile that contains the border. (can be a different div as a test) Maybe tables have incremental invalidation also, not sure.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_blink_rel on tryserver.blink (JOB_FAILED, http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/6...)
On 2015/06/01 22:03:53, chrishtr wrote: > I think you could repro by positioning a 1x1 table such that the border crosses > a compositor tile boundary, then invalidate something else in the tile that > contains the border. (can be a different div as a test) Maybe tables have > incremental invalidation also, not sure. A unit test might be the way to go here. Any test relying on tile boundaries is going to be unstable as the underlying architecture changes. I'll poke around.
In trying to write the test I have come to realize that the code is correct. So there's no need to land this. Back to the drawing board for identifying the cause of the crash.
On 2015/06/05 19:29:27, Stephen Chenney wrote: > In trying to write the test I have come to realize that the code is correct. So > there's no need to land this. > > Back to the drawing board for identifying the cause of the crash. Scratch that last comment. It was the result of a bad revert to a local change.
The CQ bit was checked by schenney@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1162243004/20001
The code was indeed correct, although somewhat non-obvious. Adding asserts to see if that is true in the wild. We might be somehow using this method when layout is invalid or the row and column position vectors are otherwise invalid.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
me gustó! lgtm https://codereview.chromium.org/1162243004/diff/20001/Source/core/layout/Layo... File Source/core/layout/LayoutTableSection.cpp (right): https://codereview.chromium.org/1162243004/diff/20001/Source/core/layout/Layo... Source/core/layout/LayoutTableSection.cpp:1339: RELEASE_ASSERT(coveredColumns.start() <= coveredColumns.end()); This code is repeated twice so I think it ought to be shared. I would put it into CellSpace::ensureConsistency() as we could add it to increaseStart / increaseEnd later if we want to.
The CQ bit was checked by schenney@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from jchaffraix@chromium.org Link to the patchset: https://codereview.chromium.org/1162243004/#ps40001 (title: "Extract common code")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1162243004/40001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: win_blink_rel on tryserver.blink (JOB_FAILED, http://build.chromium.org/p/tryserver.blink/builders/win_blink_rel/builds/65691)
The CQ bit was checked by schenney@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1162243004/40001
Message was sent while issue was closed.
Committed patchset #3 (id:40001) as https://src.chromium.org/viewvc/blink?view=rev&revision=196716 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Chromium Code Reviews