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 Apple Inc. All rights reserv
ed. | 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv
ed. |
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 937 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
948 | 948 |
949 ASSERT(!NoEventDispatchAssertion::isEventDispatchForbidden()); | 949 ASSERT(!NoEventDispatchAssertion::isEventDispatchForbidden()); |
950 | 950 |
951 InspectorInstrumentation::willRemoveDOMNode(&child); | 951 InspectorInstrumentation::willRemoveDOMNode(&child); |
952 | 952 |
953 RefPtr<Node> c(child); | 953 RefPtr<Node> c(child); |
954 RefPtr<Document> document(child.document()); | 954 RefPtr<Document> document(child.document()); |
955 | 955 |
956 // dispatch pre-removal mutation events | 956 // dispatch pre-removal mutation events |
957 if (c->parentNode() && document->hasListenerType(Document::DOMNODEREMOVED_LI
STENER)) { | 957 if (c->parentNode() && document->hasListenerType(Document::DOMNODEREMOVED_LI
STENER)) { |
958 NodeChildRemovalTracker scope(&child); | 958 NodeChildRemovalTracker scope(child); |
959 c->dispatchScopedEvent(MutationEvent::create(EventTypeNames::DOMNodeRemo
ved, true, c->parentNode())); | 959 c->dispatchScopedEvent(MutationEvent::create(EventTypeNames::DOMNodeRemo
ved, true, c->parentNode())); |
960 } | 960 } |
961 | 961 |
962 // dispatch the DOMNodeRemovedFromDocument event to all descendants | 962 // dispatch the DOMNodeRemovedFromDocument event to all descendants |
963 if (c->inDocument() && document->hasListenerType(Document::DOMNODEREMOVEDFRO
MDOCUMENT_LISTENER)) { | 963 if (c->inDocument() && document->hasListenerType(Document::DOMNODEREMOVEDFRO
MDOCUMENT_LISTENER)) { |
964 NodeChildRemovalTracker scope(&child); | 964 NodeChildRemovalTracker scope(child); |
965 for (; c; c = NodeTraversal::next(c.get(), &child)) | 965 for (; c; c = NodeTraversal::next(c.get(), &child)) |
966 c->dispatchScopedEvent(MutationEvent::create(EventTypeNames::DOMNode
RemovedFromDocument, false)); | 966 c->dispatchScopedEvent(MutationEvent::create(EventTypeNames::DOMNode
RemovedFromDocument, false)); |
967 } | 967 } |
968 } | 968 } |
969 | 969 |
970 static void updateTreeAfterInsertion(ContainerNode& parent, Node& child) | 970 static void updateTreeAfterInsertion(ContainerNode& parent, Node& child) |
971 { | 971 { |
972 ASSERT(parent.refCount()); | 972 ASSERT(parent.refCount()); |
973 ASSERT(child.refCount()); | 973 ASSERT(child.refCount()); |
974 | 974 |
(...skipping 16 matching lines...) Expand all Loading... |
991 return true; | 991 return true; |
992 | 992 |
993 if (node->isElementNode() && toElement(node)->shadow()) | 993 if (node->isElementNode() && toElement(node)->shadow()) |
994 return true; | 994 return true; |
995 | 995 |
996 return false; | 996 return false; |
997 } | 997 } |
998 #endif | 998 #endif |
999 | 999 |
1000 } // namespace WebCore | 1000 } // namespace WebCore |
OLD | NEW |