OLD | NEW |
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 438 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
449 m_lastSetWorkedOn = nextSet; | 449 m_lastSetWorkedOn = nextSet; |
450 nextSet->beginFlow(logicalTopInFlowThread); | 450 nextSet->beginFlow(logicalTopInFlowThread); |
451 } | 451 } |
452 return adjustment; | 452 return adjustment; |
453 } | 453 } |
454 | 454 |
455 // When processing layout objects to remove or when processing layout objects th
at have just been | 455 // When processing layout objects to remove or when processing layout objects th
at have just been |
456 // inserted, certain types of objects should be skipped. | 456 // inserted, certain types of objects should be skipped. |
457 static bool shouldSkipInsertedOrRemovedChild(const LayoutObject& child) | 457 static bool shouldSkipInsertedOrRemovedChild(const LayoutObject& child) |
458 { | 458 { |
| 459 if (child.isSVG() && !child.isSVGRoot()) { |
| 460 // Don't descend into SVG objects. What's in there is of no interest, an
d there might even |
| 461 // be a foreignObject there with column-span:all, which doesn't apply to
us. |
| 462 return true; |
| 463 } |
459 if (child.isLayoutFlowThread()) { | 464 if (child.isLayoutFlowThread()) { |
460 // Found an inner flow thread. We need to skip it and its descendants. | 465 // Found an inner flow thread. We need to skip it and its descendants. |
461 return true; | 466 return true; |
462 } | 467 } |
463 if (child.isLayoutMultiColumnSet() || child.isLayoutMultiColumnSpannerPlaceh
older()) { | 468 if (child.isLayoutMultiColumnSet() || child.isLayoutMultiColumnSpannerPlaceh
older()) { |
464 // Column sets and spanner placeholders in a child multicol context don'
t affect the parent | 469 // Column sets and spanner placeholders in a child multicol context don'
t affect the parent |
465 // flow thread. | 470 // flow thread. |
466 return true; | 471 return true; |
467 } | 472 } |
468 return false; | 473 return false; |
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
710 } | 715 } |
711 | 716 |
712 bool LayoutMultiColumnFlowThread::isPageLogicalHeightKnown() const | 717 bool LayoutMultiColumnFlowThread::isPageLogicalHeightKnown() const |
713 { | 718 { |
714 if (LayoutMultiColumnSet* columnSet = lastMultiColumnSet()) | 719 if (LayoutMultiColumnSet* columnSet = lastMultiColumnSet()) |
715 return columnSet->pageLogicalHeight(); | 720 return columnSet->pageLogicalHeight(); |
716 return false; | 721 return false; |
717 } | 722 } |
718 | 723 |
719 } | 724 } |
OLD | NEW |