Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006 Apple Computer, Inc. | 2 * Copyright (C) 2006 Apple Computer, Inc. |
| 3 * Copyright (C) 2006 Alexander Kellett <lypanov@kde.org> | 3 * Copyright (C) 2006 Alexander Kellett <lypanov@kde.org> |
| 4 * Copyright (C) 2006 Oliver Hunt <ojh16@student.canterbury.ac.nz> | 4 * Copyright (C) 2006 Oliver Hunt <ojh16@student.canterbury.ac.nz> |
| 5 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> | 5 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> |
| 6 * Copyright (C) 2008 Rob Buis <buis@kde.org> | 6 * Copyright (C) 2008 Rob Buis <buis@kde.org> |
| 7 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org> | 7 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org> |
| 8 * Copyright (C) Research In Motion Limited 2010-2012. All rights reserved. | 8 * Copyright (C) Research In Motion Limited 2010-2012. All rights reserved. |
| 9 * Copyright (C) 2012 Google Inc. | 9 * Copyright (C) 2012 Google Inc. |
| 10 * | 10 * |
| (...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 362 checkLayoutAttributesConsistency(this, m_layoutAttributes); | 362 checkLayoutAttributesConsistency(this, m_layoutAttributes); |
| 363 | 363 |
| 364 // Reduced version of LayoutBlock::layoutBlock(), which only takes care of S VG text. | 364 // Reduced version of LayoutBlock::layoutBlock(), which only takes care of S VG text. |
| 365 // All if branches that could cause early exit in LayoutBlocks layoutBlock() method are turned into assertions. | 365 // All if branches that could cause early exit in LayoutBlocks layoutBlock() method are turned into assertions. |
| 366 ASSERT(!isInline()); | 366 ASSERT(!isInline()); |
| 367 ASSERT(!simplifiedLayout()); | 367 ASSERT(!simplifiedLayout()); |
| 368 ASSERT(!scrollsOverflow()); | 368 ASSERT(!scrollsOverflow()); |
| 369 ASSERT(!hasControlClip()); | 369 ASSERT(!hasControlClip()); |
| 370 ASSERT(!hasColumns()); | 370 ASSERT(!hasColumns()); |
| 371 ASSERT(!positionedObjects()); | 371 ASSERT(!positionedObjects()); |
| 372 ASSERT(!m_overflow); | |
| 373 ASSERT(!isAnonymousBlock()); | 372 ASSERT(!isAnonymousBlock()); |
| 374 | 373 |
| 375 if (!firstChild()) | 374 if (!firstChild()) |
| 376 setChildrenInline(true); | 375 setChildrenInline(true); |
| 377 | 376 |
| 378 // FIXME: We need to find a way to only layout the child boxes, if needed. | 377 // FIXME: We need to find a way to only layout the child boxes, if needed. |
| 379 FloatRect oldBoundaries = objectBoundingBox(); | 378 FloatRect oldBoundaries = objectBoundingBox(); |
| 380 ASSERT(childrenInline()); | 379 ASSERT(childrenInline()); |
| 381 | 380 |
| 382 rebuildFloatsFromIntruding(); | 381 rebuildFloatsFromIntruding(); |
| 383 | 382 |
| 384 LayoutUnit beforeEdge = borderBefore() + paddingBefore(); | 383 LayoutUnit beforeEdge = borderBefore() + paddingBefore(); |
| 385 LayoutUnit afterEdge = borderAfter() + paddingAfter() + scrollbarLogicalHeig ht(); | 384 LayoutUnit afterEdge = borderAfter() + paddingAfter() + scrollbarLogicalHeig ht(); |
| 386 setLogicalHeight(beforeEdge); | 385 setLogicalHeight(beforeEdge); |
| 387 | 386 |
| 388 LayoutState state(*this, locationOffset()); | 387 LayoutState state(*this, locationOffset()); |
| 389 LayoutUnit paintInvalidationLogicalTop = 0; | 388 LayoutUnit paintInvalidationLogicalTop = 0; |
| 390 LayoutUnit paintInvalidationLogicalBottom = 0; | 389 LayoutUnit paintInvalidationLogicalBottom = 0; |
| 391 layoutInlineChildren(true, paintInvalidationLogicalTop, paintInvalidationLog icalBottom, afterEdge); | 390 layoutInlineChildren(true, paintInvalidationLogicalTop, paintInvalidationLog icalBottom, afterEdge); |
| 392 | 391 |
| 393 if (m_needsReordering) | 392 if (m_needsReordering) |
| 394 m_needsReordering = false; | 393 m_needsReordering = false; |
| 395 | 394 |
| 396 // If we don't have any line boxes, then make sure the frame rect is still c leared. | 395 // If we don't have any line boxes, then make sure the frame rect is still c leared. |
| 397 if (!firstLineBox()) | 396 if (!firstLineBox()) |
| 398 setFrameRect(LayoutRect()); | 397 setFrameRect(LayoutRect()); |
| 399 | 398 |
| 399 m_overflow.clear(); | |
| 400 addVisualEffectOverflow(); | |
|
chrishtr
2015/06/04 16:57:03
So now LayoutSVGBlock inherits behavior from Layou
fs
2015/06/05 09:01:47
If the derived class does not override that in any
| |
| 401 | |
| 400 if (!updateCachedBoundariesInParents) | 402 if (!updateCachedBoundariesInParents) |
| 401 updateCachedBoundariesInParents = oldBoundaries != objectBoundingBox(); | 403 updateCachedBoundariesInParents = oldBoundaries != objectBoundingBox(); |
| 402 | 404 |
| 403 // Invalidate all resources of this client if our layout changed. | 405 // Invalidate all resources of this client if our layout changed. |
| 404 if (everHadLayout() && selfNeedsLayout()) | 406 if (everHadLayout() && selfNeedsLayout()) |
| 405 SVGResourcesCache::clientLayoutChanged(this); | 407 SVGResourcesCache::clientLayoutChanged(this); |
| 406 | 408 |
| 407 // If our bounds changed, notify the parents. | 409 // If our bounds changed, notify the parents. |
| 408 if (updateCachedBoundariesInParents) | 410 if (updateCachedBoundariesInParents) |
| 409 LayoutSVGBlock::setNeedsBoundariesUpdate(); | 411 LayoutSVGBlock::setNeedsBoundariesUpdate(); |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 505 SVGResourcesCache::clientWillBeRemovedFromTree(child); | 507 SVGResourcesCache::clientWillBeRemovedFromTree(child); |
| 506 | 508 |
| 507 Vector<SVGTextLayoutAttributes*, 2> affectedAttributes; | 509 Vector<SVGTextLayoutAttributes*, 2> affectedAttributes; |
| 508 FontCachePurgePreventer fontCachePurgePreventer; | 510 FontCachePurgePreventer fontCachePurgePreventer; |
| 509 subtreeChildWillBeRemoved(child, affectedAttributes); | 511 subtreeChildWillBeRemoved(child, affectedAttributes); |
| 510 LayoutSVGBlock::removeChild(child); | 512 LayoutSVGBlock::removeChild(child); |
| 511 subtreeChildWasRemoved(affectedAttributes); | 513 subtreeChildWasRemoved(affectedAttributes); |
| 512 } | 514 } |
| 513 | 515 |
| 514 } | 516 } |
| OLD | NEW |