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

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

Issue 148473003: Begin getting rid of the recursion in the various RenderObject methods (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Don't ascend to the root object! Created 6 years, 11 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
« no previous file with comments | « no previous file | no next file » | 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 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
279 return node() && node()->hasTagName(hrTag); 279 return node() && node()->hasTagName(hrTag);
280 } 280 }
281 281
282 bool RenderObject::isLegend() const 282 bool RenderObject::isLegend() const
283 { 283 {
284 return node() && node()->hasTagName(legendTag); 284 return node() && node()->hasTagName(legendTag);
285 } 285 }
286 286
287 void RenderObject::setFlowThreadStateIncludingDescendants(FlowThreadState state) 287 void RenderObject::setFlowThreadStateIncludingDescendants(FlowThreadState state)
288 { 288 {
289 setFlowThreadState(state); 289 for (RenderObject *object = this; object; object = object->nextInPreOrder(th is)) {
290 290 // If object is a fragmentation context it already updated the descendan ts flag accordingly.
291 for (RenderObject* child = firstChild(); child; child = child->nextSibling() ) { 291 if (object->isRenderFlowThread())
292 // If the child is a fragmentation context it already updated the descen dants flag accordingly.
293 if (child->isRenderFlowThread())
294 continue; 292 continue;
295 ASSERT(state != child->flowThreadState()); 293 ASSERT(state != object->flowThreadState());
296 child->setFlowThreadStateIncludingDescendants(state); 294 object->setFlowThreadState(state);
297 } 295 }
298 } 296 }
299 297
300 bool RenderObject::requiresAnonymousTableWrappers(const RenderObject* newChild) const 298 bool RenderObject::requiresAnonymousTableWrappers(const RenderObject* newChild) const
301 { 299 {
302 // Check should agree with: 300 // Check should agree with:
303 // CSS 2.1 Tables: 17.2.1 Anonymous table objects 301 // CSS 2.1 Tables: 17.2.1 Anonymous table objects
304 // http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes 302 // http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes
305 if (newChild->isRenderTableCol()) { 303 if (newChild->isRenderTableCol()) {
306 const RenderTableCol* newTableColumn = toRenderTableCol(newChild); 304 const RenderTableCol* newTableColumn = toRenderTableCol(newChild);
(...skipping 3080 matching lines...) Expand 10 before | Expand all | Expand 10 after
3387 { 3385 {
3388 if (object1) { 3386 if (object1) {
3389 const WebCore::RenderObject* root = object1; 3387 const WebCore::RenderObject* root = object1;
3390 while (root->parent()) 3388 while (root->parent())
3391 root = root->parent(); 3389 root = root->parent();
3392 root->showRenderTreeAndMark(object1, "*", object2, "-", 0); 3390 root->showRenderTreeAndMark(object1, "*", object2, "-", 0);
3393 } 3391 }
3394 } 3392 }
3395 3393
3396 #endif 3394 #endif
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698