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

Unified Diff: content/browser/renderer_host/java/gin_java_bridge_dispatcher_host.h

Issue 336313018: [Android] Move content/browser/{renderer_host => android}/java/* (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Updated paths for unit tests, rebased Created 6 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/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_

Powered by Google App Engine
This is Rietveld 408576698