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

Side by Side Diff: Source/core/rendering/RenderObject.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/RenderObject.h ('k') | Source/core/rendering/RenderTableCell.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) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2000 Dirk Mueller (mueller@kde.org) 4 * (C) 2000 Dirk Mueller (mueller@kde.org)
5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com)
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. All rights reserv ed. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. All rights reserv ed.
7 * Copyright (C) 2009 Google Inc. All rights reserved. 7 * Copyright (C) 2009 Google Inc. All rights reserved.
8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/) 8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/)
9 * 9 *
10 * This library is free software; you can redistribute it and/or 10 * This library is free software; you can redistribute it and/or
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 namespace WebCore { 94 namespace WebCore {
95 95
96 namespace { 96 namespace {
97 97
98 static bool gModifyRenderTreeStructureAnyState = false; 98 static bool gModifyRenderTreeStructureAnyState = false;
99 99
100 } // namespace 100 } // namespace
101 101
102 using namespace HTMLNames; 102 using namespace HTMLNames;
103 103
104 #ifndef NDEBUG 104 #if ENABLE(ASSERT)
105 105
106 RenderObject::SetLayoutNeededForbiddenScope::SetLayoutNeededForbiddenScope(Rende rObject& renderObject) 106 RenderObject::SetLayoutNeededForbiddenScope::SetLayoutNeededForbiddenScope(Rende rObject& renderObject)
107 : m_renderObject(renderObject) 107 : m_renderObject(renderObject)
108 , m_preexistingForbidden(m_renderObject.isSetNeedsLayoutForbidden()) 108 , m_preexistingForbidden(m_renderObject.isSetNeedsLayoutForbidden())
109 { 109 {
110 m_renderObject.setNeedsLayoutIsForbidden(true); 110 m_renderObject.setNeedsLayoutIsForbidden(true);
111 } 111 }
112 112
113 RenderObject::SetLayoutNeededForbiddenScope::~SetLayoutNeededForbiddenScope() 113 RenderObject::SetLayoutNeededForbiddenScope::~SetLayoutNeededForbiddenScope()
114 { 114 {
115 m_renderObject.setNeedsLayoutIsForbidden(m_preexistingForbidden); 115 m_renderObject.setNeedsLayoutIsForbidden(m_preexistingForbidden);
116 } 116 }
117 #endif 117 #endif
118 118
119 struct SameSizeAsRenderObject { 119 struct SameSizeAsRenderObject {
120 virtual ~SameSizeAsRenderObject() { } // Allocate vtable pointer. 120 virtual ~SameSizeAsRenderObject() { } // Allocate vtable pointer.
121 void* pointers[5]; 121 void* pointers[5];
122 #ifndef NDEBUG 122 #if ENABLE(ASSERT)
123 unsigned m_debugBitfields : 2; 123 unsigned m_debugBitfields : 2;
124 #endif 124 #endif
125 unsigned m_bitfields; 125 unsigned m_bitfields;
126 unsigned m_bitfields2; 126 unsigned m_bitfields2;
127 LayoutRect rect; // Stores the previous paint invalidation rect. 127 LayoutRect rect; // Stores the previous paint invalidation rect.
128 LayoutPoint position; // Stores the previous position from the paint invalid ation container. 128 LayoutPoint position; // Stores the previous position from the paint invalid ation container.
129 }; 129 };
130 130
131 COMPILE_ASSERT(sizeof(RenderObject) == sizeof(SameSizeAsRenderObject), RenderObj ect_should_stay_small); 131 COMPILE_ASSERT(sizeof(RenderObject) == sizeof(SameSizeAsRenderObject), RenderObj ect_should_stay_small);
132 132
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 209
210 DEFINE_DEBUG_ONLY_GLOBAL(WTF::RefCountedLeakCounter, renderObjectCounter, ("Rend erObject")); 210 DEFINE_DEBUG_ONLY_GLOBAL(WTF::RefCountedLeakCounter, renderObjectCounter, ("Rend erObject"));
211 211
212 RenderObject::RenderObject(Node* node) 212 RenderObject::RenderObject(Node* node)
213 : ImageResourceClient() 213 : ImageResourceClient()
214 , m_style(nullptr) 214 , m_style(nullptr)
215 , m_node(node) 215 , m_node(node)
216 , m_parent(0) 216 , m_parent(0)
217 , m_previous(0) 217 , m_previous(0)
218 , m_next(0) 218 , m_next(0)
219 #ifndef NDEBUG 219 #if ENABLE(ASSERT)
220 , m_hasAXObject(false) 220 , m_hasAXObject(false)
221 , m_setNeedsLayoutForbidden(false) 221 , m_setNeedsLayoutForbidden(false)
222 #endif 222 #endif
223 , m_bitfields(node) 223 , m_bitfields(node)
224 { 224 {
225 #ifndef NDEBUG 225 #ifndef NDEBUG
226 renderObjectCounter.increment(); 226 renderObjectCounter.increment();
227 #endif 227 #endif
228 } 228 }
229 229
230 RenderObject::~RenderObject() 230 RenderObject::~RenderObject()
231 { 231 {
232 ResourceLoadPriorityOptimizer::resourceLoadPriorityOptimizer()->removeRender Object(this); 232 ResourceLoadPriorityOptimizer::resourceLoadPriorityOptimizer()->removeRender Object(this);
233 ASSERT(!m_hasAXObject);
233 #ifndef NDEBUG 234 #ifndef NDEBUG
234 ASSERT(!m_hasAXObject);
235 renderObjectCounter.decrement(); 235 renderObjectCounter.decrement();
236 #endif 236 #endif
237 } 237 }
238 238
239 String RenderObject::debugName() const 239 String RenderObject::debugName() const
240 { 240 {
241 StringBuilder name; 241 StringBuilder name;
242 name.append(renderName()); 242 name.append(renderName());
243 243
244 if (Node* node = this->node()) { 244 if (Node* node = this->node()) {
(...skipping 465 matching lines...) Expand 10 before | Expand all | Expand 10 after
710 last = object; 710 last = object;
711 if (scheduleRelayout && objectIsRelayoutBoundary(last)) 711 if (scheduleRelayout && objectIsRelayoutBoundary(last))
712 break; 712 break;
713 object = container; 713 object = container;
714 } 714 }
715 715
716 if (scheduleRelayout) 716 if (scheduleRelayout)
717 last->scheduleRelayout(); 717 last->scheduleRelayout();
718 } 718 }
719 719
720 #ifndef NDEBUG 720 #if ENABLE(ASSERT)
721 void RenderObject::checkBlockPositionedObjectsNeedLayout() 721 void RenderObject::checkBlockPositionedObjectsNeedLayout()
722 { 722 {
723 ASSERT(!needsLayout()); 723 ASSERT(!needsLayout());
724 724
725 if (isRenderBlock()) 725 if (isRenderBlock())
726 toRenderBlock(this)->checkPositionedObjectsNeedLayout(); 726 toRenderBlock(this)->checkPositionedObjectsNeedLayout();
727 } 727 }
728 #endif 728 #endif
729 729
730 void RenderObject::setPreferredLogicalWidthsDirty(MarkingBehavior markParents) 730 void RenderObject::setPreferredLogicalWidthsDirty(MarkingBehavior markParents)
(...skipping 2715 matching lines...) Expand 10 before | Expand all | Expand 10 after
3446 { 3446 {
3447 if (object1) { 3447 if (object1) {
3448 const WebCore::RenderObject* root = object1; 3448 const WebCore::RenderObject* root = object1;
3449 while (root->parent()) 3449 while (root->parent())
3450 root = root->parent(); 3450 root = root->parent();
3451 root->showRenderTreeAndMark(object1, "*", object2, "-", 0); 3451 root->showRenderTreeAndMark(object1, "*", object2, "-", 0);
3452 } 3452 }
3453 } 3453 }
3454 3454
3455 #endif 3455 #endif
OLDNEW
« no previous file with comments | « Source/core/rendering/RenderObject.h ('k') | Source/core/rendering/RenderTableCell.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698