Chromium Code Reviews| 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 847 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 858 return; | 858 return; |
| 859 | 859 |
| 860 StyleChangeType existingChangeType = styleChangeType(); | 860 StyleChangeType existingChangeType = styleChangeType(); |
| 861 if (changeType > existingChangeType) | 861 if (changeType > existingChangeType) |
| 862 setStyleChange(changeType); | 862 setStyleChange(changeType); |
| 863 | 863 |
| 864 if (existingChangeType == NoStyleChange) | 864 if (existingChangeType == NoStyleChange) |
| 865 markAncestorsWithChildNeedsStyleRecalc(); | 865 markAncestorsWithChildNeedsStyleRecalc(); |
| 866 } | 866 } |
| 867 | 867 |
| 868 void Node::lazyAttach(ShouldSetAttached shouldSetAttached) | 868 void Node::lazyAttach() |
| 869 { | 869 { |
| 870 for (Node* n = this; n; n = NodeTraversal::next(n, this)) { | 870 // It's safe to synchronously attach here because we're in the middle of sty le recalc |
| 871 if (n->hasChildNodes()) | 871 // while it's not safe to mark nodes as needing style recalc except in the l oop in |
| 872 n->setChildNeedsStyleRecalc(); | 872 // Element::recalcStyle because we may mark an ancestor as not needing recal c and |
| 873 n->setStyleChange(FullStyleChange); | 873 // then the node would never get updated. |
| 874 if (shouldSetAttached == SetAttached) | 874 if (document()->inStyleRecalc()) { |
|
ojan
2013/05/18 00:28:36
When do we call lazyAttach while in styleRecalc?
| |
| 875 n->setAttached(); | 875 attach(); |
| 876 return; | |
| 876 } | 877 } |
| 878 setStyleChange(FullStyleChange); | |
| 877 markAncestorsWithChildNeedsStyleRecalc(); | 879 markAncestorsWithChildNeedsStyleRecalc(); |
| 878 } | 880 } |
| 879 | 881 |
| 880 bool Node::supportsFocus() const | 882 bool Node::supportsFocus() const |
| 881 { | 883 { |
| 882 return false; | 884 return false; |
| 883 } | 885 } |
| 884 | 886 |
| 885 bool Node::isFocusable() const | 887 bool Node::isFocusable() const |
| 886 { | 888 { |
| (...skipping 1886 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2773 node->showTreeForThis(); | 2775 node->showTreeForThis(); |
| 2774 } | 2776 } |
| 2775 | 2777 |
| 2776 void showNodePath(const WebCore::Node* node) | 2778 void showNodePath(const WebCore::Node* node) |
| 2777 { | 2779 { |
| 2778 if (node) | 2780 if (node) |
| 2779 node->showNodePathForThis(); | 2781 node->showNodePathForThis(); |
| 2780 } | 2782 } |
| 2781 | 2783 |
| 2782 #endif | 2784 #endif |
| OLD | NEW |