| Index: Source/core/dom/ContainerNode.cpp
|
| diff --git a/Source/core/dom/ContainerNode.cpp b/Source/core/dom/ContainerNode.cpp
|
| index 66a1bd40ef88132a0881b0d2494457f70b15833a..114e63d4ece6650a7c8627650a51f1a87a5104b0 100644
|
| --- a/Source/core/dom/ContainerNode.cpp
|
| +++ b/Source/core/dom/ContainerNode.cpp
|
| @@ -670,7 +670,11 @@ void ContainerNode::removeChildren()
|
| childrenChanged(change);
|
| }
|
|
|
| - dispatchSubtreeModifiedEvent();
|
| + // We don't fire the DOMSubtreeModified event for Attr Nodes. This matches the behavior
|
| + // of IE and Firefox. This event is fired synchronously and is a source of trouble for
|
| + // attributes as the JS callback could alter the attributes and leave us in a bad state.
|
| + if (!isAttributeNode())
|
| + dispatchSubtreeModifiedEvent();
|
| }
|
|
|
| PassRefPtrWillBeRawPtr<Node> ContainerNode::appendChild(PassRefPtrWillBeRawPtr<Node> newChild, ExceptionState& exceptionState)
|
|
|