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

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutBox.cpp

Issue 2620623002: Implement display:flow-root (Closed)
Patch Set: bug 672508 Created 3 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) 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) 2005 Allan Sandfeld Jensen (kde@carewolf.com) 4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com)
5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) 5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com)
6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc.
7 * All rights reserved. 7 * All rights reserved.
8 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. 8 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved.
9 * 9 *
10 * This library is free software; you can redistribute it and/or 10 * This library is free software; you can redistribute it and/or
(...skipping 4691 matching lines...) Expand 10 before | Expand all | Expand 10 after
4702 if (isAtomicInlineLevel()) 4702 if (isAtomicInlineLevel())
4703 return true; 4703 return true;
4704 Node* node = this->node(); 4704 Node* node = this->node();
4705 return node && node->isElementNode() && 4705 return node && node->isElementNode() &&
4706 (toElement(node)->isFormControlElement() || 4706 (toElement(node)->isFormControlElement() ||
4707 isHTMLImageElement(toElement(node))); 4707 isHTMLImageElement(toElement(node)));
4708 } 4708 }
4709 4709
4710 DISABLE_CFI_PERF 4710 DISABLE_CFI_PERF
4711 bool LayoutBox::avoidsFloats() const { 4711 bool LayoutBox::avoidsFloats() const {
4712 // crbug.com/460704: This should be merged with createsNewFormattingContext().
4712 return shouldBeConsideredAsReplaced() || hasOverflowClip() || isHR() || 4713 return shouldBeConsideredAsReplaced() || hasOverflowClip() || isHR() ||
4713 isLegend() || isWritingModeRoot() || isFlexItemIncludingDeprecated() || 4714 isLegend() || isWritingModeRoot() || isFlexItemIncludingDeprecated() ||
4714 style()->containsPaint() || style()->containsLayout(); 4715 style()->containsPaint() || style()->containsLayout() ||
4716 style()->display() == EDisplay::FlowRoot;
4715 } 4717 }
4716 4718
4717 bool LayoutBox::hasNonCompositedScrollbars() const { 4719 bool LayoutBox::hasNonCompositedScrollbars() const {
4718 if (PaintLayerScrollableArea* scrollableArea = this->getScrollableArea()) { 4720 if (PaintLayerScrollableArea* scrollableArea = this->getScrollableArea()) {
4719 if (scrollableArea->hasHorizontalScrollbar() && 4721 if (scrollableArea->hasHorizontalScrollbar() &&
4720 !scrollableArea->layerForHorizontalScrollbar()) 4722 !scrollableArea->layerForHorizontalScrollbar())
4721 return true; 4723 return true;
4722 if (scrollableArea->hasVerticalScrollbar() && 4724 if (scrollableArea->hasVerticalScrollbar() &&
4723 !scrollableArea->layerForVerticalScrollbar()) 4725 !scrollableArea->layerForVerticalScrollbar())
4724 return true; 4726 return true;
(...skipping 968 matching lines...) Expand 10 before | Expand all | Expand 10 after
5693 block->adjustChildDebugRect(rect); 5695 block->adjustChildDebugRect(rect);
5694 5696
5695 return rect; 5697 return rect;
5696 } 5698 }
5697 5699
5698 bool LayoutBox::shouldClipOverflow() const { 5700 bool LayoutBox::shouldClipOverflow() const {
5699 return hasOverflowClip() || styleRef().containsPaint() || hasControlClip(); 5701 return hasOverflowClip() || styleRef().containsPaint() || hasControlClip();
5700 } 5702 }
5701 5703
5702 } // namespace blink 5704 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutBlock.cpp ('k') | third_party/WebKit/Source/core/layout/LayoutObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698