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

Side by Side Diff: Source/core/rendering/RenderBlockFlow.cpp

Issue 834653003: [Slimming paint] [New Multicolumn] Repaint column rules when they change. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Make the test useful. Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 1958 matching lines...) Expand 10 before | Expand all | Expand 10 after
1969 } 1969 }
1970 } 1970 }
1971 } 1971 }
1972 1972
1973 parentBlockFlow->markAllDescendantsWithFloatsForLayout(); 1973 parentBlockFlow->markAllDescendantsWithFloatsForLayout();
1974 parentBlockFlow->markSiblingsWithFloatsForLayout(); 1974 parentBlockFlow->markSiblingsWithFloatsForLayout();
1975 } 1975 }
1976 1976
1977 if (diff.needsFullLayout() || !oldStyle) 1977 if (diff.needsFullLayout() || !oldStyle)
1978 createOrDestroyMultiColumnFlowThreadIfNeeded(oldStyle); 1978 createOrDestroyMultiColumnFlowThreadIfNeeded(oldStyle);
1979 if (oldStyle) {
1980 if (RenderMultiColumnFlowThread* flowThread = multiColumnFlowThread()) {
1981 if (!style()->columnRuleEquivalent(oldStyle)) {
1982 // Column rules are painted by anonymous column set children of the multicol
1983 // container. We need to notify them.
1984 flowThread->columnRuleStyleDidChange();
1985 }
1986 }
1987 }
1979 } 1988 }
1980 1989
1981 void RenderBlockFlow::updateBlockChildDirtyBitsBeforeLayout(bool relayoutChildre n, RenderBox& child) 1990 void RenderBlockFlow::updateBlockChildDirtyBitsBeforeLayout(bool relayoutChildre n, RenderBox& child)
1982 { 1991 {
1983 if (child.isRenderMultiColumnSpannerPlaceholder() && toRenderMultiColumnSpan nerPlaceholder(child).rendererInFlowThread()->needsLayout()) { 1992 if (child.isRenderMultiColumnSpannerPlaceholder() && toRenderMultiColumnSpan nerPlaceholder(child).rendererInFlowThread()->needsLayout()) {
1984 // The containing block of a spanner is the multicol container (|this| b lock), but the spanner 1993 // The containing block of a spanner is the multicol container (|this| b lock), but the spanner
1985 // is laid out via its spanner set (|child|), so we need to make sure th at we enter it. 1994 // is laid out via its spanner set (|child|), so we need to make sure th at we enter it.
1986 child.setChildNeedsLayout(MarkOnlyThis); 1995 child.setChildNeedsLayout(MarkOnlyThis);
1987 } 1996 }
1988 RenderBlock::updateBlockChildDirtyBitsBeforeLayout(relayoutChildren, child); 1997 RenderBlock::updateBlockChildDirtyBitsBeforeLayout(relayoutChildren, child);
(...skipping 1132 matching lines...) Expand 10 before | Expand all | Expand 10 after
3121 FrameView* frameView = document().view(); 3130 FrameView* frameView = document().view();
3122 LayoutUnit top = (style()->position() == FixedPosition) ? 0 : frameView->scr ollOffset().height(); 3131 LayoutUnit top = (style()->position() == FixedPosition) ? 0 : frameView->scr ollOffset().height();
3123 int visibleHeight = frameView->visibleContentRect(IncludeScrollbars).height( ); 3132 int visibleHeight = frameView->visibleContentRect(IncludeScrollbars).height( );
3124 if (size().height() < visibleHeight) 3133 if (size().height() < visibleHeight)
3125 top += (visibleHeight - size().height()) / 2; 3134 top += (visibleHeight - size().height()) / 2;
3126 setY(top); 3135 setY(top);
3127 dialog->setCentered(top); 3136 dialog->setCentered(top);
3128 } 3137 }
3129 3138
3130 } // namespace blink 3139 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/paint/MultiColumnSetPainter.cpp ('k') | Source/core/rendering/RenderMultiColumnFlowThread.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698