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

Unified Diff: content/public/android/java/src/org/chromium/content/browser/framehost/RenderFrameHostImpl.java

Issue 2681933002: Add Java wrapper for RenderFrameHost (Closed)
Patch Set: Hold on to RFH main frame Created 3 years, 10 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/public/android/java/src/org/chromium/content/browser/framehost/RenderFrameHostImpl.java
diff --git a/content/public/android/java/src/org/chromium/content/browser/framehost/RenderFrameHostImpl.java b/content/public/android/java/src/org/chromium/content/browser/framehost/RenderFrameHostImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..b4ee05cae90b8c416f442b2295805f8fafc57fd0
--- /dev/null
+++ b/content/public/android/java/src/org/chromium/content/browser/framehost/RenderFrameHostImpl.java
@@ -0,0 +1,51 @@
+// Copyright 2017 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.
+
+package org.chromium.content.browser.framehost;
+
+import org.chromium.base.annotations.CalledByNative;
+import org.chromium.base.annotations.JNINamespace;
+import org.chromium.content_public.browser.RenderFrameHost;
+import org.chromium.content_public.browser.RenderFrameHostDelegate;
+
+/**
+ * The RenderFrameHostImpl Java wrapper to allow communicating with the native RenderFrameHost
+ * object.
+ */
+@JNINamespace("content")
+// TODO(tedchoc): Remove the package restriction once this class moves to a non-public content
+// package whose visibility will be enforced via DEPS.
+/* package */ class RenderFrameHostImpl implements RenderFrameHost {
+ private long mNativeRenderFrameHostAndroid;
+ RenderFrameHostDelegate mDelegate;
boliu 2017/03/03 23:55:29 final, also comment that this may be null
rwlbuis 2017/03/06 20:58:58 Done.
+
+ private RenderFrameHostImpl(
+ long nativeRenderFrameHostAndroid, RenderFrameHostDelegate delegate) {
+ mNativeRenderFrameHostAndroid = nativeRenderFrameHostAndroid;
+ mDelegate = delegate;
+ }
+
+ @CalledByNative
+ private static RenderFrameHostImpl create(
+ long nativeRenderFrameHostAndroid, RenderFrameHostDelegate delegate) {
+ return new RenderFrameHostImpl(nativeRenderFrameHostAndroid, delegate);
+ }
+
+ @CalledByNative
+ private void clearNativePtr() {
+ mNativeRenderFrameHostAndroid = 0;
+ }
+
+ @Override
+ public RenderFrameHostDelegate getRenderFrameHostDelegate() {
+ return mDelegate;
+ }
+
+ @Override
+ public String getLastCommittedURL() {
+ return nativeGetLastCommittedURL(mNativeRenderFrameHostAndroid);
boliu 2017/03/03 23:55:29 need to check for 0
rwlbuis 2017/03/06 20:58:58 Done.
+ }
+
+ private native String nativeGetLastCommittedURL(long nativeRenderFrameHostAndroid);
+}

Powered by Google App Engine
This is Rietveld 408576698