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

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

Issue 242203003: [New Multicolumn] Make floats affect heights correctly. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase master Created 6 years, 8 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) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2007 David Smith (catfish.man@gmail.com) 4 * (C) 2007 David Smith (catfish.man@gmail.com)
5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved. 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved.
6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 1425 matching lines...) Expand 10 before | Expand all | Expand 10 after
1436 return; 1436 return;
1437 1437
1438 IntRect inflatedRect = pixelSnappedBorderBoxRect(); 1438 IntRect inflatedRect = pixelSnappedBorderBoxRect();
1439 RenderTheme::theme().adjustRepaintRect(this, inflatedRect); 1439 RenderTheme::theme().adjustRepaintRect(this, inflatedRect);
1440 addVisualOverflow(inflatedRect); 1440 addVisualOverflow(inflatedRect);
1441 } 1441 }
1442 1442
1443 bool RenderBlock::createsBlockFormattingContext() const 1443 bool RenderBlock::createsBlockFormattingContext() const
1444 { 1444 {
1445 return isInlineBlockOrInlineTable() || isFloatingOrOutOfFlowPositioned() || hasOverflowClip() || (parent() && parent()->isFlexibleBoxIncludingDeprecated()) 1445 return isInlineBlockOrInlineTable() || isFloatingOrOutOfFlowPositioned() || hasOverflowClip() || (parent() && parent()->isFlexibleBoxIncludingDeprecated())
1446 || style()->specifiesColumns() || isTableCell() || isTableCaption() || i sFieldset() || isWritingModeRoot() || isDocumentElement() || style()->columnSpan (); 1446 || style()->specifiesColumns() || isRenderFlowThread() || isTableCell() || isTableCaption() || isFieldset() || isWritingModeRoot() || isDocumentElement( ) || style()->columnSpan();
1447 } 1447 }
1448 1448
1449 void RenderBlock::updateBlockChildDirtyBitsBeforeLayout(bool relayoutChildren, R enderBox* child) 1449 void RenderBlock::updateBlockChildDirtyBitsBeforeLayout(bool relayoutChildren, R enderBox* child)
1450 { 1450 {
1451 // FIXME: Technically percentage height objects only need a relayout if thei r percentage isn't going to be turned into 1451 // FIXME: Technically percentage height objects only need a relayout if thei r percentage isn't going to be turned into
1452 // an auto value. Add a method to determine this, so that we can avoid the r elayout. 1452 // an auto value. Add a method to determine this, so that we can avoid the r elayout.
1453 if (relayoutChildren || (child->hasRelativeLogicalHeight() && !isRenderView( ))) 1453 if (relayoutChildren || (child->hasRelativeLogicalHeight() && !isRenderView( )))
1454 child->setChildNeedsLayout(MarkOnlyThis); 1454 child->setChildNeedsLayout(MarkOnlyThis);
1455 1455
1456 // If relayoutChildren is set and the child has percentage padding or an emb edded content box, we also need to invalidate the childs pref widths. 1456 // If relayoutChildren is set and the child has percentage padding or an emb edded content box, we also need to invalidate the childs pref widths.
(...skipping 3497 matching lines...) Expand 10 before | Expand all | Expand 10 after
4954 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render Object* obj) const 4954 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render Object* obj) const
4955 { 4955 {
4956 showRenderObject(); 4956 showRenderObject();
4957 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot Box()) 4957 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot Box())
4958 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa bel2, obj, 1); 4958 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa bel2, obj, 1);
4959 } 4959 }
4960 4960
4961 #endif 4961 #endif
4962 4962
4963 } // namespace WebCore 4963 } // namespace WebCore
OLDNEW
« no previous file with comments | « LayoutTests/fast/multicol/tall-float2-expected.html ('k') | Source/core/rendering/RenderBlockFlow.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698