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

Issue 418483004: Fix scrollbar damage accumulation issue (Closed)

Created:
6 years, 5 months ago by Xianzhu
Modified:
6 years, 5 months ago
CC:
blink-layers+watch_chromium.org, blink-reviews, blink-reviews-rendering, eae+blinkwatch, jchaffraix+rendering, leviw+renderwatch, pdr., rune+blink, zoltan1
Project:
blink
Visibility:
Public.

Description

Fix scrollbar damage accumulation issue Added ScrollableArea::addScrollbarDamage() to accumulate scrollbar damage rects. BUG=394833 TEST=fast/repaint/scrollbar-parts.html Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=178952

Patch Set 1 : #

Total comments: 8

Patch Set 2 : Add test #

Total comments: 8

Patch Set 3 : Nits #

Patch Set 4 : NeedsRebaseline #

Unified diffs Side-by-side diffs Delta from patch set Stats (+46 lines, -46 lines) Patch
M LayoutTests/TestExpectations View 1 2 3 1 chunk +4 lines, -0 lines 0 comments Download
A LayoutTests/fast/repaint/scrollbar-parts.html View 1 2 1 chunk +17 lines, -0 lines 0 comments Download
A + LayoutTests/fast/repaint/scrollbar-parts-expected.txt View 1 1 chunk +2 lines, -1 line 0 comments Download
M Source/core/frame/FrameView.cpp View 1 chunk +3 lines, -10 lines 0 comments Download
M Source/core/rendering/RenderLayerScrollableArea.cpp View 1 1 chunk +3 lines, -11 lines 0 comments Download
M Source/platform/scroll/ScrollableArea.h View 1 2 3 chunks +16 lines, -20 lines 0 comments Download
M Source/platform/scroll/ScrollableArea.cpp View 2 chunks +1 line, -4 lines 0 comments Download

Messages

Total messages: 18 (0 generated)
Xianzhu
6 years, 5 months ago (2014-07-23 18:27:12 UTC) #1
Julien - ping for review
https://codereview.chromium.org/418483004/diff/20001/Source/core/rendering/RenderLayerScrollableArea.cpp File Source/core/rendering/RenderLayerScrollableArea.cpp (right): https://codereview.chromium.org/418483004/diff/20001/Source/core/rendering/RenderLayerScrollableArea.cpp#newcode210 Source/core/rendering/RenderLayerScrollableArea.cpp:210: box().setMayNeedPaintInvalidation(true); I don't really like this change. If we ...
6 years, 5 months ago (2014-07-23 20:46:23 UTC) #2
Xianzhu
https://codereview.chromium.org/418483004/diff/20001/Source/platform/scroll/ScrollableArea.h File Source/platform/scroll/ScrollableArea.h (right): https://codereview.chromium.org/418483004/diff/20001/Source/platform/scroll/ScrollableArea.h#newcode212 Source/platform/scroll/ScrollableArea.h:212: void addScrollbarDamage(Scrollbar* scrollbar, const IntRect& rect) On 2014/07/23 20:46:23, ...
6 years, 5 months ago (2014-07-23 22:45:31 UTC) #3
Xianzhu
https://codereview.chromium.org/418483004/diff/20001/Source/platform/scroll/ScrollableArea.h File Source/platform/scroll/ScrollableArea.h (right): https://codereview.chromium.org/418483004/diff/20001/Source/platform/scroll/ScrollableArea.h#newcode220 Source/platform/scroll/ScrollableArea.h:220: void resetScrollbarDamage() On 2014/07/23 20:46:23, Julien Chaffraix - PST ...
6 years, 5 months ago (2014-07-23 23:55:01 UTC) #4
Xianzhu
https://codereview.chromium.org/418483004/diff/20001/Source/platform/scroll/ScrollableArea.h File Source/platform/scroll/ScrollableArea.h (right): https://codereview.chromium.org/418483004/diff/20001/Source/platform/scroll/ScrollableArea.h#newcode220 Source/platform/scroll/ScrollableArea.h:220: void resetScrollbarDamage() There is also a case that we ...
6 years, 5 months ago (2014-07-24 00:09:36 UTC) #5
Xianzhu
Because of reasons mentioned previously, I still keep resetScrollbarDamages(). PTAL. https://codereview.chromium.org/418483004/diff/20001/Source/core/rendering/RenderLayerScrollableArea.cpp File Source/core/rendering/RenderLayerScrollableArea.cpp (right): https://codereview.chromium.org/418483004/diff/20001/Source/core/rendering/RenderLayerScrollableArea.cpp#newcode210 ...
6 years, 5 months ago (2014-07-24 00:33:48 UTC) #6
Xianzhu
Another case of multiple invalidateScrollbarRects in one frame cycle is: scrollbar partial invalidation is exposed ...
6 years, 5 months ago (2014-07-24 17:35:04 UTC) #7
dsinclair
This makes sense to me, jchaffraix, with the above explanation, are you happy with this? ...
6 years, 5 months ago (2014-07-25 14:33:45 UTC) #8
Julien - ping for review
lgtm https://codereview.chromium.org/418483004/diff/40001/LayoutTests/fast/repaint/scrollbar-parts.html File LayoutTests/fast/repaint/scrollbar-parts.html (right): https://codereview.chromium.org/418483004/diff/40001/LayoutTests/fast/repaint/scrollbar-parts.html#newcode9 LayoutTests/fast/repaint/scrollbar-parts.html:9: runRepaintTest(); While this works, I would argue to ...
6 years, 5 months ago (2014-07-25 17:20:10 UTC) #9
Xianzhu
https://codereview.chromium.org/418483004/diff/40001/LayoutTests/fast/repaint/scrollbar-parts.html File LayoutTests/fast/repaint/scrollbar-parts.html (right): https://codereview.chromium.org/418483004/diff/40001/LayoutTests/fast/repaint/scrollbar-parts.html#newcode9 LayoutTests/fast/repaint/scrollbar-parts.html:9: runRepaintTest(); On 2014/07/25 17:20:10, Julien Chaffraix - PST wrote: ...
6 years, 5 months ago (2014-07-25 17:28:25 UTC) #10
Xianzhu
The CQ bit was checked by wangxianzhu@chromium.org
6 years, 5 months ago (2014-07-25 17:28:32 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/wangxianzhu@chromium.org/418483004/50001
6 years, 5 months ago (2014-07-25 17:29:42 UTC) #12
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: mac_blink_rel on tryserver.blink ...
6 years, 5 months ago (2014-07-25 18:40:22 UTC) #13
Xianzhu
The CQ bit was checked by wangxianzhu@chromium.org
6 years, 5 months ago (2014-07-25 19:00:55 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/wangxianzhu@chromium.org/418483004/70001
6 years, 5 months ago (2014-07-25 19:00:58 UTC) #15
commit-bot: I haz the power
Change committed as 178952
6 years, 5 months ago (2014-07-25 20:09:15 UTC) #16
Julien - ping for review
https://codereview.chromium.org/418483004/diff/40001/LayoutTests/fast/repaint/scrollbar-parts.html File LayoutTests/fast/repaint/scrollbar-parts.html (right): https://codereview.chromium.org/418483004/diff/40001/LayoutTests/fast/repaint/scrollbar-parts.html#newcode13 LayoutTests/fast/repaint/scrollbar-parts.html:13: should be properly repainted when the contents change size. ...
6 years, 5 months ago (2014-07-25 20:24:44 UTC) #17
Xianzhu
6 years, 5 months ago (2014-07-25 20:54:58 UTC) #18
Message was sent while issue was closed.
https://codereview.chromium.org/418483004/diff/40001/LayoutTests/fast/repaint...
File LayoutTests/fast/repaint/scrollbar-parts.html (right):

https://codereview.chromium.org/418483004/diff/40001/LayoutTests/fast/repaint...
LayoutTests/fast/repaint/scrollbar-parts.html:13: should be properly repainted
when the contents change size. -->
On 2014/07/25 20:24:44, Julien Chaffraix - PST wrote:
> On 2014/07/25 17:28:25, Xianzhu wrote:
> > On 2014/07/25 17:20:10, Julien Chaffraix - PST wrote:
> > > We should dump this into the text output as we are doing a text dump.
> > 
> > Currently text-based-repaint dump the layer tree only, not including text in
> the
> > test. Also the text causes platform rebaselines because of different text
> sizes
> > and I'd like to avoid that.
> 
> I don't think that's a good argument. I am not concerned about the text output
> here but someone trying to understand what's going wrong if this test output
> changes. If you set the font and font size explicitly that should prevent the
> font issue.

Setting font and font size won't work because the physical font metrics
differences, but 'div style="height: xxx"' should work. Will use the method in
later changes. Might also change existing tests to reduce platform rebaselines.

Powered by Google App Engine
This is Rietveld 408576698