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, 2013 Apple Inc. All rights
reserved. | 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2013 Apple Inc. All rights
reserved. |
6 * | 6 * |
7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
(...skipping 818 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
829 } | 829 } |
830 } | 830 } |
831 | 831 |
832 void ContainerNode::notifyNodeInsertedInternal(Node& root, NodeVector& postInser
tionNotificationTargets) | 832 void ContainerNode::notifyNodeInsertedInternal(Node& root, NodeVector& postInser
tionNotificationTargets) |
833 { | 833 { |
834 EventDispatchForbiddenScope assertNoEventDispatch; | 834 EventDispatchForbiddenScope assertNoEventDispatch; |
835 ScriptForbiddenScope forbidScript; | 835 ScriptForbiddenScope forbidScript; |
836 | 836 |
837 for (Node& node : NodeTraversal::inclusiveDescendantsOf(root)) { | 837 for (Node& node : NodeTraversal::inclusiveDescendantsOf(root)) { |
838 // As an optimization we don't notify leaf nodes when when inserting | 838 // As an optimization we don't notify leaf nodes when when inserting |
839 // into detached subtrees. | 839 // into detached subtrees that are not in a shadow tree. |
840 if (!inDocument() && !node.isContainerNode()) | 840 if (!inDocument() && !isInShadowTree() && !node.isContainerNode()) |
841 continue; | 841 continue; |
842 if (Node::InsertionShouldCallDidNotifySubtreeInsertions == node.inserted
Into(this)) | 842 if (Node::InsertionShouldCallDidNotifySubtreeInsertions == node.inserted
Into(this)) |
843 postInsertionNotificationTargets.append(&node); | 843 postInsertionNotificationTargets.append(&node); |
844 for (ShadowRoot* shadowRoot = node.youngestShadowRoot(); shadowRoot; sha
dowRoot = shadowRoot->olderShadowRoot()) | 844 for (ShadowRoot* shadowRoot = node.youngestShadowRoot(); shadowRoot; sha
dowRoot = shadowRoot->olderShadowRoot()) |
845 notifyNodeInsertedInternal(*shadowRoot, postInsertionNotificationTar
gets); | 845 notifyNodeInsertedInternal(*shadowRoot, postInsertionNotificationTar
gets); |
846 } | 846 } |
847 } | 847 } |
848 | 848 |
849 void ContainerNode::notifyNodeRemoved(Node& root) | 849 void ContainerNode::notifyNodeRemoved(Node& root) |
850 { | 850 { |
(...skipping 673 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1524 return true; | 1524 return true; |
1525 | 1525 |
1526 if (node->isElementNode() && toElement(node)->shadow()) | 1526 if (node->isElementNode() && toElement(node)->shadow()) |
1527 return true; | 1527 return true; |
1528 | 1528 |
1529 return false; | 1529 return false; |
1530 } | 1530 } |
1531 #endif | 1531 #endif |
1532 | 1532 |
1533 } // namespace blink | 1533 } // namespace blink |
OLD | NEW |