Chromium Code Reviews| Index: Source/core/rendering/RenderLayerScrollableArea.cpp |
| diff --git a/Source/core/rendering/RenderLayerScrollableArea.cpp b/Source/core/rendering/RenderLayerScrollableArea.cpp |
| index 3e96139bd8e833d2ee5d60f9403dd430b7dd0ae4..8eab87e78be66c37c15eb4c55cf32443d15fecc7 100644 |
| --- a/Source/core/rendering/RenderLayerScrollableArea.cpp |
| +++ b/Source/core/rendering/RenderLayerScrollableArea.cpp |
| @@ -716,6 +716,18 @@ void RenderLayerScrollableArea::updateAfterStyleChange(const RenderStyle* oldSty |
| EOverflow overflowX = m_box->style()->overflowX(); |
| EOverflow overflowY = m_box->style()->overflowY(); |
| + Node* node = m_box->node(); |
| + if (node && node->isElementNode()) { |
| + Element* element = toElement(node); |
| + LayoutUnit minimumWidth = valueForLength(m_box->style()->logicalMinWidth(), m_box->logicalWidth()); |
| + LayoutUnit minimumHeight = valueForLength(m_box->style()->logicalMinHeight(), m_box->logicalHeight()); |
| + if (minimumWidth == 0) |
| + minimumWidth = LayoutUnit(15); |
| + if (minimumHeight == 0) |
| + minimumHeight = LayoutUnit(15); |
|
Julien - ping for review
2014/04/21 17:46:46
I don't think we should only check for 0. We shoul
harpreet.sk
2014/04/24 15:28:27
Now added a check doing a max between the internal
|
| + element->setMinimumSizeForResizing(LayoutSize(minimumWidth, minimumHeight)); |
|
Julien - ping for review
2014/04/21 17:46:46
The fact that we do a round-trip through the DOM i
harpreet.sk
2014/04/22 13:56:36
The classes deriving from ScrollableArea other tha
Julien - ping for review
2014/04/22 22:35:12
Your analysis is fine by me.
|
| + } |
| + |
| // To avoid doing a relayout in updateScrollbarsAfterLayout, we try to keep any automatic scrollbar that was already present. |
| bool needsHorizontalScrollbar = (hasHorizontalScrollbar() && overflowDefinesAutomaticScrollbar(overflowX)) || overflowRequiresScrollbar(overflowX); |
| bool needsVerticalScrollbar = (hasVerticalScrollbar() && overflowDefinesAutomaticScrollbar(overflowY)) || overflowRequiresScrollbar(overflowY); |
| @@ -1358,8 +1370,7 @@ void RenderLayerScrollableArea::resize(const PlatformEvent& evt, const LayoutSiz |
| newOffset.setHeight(newOffset.height() / zoomFactor); |
| LayoutSize currentSize = LayoutSize(m_box->width() / zoomFactor, m_box->height() / zoomFactor); |
| - LayoutSize minimumSize = element->minimumSizeForResizing().shrunkTo(currentSize); |
|
Julien - ping for review
2014/04/21 17:46:46
Don't we need the shrunkTo call ias zoomFactor can
harpreet.sk
2014/04/24 15:28:27
We do not need shrunkTo() as over here m_box->widt
|
| - element->setMinimumSizeForResizing(minimumSize); |
| + LayoutSize minimumSize = element->minimumSizeForResizing(); |
| LayoutSize adjustedOldOffset = LayoutSize(oldOffset.width() / zoomFactor, oldOffset.height() / zoomFactor); |
| if (m_box->style()->shouldPlaceBlockDirectionScrollbarOnLogicalLeft()) { |