| Index: webkit/port/bindings/v8/v8_proxy.cpp
|
| ===================================================================
|
| --- webkit/port/bindings/v8/v8_proxy.cpp (revision 14932)
|
| +++ webkit/port/bindings/v8/v8_proxy.cpp (working copy)
|
| @@ -456,10 +456,23 @@
|
| Vector<v8::Persistent<v8::Value> > group;
|
| group.reserveCapacity(next_key_index - i);
|
| for (; i < next_key_index; ++i) {
|
| + Node* node = grouper[i].second;
|
| v8::Persistent<v8::Value> wrapper =
|
| - getDOMNodeMap().get(grouper[i].second);
|
| + getDOMNodeMap().get(node);
|
| if (!wrapper.IsEmpty())
|
| group.append(wrapper);
|
| + // If the node is styled and there is a wrapper for the inline
|
| + // style declaration, we need to keep that style declaration
|
| + // wrapper alive as well, so we add it to the object group.
|
| + if (node->isStyledElement()) {
|
| + StyledElement* element = reinterpret_cast<StyledElement*>(node);
|
| + CSSStyleDeclaration* style = element->inlineStyleDecl();
|
| + if (style != NULL) {
|
| + wrapper = getDOMObjectMap().get(style);
|
| + if (!wrapper.IsEmpty())
|
| + group.append(wrapper);
|
| + }
|
| + }
|
| }
|
|
|
| if (group.size() > 1)
|
|
|