Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google 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 are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 1145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1156 | 1156 |
| 1157 void LayoutBlockFlow::layoutBlockChildren(bool relayoutChildren, SubtreeLayoutSc ope& layoutScope, LayoutUnit beforeEdge, LayoutUnit afterEdge) | 1157 void LayoutBlockFlow::layoutBlockChildren(bool relayoutChildren, SubtreeLayoutSc ope& layoutScope, LayoutUnit beforeEdge, LayoutUnit afterEdge) |
| 1158 { | 1158 { |
| 1159 dirtyForLayoutFromPercentageHeightDescendants(layoutScope); | 1159 dirtyForLayoutFromPercentageHeightDescendants(layoutScope); |
| 1160 | 1160 |
| 1161 BlockChildrenLayoutInfo layoutInfo(this, beforeEdge, afterEdge); | 1161 BlockChildrenLayoutInfo layoutInfo(this, beforeEdge, afterEdge); |
| 1162 MarginInfo& marginInfo = layoutInfo.marginInfo(); | 1162 MarginInfo& marginInfo = layoutInfo.marginInfo(); |
| 1163 | 1163 |
| 1164 LayoutObject* childToExclude = layoutSpecialExcludedChild(relayoutChildren, layoutScope); | 1164 LayoutObject* childToExclude = layoutSpecialExcludedChild(relayoutChildren, layoutScope); |
| 1165 | 1165 |
| 1166 LayoutBox* next = firstChildBox(); | 1166 LayoutBox* next = firstChildBox(); |
|
mstensho (USE GERRIT)
2016/09/02 18:10:35
I don't have permission to see the bug report, but
foolip
2016/09/02 18:59:48
Yeah, I had CHECK(slowFirstChild->isBox()) here, b
| |
| 1167 LayoutBox* lastNormalFlowChild = nullptr; | 1167 LayoutBox* lastNormalFlowChild = nullptr; |
| 1168 | 1168 |
| 1169 while (next) { | 1169 while (next) { |
| 1170 LayoutBox* child = next; | 1170 LayoutBox* child = next; |
| 1171 // TODO(foolip): Speculative CHECK to crash if any non-LayoutBox | |
| 1172 // children ever appear, the childrenInline() check at the call site | |
| 1173 // should make this impossible. crbug.com/632848 | |
| 1174 CHECK(child->nextSibling()->isBox()); | |
| 1171 next = child->nextSiblingBox(); | 1175 next = child->nextSiblingBox(); |
| 1172 | 1176 |
| 1173 child->setMayNeedPaintInvalidation(); | 1177 child->setMayNeedPaintInvalidation(); |
| 1174 | 1178 |
| 1175 if (childToExclude == child) | 1179 if (childToExclude == child) |
| 1176 continue; // Skip this child, since it will be positioned by the spe cialized subclass (ruby runs). | 1180 continue; // Skip this child, since it will be positioned by the spe cialized subclass (ruby runs). |
| 1177 | 1181 |
| 1178 updateBlockChildDirtyBitsBeforeLayout(relayoutChildren, *child); | 1182 updateBlockChildDirtyBitsBeforeLayout(relayoutChildren, *child); |
| 1179 | 1183 |
| 1180 if (child->isOutOfFlowPositioned()) { | 1184 if (child->isOutOfFlowPositioned()) { |
| (...skipping 2562 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3743 | 3747 |
| 3744 return LayoutBlock::invalidatePaintIfNeeded(paintInvalidationState); | 3748 return LayoutBlock::invalidatePaintIfNeeded(paintInvalidationState); |
| 3745 } | 3749 } |
| 3746 | 3750 |
| 3747 void LayoutBlockFlow::invalidateDisplayItemClients(PaintInvalidationReason inval idationReason) const | 3751 void LayoutBlockFlow::invalidateDisplayItemClients(PaintInvalidationReason inval idationReason) const |
| 3748 { | 3752 { |
| 3749 BlockFlowPaintInvalidator(*this).invalidateDisplayItemClients(invalidationRe ason); | 3753 BlockFlowPaintInvalidator(*this).invalidateDisplayItemClients(invalidationRe ason); |
| 3750 } | 3754 } |
| 3751 | 3755 |
| 3752 } // namespace blink | 3756 } // namespace blink |
| OLD | NEW |