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

Side by Side Diff: Source/core/rendering/RenderBlockFlow.h

Issue 129873004: RenderBlock::isSelfCollapsingBlock() should only be used when an object does not require layout. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Update Created 6 years, 11 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 426 matching lines...) Expand 10 before | Expand all | Expand 10 after
437 437
438 virtual ETextAlign textAlignmentForLine(bool endsWithSoftBreak) const; 438 virtual ETextAlign textAlignmentForLine(bool endsWithSoftBreak) const;
439 private: 439 private:
440 virtual LayoutUnit collapsedMarginBefore() const OVERRIDE FINAL { return max PositiveMarginBefore() - maxNegativeMarginBefore(); } 440 virtual LayoutUnit collapsedMarginBefore() const OVERRIDE FINAL { return max PositiveMarginBefore() - maxNegativeMarginBefore(); }
441 virtual LayoutUnit collapsedMarginAfter() const OVERRIDE FINAL { return maxP ositiveMarginAfter() - maxNegativeMarginAfter(); } 441 virtual LayoutUnit collapsedMarginAfter() const OVERRIDE FINAL { return maxP ositiveMarginAfter() - maxNegativeMarginAfter(); }
442 442
443 LayoutUnit collapseMargins(RenderBox* child, MarginInfo&); 443 LayoutUnit collapseMargins(RenderBox* child, MarginInfo&);
444 LayoutUnit clearFloatsIfNeeded(RenderBox* child, MarginInfo&, LayoutUnit old TopPosMargin, LayoutUnit oldTopNegMargin, LayoutUnit yPos); 444 LayoutUnit clearFloatsIfNeeded(RenderBox* child, MarginInfo&, LayoutUnit old TopPosMargin, LayoutUnit oldTopNegMargin, LayoutUnit yPos);
445 LayoutUnit estimateLogicalTopPosition(RenderBox* child, const MarginInfo&, L ayoutUnit& estimateWithoutPagination); 445 LayoutUnit estimateLogicalTopPosition(RenderBox* child, const MarginInfo&, L ayoutUnit& estimateWithoutPagination);
446 void marginBeforeEstimateForChild(RenderBox*, LayoutUnit&, LayoutUnit&, bool &) const; 446 void marginBeforeEstimateForChild(RenderBox*, LayoutUnit&, LayoutUnit&, bool &) const;
447 void handleAfterSideOfBlock(LayoutUnit top, LayoutUnit bottom, MarginInfo&); 447 void handleAfterSideOfBlock(RenderBox* lastChild, LayoutUnit top, LayoutUnit bottom, MarginInfo&);
448 void setCollapsedBottomMargin(const MarginInfo&); 448 void setCollapsedBottomMargin(const MarginInfo&);
449 449
450 LayoutUnit applyBeforeBreak(RenderBox* 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. 450 LayoutUnit applyBeforeBreak(RenderBox* 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.
451 LayoutUnit applyAfterBreak(RenderBox* 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. 451 LayoutUnit applyAfterBreak(RenderBox* 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.
452 452
453 LayoutUnit adjustBlockChildForPagination(LayoutUnit logicalTopAfterClear, La youtUnit estimateWithoutPagination, RenderBox* child, bool atBeforeSideOfBlock); 453 LayoutUnit adjustBlockChildForPagination(LayoutUnit logicalTopAfterClear, La youtUnit estimateWithoutPagination, RenderBox* child, bool atBeforeSideOfBlock);
454 454
455 // Used to store state between styleWillChange and styleDidChange 455 // Used to store state between styleWillChange and styleDidChange
456 static bool s_canPropagateFloatIntoSibling; 456 static bool s_canPropagateFloatIntoSibling;
457 457
458 virtual bool canHaveChildren() const OVERRIDE; 458 virtual bool canHaveChildren() const OVERRIDE;
459 virtual bool canHaveGeneratedChildren() const OVERRIDE; 459 virtual bool canHaveGeneratedChildren() const OVERRIDE;
460 460
461 void createRenderNamedFlowFragmentIfNeeded(); 461 void createRenderNamedFlowFragmentIfNeeded();
462 462
463 RenderBlockFlowRareData& ensureRareData(); 463 RenderBlockFlowRareData& ensureRareData();
464 464
465 LayoutUnit m_repaintLogicalTop; 465 LayoutUnit m_repaintLogicalTop;
466 LayoutUnit m_repaintLogicalBottom; 466 LayoutUnit m_repaintLogicalBottom;
467 467
468 virtual bool isSelfCollapsingBlock() const OVERRIDE FINAL; 468 virtual bool isSelfCollapsingBlock() const OVERRIDE;
469 protected: 469 protected:
470 OwnPtr<RenderBlockFlowRareData> m_rareData; 470 OwnPtr<RenderBlockFlowRareData> m_rareData;
471 OwnPtr<FloatingObjects> m_floatingObjects; 471 OwnPtr<FloatingObjects> m_floatingObjects;
472 472
473 friend class BreakingContext; // FIXME: It uses insertFloatingObject and pos itionNewFloatOnLine, if we move those out from the private scope/add a helper to LineBreaker, we can remove this friend 473 friend class BreakingContext; // FIXME: It uses insertFloatingObject and pos itionNewFloatOnLine, if we move those out from the private scope/add a helper to LineBreaker, we can remove this friend
474 friend class MarginInfo; 474 friend class MarginInfo;
475 friend class LineBreaker; 475 friend class LineBreaker;
476 friend class LineWidth; // needs to know FloatingObject 476 friend class LineWidth; // needs to know FloatingObject
477 477
478 // FIXME-BLOCKFLOW: These methods have implementations in 478 // FIXME-BLOCKFLOW: These methods have implementations in
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
513 513
514 // END METHODS DEFINED IN RenderBlockLineLayout 514 // END METHODS DEFINED IN RenderBlockLineLayout
515 515
516 }; 516 };
517 517
518 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderBlockFlow, isRenderBlockFlow()); 518 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderBlockFlow, isRenderBlockFlow());
519 519
520 } // namespace WebCore 520 } // namespace WebCore
521 521
522 #endif // RenderBlockFlow_h 522 #endif // RenderBlockFlow_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698