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

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

Issue 697653004: [CSS Grid Layout] Grid items must set a new formatting context. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 1 month 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 1500 matching lines...) Expand 10 before | Expand all | Expand 10 after
1511 void RenderBlock::addVisualOverflowFromTheme() 1511 void RenderBlock::addVisualOverflowFromTheme()
1512 { 1512 {
1513 if (!style()->hasAppearance()) 1513 if (!style()->hasAppearance())
1514 return; 1514 return;
1515 1515
1516 IntRect inflatedRect = pixelSnappedBorderBoxRect(); 1516 IntRect inflatedRect = pixelSnappedBorderBoxRect();
1517 RenderTheme::theme().adjustPaintInvalidationRect(this, inflatedRect); 1517 RenderTheme::theme().adjustPaintInvalidationRect(this, inflatedRect);
1518 addVisualOverflow(inflatedRect); 1518 addVisualOverflow(inflatedRect);
1519 } 1519 }
1520 1520
1521 bool RenderBlock::createsBlockFormattingContext() const 1521 bool RenderBlock::createsBlockFormattingContext() const
Julien - ping for review 2014/11/11 16:27:01 This function is deeply misnamed as most elements
jfernandez 2014/11/12 13:22:44 Done.
1522 { 1522 {
1523 return isInlineBlockOrInlineTable() || isFloatingOrOutOfFlowPositioned() || hasOverflowClip() || isFlexItemIncludingDeprecated() 1523 return isInlineBlockOrInlineTable() || isFloatingOrOutOfFlowPositioned() || hasOverflowClip() || isFlexItemIncludingDeprecated()
1524 || style()->specifiesColumns() || isRenderFlowThread() || isTableCell() || isTableCaption() || isFieldset() || isWritingModeRoot() || isDocumentElement( ) || style()->columnSpan(); 1524 || style()->specifiesColumns() || isRenderFlowThread() || isTableCell() || isTableCaption() || isFieldset() || isWritingModeRoot()
1525 || isDocumentElement() || style()->columnSpan() || containingBlock()->is RenderGrid();
Manuel Rego 2014/11/11 13:54:22 It think that you could define something similar t
Julien - ping for review 2014/11/11 16:27:01 I don't have a preference about adding a helper fu
jfernandez 2014/11/12 13:22:44 Done.
jfernandez 2014/11/12 13:22:44 Done.
1525 } 1526 }
1526 1527
1527 void RenderBlock::updateBlockChildDirtyBitsBeforeLayout(bool relayoutChildren, R enderBox* child) 1528 void RenderBlock::updateBlockChildDirtyBitsBeforeLayout(bool relayoutChildren, R enderBox* child)
1528 { 1529 {
1529 // FIXME: Technically percentage height objects only need a relayout if thei r percentage isn't going to be turned into 1530 // FIXME: Technically percentage height objects only need a relayout if thei r percentage isn't going to be turned into
1530 // an auto value. Add a method to determine this, so that we can avoid the r elayout. 1531 // an auto value. Add a method to determine this, so that we can avoid the r elayout.
1531 if (relayoutChildren || (child->hasRelativeLogicalHeight() && !isRenderView( ))) 1532 if (relayoutChildren || (child->hasRelativeLogicalHeight() && !isRenderView( )))
1532 child->setChildNeedsLayout(MarkOnlyThis); 1533 child->setChildNeedsLayout(MarkOnlyThis);
1533 1534
1534 // 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. 1535 // 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 2847 matching lines...) Expand 10 before | Expand all | Expand 10 after
4382 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render Object* obj) const 4383 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render Object* obj) const
4383 { 4384 {
4384 showRenderObject(); 4385 showRenderObject();
4385 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot Box()) 4386 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot Box())
4386 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa bel2, obj, 1); 4387 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa bel2, obj, 1);
4387 } 4388 }
4388 4389
4389 #endif 4390 #endif
4390 4391
4391 } // namespace blink 4392 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698