| Index: content/renderer/java/java_bridge_dispatcher.cc
|
| diff --git a/content/renderer/java/java_bridge_dispatcher.cc b/content/renderer/java/java_bridge_dispatcher.cc
|
| index f66bac3d9a290b4a358073edaf21c6f60d18f674..262ea94fbd5f128a624e480fef49c7e6062cb72d 100644
|
| --- a/content/renderer/java/java_bridge_dispatcher.cc
|
| +++ b/content/renderer/java/java_bridge_dispatcher.cc
|
| @@ -57,11 +57,15 @@ void JavaBridgeDispatcher::DidClearWindowObject() {
|
| for (ObjectMap::const_iterator iter = objects_.begin();
|
| iter != objects_.end();
|
| ++iter) {
|
| + NPObject* object = NPVARIANT_TO_OBJECT(iter->second);
|
| + // De-associate from the existing V8 wrapper, so we don't pull any
|
| + // of the wrapper's custom properties into the context of the page we
|
| + // have navigated to.
|
| + blink::WebBindings::dropV8WrapperForObject(object);
|
| // This refs the NPObject. This reference is dropped when either the window
|
| // object is later cleared, or the object is GC'ed. So the object may be
|
| // deleted at any time after OnRemoveNamedObject() is called.
|
| - render_frame()->GetWebFrame()->bindToWindowObject(
|
| - iter->first, NPVARIANT_TO_OBJECT(iter->second));
|
| + render_frame()->GetWebFrame()->bindToWindowObject(iter->first, object);
|
| }
|
| }
|
|
|
|
|