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 #ifndef NDEBUG | 59 #if ENABLE(ASSERT) |
60 , m_hasBadChildList(false) | 60 , m_hasBadChildList(false) |
61 #endif | 61 #endif |
62 { | 62 { |
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 | 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 // 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 | 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 // an invisible marker exists. The side effect of having an invisible m arker is that the quirks mode behavior of shrinking lines with no | 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 // text children must not apply. This change also means that gaps will exist between image bullet list items. Even when the list bullet | 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 // is an image, the line is still considered to be immune from the quirk . | 67 // is an image, the line is still considered to be immune from the quirk . |
68 m_hasTextChildren = obj.style()->display() == LIST_ITEM; | 68 m_hasTextChildren = obj.style()->display() == LIST_ITEM; |
69 m_hasTextDescendants = m_hasTextChildren; | 69 m_hasTextDescendants = m_hasTextChildren; |
70 } | 70 } |
71 | 71 |
72 #if ENABLE(ASSERT) | |
73 virtual ~InlineFlowBox(); | |
74 #endif | |
abarth-chromium
2014/07/17 21:02:41
This change looks incorrect. We should be able to
Ken Russell (switch to Gerrit)
2014/07/17 21:25:24
It's correct. The base class defines the virtual d
| |
75 | |
72 #ifndef NDEBUG | 76 #ifndef NDEBUG |
73 virtual ~InlineFlowBox(); | |
74 | |
75 virtual void showLineTreeAndMark(const InlineBox* = 0, const char* = 0, cons t InlineBox* = 0, const char* = 0, const RenderObject* = 0, int = 0) const OVERR IDE; | 77 virtual void showLineTreeAndMark(const InlineBox* = 0, const char* = 0, cons t InlineBox* = 0, const char* = 0, const RenderObject* = 0, int = 0) const OVERR IDE; |
76 virtual const char* boxName() const OVERRIDE; | 78 virtual const char* boxName() const OVERRIDE; |
77 #endif | 79 #endif |
78 | 80 |
79 InlineFlowBox* prevLineBox() const { return m_prevLineBox; } | 81 InlineFlowBox* prevLineBox() const { return m_prevLineBox; } |
80 InlineFlowBox* nextLineBox() const { return m_nextLineBox; } | 82 InlineFlowBox* nextLineBox() const { return m_nextLineBox; } |
81 void setNextLineBox(InlineFlowBox* n) { m_nextLineBox = n; } | 83 void setNextLineBox(InlineFlowBox* n) { m_nextLineBox = n; } |
82 void setPreviousLineBox(InlineFlowBox* p) { m_prevLineBox = p; } | 84 void setPreviousLineBox(InlineFlowBox* p) { m_prevLineBox = p; } |
83 | 85 |
84 InlineBox* firstChild() const { checkConsistency(); return m_firstChild; } | 86 InlineBox* firstChild() const { checkConsistency(); return m_firstChild; } |
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
344 // If the line contains any ruby runs, then this will be true. | 346 // If the line contains any ruby runs, then this will be true. |
345 unsigned m_hasAnnotationsBefore : 1; | 347 unsigned m_hasAnnotationsBefore : 1; |
346 unsigned m_hasAnnotationsAfter : 1; | 348 unsigned m_hasAnnotationsAfter : 1; |
347 | 349 |
348 unsigned m_lineBreakBidiStatusEor : 5; // WTF::Unicode::Direction | 350 unsigned m_lineBreakBidiStatusEor : 5; // WTF::Unicode::Direction |
349 unsigned m_lineBreakBidiStatusLastStrong : 5; // WTF::Unicode::Direction | 351 unsigned m_lineBreakBidiStatusLastStrong : 5; // WTF::Unicode::Direction |
350 unsigned m_lineBreakBidiStatusLast : 5; // WTF::Unicode::Direction | 352 unsigned m_lineBreakBidiStatusLast : 5; // WTF::Unicode::Direction |
351 | 353 |
352 // End of RootInlineBox-specific members. | 354 // End of RootInlineBox-specific members. |
353 | 355 |
354 #ifndef NDEBUG | 356 #if ENABLE(ASSERT) |
355 private: | 357 private: |
356 unsigned m_hasBadChildList : 1; | 358 unsigned m_hasBadChildList : 1; |
357 #endif | 359 #endif |
358 }; | 360 }; |
359 | 361 |
360 DEFINE_INLINE_BOX_TYPE_CASTS(InlineFlowBox); | 362 DEFINE_INLINE_BOX_TYPE_CASTS(InlineFlowBox); |
361 | 363 |
362 #ifdef NDEBUG | 364 #if !ENABLE(ASSERT) |
363 inline void InlineFlowBox::checkConsistency() const | 365 inline void InlineFlowBox::checkConsistency() const |
364 { | 366 { |
365 } | 367 } |
366 #endif | 368 #endif |
367 | 369 |
368 inline void InlineFlowBox::setHasBadChildList() | 370 inline void InlineFlowBox::setHasBadChildList() |
369 { | 371 { |
370 #ifndef NDEBUG | 372 #if ENABLE(ASSERT) |
371 m_hasBadChildList = true; | 373 m_hasBadChildList = true; |
372 #endif | 374 #endif |
373 } | 375 } |
374 | 376 |
375 } // namespace WebCore | 377 } // namespace WebCore |
376 | 378 |
377 #ifndef NDEBUG | 379 #ifndef NDEBUG |
378 // Outside the WebCore namespace for ease of invocation from gdb. | 380 // Outside the WebCore namespace for ease of invocation from gdb. |
379 void showTree(const WebCore::InlineFlowBox*); | 381 void showTree(const WebCore::InlineFlowBox*); |
380 #endif | 382 #endif |
381 | 383 |
382 #endif // InlineFlowBox_h | 384 #endif // InlineFlowBox_h |
OLD | NEW |