OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |