| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2007 David Smith (catfish.man@gmail.com) | 4 * (C) 2007 David Smith (catfish.man@gmail.com) |
| 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
All rights reserved. | 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
All rights reserved. |
| 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
| 7 * | 7 * |
| 8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
| 9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
| 10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
| (...skipping 7368 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7379 bool checkColumnBreaks = view()->layoutState()->isPaginatingColumns(); | 7379 bool checkColumnBreaks = view()->layoutState()->isPaginatingColumns(); |
| 7380 bool checkPageBreaks = !checkColumnBreaks && view()->layoutState()->m_pageLo
gicalHeight; | 7380 bool checkPageBreaks = !checkColumnBreaks && view()->layoutState()->m_pageLo
gicalHeight; |
| 7381 RenderFlowThread* flowThread = flowThreadContainingBlock(); | 7381 RenderFlowThread* flowThread = flowThreadContainingBlock(); |
| 7382 bool checkRegionBreaks = flowThread && flowThread->isRenderNamedFlowThread()
; | 7382 bool checkRegionBreaks = flowThread && flowThread->isRenderNamedFlowThread()
; |
| 7383 bool isUnsplittable = child->isUnsplittableForPagination() || (checkColumnBr
eaks && child->style()->columnBreakInside() == PBAVOID) | 7383 bool isUnsplittable = child->isUnsplittableForPagination() || (checkColumnBr
eaks && child->style()->columnBreakInside() == PBAVOID) |
| 7384 || (checkPageBreaks && child->style()->pageBreakInside() == PBAVOID) | 7384 || (checkPageBreaks && child->style()->pageBreakInside() == PBAVOID) |
| 7385 || (checkRegionBreaks && child->style()->regionBreakInside() == PBAVOID)
; | 7385 || (checkRegionBreaks && child->style()->regionBreakInside() == PBAVOID)
; |
| 7386 if (!isUnsplittable) | 7386 if (!isUnsplittable) |
| 7387 return logicalOffset; | 7387 return logicalOffset; |
| 7388 LayoutUnit childLogicalHeight = logicalHeightForChild(child) + (includeMargi
ns ? marginBeforeForChild(child) + marginAfterForChild(child) : LayoutUnit()); | 7388 LayoutUnit childLogicalHeight = logicalHeightForChild(child) + (includeMargi
ns ? marginBeforeForChild(child) + marginAfterForChild(child) : LayoutUnit()); |
| 7389 LayoutState* layoutState = view()->layoutState(); | |
| 7390 if (layoutState->m_columnInfo) | |
| 7391 layoutState->m_columnInfo->updateMinimumColumnHeight(childLogicalHeight)
; | |
| 7392 LayoutUnit pageLogicalHeight = pageLogicalHeightForOffset(logicalOffset); | 7389 LayoutUnit pageLogicalHeight = pageLogicalHeightForOffset(logicalOffset); |
| 7393 bool hasUniformPageLogicalHeight = !flowThread || flowThread->regionsHaveUni
formLogicalHeight(); | 7390 bool hasUniformPageLogicalHeight = !flowThread || flowThread->regionsHaveUni
formLogicalHeight(); |
| 7391 updateMinimumPageHeight(logicalOffset, childLogicalHeight); |
| 7394 if (!pageLogicalHeight || (hasUniformPageLogicalHeight && childLogicalHeight
> pageLogicalHeight) | 7392 if (!pageLogicalHeight || (hasUniformPageLogicalHeight && childLogicalHeight
> pageLogicalHeight) |
| 7395 || !hasNextPage(logicalOffset)) | 7393 || !hasNextPage(logicalOffset)) |
| 7396 return logicalOffset; | 7394 return logicalOffset; |
| 7397 LayoutUnit remainingLogicalHeight = pageRemainingLogicalHeightForOffset(logi
calOffset, ExcludePageBoundary); | 7395 LayoutUnit remainingLogicalHeight = pageRemainingLogicalHeightForOffset(logi
calOffset, ExcludePageBoundary); |
| 7398 if (remainingLogicalHeight < childLogicalHeight) { | 7396 if (remainingLogicalHeight < childLogicalHeight) { |
| 7399 if (!hasUniformPageLogicalHeight && !pushToNextPageWithMinimumLogicalHei
ght(remainingLogicalHeight, logicalOffset, childLogicalHeight)) | 7397 if (!hasUniformPageLogicalHeight && !pushToNextPageWithMinimumLogicalHei
ght(remainingLogicalHeight, logicalOffset, childLogicalHeight)) |
| 7400 return logicalOffset; | 7398 return logicalOffset; |
| 7401 return logicalOffset + remainingLogicalHeight; | 7399 return logicalOffset + remainingLogicalHeight; |
| 7402 } | 7400 } |
| 7403 return logicalOffset; | 7401 return logicalOffset; |
| 7404 } | 7402 } |
| 7405 | 7403 |
| 7406 bool RenderBlock::pushToNextPageWithMinimumLogicalHeight(LayoutUnit& adjustment,
LayoutUnit logicalOffset, LayoutUnit minimumLogicalHeight) const | 7404 bool RenderBlock::pushToNextPageWithMinimumLogicalHeight(LayoutUnit& adjustment,
LayoutUnit logicalOffset, LayoutUnit minimumLogicalHeight) const |
| 7407 { | 7405 { |
| 7408 bool checkRegion = false; | 7406 bool checkRegion = false; |
| 7409 for (LayoutUnit pageLogicalHeight = pageLogicalHeightForOffset(logicalOffset
+ adjustment); pageLogicalHeight; | 7407 for (LayoutUnit pageLogicalHeight = pageLogicalHeightForOffset(logicalOffset
+ adjustment); pageLogicalHeight; |
| 7410 pageLogicalHeight = pageLogicalHeightForOffset(logicalOffset + adjustmen
t)) { | 7408 pageLogicalHeight = pageLogicalHeightForOffset(logicalOffset + adjustmen
t)) { |
| 7411 if (minimumLogicalHeight <= pageLogicalHeight) | 7409 if (minimumLogicalHeight <= pageLogicalHeight) |
| 7412 return true; | 7410 return true; |
| 7413 if (!hasNextPage(logicalOffset + adjustment)) | 7411 if (!hasNextPage(logicalOffset + adjustment)) |
| 7414 return false; | 7412 return false; |
| 7415 adjustment += pageLogicalHeight; | 7413 adjustment += pageLogicalHeight; |
| 7416 checkRegion = true; | 7414 checkRegion = true; |
| 7417 } | 7415 } |
| 7418 return !checkRegion; | 7416 return !checkRegion; |
| 7419 } | 7417 } |
| 7420 | 7418 |
| 7419 void RenderBlock::setPageBreak(LayoutUnit offset, LayoutUnit spaceShortage) |
| 7420 { |
| 7421 if (RenderFlowThread* flowThread = flowThreadContainingBlock()) |
| 7422 flowThread->setPageBreak(offsetFromLogicalTopOfFirstPage() + offset, spa
ceShortage); |
| 7423 } |
| 7424 |
| 7425 void RenderBlock::updateMinimumPageHeight(LayoutUnit offset, LayoutUnit minHeigh
t) |
| 7426 { |
| 7427 if (RenderFlowThread* flowThread = flowThreadContainingBlock()) |
| 7428 flowThread->updateMinimumPageHeight(offsetFromLogicalTopOfFirstPage() +
offset, minHeight); |
| 7429 else if (ColumnInfo* colInfo = view()->layoutState()->m_columnInfo) |
| 7430 colInfo->updateMinimumColumnHeight(minHeight); |
| 7431 } |
| 7432 |
| 7433 static inline LayoutUnit calculateMinimumPageHeight(RenderStyle* renderStyle, Ro
otInlineBox* lastLine, LayoutUnit lineTop, LayoutUnit lineBottom) |
| 7434 { |
| 7435 // We may require a certain minimum number of lines per page in order to sat
isfy |
| 7436 // orphans and widows, and that may affect the minimum page height. |
| 7437 unsigned lineCount = max<unsigned>(renderStyle->hasAutoOrphans() ? 1 : rende
rStyle->orphans(), renderStyle->hasAutoWidows() ? 1 : renderStyle->widows()); |
| 7438 if (lineCount > 1) { |
| 7439 RootInlineBox* line = lastLine; |
| 7440 for (unsigned i = 1; i < lineCount && line->prevRootBox(); i++) |
| 7441 line = line->prevRootBox(); |
| 7442 |
| 7443 // FIXME: Paginating using line overflow isn't all fine. See FIXME in |
| 7444 // adjustLinePositionForPagination() for more details. |
| 7445 LayoutRect overflow = line->logicalVisualOverflowRect(line->lineTop(), l
ine->lineBottom()); |
| 7446 lineTop = min(line->lineTopWithLeading(), overflow.y()); |
| 7447 } |
| 7448 return lineBottom - lineTop; |
| 7449 } |
| 7450 |
| 7421 void RenderBlock::adjustLinePositionForPagination(RootInlineBox* lineBox, Layout
Unit& delta, RenderFlowThread* flowThread) | 7451 void RenderBlock::adjustLinePositionForPagination(RootInlineBox* lineBox, Layout
Unit& delta, RenderFlowThread* flowThread) |
| 7422 { | 7452 { |
| 7423 // FIXME: For now we paginate using line overflow. This ensures that lines
don't overlap at all when we | 7453 // FIXME: For now we paginate using line overflow. This ensures that lines
don't overlap at all when we |
| 7424 // put a strut between them for pagination purposes. However, this really i
sn't the desired rendering, since | 7454 // put a strut between them for pagination purposes. However, this really i
sn't the desired rendering, since |
| 7425 // the line on the top of the next page will appear too far down relative to
the same kind of line at the top | 7455 // the line on the top of the next page will appear too far down relative to
the same kind of line at the top |
| 7426 // of the first column. | 7456 // of the first column. |
| 7427 // | 7457 // |
| 7428 // The rendering we would like to see is one where the lineTopWithLeading is
at the top of the column, and any line overflow | 7458 // The rendering we would like to see is one where the lineTopWithLeading is
at the top of the column, and any line overflow |
| 7429 // simply spills out above the top of the column. This effect would match w
hat happens at the top of the first column. | 7459 // simply spills out above the top of the column. This effect would match w
hat happens at the top of the first column. |
| 7430 // We can't achieve this rendering, however, until we stop columns from clip
ping to the column bounds (thus allowing | 7460 // We can't achieve this rendering, however, until we stop columns from clip
ping to the column bounds (thus allowing |
| 7431 // for overflow to occur), and then cache visible overflow for each column r
ect. | 7461 // for overflow to occur), and then cache visible overflow for each column r
ect. |
| 7432 // | 7462 // |
| 7433 // Furthermore, the paint we have to do when a column has overflow has to be
special. We need to exclude | 7463 // Furthermore, the paint we have to do when a column has overflow has to be
special. We need to exclude |
| 7434 // content that paints in a previous column (and content that paints in the
following column). | 7464 // content that paints in a previous column (and content that paints in the
following column). |
| 7435 // | 7465 // |
| 7436 // For now we'll at least honor the lineTopWithLeading when paginating if it
is above the logical top overflow. This will | 7466 // For now we'll at least honor the lineTopWithLeading when paginating if it
is above the logical top overflow. This will |
| 7437 // at least make positive leading work in typical cases. | 7467 // at least make positive leading work in typical cases. |
| 7438 // | 7468 // |
| 7439 // FIXME: Another problem with simply moving lines is that the available lin
e width may change (because of floats). | 7469 // FIXME: Another problem with simply moving lines is that the available lin
e width may change (because of floats). |
| 7440 // Technically if the location we move the line to has a different line widt
h than our old position, then we need to dirty the | 7470 // Technically if the location we move the line to has a different line widt
h than our old position, then we need to dirty the |
| 7441 // line and all following lines. | 7471 // line and all following lines. |
| 7442 LayoutRect logicalVisualOverflow = lineBox->logicalVisualOverflowRect(lineBo
x->lineTop(), lineBox->lineBottom()); | 7472 LayoutRect logicalVisualOverflow = lineBox->logicalVisualOverflowRect(lineBo
x->lineTop(), lineBox->lineBottom()); |
| 7443 LayoutUnit logicalOffset = min(lineBox->lineTopWithLeading(), logicalVisualO
verflow.y()); | 7473 LayoutUnit logicalOffset = min(lineBox->lineTopWithLeading(), logicalVisualO
verflow.y()); |
| 7444 LayoutUnit lineHeight = max(lineBox->lineBottomWithLeading(), logicalVisualO
verflow.maxY()) - logicalOffset; | 7474 LayoutUnit logicalBottom = max(lineBox->lineBottomWithLeading(), logicalVisu
alOverflow.maxY()); |
| 7445 RenderView* renderView = view(); | 7475 LayoutUnit lineHeight = logicalBottom - logicalOffset; |
| 7446 LayoutState* layoutState = renderView->layoutState(); | 7476 updateMinimumPageHeight(logicalOffset, calculateMinimumPageHeight(style(), l
ineBox, logicalOffset, logicalBottom)); |
| 7447 if (layoutState->m_columnInfo) | |
| 7448 layoutState->m_columnInfo->updateMinimumColumnHeight(lineHeight); | |
| 7449 logicalOffset += delta; | 7477 logicalOffset += delta; |
| 7450 lineBox->setPaginationStrut(0); | 7478 lineBox->setPaginationStrut(0); |
| 7451 lineBox->setIsFirstAfterPageBreak(false); | 7479 lineBox->setIsFirstAfterPageBreak(false); |
| 7452 LayoutUnit pageLogicalHeight = pageLogicalHeightForOffset(logicalOffset); | 7480 LayoutUnit pageLogicalHeight = pageLogicalHeightForOffset(logicalOffset); |
| 7453 bool hasUniformPageLogicalHeight = !flowThread || flowThread->regionsHaveUni
formLogicalHeight(); | 7481 bool hasUniformPageLogicalHeight = !flowThread || flowThread->regionsHaveUni
formLogicalHeight(); |
| 7454 // If lineHeight is greater than pageLogicalHeight, but logicalVisualOverflo
w.height() still fits, we are | 7482 // If lineHeight is greater than pageLogicalHeight, but logicalVisualOverflo
w.height() still fits, we are |
| 7455 // still going to add a strut, so that the visible overflow fits on a single
page. | 7483 // still going to add a strut, so that the visible overflow fits on a single
page. |
| 7456 if (!pageLogicalHeight || (hasUniformPageLogicalHeight && logicalVisualOverf
low.height() > pageLogicalHeight) | 7484 if (!pageLogicalHeight || (hasUniformPageLogicalHeight && logicalVisualOverf
low.height() > pageLogicalHeight) |
| 7457 || !hasNextPage(logicalOffset)) | 7485 || !hasNextPage(logicalOffset)) |
| 7458 return; | 7486 return; |
| 7459 LayoutUnit remainingLogicalHeight = pageRemainingLogicalHeightForOffset(logi
calOffset, ExcludePageBoundary); | 7487 LayoutUnit remainingLogicalHeight = pageRemainingLogicalHeightForOffset(logi
calOffset, ExcludePageBoundary); |
| 7460 | 7488 |
| 7461 if (remainingLogicalHeight < lineHeight || (shouldBreakAtLineToAvoidWidow()
&& lineBreakToAvoidWidow() == lineBox)) { | 7489 if (remainingLogicalHeight < lineHeight || (shouldBreakAtLineToAvoidWidow()
&& lineBreakToAvoidWidow() == lineBox)) { |
| 7462 if (shouldBreakAtLineToAvoidWidow() && lineBreakToAvoidWidow() == lineBo
x) | 7490 if (shouldBreakAtLineToAvoidWidow() && lineBreakToAvoidWidow() == lineBo
x) |
| 7463 clearShouldBreakAtLineToAvoidWidow(); | 7491 clearShouldBreakAtLineToAvoidWidow(); |
| 7464 // If we have a non-uniform page height, then we have to shift further p
ossibly. | 7492 // If we have a non-uniform page height, then we have to shift further p
ossibly. |
| 7465 if (!hasUniformPageLogicalHeight && !pushToNextPageWithMinimumLogicalHei
ght(remainingLogicalHeight, logicalOffset, lineHeight)) | 7493 if (!hasUniformPageLogicalHeight && !pushToNextPageWithMinimumLogicalHei
ght(remainingLogicalHeight, logicalOffset, lineHeight)) |
| 7466 return; | 7494 return; |
| 7467 if (lineHeight > pageLogicalHeight) { | 7495 if (lineHeight > pageLogicalHeight) { |
| 7468 // Split the top margin in order to avoid splitting the visible part
of the line. | 7496 // Split the top margin in order to avoid splitting the visible part
of the line. |
| 7469 remainingLogicalHeight -= min(lineHeight - pageLogicalHeight, max<La
youtUnit>(0, logicalVisualOverflow.y() - lineBox->lineTopWithLeading())); | 7497 remainingLogicalHeight -= min(lineHeight - pageLogicalHeight, max<La
youtUnit>(0, logicalVisualOverflow.y() - lineBox->lineTopWithLeading())); |
| 7470 } | 7498 } |
| 7471 LayoutUnit totalLogicalHeight = lineHeight + max<LayoutUnit>(0, logicalO
ffset); | 7499 LayoutUnit totalLogicalHeight = lineHeight + max<LayoutUnit>(0, logicalO
ffset); |
| 7472 LayoutUnit pageLogicalHeightAtNewOffset = hasUniformPageLogicalHeight ?
pageLogicalHeight : pageLogicalHeightForOffset(logicalOffset + remainingLogicalH
eight); | 7500 LayoutUnit pageLogicalHeightAtNewOffset = hasUniformPageLogicalHeight ?
pageLogicalHeight : pageLogicalHeightForOffset(logicalOffset + remainingLogicalH
eight); |
| 7501 setPageBreak(logicalOffset, lineHeight - remainingLogicalHeight); |
| 7473 if (((lineBox == firstRootBox() && totalLogicalHeight < pageLogicalHeigh
tAtNewOffset) || (!style()->hasAutoOrphans() && style()->orphans() >= lineCount(
lineBox))) | 7502 if (((lineBox == firstRootBox() && totalLogicalHeight < pageLogicalHeigh
tAtNewOffset) || (!style()->hasAutoOrphans() && style()->orphans() >= lineCount(
lineBox))) |
| 7474 && !isOutOfFlowPositioned() && !isTableCell()) | 7503 && !isOutOfFlowPositioned() && !isTableCell()) |
| 7475 setPaginationStrut(remainingLogicalHeight + max<LayoutUnit>(0, logic
alOffset)); | 7504 setPaginationStrut(remainingLogicalHeight + max<LayoutUnit>(0, logic
alOffset)); |
| 7476 else { | 7505 else { |
| 7477 delta += remainingLogicalHeight; | 7506 delta += remainingLogicalHeight; |
| 7478 lineBox->setPaginationStrut(remainingLogicalHeight); | 7507 lineBox->setPaginationStrut(remainingLogicalHeight); |
| 7479 lineBox->setIsFirstAfterPageBreak(true); | 7508 lineBox->setIsFirstAfterPageBreak(true); |
| 7480 } | 7509 } |
| 7481 } else if (remainingLogicalHeight == pageLogicalHeight && lineBox != firstRo
otBox()) | 7510 } else if (remainingLogicalHeight == pageLogicalHeight && lineBox != firstRo
otBox()) |
| 7482 lineBox->setIsFirstAfterPageBreak(true); | 7511 lineBox->setIsFirstAfterPageBreak(true); |
| (...skipping 26 matching lines...) Expand all Loading... |
| 7509 | 7538 |
| 7510 // Our guess was wrong. Make the child lay itself out again. | 7539 // Our guess was wrong. Make the child lay itself out again. |
| 7511 child->layoutIfNeeded(); | 7540 child->layoutIfNeeded(); |
| 7512 } | 7541 } |
| 7513 | 7542 |
| 7514 LayoutUnit oldTop = logicalTopAfterClear; | 7543 LayoutUnit oldTop = logicalTopAfterClear; |
| 7515 | 7544 |
| 7516 // If the object has a page or column break value of "before", then we shoul
d shift to the top of the next page. | 7545 // If the object has a page or column break value of "before", then we shoul
d shift to the top of the next page. |
| 7517 LayoutUnit result = applyBeforeBreak(child, logicalTopAfterClear); | 7546 LayoutUnit result = applyBeforeBreak(child, logicalTopAfterClear); |
| 7518 | 7547 |
| 7548 if (pageLogicalHeightForOffset(result)) { |
| 7549 LayoutUnit remainingLogicalHeight = pageRemainingLogicalHeightForOffset(
result, ExcludePageBoundary); |
| 7550 LayoutUnit spaceShortage = child->logicalHeight() - remainingLogicalHeig
ht; |
| 7551 if (spaceShortage > 0) { |
| 7552 // If the child crosses a column boundary, report a break, in case n
othing inside it has already |
| 7553 // done so. The column balancer needs to know how much it has to str
etch the columns to make more |
| 7554 // content fit. If no breaks are reported (but do occur), the balanc
er will have no clue. FIXME: |
| 7555 // This should be improved, though, because here we just pretend tha
t the child is |
| 7556 // unsplittable. A splittable child, on the other hand, has break op
portunities at every position |
| 7557 // where there's no child content, border or padding. In other words
, we risk stretching more |
| 7558 // than necessary. |
| 7559 setPageBreak(result, spaceShortage); |
| 7560 } |
| 7561 } |
| 7562 |
| 7519 // For replaced elements and scrolled elements, we want to shift them to the
next page if they don't fit on the current one. | 7563 // For replaced elements and scrolled elements, we want to shift them to the
next page if they don't fit on the current one. |
| 7520 LayoutUnit logicalTopBeforeUnsplittableAdjustment = result; | 7564 LayoutUnit logicalTopBeforeUnsplittableAdjustment = result; |
| 7521 LayoutUnit logicalTopAfterUnsplittableAdjustment = adjustForUnsplittableChil
d(child, result); | 7565 LayoutUnit logicalTopAfterUnsplittableAdjustment = adjustForUnsplittableChil
d(child, result); |
| 7522 | 7566 |
| 7523 LayoutUnit paginationStrut = 0; | 7567 LayoutUnit paginationStrut = 0; |
| 7524 LayoutUnit unsplittableAdjustmentDelta = logicalTopAfterUnsplittableAdjustme
nt - logicalTopBeforeUnsplittableAdjustment; | 7568 LayoutUnit unsplittableAdjustmentDelta = logicalTopAfterUnsplittableAdjustme
nt - logicalTopBeforeUnsplittableAdjustment; |
| 7525 if (unsplittableAdjustmentDelta) | 7569 if (unsplittableAdjustmentDelta) |
| 7526 paginationStrut = unsplittableAdjustmentDelta; | 7570 paginationStrut = unsplittableAdjustmentDelta; |
| 7527 else if (childRenderBlock && childRenderBlock->paginationStrut()) | 7571 else if (childRenderBlock && childRenderBlock->paginationStrut()) |
| 7528 paginationStrut = childRenderBlock->paginationStrut(); | 7572 paginationStrut = childRenderBlock->paginationStrut(); |
| (...skipping 575 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8104 { | 8148 { |
| 8105 memoryInstrumentation->addRootObject(gColumnInfoMap, WebCoreMemoryTypes::Ren
deringStructures); | 8149 memoryInstrumentation->addRootObject(gColumnInfoMap, WebCoreMemoryTypes::Ren
deringStructures); |
| 8106 memoryInstrumentation->addRootObject(gPositionedDescendantsMap, WebCoreMemor
yTypes::RenderingStructures); | 8150 memoryInstrumentation->addRootObject(gPositionedDescendantsMap, WebCoreMemor
yTypes::RenderingStructures); |
| 8107 memoryInstrumentation->addRootObject(gPercentHeightDescendantsMap, WebCoreMe
moryTypes::RenderingStructures); | 8151 memoryInstrumentation->addRootObject(gPercentHeightDescendantsMap, WebCoreMe
moryTypes::RenderingStructures); |
| 8108 memoryInstrumentation->addRootObject(gPositionedContainerMap, WebCoreMemoryT
ypes::RenderingStructures); | 8152 memoryInstrumentation->addRootObject(gPositionedContainerMap, WebCoreMemoryT
ypes::RenderingStructures); |
| 8109 memoryInstrumentation->addRootObject(gPercentHeightContainerMap, WebCoreMemo
ryTypes::RenderingStructures); | 8153 memoryInstrumentation->addRootObject(gPercentHeightContainerMap, WebCoreMemo
ryTypes::RenderingStructures); |
| 8110 memoryInstrumentation->addRootObject(gDelayedUpdateScrollInfoSet, WebCoreMem
oryTypes::RenderingStructures); | 8154 memoryInstrumentation->addRootObject(gDelayedUpdateScrollInfoSet, WebCoreMem
oryTypes::RenderingStructures); |
| 8111 } | 8155 } |
| 8112 | 8156 |
| 8113 } // namespace WebCore | 8157 } // namespace WebCore |
| OLD | NEW |