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

Side by Side Diff: Source/core/layout/LayoutBlockFlow.h

Issue 1303993007: Floats' margins do not collapse with page or column boundaries. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 3 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
OLDNEW
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-2013 Apple Inc. All rights reserved. 5 * Copyright (C) 2003-2013 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 * Copyright (C) 2013 Google Inc. All rights reserved. 7 * Copyright (C) 2013 Google Inc. All rights reserved.
8 * 8 *
9 * Redistribution and use in source and binary forms, with or without 9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions are 10 * modification, are permitted provided that the following conditions are
(...skipping 475 matching lines...) Expand 10 before | Expand all | Expand 10 after
486 void handleAfterSideOfBlock(LayoutBox* lastChild, LayoutUnit top, LayoutUnit bottom, MarginInfo&); 486 void handleAfterSideOfBlock(LayoutBox* lastChild, LayoutUnit top, LayoutUnit bottom, MarginInfo&);
487 void setCollapsedBottomMargin(const MarginInfo&); 487 void setCollapsedBottomMargin(const MarginInfo&);
488 488
489 LayoutUnit applyBeforeBreak(LayoutBox& child, LayoutUnit logicalOffset); // If the child has a before break, then return a new yPos that shifts to the top o f the next page/column. 489 LayoutUnit applyBeforeBreak(LayoutBox& child, LayoutUnit logicalOffset); // If the child has a before break, then return a new yPos that shifts to the top o f the next page/column.
490 LayoutUnit applyAfterBreak(LayoutBox& child, LayoutUnit logicalOffset, Margi nInfo&); // If the child has an after break, then return a new offset that shift s to the top of the next page/column. 490 LayoutUnit applyAfterBreak(LayoutBox& child, LayoutUnit logicalOffset, Margi nInfo&); // If the child has an after break, then return a new offset that shift s to the top of the next page/column.
491 491
492 LayoutUnit adjustBlockChildForPagination(LayoutUnit logicalTop, LayoutBox& c hild, bool atBeforeSideOfBlock); 492 LayoutUnit adjustBlockChildForPagination(LayoutUnit logicalTop, LayoutBox& c hild, bool atBeforeSideOfBlock);
493 // Computes a deltaOffset value that put a line at the top of the next page if it doesn't fit on the current page. 493 // Computes a deltaOffset value that put a line at the top of the next page if it doesn't fit on the current page.
494 void adjustLinePositionForPagination(RootInlineBox&, LayoutUnit& deltaOffset ); 494 void adjustLinePositionForPagination(RootInlineBox&, LayoutUnit& deltaOffset );
495 // If the child is unsplittable and can't fit on the current page, return th e top of the next page/column. 495 // If the child is unsplittable and can't fit on the current page, return th e top of the next page/column.
496 LayoutUnit adjustForUnsplittableChild(LayoutBox&, LayoutUnit logicalOffset, bool includeMargins = false); 496 LayoutUnit adjustForUnsplittableChild(LayoutBox&, LayoutUnit logicalOffset);
497 497
498 // Used to store state between styleWillChange and styleDidChange 498 // Used to store state between styleWillChange and styleDidChange
499 static bool s_canPropagateFloatIntoSibling; 499 static bool s_canPropagateFloatIntoSibling;
500 500
501 LayoutBlockFlowRareData& ensureRareData(); 501 LayoutBlockFlowRareData& ensureRareData();
502 502
503 LayoutUnit m_paintInvalidationLogicalTop; 503 LayoutUnit m_paintInvalidationLogicalTop;
504 LayoutUnit m_paintInvalidationLogicalBottom; 504 LayoutUnit m_paintInvalidationLogicalBottom;
505 505
506 bool isSelfCollapsingBlock() const override; 506 bool isSelfCollapsingBlock() const override;
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
547 547
548 // END METHODS DEFINED IN LayoutBlockFlowLine 548 // END METHODS DEFINED IN LayoutBlockFlowLine
549 549
550 }; 550 };
551 551
552 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlockFlow, isLayoutBlockFlow()); 552 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlockFlow, isLayoutBlockFlow());
553 553
554 } // namespace blink 554 } // namespace blink
555 555
556 #endif // LayoutBlockFlow_h 556 #endif // LayoutBlockFlow_h
OLDNEW
« no previous file with comments | « LayoutTests/fast/multicol/float-with-margin-moved-unbreakable-expected.txt ('k') | Source/core/layout/LayoutBlockFlow.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698