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

Side by Side Diff: Source/core/rendering/InlineFlowBox.cpp

Issue 397733004: Allow assertions to be enabled in Blink Release builds. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebased. Created 6 years, 5 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/rendering/InlineFlowBox.h ('k') | Source/core/rendering/RenderBlock.h » ('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) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 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 30 matching lines...) Expand all
41 41
42 namespace WebCore { 42 namespace WebCore {
43 43
44 struct SameSizeAsInlineFlowBox : public InlineBox { 44 struct SameSizeAsInlineFlowBox : public InlineBox {
45 void* pointers[5]; 45 void* pointers[5];
46 uint32_t bitfields : 23; 46 uint32_t bitfields : 23;
47 }; 47 };
48 48
49 COMPILE_ASSERT(sizeof(InlineFlowBox) == sizeof(SameSizeAsInlineFlowBox), InlineF lowBox_should_stay_small); 49 COMPILE_ASSERT(sizeof(InlineFlowBox) == sizeof(SameSizeAsInlineFlowBox), InlineF lowBox_should_stay_small);
50 50
51 #ifndef NDEBUG 51 #if ENABLE(ASSERT)
52 52
53 InlineFlowBox::~InlineFlowBox() 53 InlineFlowBox::~InlineFlowBox()
54 { 54 {
55 if (!m_hasBadChildList) 55 if (!m_hasBadChildList)
56 for (InlineBox* child = firstChild(); child; child = child->nextOnLine() ) 56 for (InlineBox* child = firstChild(); child; child = child->nextOnLine() )
57 child->setHasBadParent(); 57 child->setHasBadParent();
58 } 58 }
59 59
60 #endif 60 #endif
61 61
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 checkConsistency(); 199 checkConsistency();
200 } 200 }
201 201
202 void InlineFlowBox::deleteLine() 202 void InlineFlowBox::deleteLine()
203 { 203 {
204 InlineBox* child = firstChild(); 204 InlineBox* child = firstChild();
205 InlineBox* next = 0; 205 InlineBox* next = 0;
206 while (child) { 206 while (child) {
207 ASSERT(this == child->parent()); 207 ASSERT(this == child->parent());
208 next = child->nextOnLine(); 208 next = child->nextOnLine();
209 #ifndef NDEBUG 209 #if ENABLE(ASSERT)
210 child->setParent(0); 210 child->setParent(0);
211 #endif 211 #endif
212 child->deleteLine(); 212 child->deleteLine();
213 child = next; 213 child = next;
214 } 214 }
215 #ifndef NDEBUG 215 #if ENABLE(ASSERT)
216 m_firstChild = 0; 216 m_firstChild = 0;
217 m_lastChild = 0; 217 m_lastChild = 0;
218 #endif 218 #endif
219 219
220 removeLineBoxFromRenderObject(); 220 removeLineBoxFromRenderObject();
221 destroy(); 221 destroy();
222 } 222 }
223 223
224 void InlineFlowBox::removeLineBoxFromRenderObject() 224 void InlineFlowBox::removeLineBoxFromRenderObject()
225 { 225 {
(...skipping 1418 matching lines...) Expand 10 before | Expand all | Expand 10 after
1644 return "InlineFlowBox"; 1644 return "InlineFlowBox";
1645 } 1645 }
1646 1646
1647 void InlineFlowBox::showLineTreeAndMark(const InlineBox* markedBox1, const char* markedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Rend erObject* obj, int depth) const 1647 void InlineFlowBox::showLineTreeAndMark(const InlineBox* markedBox1, const char* markedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Rend erObject* obj, int depth) const
1648 { 1648 {
1649 InlineBox::showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedL abel2, obj, depth); 1649 InlineBox::showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedL abel2, obj, depth);
1650 for (const InlineBox* box = firstChild(); box; box = box->nextOnLine()) 1650 for (const InlineBox* box = firstChild(); box; box = box->nextOnLine())
1651 box->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLab el2, obj, depth + 1); 1651 box->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLab el2, obj, depth + 1);
1652 } 1652 }
1653 1653
1654 #endif
1655
1656 #if ENABLE(ASSERT)
1654 void InlineFlowBox::checkConsistency() const 1657 void InlineFlowBox::checkConsistency() const
1655 { 1658 {
1656 #ifdef CHECK_CONSISTENCY 1659 #ifdef CHECK_CONSISTENCY
1657 ASSERT(!m_hasBadChildList); 1660 ASSERT(!m_hasBadChildList);
1658 const InlineBox* prev = 0; 1661 const InlineBox* prev = 0;
1659 for (const InlineBox* child = m_firstChild; child; child = child->nextOnLine ()) { 1662 for (const InlineBox* child = m_firstChild; child; child = child->nextOnLine ()) {
1660 ASSERT(child->parent() == this); 1663 ASSERT(child->parent() == this);
1661 ASSERT(child->prevOnLine() == prev); 1664 ASSERT(child->prevOnLine() == prev);
1662 prev = child; 1665 prev = child;
1663 } 1666 }
1664 ASSERT(prev == m_lastChild); 1667 ASSERT(prev == m_lastChild);
1665 #endif 1668 #endif
1666 } 1669 }
1667 1670
1668 #endif 1671 #endif
1669 1672
1670 } // namespace WebCore 1673 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/core/rendering/InlineFlowBox.h ('k') | Source/core/rendering/RenderBlock.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698