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

Issue 270663003: Remove FrameView::m_doFullRepaint (Closed)

Created:
6 years, 7 months ago by Xianzhu
Modified:
6 years, 7 months ago
CC:
blink-reviews, blink-reviews-rendering, zoltan1, eae+blinkwatch, leviw+renderwatch, kouhei+svg_chromium.org, fs, ed+blinkwatch_opera.com, krit, f(malita), gyuyoung.kim_webkit.org, jchaffraix+rendering, pdr., rwlbuis, Stephen Chennney, rune+blink
Visibility:
Public.

Description

Remove FrameView::m_doFullRepaint This is preparation for optimizing repaint on window resize. Remove the flag and use RenderView's shouldDoFullRepaintAfterLayout() instead. In the next steps, will set RenderView's shouldDoFullRepaintAfterlayout in less cases (based on https://codereview.chromium.org/265703012/) so that we don't always repaint on RenderView resize. BUG=258219 TEST=existing tests.

Patch Set 1 #

Patch Set 2 : Rebase #

Total comments: 6
Unified diffs Side-by-side diffs Delta from patch set Stats (+28 lines, -38 lines) Patch
M Source/core/frame/FrameView.h View 1 2 chunks +0 lines, -4 lines 0 comments Download
M Source/core/frame/FrameView.cpp View 1 6 chunks +10 lines, -22 lines 2 comments Download
M Source/core/rendering/RenderBlock.cpp View 1 2 chunks +2 lines, -2 lines 3 comments Download
M Source/core/rendering/RenderBox.cpp View 1 1 chunk +1 line, -1 line 0 comments Download
M Source/core/rendering/RenderObject.cpp View 1 2 chunks +3 lines, -3 lines 1 comment Download
M Source/core/rendering/RenderView.h View 1 2 chunks +5 lines, -4 lines 0 comments Download
M Source/core/rendering/RenderView.cpp View 1 1 chunk +6 lines, -1 line 0 comments Download
M Source/core/rendering/svg/RenderSVGModelObject.cpp View 1 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 7 (0 generated)
Xianzhu
6 years, 7 months ago (2014-05-07 20:26:49 UTC) #1
Xianzhu
leviw@ and dsinclair@, could you PTAL?
6 years, 7 months ago (2014-05-20 17:26:47 UTC) #2
dsinclair
+jchaffraix https://codereview.chromium.org/270663003/diff/20001/Source/core/frame/FrameView.cpp File Source/core/frame/FrameView.cpp (left): https://codereview.chromium.org/270663003/diff/20001/Source/core/frame/FrameView.cpp#oldcode923 Source/core/frame/FrameView.cpp:923: shouldDoFullLayout = !inSubtreeLayout && (m_firstLayout || toRenderView(rootForThisLayout)->document().printing()); What ...
6 years, 7 months ago (2014-05-20 17:37:37 UTC) #3
Xianzhu
https://codereview.chromium.org/270663003/diff/20001/Source/core/frame/FrameView.cpp File Source/core/frame/FrameView.cpp (left): https://codereview.chromium.org/270663003/diff/20001/Source/core/frame/FrameView.cpp#oldcode923 Source/core/frame/FrameView.cpp:923: shouldDoFullLayout = !inSubtreeLayout && (m_firstLayout || toRenderView(rootForThisLayout)->document().printing()); On 2014/05/20 ...
6 years, 7 months ago (2014-05-20 18:32:20 UTC) #4
dsinclair
https://codereview.chromium.org/270663003/diff/20001/Source/core/rendering/RenderBlock.cpp File Source/core/rendering/RenderBlock.cpp (right): https://codereview.chromium.org/270663003/diff/20001/Source/core/rendering/RenderBlock.cpp#newcode398 Source/core/rendering/RenderBlock.cpp:398: RenderBox::repaintTreeAfterLayout(repaintContainer); On 2014/05/20 18:32:21, Xianzhu wrote: > On 2014/05/20 ...
6 years, 7 months ago (2014-05-20 18:36:42 UTC) #5
Xianzhu
On 2014/05/20 18:36:42, dsinclair wrote: > https://codereview.chromium.org/270663003/diff/20001/Source/core/rendering/RenderBlock.cpp > File Source/core/rendering/RenderBlock.cpp (right): > > https://codereview.chromium.org/270663003/diff/20001/Source/core/rendering/RenderBlock.cpp#newcode398 > ...
6 years, 7 months ago (2014-05-20 18:40:27 UTC) #6
Xianzhu
6 years, 7 months ago (2014-05-20 21:17:06 UTC) #7
On 2014/05/20 18:40:27, Xianzhu wrote:
> On 2014/05/20 18:36:42, dsinclair wrote:
> >
>
https://codereview.chromium.org/270663003/diff/20001/Source/core/rendering/Re...
> > File Source/core/rendering/RenderBlock.cpp (right):
> > 
> >
>
https://codereview.chromium.org/270663003/diff/20001/Source/core/rendering/Re...
> > Source/core/rendering/RenderBlock.cpp:398:
> > RenderBox::repaintTreeAfterLayout(repaintContainer);
> > On 2014/05/20 18:32:21, Xianzhu wrote:
> > > On 2014/05/20 17:37:39, dsinclair wrote:
> > > > This seems wrong to me. We should invalidate the parent before we
> invalidate
> > > the
> > > > children but this is flipping things around so the children are
> invalidated
> > > > first in this case.
> > > 
> > > Made the change because I'm using the
> > > RenderView::shouldDoFullRepaintAfterLayout() to indicate the RenderView's
> full
> > > repaint requirement and need the flag to be cleared at last.
> > > 
> > > I was also afraid whether this would cause problems, but the layout test
> > results
> > > look OK to me. Could you give more details about the bad consequence of
this
> > > change?
> > 
> > I don't have any specific consequences, it just strikes me as being strange,
> and
> > also this is the only place where we have this behaviour. Seems like it will
> > bite us in the future if someone moves this to be above the child painting.
> > 
> > For all other places where we walk the tree we invalidate the parent and
then
> > the children, except here.
> 
> Thanks for the explanation. Now I see the bad. Will find a better solution.

Haven't found a good way to use RenderView::shouldDoFullRepaintAfterLayout() for
the new purpose, so I'm closing this CL.

In https://codereview.chromium.org/265703012/ I still keep
FrameView::m_doFullRepaint.

Powered by Google App Engine
This is Rietveld 408576698