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

Side by Side Diff: Source/core/layout/line/LineLayoutState.h

Issue 1102953002: BR styled clear is ignored while partially relayouting. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Comment 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
« no previous file with comments | « Source/core/layout/LayoutBlockFlowLine.cpp ('k') | no next file » | 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) 2000 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r ight reserved. 3 * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r ight reserved.
4 * Copyright (C) 2010 Google Inc. All rights reserved. 4 * Copyright (C) 2010 Google Inc. All rights reserved.
5 * Copyright (C) 2014 Adobe Systems Incorporated. All rights reserved. 5 * Copyright (C) 2014 Adobe Systems Incorporated. All rights reserved.
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
(...skipping 23 matching lines...) Expand all
34 class LineLayoutState { 34 class LineLayoutState {
35 public: 35 public:
36 LineLayoutState(bool fullLayout, LayoutUnit& paintInvalidationLogicalTop, La youtUnit& paintInvalidationLogicalBottom, LayoutFlowThread* flowThread) 36 LineLayoutState(bool fullLayout, LayoutUnit& paintInvalidationLogicalTop, La youtUnit& paintInvalidationLogicalBottom, LayoutFlowThread* flowThread)
37 : m_lastFloat(0) 37 : m_lastFloat(0)
38 , m_endLine(0) 38 , m_endLine(0)
39 , m_floatIndex(0) 39 , m_floatIndex(0)
40 , m_endLineLogicalTop(0) 40 , m_endLineLogicalTop(0)
41 , m_endLineMatched(false) 41 , m_endLineMatched(false)
42 , m_hasInlineChild(false) 42 , m_hasInlineChild(false)
43 , m_isFullLayout(fullLayout) 43 , m_isFullLayout(fullLayout)
44 , m_containsBRWithClear(false)
44 , m_paintInvalidationLogicalTop(paintInvalidationLogicalTop) 45 , m_paintInvalidationLogicalTop(paintInvalidationLogicalTop)
45 , m_paintInvalidationLogicalBottom(paintInvalidationLogicalBottom) 46 , m_paintInvalidationLogicalBottom(paintInvalidationLogicalBottom)
46 , m_adjustedLogicalLineTop(0) 47 , m_adjustedLogicalLineTop(0)
47 , m_usesPaintInvalidationBounds(false) 48 , m_usesPaintInvalidationBounds(false)
48 , m_flowThread(flowThread) 49 , m_flowThread(flowThread)
49 { } 50 { }
50 51
51 void markForFullLayout() { m_isFullLayout = true; } 52 void markForFullLayout() { m_isFullLayout = true; }
52 bool isFullLayout() const { return m_isFullLayout; } 53 bool isFullLayout() const { return m_isFullLayout; }
53 54
(...skipping 11 matching lines...) Expand all
65 m_paintInvalidationLogicalTop = std::min(m_paintInvalidationLogicalTop, box->logicalTopVisualOverflow() + std::min<LayoutUnit>(paginationDelta, 0)); 66 m_paintInvalidationLogicalTop = std::min(m_paintInvalidationLogicalTop, box->logicalTopVisualOverflow() + std::min<LayoutUnit>(paginationDelta, 0));
66 m_paintInvalidationLogicalBottom = std::max(m_paintInvalidationLogicalBo ttom, box->logicalBottomVisualOverflow() + std::max<LayoutUnit>(paginationDelta, 0)); 67 m_paintInvalidationLogicalBottom = std::max(m_paintInvalidationLogicalBo ttom, box->logicalBottomVisualOverflow() + std::max<LayoutUnit>(paginationDelta, 0));
67 } 68 }
68 69
69 bool endLineMatched() const { return m_endLineMatched; } 70 bool endLineMatched() const { return m_endLineMatched; }
70 void setEndLineMatched(bool endLineMatched) { m_endLineMatched = endLineMatc hed; } 71 void setEndLineMatched(bool endLineMatched) { m_endLineMatched = endLineMatc hed; }
71 72
72 bool hasInlineChild() const { return m_hasInlineChild; } 73 bool hasInlineChild() const { return m_hasInlineChild; }
73 void setHasInlineChild(bool hasInlineChild) { m_hasInlineChild = hasInlineCh ild; } 74 void setHasInlineChild(bool hasInlineChild) { m_hasInlineChild = hasInlineCh ild; }
74 75
76 bool containsBRWithClear() const { return m_containsBRWithClear; }
77 void setContainsBRWithClear(bool containsBRWithClear) { m_containsBRWithClea r = containsBRWithClear; }
78
75 LineInfo& lineInfo() { return m_lineInfo; } 79 LineInfo& lineInfo() { return m_lineInfo; }
76 const LineInfo& lineInfo() const { return m_lineInfo; } 80 const LineInfo& lineInfo() const { return m_lineInfo; }
77 81
78 LayoutUnit endLineLogicalTop() const { return m_endLineLogicalTop; } 82 LayoutUnit endLineLogicalTop() const { return m_endLineLogicalTop; }
79 void setEndLineLogicalTop(LayoutUnit logicalTop) { m_endLineLogicalTop = log icalTop; } 83 void setEndLineLogicalTop(LayoutUnit logicalTop) { m_endLineLogicalTop = log icalTop; }
80 84
81 RootInlineBox* endLine() const { return m_endLine; } 85 RootInlineBox* endLine() const { return m_endLine; }
82 void setEndLine(RootInlineBox* line) { m_endLine = line; } 86 void setEndLine(RootInlineBox* line) { m_endLine = line; }
83 87
84 FloatingObject* lastFloat() const { return m_lastFloat; } 88 FloatingObject* lastFloat() const { return m_lastFloat; }
(...skipping 16 matching lines...) Expand all
101 LineInfo m_lineInfo; 105 LineInfo m_lineInfo;
102 unsigned m_floatIndex; 106 unsigned m_floatIndex;
103 LayoutUnit m_endLineLogicalTop; 107 LayoutUnit m_endLineLogicalTop;
104 bool m_endLineMatched; 108 bool m_endLineMatched;
105 // Used as a performance optimization to avoid doing a full paint invalidati on when our floats 109 // Used as a performance optimization to avoid doing a full paint invalidati on when our floats
106 // change but we don't have any inline children. 110 // change but we don't have any inline children.
107 bool m_hasInlineChild; 111 bool m_hasInlineChild;
108 112
109 bool m_isFullLayout; 113 bool m_isFullLayout;
110 114
115 bool m_containsBRWithClear;
116
111 // FIXME: Should this be a range object instead of two ints? 117 // FIXME: Should this be a range object instead of two ints?
112 LayoutUnit& m_paintInvalidationLogicalTop; 118 LayoutUnit& m_paintInvalidationLogicalTop;
113 LayoutUnit& m_paintInvalidationLogicalBottom; 119 LayoutUnit& m_paintInvalidationLogicalBottom;
114 120
115 LayoutUnit m_adjustedLogicalLineTop; 121 LayoutUnit m_adjustedLogicalLineTop;
116 122
117 bool m_usesPaintInvalidationBounds; 123 bool m_usesPaintInvalidationBounds;
118 124
119 LayoutFlowThread* m_flowThread; 125 LayoutFlowThread* m_flowThread;
120 }; 126 };
121 127
122 } 128 }
123 129
124 #endif // LineLayoutState_h 130 #endif // LineLayoutState_h
OLDNEW
« no previous file with comments | « Source/core/layout/LayoutBlockFlowLine.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698