Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Unified Diff: content/browser/renderer_host/java/java_bridge_channel_host.cc

Issue 18570003: Move Renderer-side NPObject owner tracking to JavaBridgeChannel. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Move some comment cleanup to crrev.com/17428003 Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/java/java_bridge_channel_host.cc
diff --git a/content/browser/renderer_host/java/java_bridge_channel_host.cc b/content/browser/renderer_host/java/java_bridge_channel_host.cc
index 8f53b9d99a866661a5807a1da126acd221692458..6a24086b06175e310025c90cea25f3a445f325c3 100644
--- a/content/browser/renderer_host/java/java_bridge_channel_host.cc
+++ b/content/browser/renderer_host/java/java_bridge_channel_host.cc
@@ -9,6 +9,7 @@
#include "base/strings/stringprintf.h"
#include "base/synchronization/waitable_event.h"
#include "content/common/java_bridge_messages.h"
+#include "third_party/WebKit/public/web/WebBindings.h"
using base::WaitableEvent;
@@ -28,7 +29,16 @@ base::LazyInstance<WaitableEvent, WaitableEventLazyInstanceTraits> dummy_event =
base::subtle::AtomicWord g_last_id = 0;
}
+JavaBridgeChannelHost::JavaBridgeChannelHost()
+ : peer_owner_id_(new struct _NPP) {
+ // Register a dummy owner Id for objects received from the peer Renderer
+ // process.
+ WebKit::WebBindings::registerObjectOwner(peer_owner_id_.get());
+ SetDefaultNPObjectOwner(peer_owner_id_.get());
+}
+
JavaBridgeChannelHost::~JavaBridgeChannelHost() {
+ WebKit::WebBindings::unregisterObjectOwner(peer_owner_id_.get());
#if defined(OS_POSIX)
if (channel_handle_.socket.fd > 0) {
close(channel_handle_.socket.fd);

Powered by Google App Engine
This is Rietveld 408576698