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

Side by Side Diff: third_party/WebKit/Source/core/frame/FrameView.cpp

Issue 2361373002: [css-grid] Clearing override sizes before running grid's layout logic. (Closed)
Patch Set: A new approach, just facing orthogonal flow issues. Created 4 years, 2 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) 1998, 1999 Torben Weis <weis@kde.org> 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org>
3 * 1999 Lars Knoll <knoll@kde.org> 3 * 1999 Lars Knoll <knoll@kde.org>
4 * 1999 Antti Koivisto <koivisto@kde.org> 4 * 1999 Antti Koivisto <koivisto@kde.org>
5 * 2000 Dirk Mueller <mueller@kde.org> 5 * 2000 Dirk Mueller <mueller@kde.org>
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) 7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com)
8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) 8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com)
9 * Copyright (C) 2009 Google Inc. All rights reserved. 9 * Copyright (C) 2009 Google Inc. All rights reserved.
10 * 10 *
(...skipping 1870 matching lines...) Expand 10 before | Expand all | Expand 10 after
1881 if (LayoutBlock* cb = root.containingBlock()) { 1881 if (LayoutBlock* cb = root.containingBlock()) {
1882 if (cb->needsLayout() && cb->isLayoutBlockFlow()) 1882 if (cb->needsLayout() && cb->isLayoutBlockFlow())
1883 toLayoutBlockFlow(cb)->removeFloatingObjects(); 1883 toLayoutBlockFlow(cb)->removeFloatingObjects();
1884 } 1884 }
1885 } 1885 }
1886 1886
1887 void FrameView::layoutOrthogonalWritingModeRoots() 1887 void FrameView::layoutOrthogonalWritingModeRoots()
1888 { 1888 {
1889 for (auto& root : m_orthogonalWritingModeRootList.ordered()) { 1889 for (auto& root : m_orthogonalWritingModeRootList.ordered()) {
1890 ASSERT(root->isBox() && toLayoutBox(*root).isOrthogonalWritingModeRoot() ); 1890 ASSERT(root->isBox() && toLayoutBox(*root).isOrthogonalWritingModeRoot() );
1891 if (toLayoutBox(*root).hasContainingBlockOverrideSize() || toLayoutBox(* root).hasOverrideSize()) {
cbiesinger 2016/09/26 11:48:32 Hmm, so I understand why you're doing this but I t
jfernandez 2016/09/26 13:38:02 For the case I'm trying to solve is not enough to
1892 toLayoutBox(*root).clearOverrideSize();
1893 toLayoutBox(*root).clearContainingBlockOverrideSize();
1894 root->setNeedsLayout(LayoutInvalidationReason::SizeChanged);
1895 }
1891 if (!root->needsLayout() 1896 if (!root->needsLayout()
1892 || root->isOutOfFlowPositioned() 1897 || root->isOutOfFlowPositioned()
1893 || root->isColumnSpanAll() 1898 || root->isColumnSpanAll()
1894 || !root->styleRef().logicalHeight().isIntrinsicOrAuto()) { 1899 || !root->styleRef().logicalHeight().isIntrinsicOrAuto()) {
1895 continue; 1900 continue;
1896 } 1901 }
1897 1902
1898 removeFloatingObjectsForSubtreeRoot(*root); 1903 removeFloatingObjectsForSubtreeRoot(*root);
1899 layoutFromRootObject(*root); 1904 layoutFromRootObject(*root);
1900 } 1905 }
(...skipping 2500 matching lines...) Expand 10 before | Expand all | Expand 10 after
4401 } 4406 }
4402 4407
4403 bool FrameView::canThrottleRendering() const 4408 bool FrameView::canThrottleRendering() const
4404 { 4409 {
4405 if (!RuntimeEnabledFeatures::renderingPipelineThrottlingEnabled()) 4410 if (!RuntimeEnabledFeatures::renderingPipelineThrottlingEnabled())
4406 return false; 4411 return false;
4407 return m_subtreeThrottled || (m_hiddenForThrottling && m_crossOriginForThrot tling); 4412 return m_subtreeThrottled || (m_hiddenForThrottling && m_crossOriginForThrot tling);
4408 } 4413 }
4409 4414
4410 } // namespace blink 4415 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698