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

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

Issue 1148833002: Move m_pageLogicalOffset from LayoutBlock to LayoutBoxRareData. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: sizeof(LayoutBlock) has shrunk. 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 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 InlineBox* m_inlineBoxWrapper; 64 InlineBox* m_inlineBoxWrapper;
65 65
66 // For spanners, the spanner placeholder that lays us out within the multico l container. 66 // For spanners, the spanner placeholder that lays us out within the multico l container.
67 LayoutMultiColumnSpannerPlaceholder* m_spannerPlaceholder; 67 LayoutMultiColumnSpannerPlaceholder* m_spannerPlaceholder;
68 68
69 LayoutUnit m_overrideLogicalContentHeight; 69 LayoutUnit m_overrideLogicalContentHeight;
70 LayoutUnit m_overrideLogicalContentWidth; 70 LayoutUnit m_overrideLogicalContentWidth;
71 71
72 // Set by LayoutBox::updatePreviousBorderBoxSizeIfNeeded(). 72 // Set by LayoutBox::updatePreviousBorderBoxSizeIfNeeded().
73 LayoutSize m_previousBorderBoxSize; 73 LayoutSize m_previousBorderBoxSize;
74
75 LayoutUnit m_pageLogicalOffset;
74 }; 76 };
75 77
76 class CORE_EXPORT LayoutBox : public LayoutBoxModelObject { 78 class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
77 public: 79 public:
78 explicit LayoutBox(ContainerNode*); 80 explicit LayoutBox(ContainerNode*);
79 81
80 virtual DeprecatedPaintLayerType layerTypeRequired() const override; 82 virtual DeprecatedPaintLayerType layerTypeRequired() const override;
81 83
82 virtual bool backgroundIsKnownToBeOpaqueInRect(const LayoutRect& localRect) const override; 84 virtual bool backgroundIsKnownToBeOpaqueInRect(const LayoutRect& localRect) const override;
83 85
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after
447 }; 449 };
448 // Resolve auto margins in the chosen direction of the containing block so t hat objects can be pushed to the start, middle or end 450 // Resolve auto margins in the chosen direction of the containing block so t hat objects can be pushed to the start, middle or end
449 // of the containing block. 451 // 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; 452 void computeMarginsForDirection(MarginDirection forDirection, const LayoutBl ock* containingBlock, LayoutUnit containerWidth, LayoutUnit childWidth, LayoutUn it& marginStart, LayoutUnit& marginEnd, Length marginStartLength, Length marginS tartEnd) const;
451 453
452 // Used to resolve margins in the containing block's block-flow direction. 454 // Used to resolve margins in the containing block's block-flow direction.
453 void computeAndSetBlockDirectionMargins(const LayoutBlock* containingBlock); 455 void computeAndSetBlockDirectionMargins(const LayoutBlock* containingBlock);
454 456
455 virtual LayoutUnit offsetFromLogicalTopOfFirstPage() const; 457 virtual LayoutUnit offsetFromLogicalTopOfFirstPage() const;
456 458
459 // The page logical offset is the object's offset from the top of the page i n the page progression
460 // direction (so an x-offset in vertical text and a y-offset for horizontal text).
leviw_travelin_and_unemployed 2015/05/20 21:23:44 Mega-Nit-feel-free-to-ignore: I may describe the c
mstensho (USE GERRIT) 2015/05/20 21:47:32 That would have been better, but since I just move
461 LayoutUnit pageLogicalOffset() const { return m_rareData ? m_rareData->m_pag eLogicalOffset : LayoutUnit(); }
462 void setPageLogicalOffset(LayoutUnit);
463
457 void positionLineBox(InlineBox*); 464 void positionLineBox(InlineBox*);
458 void moveWithEdgeOfInlineContainerIfNecessary(bool isHorizontal); 465 void moveWithEdgeOfInlineContainerIfNecessary(bool isHorizontal);
459 void markStaticPositionedBoxForLayout(bool isHorizontal, bool isInline); 466 void markStaticPositionedBoxForLayout(bool isHorizontal, bool isInline);
460 467
461 virtual InlineBox* createInlineBox(); 468 virtual InlineBox* createInlineBox();
462 void dirtyLineBoxes(bool fullLayout); 469 void dirtyLineBoxes(bool fullLayout);
463 470
464 // For inline replaced elements, this function returns the inline box that o wns us. Enables 471 // 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 472 // the replaced LayoutObject to quickly determine what line it is contained on and to easily
466 // iterate over structures on the line. 473 // iterate over structures on the line.
(...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after
929 if (UNLIKELY(inlineBoxWrapper() != 0)) 936 if (UNLIKELY(inlineBoxWrapper() != 0))
930 deleteLineBoxWrapper(); 937 deleteLineBoxWrapper();
931 } 938 }
932 939
933 ensureRareData().m_inlineBoxWrapper = boxWrapper; 940 ensureRareData().m_inlineBoxWrapper = boxWrapper;
934 } 941 }
935 942
936 } // namespace blink 943 } // namespace blink
937 944
938 #endif // LayoutBox_h 945 #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