Changeset 20998 in webkit
- Timestamp:
- Apr 21, 2007, 3:31:09 PM (18 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/WebCore/ChangeLog ¶
r20997 r20998 1 2007-04-21 David Hyatt <hyatt@apple.com> 2 3 Fix for bug 13432, determineFlowSpacing is O(n^2). 4 5 Reviewed by aroben 6 7 * rendering/InlineBox.cpp: 8 (WebCore::InlineBox::nextOnLineExists): 9 (WebCore::InlineBox::prevOnLineExists): 10 * rendering/InlineBox.h: 11 (WebCore::InlineBox::InlineBox): 12 1 13 2007-04-21 Lamar Goddard <lamargoddard@gmail.com> 2 14 -
TabularUnified trunk/WebCore/rendering/InlineBox.cpp ¶
r20495 r20998 180 180 bool InlineBox::nextOnLineExists() const 181 181 { 182 if (!parent()) 183 return false; 184 185 if (nextOnLine()) 186 return true; 187 188 return parent()->nextOnLineExists(); 182 if (!m_determinedIfNextOnLineExists) { 183 m_determinedIfNextOnLineExists = true; 184 185 if (!parent()) 186 m_nextOnLineExists = false; 187 else if (nextOnLine()) 188 m_nextOnLineExists = true; 189 else 190 m_nextOnLineExists = parent()->nextOnLineExists(); 191 } 192 return m_nextOnLineExists; 189 193 } 190 194 191 195 bool InlineBox::prevOnLineExists() const 192 196 { 193 if (!parent()) 194 return false; 195 196 if (prevOnLine()) 197 return true; 198 199 return parent()->prevOnLineExists(); 197 if (!m_determinedIfPrevOnLineExists) { 198 m_determinedIfPrevOnLineExists = true; 199 200 if (!parent()) 201 m_prevOnLineExists = false; 202 else if (prevOnLine()) 203 m_prevOnLineExists = true; 204 else 205 m_prevOnLineExists = parent()->prevOnLineExists(); 206 } 207 return m_prevOnLineExists; 200 208 } 201 209 -
TabularUnified trunk/WebCore/rendering/InlineBox.h ¶
r20103 r20998 59 59 , m_reversed(false) 60 60 , m_treatAsText(true) 61 , m_determinedIfNextOnLineExists(false) 62 , m_determinedIfPrevOnLineExists(false) 63 , m_nextOnLineExists(false) 64 , m_prevOnLineExists(false) 61 65 , m_toAdd(0) 62 66 { … … 86 90 , m_reversed(false) 87 91 , m_treatAsText(true) 92 , m_determinedIfNextOnLineExists(false) 93 , m_determinedIfPrevOnLineExists(false) 94 , m_nextOnLineExists(false) 95 , m_prevOnLineExists(false) 88 96 , m_toAdd(0) 89 97 { … … 234 242 bool m_dirOverride : 1; 235 243 bool m_treatAsText : 1; // Whether or not to treat a <br> as text for the purposes of line height. 244 mutable bool m_determinedIfNextOnLineExists : 1; 245 mutable bool m_determinedIfPrevOnLineExists : 1; 246 mutable bool m_nextOnLineExists : 1; 247 mutable bool m_prevOnLineExists : 1; 236 248 int m_toAdd : 13; // for justified text 237 249 };
Note:
See TracChangeset
for help on using the changeset viewer.