Index: content/browser/renderer_host/java/gin_java_bridge_dispatcher_host.h |
diff --git a/content/browser/renderer_host/java/gin_java_bridge_dispatcher_host.h b/content/browser/renderer_host/java/gin_java_bridge_dispatcher_host.h |
deleted file mode 100644 |
index d77da3aacdc569fbb6d50ac81285d08013d928c9..0000000000000000000000000000000000000000 |
--- a/content/browser/renderer_host/java/gin_java_bridge_dispatcher_host.h |
+++ /dev/null |
@@ -1,123 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef CONTENT_BROWSER_RENDERER_HOST_JAVA_GIN_JAVA_BRIDGE_DISPATCHER_HOST_H_ |
-#define CONTENT_BROWSER_RENDERER_HOST_JAVA_GIN_JAVA_BRIDGE_DISPATCHER_HOST_H_ |
- |
-#include <map> |
-#include <set> |
- |
-#include "base/android/jni_weak_ref.h" |
-#include "base/android/scoped_java_ref.h" |
-#include "base/memory/ref_counted.h" |
-#include "base/memory/weak_ptr.h" |
-#include "content/browser/renderer_host/java/gin_java_bound_object.h" |
-#include "content/browser/renderer_host/java/gin_java_method_invocation_helper.h" |
-#include "content/public/browser/web_contents_observer.h" |
- |
-namespace base { |
-class ListValue; |
-} |
- |
-namespace IPC { |
-class Message; |
-} |
- |
-namespace content { |
- |
-// This class handles injecting Java objects into a single RenderView. The Java |
-// object itself lives in the browser process on a background thread, while a |
-// proxy object is created in the renderer. An instance of this class exists |
-// for each RenderFrameHost. |
-class GinJavaBridgeDispatcherHost |
- : public base::SupportsWeakPtr<GinJavaBridgeDispatcherHost>, |
- public WebContentsObserver, |
- public GinJavaMethodInvocationHelper::DispatcherDelegate { |
- public: |
- |
- GinJavaBridgeDispatcherHost(WebContents* web_contents, |
- jobject retained_object_set); |
- virtual ~GinJavaBridgeDispatcherHost(); |
- |
- void AddNamedObject( |
- const std::string& name, |
- const base::android::JavaRef<jobject>& object, |
- const base::android::JavaRef<jclass>& safe_annotation_clazz); |
- void RemoveNamedObject(const std::string& name); |
- void SetAllowObjectContentsInspection(bool allow); |
- |
- // WebContentsObserver |
- virtual void RenderFrameCreated(RenderFrameHost* render_frame_host) OVERRIDE; |
- virtual void RenderFrameDeleted(RenderFrameHost* render_frame_host) OVERRIDE; |
- virtual void DocumentAvailableInMainFrame() OVERRIDE; |
- virtual bool OnMessageReceived(const IPC::Message& message, |
- RenderFrameHost* render_frame_host) OVERRIDE; |
- |
- // GinJavaMethodInvocationHelper::DispatcherDelegate |
- virtual JavaObjectWeakGlobalRef GetObjectWeakRef( |
- GinJavaBoundObject::ObjectID object_id) OVERRIDE; |
- |
- void OnGetMethods(RenderFrameHost* render_frame_host, |
- GinJavaBoundObject::ObjectID object_id, |
- IPC::Message* reply_msg); |
- void OnHasMethod(RenderFrameHost* render_frame_host, |
- GinJavaBoundObject::ObjectID object_id, |
- const std::string& method_name, |
- IPC::Message* reply_msg); |
- void OnInvokeMethod(RenderFrameHost* render_frame_host, |
- GinJavaBoundObject::ObjectID object_id, |
- const std::string& method_name, |
- const base::ListValue& arguments, |
- IPC::Message* reply_msg); |
- |
- private: |
- typedef std::set<RenderFrameHost*> RendererSet; |
- void OnObjectWrapperDeleted(RenderFrameHost* render_frame_host, |
- GinJavaBoundObject::ObjectID object_id); |
- |
- void SendReply(RenderFrameHost* render_frame_host, IPC::Message* reply_msg); |
- void SendMethods(RenderFrameHost* render_frame_host, |
- IPC::Message* reply_msg, |
- const std::set<std::string>& method_names); |
- void SendHasMethodReply(RenderFrameHost* render_frame_host, |
- IPC::Message* reply_msg, |
- bool result); |
- void ProcessMethodInvocationResult( |
- RenderFrameHost* render_frame_host, |
- IPC::Message* reply_msg, |
- scoped_refptr<GinJavaMethodInvocationHelper> result); |
- void ProcessMethodInvocationObjectResult( |
- RenderFrameHost* render_frame_host, |
- IPC::Message* reply_msg, |
- scoped_refptr<GinJavaMethodInvocationHelper> result); |
- GinJavaBoundObject::ObjectID AddObject( |
- const base::android::JavaRef<jobject>& object, |
- const base::android::JavaRef<jclass>& safe_annotation_clazz, |
- bool is_named, |
- RenderFrameHost* holder); |
- bool FindObjectId(const base::android::JavaRef<jobject>& object, |
- GinJavaBoundObject::ObjectID* object_id); |
- void RemoveHolder(RenderFrameHost* holder, |
- const GinJavaBoundObject::ObjectMap::iterator& from, |
- size_t count); |
- |
- // Every time a GinJavaBoundObject backed by a real Java object is |
- // created/destroyed, we insert/remove a strong ref to that Java object into |
- // this set so that it doesn't get garbage collected while it's still |
- // potentially in use. Although the set is managed native side, it's owned |
- // and defined in Java so that pushing refs into it does not create new GC |
- // roots that would prevent ContentViewCore from being garbage collected. |
- JavaObjectWeakGlobalRef retained_object_set_; |
- bool allow_object_contents_inspection_; |
- RendererSet renderers_; |
- GinJavaBoundObject::ObjectMap objects_; |
- typedef std::map<std::string, GinJavaBoundObject::ObjectID> NamedObjectMap; |
- NamedObjectMap named_objects_; |
- |
- DISALLOW_COPY_AND_ASSIGN(GinJavaBridgeDispatcherHost); |
-}; |
- |
-} // namespace content |
- |
-#endif // CONTENT_BROWSER_RENDERER_HOST_JAVA_GIN_JAVA_BRIDGE_DISPATCHER_HOST_H_ |