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 519 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
530 // Removing a node from a selection can cause widget updates. | 530 // Removing a node from a selection can cause widget updates. |
531 document().nodeChildrenWillBeRemoved(this); | 531 document().nodeChildrenWillBeRemoved(this); |
532 } | 532 } |
533 | 533 |
534 | 534 |
535 NodeVector removedChildren; | 535 NodeVector removedChildren; |
536 { | 536 { |
537 RenderWidget::UpdateSuspendScope suspendWidgetHierarchyUpdates; | 537 RenderWidget::UpdateSuspendScope suspendWidgetHierarchyUpdates; |
538 { | 538 { |
539 NoEventDispatchAssertion assertNoEventDispatch; | 539 NoEventDispatchAssertion assertNoEventDispatch; |
540 removedChildren.reserveInitialCapacity(childNodeCount()); | |
Inactive
2014/02/19 04:13:33
I don't think this one is worth it as we end up tr
eseidel
2014/02/19 05:39:54
I expect walking the child list twice may be cheap
Inactive
2014/02/19 14:28:15
Ok then. I prefer to keep this change out of the C
| |
541 while (m_firstChild) { | 540 while (m_firstChild) { |
542 removedChildren.append(m_firstChild); | 541 removedChildren.append(m_firstChild); |
543 removeBetween(0, m_firstChild->nextSibling(), *m_firstChild); | 542 removeBetween(0, m_firstChild->nextSibling(), *m_firstChild); |
544 } | 543 } |
545 } | 544 } |
546 | 545 |
547 childrenChanged(false, 0, 0, -static_cast<int>(removedChildren.size())); | 546 childrenChanged(false, 0, 0, -static_cast<int>(removedChildren.size())); |
548 | 547 |
549 for (size_t i = 0; i < removedChildren.size(); ++i) | 548 for (size_t i = 0; i < removedChildren.size(); ++i) |
550 ChildNodeRemovalNotifier(*this).notify(*removedChildren[i]); | 549 ChildNodeRemovalNotifier(*this).notify(*removedChildren[i]); |
(...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1038 return true; | 1037 return true; |
1039 | 1038 |
1040 if (node->isElementNode() && toElement(node)->shadow()) | 1039 if (node->isElementNode() && toElement(node)->shadow()) |
1041 return true; | 1040 return true; |
1042 | 1041 |
1043 return false; | 1042 return false; |
1044 } | 1043 } |
1045 #endif | 1044 #endif |
1046 | 1045 |
1047 } // namespace WebCore | 1046 } // namespace WebCore |
OLD | NEW |