OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Adobe Systems Incorporated. All rights reserved. | 2 * Copyright (C) 2011 Adobe Systems Incorporated. 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 * | 7 * |
8 * 1. Redistributions of source code must retain the above | 8 * 1. Redistributions of source code must retain the above |
9 * copyright notice, this list of conditions and the following | 9 * copyright notice, this list of conditions and the following |
10 * disclaimer. | 10 * disclaimer. |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
141 | 141 |
142 void LayoutFlowThread::generateColumnSetIntervalTree() | 142 void LayoutFlowThread::generateColumnSetIntervalTree() |
143 { | 143 { |
144 // FIXME: Optimize not to clear the interval all the time. This implies manu
ally managing the tree nodes lifecycle. | 144 // FIXME: Optimize not to clear the interval all the time. This implies manu
ally managing the tree nodes lifecycle. |
145 m_multiColumnSetIntervalTree.clear(); | 145 m_multiColumnSetIntervalTree.clear(); |
146 m_multiColumnSetIntervalTree.initIfNeeded(); | 146 m_multiColumnSetIntervalTree.initIfNeeded(); |
147 for (auto columnSet : m_multiColumnSetList) | 147 for (auto columnSet : m_multiColumnSetList) |
148 m_multiColumnSetIntervalTree.add(MultiColumnSetIntervalTree::createInter
val(columnSet->logicalTopInFlowThread(), columnSet->logicalBottomInFlowThread(),
columnSet)); | 148 m_multiColumnSetIntervalTree.add(MultiColumnSetIntervalTree::createInter
val(columnSet->logicalTopInFlowThread(), columnSet->logicalBottomInFlowThread(),
columnSet)); |
149 } | 149 } |
150 | 150 |
151 void LayoutFlowThread::collectLayerFragments(DeprecatedPaintLayerFragments& laye
rFragments, const LayoutRect& layerBoundingBox, const LayoutRect& dirtyRect) | 151 void LayoutFlowThread::collectLayerFragments(DeprecatedPaintLayerFragments& laye
rFragments, const LayoutRect& layerBoundingBox, const LayoutRect& dirtyRectInFlo
wThread) |
152 { | 152 { |
153 ASSERT(!m_columnSetsInvalidated); | 153 ASSERT(!m_columnSetsInvalidated); |
154 | 154 |
| 155 LayoutRect dirtyRectInMulticolContainer(dirtyRectInFlowThread); |
| 156 dirtyRectInMulticolContainer.moveBy(location()); |
| 157 |
155 for (LayoutMultiColumnSetList::const_iterator iter = m_multiColumnSetList.be
gin(); iter != m_multiColumnSetList.end(); ++iter) { | 158 for (LayoutMultiColumnSetList::const_iterator iter = m_multiColumnSetList.be
gin(); iter != m_multiColumnSetList.end(); ++iter) { |
156 LayoutMultiColumnSet* columnSet = *iter; | 159 LayoutMultiColumnSet* columnSet = *iter; |
157 columnSet->collectLayerFragments(layerFragments, layerBoundingBox, dirty
Rect); | 160 columnSet->collectLayerFragments(layerFragments, layerBoundingBox, dirty
RectInMulticolContainer); |
158 } | 161 } |
159 } | 162 } |
160 | 163 |
161 LayoutRect LayoutFlowThread::fragmentsBoundingBox(const LayoutRect& layerBoundin
gBox) const | 164 LayoutRect LayoutFlowThread::fragmentsBoundingBox(const LayoutRect& layerBoundin
gBox) const |
162 { | 165 { |
163 ASSERT(!m_columnSetsInvalidated); | 166 ASSERT(!m_columnSetsInvalidated); |
164 | 167 |
165 LayoutRect result; | 168 LayoutRect result; |
166 for (auto* columnSet : m_multiColumnSetList) { | 169 for (auto* columnSet : m_multiColumnSetList) { |
167 DeprecatedPaintLayerFragments fragments; | 170 DeprecatedPaintLayerFragments fragments; |
(...skipping 11 matching lines...) Expand all Loading... |
179 | 182 |
180 void LayoutFlowThread::MultiColumnSetSearchAdapter::collectIfNeeded(const MultiC
olumnSetInterval& interval) | 183 void LayoutFlowThread::MultiColumnSetSearchAdapter::collectIfNeeded(const MultiC
olumnSetInterval& interval) |
181 { | 184 { |
182 if (m_result) | 185 if (m_result) |
183 return; | 186 return; |
184 if (interval.low() <= m_offset && interval.high() > m_offset) | 187 if (interval.low() <= m_offset && interval.high() > m_offset) |
185 m_result = interval.data(); | 188 m_result = interval.data(); |
186 } | 189 } |
187 | 190 |
188 } // namespace blink | 191 } // namespace blink |
OLD | NEW |