summaryrefslogtreecommitdiffstats
path: root/content/renderer/java/java_bridge_channel.cc
diff options
context:
space:
mode:
Diffstat (limited to 'content/renderer/java/java_bridge_channel.cc')
-rw-r--r--content/renderer/java/java_bridge_channel.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/content/renderer/java/java_bridge_channel.cc b/content/renderer/java/java_bridge_channel.cc
index 7d95421..235425a 100644
--- a/content/renderer/java/java_bridge_channel.cc
+++ b/content/renderer/java/java_bridge_channel.cc
@@ -7,6 +7,7 @@
#include "content/child/child_process.h"
#include "content/child/plugin_messages.h"
#include "content/common/java_bridge_messages.h"
+#include "third_party/WebKit/public/web/WebBindings.h"
namespace content {
@@ -22,10 +23,16 @@ JavaBridgeChannel* JavaBridgeChannel::GetJavaBridgeChannel(
ChildProcess::current()->GetShutDownEvent()));
}
-JavaBridgeChannel::JavaBridgeChannel() {
+JavaBridgeChannel::JavaBridgeChannel()
+ : peer_owner_id_(new struct _NPP) {
+ // Register the dummy owner Id for our peer (the Browser process) as an object
+ // owner, and have all objects received from the peer owned by it.
+ WebKit::WebBindings::registerObjectOwner(peer_owner_id_.get());
+ SetDefaultNPObjectOwner(peer_owner_id_.get());
}
JavaBridgeChannel::~JavaBridgeChannel() {
+ WebKit::WebBindings::unregisterObjectOwner(peer_owner_id_.get());
}
int JavaBridgeChannel::GenerateRouteID() {