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

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 4692 matching lines...) Expand 10 before | Expand all | Expand 10 after
4703 if (isAtomicInlineLevel()) 4703 if (isAtomicInlineLevel())
4704 return true; 4704 return true;
4705 Node* node = this->node(); 4705 Node* node = this->node();
4706 return node && node->isElementNode() && 4706 return node && node->isElementNode() &&
4707 (toElement(node)->isFormControlElement() || 4707 (toElement(node)->isFormControlElement() ||
4708 isHTMLImageElement(toElement(node))); 4708 isHTMLImageElement(toElement(node)));
4709 } 4709 }
4710 4710
4711 DISABLE_CFI_PERF 4711 DISABLE_CFI_PERF
4712 bool LayoutBox::avoidsFloats() const { 4712 bool LayoutBox::avoidsFloats() const {
4713 // crbug.com/460704: This should be merged with createsNewFormattingContext().
4713 return shouldBeConsideredAsReplaced() || hasOverflowClip() || isHR() || 4714 return shouldBeConsideredAsReplaced() || hasOverflowClip() || isHR() ||
4714 isLegend() || isWritingModeRoot() || isFlexItemIncludingDeprecated() || 4715 isLegend() || isWritingModeRoot() || isFlexItemIncludingDeprecated() ||
4715 style()->containsPaint() || style()->containsLayout(); 4716 style()->containsPaint() || style()->containsLayout() ||
4717 style()->display() == EDisplay::FlowRoot;
4716 } 4718 }
4717 4719
4718 bool LayoutBox::hasNonCompositedScrollbars() const { 4720 bool LayoutBox::hasNonCompositedScrollbars() const {
4719 if (PaintLayerScrollableArea* scrollableArea = this->getScrollableArea()) { 4721 if (PaintLayerScrollableArea* scrollableArea = this->getScrollableArea()) {
4720 if (scrollableArea->hasHorizontalScrollbar() && 4722 if (scrollableArea->hasHorizontalScrollbar() &&
4721 !scrollableArea->layerForHorizontalScrollbar()) 4723 !scrollableArea->layerForHorizontalScrollbar())
4722 return true; 4724 return true;
4723 if (scrollableArea->hasVerticalScrollbar() && 4725 if (scrollableArea->hasVerticalScrollbar() &&
4724 !scrollableArea->layerForVerticalScrollbar()) 4726 !scrollableArea->layerForVerticalScrollbar())
4725 return true; 4727 return true;
(...skipping 968 matching lines...) Expand 10 before | Expand all | Expand 10 after
5694 block->adjustChildDebugRect(rect); 5696 block->adjustChildDebugRect(rect);
5695 5697
5696 return rect; 5698 return rect;
5697 } 5699 }
5698 5700
5699 bool LayoutBox::shouldClipOverflow() const { 5701 bool LayoutBox::shouldClipOverflow() const {
5700 return hasOverflowClip() || styleRef().containsPaint() || hasControlClip(); 5702 return hasOverflowClip() || styleRef().containsPaint() || hasControlClip();
5701 } 5703 }
5702 5704
5703 } // namespace blink 5705 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698