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) 2001 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ights reserved. | 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ights reserved. |
6 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) | 6 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) |
7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) | 7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) |
8 * | 8 * |
9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
(...skipping 635 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
646 | 646 |
647 #if ENABLE(ASSERT) | 647 #if ENABLE(ASSERT) |
648 bool Node::needsDistributionRecalc() const | 648 bool Node::needsDistributionRecalc() const |
649 { | 649 { |
650 return rootInTreeOfTrees(*this).childNeedsDistributionRecalc(); | 650 return rootInTreeOfTrees(*this).childNeedsDistributionRecalc(); |
651 } | 651 } |
652 #endif | 652 #endif |
653 | 653 |
654 void Node::updateDistribution() | 654 void Node::updateDistribution() |
655 { | 655 { |
| 656 // Extra early out to avoid spamming traces. |
| 657 if (inDocument() && !document().childNeedsDistributionRecalc()) |
| 658 return; |
656 TRACE_EVENT0("blink", "Node::updateDistribution"); | 659 TRACE_EVENT0("blink", "Node::updateDistribution"); |
657 ScriptForbiddenScope forbidScript; | 660 ScriptForbiddenScope forbidScript; |
658 rootInTreeOfTrees(*this).recalcDistribution(); | 661 Node& root = rootInTreeOfTrees(*this); |
| 662 if (root.childNeedsDistributionRecalc()) |
| 663 root.recalcDistribution(); |
659 } | 664 } |
660 | 665 |
661 void Node::recalcDistribution() | 666 void Node::recalcDistribution() |
662 { | 667 { |
| 668 ASSERT(childNeedsDistributionRecalc()); |
| 669 |
663 if (isElementNode()) { | 670 if (isElementNode()) { |
664 if (ElementShadow* shadow = toElement(this)->shadow()) | 671 if (ElementShadow* shadow = toElement(this)->shadow()) |
665 shadow->distributeIfNeeded(); | 672 shadow->distributeIfNeeded(); |
666 } | 673 } |
667 | 674 |
668 for (Node* child = firstChild(); child; child = child->nextSibling()) { | 675 for (Node* child = firstChild(); child; child = child->nextSibling()) { |
669 if (child->childNeedsDistributionRecalc()) | 676 if (child->childNeedsDistributionRecalc()) |
670 child->recalcDistribution(); | 677 child->recalcDistribution(); |
671 } | 678 } |
672 | 679 |
(...skipping 1718 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2391 | 2398 |
2392 void showNodePath(const blink::Node* node) | 2399 void showNodePath(const blink::Node* node) |
2393 { | 2400 { |
2394 if (node) | 2401 if (node) |
2395 node->showNodePathForThis(); | 2402 node->showNodePathForThis(); |
2396 else | 2403 else |
2397 fprintf(stderr, "Cannot showNodePath for (nil)\n"); | 2404 fprintf(stderr, "Cannot showNodePath for (nil)\n"); |
2398 } | 2405 } |
2399 | 2406 |
2400 #endif | 2407 #endif |
OLD | NEW |