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 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) | 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) |
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All |
7 * rights reserved. | 7 * rights reserved. |
8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. | 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. |
9 * (http://www.torchmobile.com/) | 9 * (http://www.torchmobile.com/) |
10 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. | 10 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. |
(...skipping 4076 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4087 DCHECK_NE(root.document(), this); | 4087 DCHECK_NE(root.document(), this); |
4088 if (m_ranges.isEmpty()) | 4088 if (m_ranges.isEmpty()) |
4089 return; | 4089 return; |
4090 | 4090 |
4091 AttachedRangeSet ranges = m_ranges; | 4091 AttachedRangeSet ranges = m_ranges; |
4092 for (Range* range : ranges) | 4092 for (Range* range : ranges) |
4093 range->updateOwnerDocumentIfNeeded(); | 4093 range->updateOwnerDocumentIfNeeded(); |
4094 } | 4094 } |
4095 | 4095 |
4096 void Document::nodeChildrenWillBeRemoved(ContainerNode& container) { | 4096 void Document::nodeChildrenWillBeRemoved(ContainerNode& container) { |
| 4097 ScriptForbiddenScope scriptForbiddenScope; |
4097 EventDispatchForbiddenScope assertNoEventDispatch; | 4098 EventDispatchForbiddenScope assertNoEventDispatch; |
| 4099 |
4098 for (Range* range : m_ranges) | 4100 for (Range* range : m_ranges) |
4099 range->nodeChildrenWillBeRemoved(container); | 4101 range->nodeChildrenWillBeRemoved(container); |
4100 | 4102 |
4101 for (NodeIterator* ni : m_nodeIterators) { | 4103 for (NodeIterator* ni : m_nodeIterators) { |
4102 for (Node& n : NodeTraversal::childrenOf(container)) | 4104 for (Node& n : NodeTraversal::childrenOf(container)) |
4103 ni->nodeWillBeRemoved(n); | 4105 ni->nodeWillBeRemoved(n); |
4104 } | 4106 } |
4105 | 4107 |
4106 if (LocalFrame* frame = this->frame()) { | 4108 if (LocalFrame* frame = this->frame()) { |
4107 frame->selection().nodeChildrenWillBeRemoved(container); | 4109 frame->selection().nodeChildrenWillBeRemoved(container); |
4108 for (Node& n : NodeTraversal::childrenOf(container)) { | 4110 for (Node& n : NodeTraversal::childrenOf(container)) { |
4109 frame->eventHandler().nodeWillBeRemoved(n); | 4111 frame->eventHandler().nodeWillBeRemoved(n); |
4110 frame->page()->dragCaretController().nodeWillBeRemoved(n); | 4112 frame->page()->dragCaretController().nodeWillBeRemoved(n); |
4111 } | 4113 } |
4112 } | 4114 } |
4113 | 4115 |
4114 if (containsV1ShadowTree()) { | 4116 if (containsV1ShadowTree()) { |
4115 for (Node& n : NodeTraversal::childrenOf(container)) | 4117 for (Node& n : NodeTraversal::childrenOf(container)) |
4116 n.checkSlotChangeBeforeRemoved(); | 4118 n.checkSlotChangeBeforeRemoved(); |
4117 } | 4119 } |
4118 } | 4120 } |
4119 | 4121 |
4120 void Document::nodeWillBeRemoved(Node& n) { | 4122 void Document::nodeWillBeRemoved(Node& n) { |
| 4123 ScriptForbiddenScope scriptForbiddenScope; |
| 4124 EventDispatchForbiddenScope assertNoEventDispatch; |
| 4125 |
4121 for (NodeIterator* ni : m_nodeIterators) | 4126 for (NodeIterator* ni : m_nodeIterators) |
4122 ni->nodeWillBeRemoved(n); | 4127 ni->nodeWillBeRemoved(n); |
4123 | 4128 |
4124 for (Range* range : m_ranges) | 4129 for (Range* range : m_ranges) |
4125 range->nodeWillBeRemoved(n); | 4130 range->nodeWillBeRemoved(n); |
4126 | 4131 |
4127 if (LocalFrame* frame = this->frame()) { | 4132 if (LocalFrame* frame = this->frame()) { |
4128 frame->eventHandler().nodeWillBeRemoved(n); | 4133 frame->eventHandler().nodeWillBeRemoved(n); |
4129 frame->selection().nodeWillBeRemoved(n); | 4134 frame->selection().nodeWillBeRemoved(n); |
4130 frame->page()->dragCaretController().nodeWillBeRemoved(n); | 4135 frame->page()->dragCaretController().nodeWillBeRemoved(n); |
(...skipping 2333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6464 } | 6469 } |
6465 | 6470 |
6466 void showLiveDocumentInstances() { | 6471 void showLiveDocumentInstances() { |
6467 WeakDocumentSet& set = liveDocumentSet(); | 6472 WeakDocumentSet& set = liveDocumentSet(); |
6468 fprintf(stderr, "There are %u documents currently alive:\n", set.size()); | 6473 fprintf(stderr, "There are %u documents currently alive:\n", set.size()); |
6469 for (Document* document : set) | 6474 for (Document* document : set) |
6470 fprintf(stderr, "- Document %p URL: %s\n", document, | 6475 fprintf(stderr, "- Document %p URL: %s\n", document, |
6471 document->url().getString().utf8().data()); | 6476 document->url().getString().utf8().data()); |
6472 } | 6477 } |
6473 #endif | 6478 #endif |
OLD | NEW |