OLD | NEW |
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 836 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
847 bool isUnsplittable = child.isUnsplittableForPagination() || (checkColumnBre
aks && child.style()->columnBreakInside() == PBAVOID) | 847 bool isUnsplittable = child.isUnsplittableForPagination() || (checkColumnBre
aks && child.style()->columnBreakInside() == PBAVOID) |
848 || (checkPageBreaks && child.style()->pageBreakInside() == PBAVOID); | 848 || (checkPageBreaks && child.style()->pageBreakInside() == PBAVOID); |
849 if (!isUnsplittable) | 849 if (!isUnsplittable) |
850 return logicalOffset; | 850 return logicalOffset; |
851 LayoutUnit childLogicalHeight = logicalHeightForChild(child) + (includeMargi
ns ? marginBeforeForChild(child) + marginAfterForChild(child) : LayoutUnit()); | 851 LayoutUnit childLogicalHeight = logicalHeightForChild(child) + (includeMargi
ns ? marginBeforeForChild(child) + marginAfterForChild(child) : LayoutUnit()); |
852 LayoutUnit pageLogicalHeight = pageLogicalHeightForOffset(logicalOffset); | 852 LayoutUnit pageLogicalHeight = pageLogicalHeightForOffset(logicalOffset); |
853 updateMinimumPageHeight(logicalOffset, childLogicalHeight); | 853 updateMinimumPageHeight(logicalOffset, childLogicalHeight); |
854 if (!pageLogicalHeight) | 854 if (!pageLogicalHeight) |
855 return logicalOffset; | 855 return logicalOffset; |
856 LayoutUnit remainingLogicalHeight = pageRemainingLogicalHeightForOffset(logi
calOffset, AssociateWithLatterPage); | 856 LayoutUnit remainingLogicalHeight = pageRemainingLogicalHeightForOffset(logi
calOffset, AssociateWithLatterPage); |
857 if (remainingLogicalHeight < childLogicalHeight) | 857 // Break if there's not enough space left for us, but only as long as we're
not already at the |
| 858 // top of a page. No point in leaving a page completely blank. |
| 859 if (remainingLogicalHeight < childLogicalHeight && remainingLogicalHeight <
pageLogicalHeight) |
858 return logicalOffset + remainingLogicalHeight; | 860 return logicalOffset + remainingLogicalHeight; |
859 return logicalOffset; | 861 return logicalOffset; |
860 } | 862 } |
861 | 863 |
862 void LayoutBlockFlow::rebuildFloatsFromIntruding() | 864 void LayoutBlockFlow::rebuildFloatsFromIntruding() |
863 { | 865 { |
864 if (m_floatingObjects) | 866 if (m_floatingObjects) |
865 m_floatingObjects->setHorizontalWritingMode(isHorizontalWritingMode()); | 867 m_floatingObjects->setHorizontalWritingMode(isHorizontalWritingMode()); |
866 | 868 |
867 HashSet<LayoutBox*> oldIntrudingFloatSet; | 869 HashSet<LayoutBox*> oldIntrudingFloatSet; |
(...skipping 2199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3067 FrameView* frameView = document().view(); | 3069 FrameView* frameView = document().view(); |
3068 LayoutUnit top = (style()->position() == FixedPosition) ? 0 : frameView->scr
ollOffset().height(); | 3070 LayoutUnit top = (style()->position() == FixedPosition) ? 0 : frameView->scr
ollOffset().height(); |
3069 int visibleHeight = frameView->visibleContentRect(IncludeScrollbars).height(
); | 3071 int visibleHeight = frameView->visibleContentRect(IncludeScrollbars).height(
); |
3070 if (size().height() < visibleHeight) | 3072 if (size().height() < visibleHeight) |
3071 top += (visibleHeight - size().height()) / 2; | 3073 top += (visibleHeight - size().height()) / 2; |
3072 setY(top); | 3074 setY(top); |
3073 dialog->setCentered(top); | 3075 dialog->setCentered(top); |
3074 } | 3076 } |
3075 | 3077 |
3076 } // namespace blink | 3078 } // namespace blink |
OLD | NEW |