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

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp

Issue 1899193007: Remove special-code for paginating floats followed by lines of text. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google 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 are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 2525 matching lines...) Expand 10 before | Expand all | Expand 10 after
2536 if (isPaginated) { 2536 if (isPaginated) {
2537 LayoutBlockFlow* childBlockFlow = childBox->isLayoutBlockFlow() ? to LayoutBlockFlow(childBox) : nullptr; 2537 LayoutBlockFlow* childBlockFlow = childBox->isLayoutBlockFlow() ? to LayoutBlockFlow(childBox) : nullptr;
2538 // The first piece of content inside the child may have set a strut during layout. 2538 // The first piece of content inside the child may have set a strut during layout.
2539 LayoutUnit strut = childBlockFlow ? childBlockFlow->paginationStrutP ropagatedFromChild() : LayoutUnit(); 2539 LayoutUnit strut = childBlockFlow ? childBlockFlow->paginationStrutP ropagatedFromChild() : LayoutUnit();
2540 if (!strut) { 2540 if (!strut) {
2541 // Otherwise, if we are unsplittable and don't fit, move to the next page or column 2541 // Otherwise, if we are unsplittable and don't fit, move to the next page or column
2542 // if that helps the situation. 2542 // if that helps the situation.
2543 strut = adjustForUnsplittableChild(*childBox, floatLogicalLocati on.y()) - floatLogicalLocation.y(); 2543 strut = adjustForUnsplittableChild(*childBox, floatLogicalLocati on.y()) - floatLogicalLocation.y();
2544 } 2544 }
2545 2545
2546 floatingObject.setPaginationStrut(strut);
2547 childBox->setPaginationStrut(strut); 2546 childBox->setPaginationStrut(strut);
2548 if (strut) { 2547 if (strut) {
2549 floatLogicalLocation = computeLogicalLocationForFloat(floatingOb ject, floatLogicalLocation.y() + strut); 2548 floatLogicalLocation = computeLogicalLocationForFloat(floatingOb ject, floatLogicalLocation.y() + strut);
2550 setLogicalLeftForFloat(floatingObject, floatLogicalLocation.x()) ; 2549 setLogicalLeftForFloat(floatingObject, floatLogicalLocation.x()) ;
2551 2550
2552 setLogicalLeftForChild(*childBox, floatLogicalLocation.x() + chi ldLogicalLeftMargin); 2551 setLogicalLeftForChild(*childBox, floatLogicalLocation.x() + chi ldLogicalLeftMargin);
2553 setLogicalTopForChild(*childBox, floatLogicalLocation.y() + marg inBeforeForChild(*childBox)); 2552 setLogicalTopForChild(*childBox, floatLogicalLocation.y() + marg inBeforeForChild(*childBox));
2554 2553
2555 if (childBox->isLayoutBlock()) 2554 if (childBox->isLayoutBlock())
2556 childBox->setChildNeedsLayout(MarkOnlyThis); 2555 childBox->setChildNeedsLayout(MarkOnlyThis);
(...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after
3030 // FIXME: Glyph overflow will get lost in this case, but not really a big de al. 3029 // FIXME: Glyph overflow will get lost in this case, but not really a big de al.
3031 GlyphOverflowAndFallbackFontsMap textBoxDataMap; 3030 GlyphOverflowAndFallbackFontsMap textBoxDataMap;
3032 for (ListHashSet<RootInlineBox*>::const_iterator it = lineBoxes.begin(); it != lineBoxes.end(); ++it) { 3031 for (ListHashSet<RootInlineBox*>::const_iterator it = lineBoxes.begin(); it != lineBoxes.end(); ++it) {
3033 RootInlineBox* box = *it; 3032 RootInlineBox* box = *it;
3034 box->computeOverflow(box->lineTop(), box->lineBottom(), textBoxDataMap); 3033 box->computeOverflow(box->lineTop(), box->lineBottom(), textBoxDataMap);
3035 } 3034 }
3036 return childrenOverflowChanged; 3035 return childrenOverflowChanged;
3037 } 3036 }
3038 3037
3039 } // namespace blink 3038 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutBlockFlow.h ('k') | third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698