OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights
reserved. | 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights
reserved. |
3 * | 3 * |
4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. | 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. |
5 * | 5 * |
6 * Other contributors: | 6 * Other contributors: |
7 * Robert O'Callahan <roc+@cs.cmu.edu> | 7 * Robert O'Callahan <roc+@cs.cmu.edu> |
8 * David Baron <dbaron@fas.harvard.edu> | 8 * David Baron <dbaron@fas.harvard.edu> |
9 * Christian Biesinger <cbiesinger@web.de> | 9 * Christian Biesinger <cbiesinger@web.de> |
10 * Randall Jesup <rjesup@wgate.com> | 10 * Randall Jesup <rjesup@wgate.com> |
(...skipping 504 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
515 // genuinely know if it is going to have to split itself up when painting on
ly its contents (and not any other descendant | 515 // genuinely know if it is going to have to split itself up when painting on
ly its contents (and not any other descendant |
516 // layers). We track an enclosingPaginationLayer instead of using a simple b
it, since we want to be able to get back | 516 // layers). We track an enclosingPaginationLayer instead of using a simple b
it, since we want to be able to get back |
517 // to that layer easily. | 517 // to that layer easily. |
518 if (usesRegionBasedColumns && layoutObject()->isLayoutFlowThread()) { | 518 if (usesRegionBasedColumns && layoutObject()->isLayoutFlowThread()) { |
519 m_enclosingPaginationLayer = this; | 519 m_enclosingPaginationLayer = this; |
520 return; | 520 return; |
521 } | 521 } |
522 | 522 |
523 if (m_stackingNode->isNormalFlowOnly()) { | 523 if (m_stackingNode->isNormalFlowOnly()) { |
524 if (usesRegionBasedColumns) { | 524 if (usesRegionBasedColumns) { |
525 // Content inside a transform is not considered to be paginated, sin
ce we simply | 525 // We cannot take the fast path for spanners, as they do not have th
eir nearest ancestor |
526 // paint the transform multiple times in each column, so we don't ha
ve to use | 526 // pagination layer (flow thread) in their containing block chain. |
527 // fragments for the transformed content. | 527 if (!layoutObject()->isColumnSpanAll()) { |
528 m_enclosingPaginationLayer = parent()->enclosingPaginationLayer(); | 528 // Content inside a transform is not considered to be paginated,
since we simply |
529 if (m_enclosingPaginationLayer && m_enclosingPaginationLayer->hasTra
nsformRelatedProperty()) | 529 // paint the transform multiple times in each column, so we don'
t have to use |
530 m_enclosingPaginationLayer = 0; | 530 // fragments for the transformed content. |
| 531 m_enclosingPaginationLayer = parent()->enclosingPaginationLayer(
); |
| 532 if (m_enclosingPaginationLayer && m_enclosingPaginationLayer->ha
sTransformRelatedProperty()) |
| 533 m_enclosingPaginationLayer = 0; |
| 534 return; |
| 535 } |
531 } else { | 536 } else { |
532 m_isPaginated = parent()->layoutObject()->hasColumns(); | 537 m_isPaginated = parent()->layoutObject()->hasColumns(); |
| 538 return; |
533 } | 539 } |
534 return; | |
535 } | 540 } |
536 | 541 |
537 // For the new columns code, we want to walk up our containing block chain l
ooking for an enclosing layer. Once | 542 // For the new columns code, we want to walk up our containing block chain l
ooking for an enclosing layer. Once |
538 // we find one, then we just check its pagination status. | 543 // we find one, then we just check its pagination status. |
539 if (usesRegionBasedColumns) { | 544 if (usesRegionBasedColumns) { |
540 LayoutView* view = layoutObject()->view(); | 545 LayoutView* view = layoutObject()->view(); |
541 LayoutBlock* containingBlock; | 546 LayoutBlock* containingBlock; |
542 for (containingBlock = layoutObject()->containingBlock(); | 547 for (containingBlock = layoutObject()->containingBlock(); |
543 containingBlock && containingBlock != view; | 548 containingBlock && containingBlock != view; |
544 containingBlock = containingBlock->containingBlock()) { | 549 containingBlock = containingBlock->containingBlock()) { |
(...skipping 2420 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2965 } | 2970 } |
2966 } | 2971 } |
2967 | 2972 |
2968 void showLayerTree(const blink::LayoutObject* layoutObject) | 2973 void showLayerTree(const blink::LayoutObject* layoutObject) |
2969 { | 2974 { |
2970 if (!layoutObject) | 2975 if (!layoutObject) |
2971 return; | 2976 return; |
2972 showLayerTree(layoutObject->enclosingLayer()); | 2977 showLayerTree(layoutObject->enclosingLayer()); |
2973 } | 2978 } |
2974 #endif | 2979 #endif |
OLD | NEW |