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

Side by Side Diff: Source/core/layout/LayoutMultiColumnFlowThread.cpp

Issue 1033943002: Rename LayoutStyle to papayawhip (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: ensureComputedStyle Created 5 years, 8 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Apple Inc. All rights reserved. 2 * Copyright (C) 2012 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 29 matching lines...) Expand all
40 , m_progressionIsInline(true) 40 , m_progressionIsInline(true)
41 , m_isBeingEvacuated(false) 41 , m_isBeingEvacuated(false)
42 { 42 {
43 setFlowThreadState(InsideInFlowThread); 43 setFlowThreadState(InsideInFlowThread);
44 } 44 }
45 45
46 LayoutMultiColumnFlowThread::~LayoutMultiColumnFlowThread() 46 LayoutMultiColumnFlowThread::~LayoutMultiColumnFlowThread()
47 { 47 {
48 } 48 }
49 49
50 LayoutMultiColumnFlowThread* LayoutMultiColumnFlowThread::createAnonymous(Docume nt& document, const LayoutStyle& parentStyle) 50 LayoutMultiColumnFlowThread* LayoutMultiColumnFlowThread::createAnonymous(Docume nt& document, const ComputedStyle& parentStyle)
51 { 51 {
52 LayoutMultiColumnFlowThread* renderer = new LayoutMultiColumnFlowThread(); 52 LayoutMultiColumnFlowThread* renderer = new LayoutMultiColumnFlowThread();
53 renderer->setDocumentForAnonymous(&document); 53 renderer->setDocumentForAnonymous(&document);
54 renderer->setStyle(LayoutStyle::createAnonymousStyleWithDisplay(parentStyle, BLOCK)); 54 renderer->setStyle(ComputedStyle::createAnonymousStyleWithDisplay(parentStyl e, BLOCK));
55 return renderer; 55 return renderer;
56 } 56 }
57 57
58 LayoutMultiColumnSet* LayoutMultiColumnFlowThread::firstMultiColumnSet() const 58 LayoutMultiColumnSet* LayoutMultiColumnFlowThread::firstMultiColumnSet() const
59 { 59 {
60 for (LayoutObject* sibling = nextSibling(); sibling; sibling = sibling->next Sibling()) { 60 for (LayoutObject* sibling = nextSibling(); sibling; sibling = sibling->next Sibling()) {
61 if (sibling->isLayoutMultiColumnSet()) 61 if (sibling->isLayoutMultiColumnSet())
62 return toLayoutMultiColumnSet(sibling); 62 return toLayoutMultiColumnSet(sibling);
63 } 63 }
64 return 0; 64 return 0;
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
307 307
308 void LayoutMultiColumnFlowThread::columnRuleStyleDidChange() 308 void LayoutMultiColumnFlowThread::columnRuleStyleDidChange()
309 { 309 {
310 for (LayoutMultiColumnSet* columnSet = firstMultiColumnSet(); columnSet; col umnSet = columnSet->nextSiblingMultiColumnSet()) 310 for (LayoutMultiColumnSet* columnSet = firstMultiColumnSet(); columnSet; col umnSet = columnSet->nextSiblingMultiColumnSet())
311 columnSet->setShouldDoFullPaintInvalidation(PaintInvalidationStyleChange ); 311 columnSet->setShouldDoFullPaintInvalidation(PaintInvalidationStyleChange );
312 } 312 }
313 313
314 void LayoutMultiColumnFlowThread::calculateColumnCountAndWidth(LayoutUnit& width , unsigned& count) const 314 void LayoutMultiColumnFlowThread::calculateColumnCountAndWidth(LayoutUnit& width , unsigned& count) const
315 { 315 {
316 LayoutBlock* columnBlock = multiColumnBlockFlow(); 316 LayoutBlock* columnBlock = multiColumnBlockFlow();
317 const LayoutStyle* columnStyle = columnBlock->style(); 317 const ComputedStyle* columnStyle = columnBlock->style();
318 LayoutUnit availableWidth = columnBlock->contentLogicalWidth(); 318 LayoutUnit availableWidth = columnBlock->contentLogicalWidth();
319 LayoutUnit columnGap = columnBlock->columnGap(); 319 LayoutUnit columnGap = columnBlock->columnGap();
320 LayoutUnit computedColumnWidth = max<LayoutUnit>(1, LayoutUnit(columnStyle-> columnWidth())); 320 LayoutUnit computedColumnWidth = max<LayoutUnit>(1, LayoutUnit(columnStyle-> columnWidth()));
321 unsigned computedColumnCount = max<int>(1, columnStyle->columnCount()); 321 unsigned computedColumnCount = max<int>(1, columnStyle->columnCount());
322 322
323 ASSERT(!columnStyle->hasAutoColumnCount() || !columnStyle->hasAutoColumnWidt h()); 323 ASSERT(!columnStyle->hasAutoColumnCount() || !columnStyle->hasAutoColumnWidt h());
324 if (columnStyle->hasAutoColumnWidth() && !columnStyle->hasAutoColumnCount()) { 324 if (columnStyle->hasAutoColumnWidth() && !columnStyle->hasAutoColumnCount()) {
325 count = computedColumnCount; 325 count = computedColumnCount;
326 width = std::max<LayoutUnit>(0, (availableWidth - ((count - 1) * columnG ap)) / count); 326 width = std::max<LayoutUnit>(0, (availableWidth - ((count - 1) * columnG ap)) / count);
327 } else if (!columnStyle->hasAutoColumnWidth() && columnStyle->hasAutoColumnC ount()) { 327 } else if (!columnStyle->hasAutoColumnWidth() && columnStyle->hasAutoColumnC ount()) {
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
588 } 588 }
589 589
590 void LayoutMultiColumnFlowThread::computePreferredLogicalWidths() 590 void LayoutMultiColumnFlowThread::computePreferredLogicalWidths()
591 { 591 {
592 LayoutFlowThread::computePreferredLogicalWidths(); 592 LayoutFlowThread::computePreferredLogicalWidths();
593 593
594 // The min/max intrinsic widths calculated really tell how much space elemen ts need when 594 // The min/max intrinsic widths calculated really tell how much space elemen ts need when
595 // laid out inside the columns. In order to eventually end up with the desir ed column width, 595 // laid out inside the columns. In order to eventually end up with the desir ed column width,
596 // we need to convert them to values pertaining to the multicol container. 596 // we need to convert them to values pertaining to the multicol container.
597 const LayoutBlockFlow* multicolContainer = multiColumnBlockFlow(); 597 const LayoutBlockFlow* multicolContainer = multiColumnBlockFlow();
598 const LayoutStyle* multicolStyle = multicolContainer->style(); 598 const ComputedStyle* multicolStyle = multicolContainer->style();
599 int columnCount = multicolStyle->hasAutoColumnCount() ? 1 : multicolStyle->c olumnCount(); 599 int columnCount = multicolStyle->hasAutoColumnCount() ? 1 : multicolStyle->c olumnCount();
600 LayoutUnit columnWidth; 600 LayoutUnit columnWidth;
601 LayoutUnit gapExtra = (columnCount - 1) * multicolContainer->columnGap(); 601 LayoutUnit gapExtra = (columnCount - 1) * multicolContainer->columnGap();
602 if (multicolStyle->hasAutoColumnWidth()) { 602 if (multicolStyle->hasAutoColumnWidth()) {
603 m_minPreferredLogicalWidth = m_minPreferredLogicalWidth * columnCount + gapExtra; 603 m_minPreferredLogicalWidth = m_minPreferredLogicalWidth * columnCount + gapExtra;
604 } else { 604 } else {
605 columnWidth = multicolStyle->columnWidth(); 605 columnWidth = multicolStyle->columnWidth();
606 m_minPreferredLogicalWidth = std::min(m_minPreferredLogicalWidth, column Width); 606 m_minPreferredLogicalWidth = std::min(m_minPreferredLogicalWidth, column Width);
607 } 607 }
608 // Note that if column-count is auto here, we should resolve it to calculate the maximum 608 // Note that if column-count is auto here, we should resolve it to calculate the maximum
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
675 } 675 }
676 676
677 bool LayoutMultiColumnFlowThread::isPageLogicalHeightKnown() const 677 bool LayoutMultiColumnFlowThread::isPageLogicalHeightKnown() const
678 { 678 {
679 if (LayoutMultiColumnSet* columnSet = lastMultiColumnSet()) 679 if (LayoutMultiColumnSet* columnSet = lastMultiColumnSet())
680 return columnSet->pageLogicalHeight(); 680 return columnSet->pageLogicalHeight();
681 return false; 681 return false;
682 } 682 }
683 683
684 } 684 }
OLDNEW
« no previous file with comments | « Source/core/layout/LayoutMultiColumnFlowThread.h ('k') | Source/core/layout/LayoutMultiColumnSet.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698