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

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

Issue 1128713004: Don't mark a positioned object for layout when we've just laid it out. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Updated Created 5 years, 7 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
« no previous file with comments | « Source/core/layout/LayoutBlock.cpp ('k') | Source/core/layout/LayoutBox.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 * Copyright (C) 2003, 2006, 2007 Apple Inc. All rights reserved. 4 * Copyright (C) 2003, 2006, 2007 Apple Inc. All rights reserved.
5 * 5 *
6 * This library is free software; you can redistribute it and/or 6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public 7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either 8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version. 9 * version 2 of the License, or (at your option) any later version.
10 * 10 *
(...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after
449 // of the containing block. 449 // of the containing block.
450 void computeMarginsForDirection(MarginDirection forDirection, const LayoutBl ock* containingBlock, LayoutUnit containerWidth, LayoutUnit childWidth, LayoutUn it& marginStart, LayoutUnit& marginEnd, Length marginStartLength, Length marginS tartEnd) const; 450 void computeMarginsForDirection(MarginDirection forDirection, const LayoutBl ock* containingBlock, LayoutUnit containerWidth, LayoutUnit childWidth, LayoutUn it& marginStart, LayoutUnit& marginEnd, Length marginStartLength, Length marginS tartEnd) const;
451 451
452 // Used to resolve margins in the containing block's block-flow direction. 452 // Used to resolve margins in the containing block's block-flow direction.
453 void computeAndSetBlockDirectionMargins(const LayoutBlock* containingBlock); 453 void computeAndSetBlockDirectionMargins(const LayoutBlock* containingBlock);
454 454
455 virtual LayoutUnit offsetFromLogicalTopOfFirstPage() const; 455 virtual LayoutUnit offsetFromLogicalTopOfFirstPage() const;
456 456
457 void positionLineBox(InlineBox*); 457 void positionLineBox(InlineBox*);
458 void moveWithEdgeOfInlineContainerIfNecessary(bool isHorizontal); 458 void moveWithEdgeOfInlineContainerIfNecessary(bool isHorizontal);
459 void markStaticPositionedBoxForLayout(bool isHorizontal, bool isInline);
460 459
461 virtual InlineBox* createInlineBox(); 460 virtual InlineBox* createInlineBox();
462 void dirtyLineBoxes(bool fullLayout); 461 void dirtyLineBoxes(bool fullLayout);
463 462
464 // For inline replaced elements, this function returns the inline box that o wns us. Enables 463 // For inline replaced elements, this function returns the inline box that o wns us. Enables
465 // the replaced LayoutObject to quickly determine what line it is contained on and to easily 464 // the replaced LayoutObject to quickly determine what line it is contained on and to easily
466 // iterate over structures on the line. 465 // iterate over structures on the line.
467 InlineBox* inlineBoxWrapper() const { return m_rareData ? m_rareData->m_inli neBoxWrapper : 0; } 466 InlineBox* inlineBoxWrapper() const { return m_rareData ? m_rareData->m_inli neBoxWrapper : 0; }
468 void setInlineBoxWrapper(InlineBox*); 467 void setInlineBoxWrapper(InlineBox*);
469 void deleteLineBoxWrapper(); 468 void deleteLineBoxWrapper();
(...skipping 453 matching lines...) Expand 10 before | Expand all | Expand 10 after
923 if (UNLIKELY(inlineBoxWrapper() != 0)) 922 if (UNLIKELY(inlineBoxWrapper() != 0))
924 deleteLineBoxWrapper(); 923 deleteLineBoxWrapper();
925 } 924 }
926 925
927 ensureRareData().m_inlineBoxWrapper = boxWrapper; 926 ensureRareData().m_inlineBoxWrapper = boxWrapper;
928 } 927 }
929 928
930 } // namespace blink 929 } // namespace blink
931 930
932 #endif // LayoutBox_h 931 #endif // LayoutBox_h
OLDNEW
« no previous file with comments | « Source/core/layout/LayoutBlock.cpp ('k') | Source/core/layout/LayoutBox.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698