| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2003, 2004, 2005, 2006, 2007 Apple Inc. All rights reserved. | 2 * Copyright (C) 2003, 2004, 2005, 2006, 2007 Apple Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * This library is free software; you can redistribute it and/or | 4 * This library is free software; you can redistribute it and/or |
| 5 * modify it under the terms of the GNU Library General Public | 5 * modify it under the terms of the GNU Library General Public |
| 6 * License as published by the Free Software Foundation; either | 6 * License as published by the Free Software Foundation; either |
| 7 * version 2 of the License, or (at your option) any later version. | 7 * version 2 of the License, or (at your option) any later version. |
| 8 * | 8 * |
| 9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
| 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 49 , m_nextLineBox(0) | 49 , m_nextLineBox(0) |
| 50 , m_includeLogicalLeftEdge(false) | 50 , m_includeLogicalLeftEdge(false) |
| 51 , m_includeLogicalRightEdge(false) | 51 , m_includeLogicalRightEdge(false) |
| 52 , m_descendantsHaveSameLineHeightAndBaseline(true) | 52 , m_descendantsHaveSameLineHeightAndBaseline(true) |
| 53 , m_baselineType(AlphabeticBaseline) | 53 , m_baselineType(AlphabeticBaseline) |
| 54 , m_hasAnnotationsBefore(false) | 54 , m_hasAnnotationsBefore(false) |
| 55 , m_hasAnnotationsAfter(false) | 55 , m_hasAnnotationsAfter(false) |
| 56 , m_lineBreakBidiStatusEor(WTF::Unicode::LeftToRight) | 56 , m_lineBreakBidiStatusEor(WTF::Unicode::LeftToRight) |
| 57 , m_lineBreakBidiStatusLastStrong(WTF::Unicode::LeftToRight) | 57 , m_lineBreakBidiStatusLastStrong(WTF::Unicode::LeftToRight) |
| 58 , m_lineBreakBidiStatusLast(WTF::Unicode::LeftToRight) | 58 , m_lineBreakBidiStatusLast(WTF::Unicode::LeftToRight) |
| 59 , m_isFirstAfterPageBreak(false) |
| 59 #if ENABLE(ASSERT) | 60 #if ENABLE(ASSERT) |
| 60 , m_hasBadChildList(false) | 61 , m_hasBadChildList(false) |
| 61 #endif | 62 #endif |
| 62 { | 63 { |
| 63 // Internet Explorer and Firefox always create a marker for list items,
even when the list-style-type is none. We do not make a marker | 64 // Internet Explorer and Firefox always create a marker for list items,
even when the list-style-type is none. We do not make a marker |
| 64 // in the list-style-type: none case, since it is wasteful to do so. Ho
wever, in order to match other browsers we have to pretend like | 65 // in the list-style-type: none case, since it is wasteful to do so. Ho
wever, in order to match other browsers we have to pretend like |
| 65 // an invisible marker exists. The side effect of having an invisible m
arker is that the quirks mode behavior of shrinking lines with no | 66 // an invisible marker exists. The side effect of having an invisible m
arker is that the quirks mode behavior of shrinking lines with no |
| 66 // text children must not apply. This change also means that gaps will
exist between image bullet list items. Even when the list bullet | 67 // text children must not apply. This change also means that gaps will
exist between image bullet list items. Even when the list bullet |
| 67 // is an image, the line is still considered to be immune from the quirk
. | 68 // is an image, the line is still considered to be immune from the quirk
. |
| 68 m_hasTextChildren = obj.style()->display() == LIST_ITEM; | 69 m_hasTextChildren = obj.style()->display() == LIST_ITEM; |
| (...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 281 } | 282 } |
| 282 | 283 |
| 283 bool descendantsHaveSameLineHeightAndBaseline() const { return m_descendants
HaveSameLineHeightAndBaseline; } | 284 bool descendantsHaveSameLineHeightAndBaseline() const { return m_descendants
HaveSameLineHeightAndBaseline; } |
| 284 void clearDescendantsHaveSameLineHeightAndBaseline() | 285 void clearDescendantsHaveSameLineHeightAndBaseline() |
| 285 { | 286 { |
| 286 m_descendantsHaveSameLineHeightAndBaseline = false; | 287 m_descendantsHaveSameLineHeightAndBaseline = false; |
| 287 if (parent() && parent()->descendantsHaveSameLineHeightAndBaseline()) | 288 if (parent() && parent()->descendantsHaveSameLineHeightAndBaseline()) |
| 288 parent()->clearDescendantsHaveSameLineHeightAndBaseline(); | 289 parent()->clearDescendantsHaveSameLineHeightAndBaseline(); |
| 289 } | 290 } |
| 290 | 291 |
| 292 bool isFirstAfterPageBreak() const { return m_isFirstAfterPageBreak; } |
| 293 void setIsFirstAfterPageBreak(bool isFirstAfterPageBreak) { m_isFirstAfterPa
geBreak = isFirstAfterPageBreak; } |
| 294 |
| 291 private: | 295 private: |
| 292 void addBoxShadowVisualOverflow(LayoutRect& logicalVisualOverflow); | 296 void addBoxShadowVisualOverflow(LayoutRect& logicalVisualOverflow); |
| 293 void addBorderOutsetVisualOverflow(LayoutRect& logicalVisualOverflow); | 297 void addBorderOutsetVisualOverflow(LayoutRect& logicalVisualOverflow); |
| 294 void addOutlineVisualOverflow(LayoutRect& logicalVisualOverflow); | 298 void addOutlineVisualOverflow(LayoutRect& logicalVisualOverflow); |
| 295 void addTextBoxVisualOverflow(InlineTextBox*, GlyphOverflowAndFallbackFontsM
ap&, LayoutRect& logicalVisualOverflow); | 299 void addTextBoxVisualOverflow(InlineTextBox*, GlyphOverflowAndFallbackFontsM
ap&, LayoutRect& logicalVisualOverflow); |
| 296 void addReplacedChildOverflow(const InlineBox*, LayoutRect& logicalLayoutOve
rflow, LayoutRect& logicalVisualOverflow); | 300 void addReplacedChildOverflow(const InlineBox*, LayoutRect& logicalLayoutOve
rflow, LayoutRect& logicalVisualOverflow); |
| 297 | 301 |
| 298 void setLayoutOverflow(const LayoutRect&, const LayoutRect&); | 302 void setLayoutOverflow(const LayoutRect&, const LayoutRect&); |
| 299 void setVisualOverflow(const LayoutRect&, const LayoutRect&); | 303 void setVisualOverflow(const LayoutRect&, const LayoutRect&); |
| 300 | 304 |
| (...skipping 26 matching lines...) Expand all Loading... |
| 327 unsigned m_baselineType : 1; // FontBaseline | 331 unsigned m_baselineType : 1; // FontBaseline |
| 328 | 332 |
| 329 // If the line contains any ruby runs, then this will be true. | 333 // If the line contains any ruby runs, then this will be true. |
| 330 unsigned m_hasAnnotationsBefore : 1; | 334 unsigned m_hasAnnotationsBefore : 1; |
| 331 unsigned m_hasAnnotationsAfter : 1; | 335 unsigned m_hasAnnotationsAfter : 1; |
| 332 | 336 |
| 333 unsigned m_lineBreakBidiStatusEor : 5; // WTF::Unicode::Direction | 337 unsigned m_lineBreakBidiStatusEor : 5; // WTF::Unicode::Direction |
| 334 unsigned m_lineBreakBidiStatusLastStrong : 5; // WTF::Unicode::Direction | 338 unsigned m_lineBreakBidiStatusLastStrong : 5; // WTF::Unicode::Direction |
| 335 unsigned m_lineBreakBidiStatusLast : 5; // WTF::Unicode::Direction | 339 unsigned m_lineBreakBidiStatusLast : 5; // WTF::Unicode::Direction |
| 336 | 340 |
| 341 unsigned m_isFirstAfterPageBreak : 1; |
| 342 |
| 337 // End of RootInlineBox-specific members. | 343 // End of RootInlineBox-specific members. |
| 338 | 344 |
| 339 #if ENABLE(ASSERT) | 345 #if ENABLE(ASSERT) |
| 340 private: | 346 private: |
| 341 unsigned m_hasBadChildList : 1; | 347 unsigned m_hasBadChildList : 1; |
| 342 #endif | 348 #endif |
| 343 }; | 349 }; |
| 344 | 350 |
| 345 DEFINE_INLINE_BOX_TYPE_CASTS(InlineFlowBox); | 351 DEFINE_INLINE_BOX_TYPE_CASTS(InlineFlowBox); |
| 346 | 352 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 358 } | 364 } |
| 359 | 365 |
| 360 } // namespace blink | 366 } // namespace blink |
| 361 | 367 |
| 362 #ifndef NDEBUG | 368 #ifndef NDEBUG |
| 363 // Outside the WebCore namespace for ease of invocation from gdb. | 369 // Outside the WebCore namespace for ease of invocation from gdb. |
| 364 void showTree(const blink::InlineFlowBox*); | 370 void showTree(const blink::InlineFlowBox*); |
| 365 #endif | 371 #endif |
| 366 | 372 |
| 367 #endif // InlineFlowBox_h | 373 #endif // InlineFlowBox_h |
| OLD | NEW |