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

Side by Side Diff: Source/core/paint/DeprecatedPaintLayer.cpp

Issue 1112593002: [New Multicolumn] Spanners are not part of the nearest ancestor flow thread. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 7 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
« no previous file with comments | « LayoutTests/fast/multicol/span/as-inner-multicol-expected.html ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « LayoutTests/fast/multicol/span/as-inner-multicol-expected.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698