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

Unified Diff: android_webview/unittestjava/src/org/chromium/android_webview/unittest/CallbackJNIBridgeUnittest.java

Issue 12313042: [android_webview] Add a generic callback JNI bridge. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 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: android_webview/unittestjava/src/org/chromium/android_webview/unittest/CallbackJNIBridgeUnittest.java
diff --git a/android_webview/unittestjava/src/org/chromium/android_webview/unittest/CallbackJNIBridgeUnittest.java b/android_webview/unittestjava/src/org/chromium/android_webview/unittest/CallbackJNIBridgeUnittest.java
new file mode 100644
index 0000000000000000000000000000000000000000..02c01a79d7bc43fb75942e72d47fd7bd9b5761f0
--- /dev/null
+++ b/android_webview/unittestjava/src/org/chromium/android_webview/unittest/CallbackJNIBridgeUnittest.java
@@ -0,0 +1,71 @@
+// Copyright 2013 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.android_webview.unittest;
+
+import android.webkit.ValueCallback;
+
+import org.chromium.android_webview.CallbackJNIBridge;
+import org.chromium.base.CalledByNative;
+
+class CallbackJNIBridgeUnittest {
+ private CallbackJNIBridgeUnittest() {
+ }
+
+ private static class FromJavaCallbackIntFixture {
+ private int mCallbackValue;
+
+ @CalledByNative("FromJavaCallbackIntFixture")
+ static FromJavaCallbackIntFixture create() {
+ return new FromJavaCallbackIntFixture();
+ }
+
+ @CalledByNative("FromJavaCallbackIntFixture")
+ Object createCallback() {
+ return CallbackJNIBridge.wrapCallbackInt(new ValueCallback<Integer>() {
+ @Override
+ public void onReceiveValue(Integer value) {
+ assert mCallbackValue == 0;
+ mCallbackValue = value;
+ }
+ });
+ }
+
+ @CalledByNative("FromJavaCallbackIntFixture")
+ int getCallbackValue() {
+ return mCallbackValue;
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ @CalledByNative
+ static void invokeValueCallbackInt(ValueCallback callback, int value) {
+ callback.onReceiveValue(value);
+ }
+
+ private static class FromJavaCallbackStringFixture {
+ private String mCallbackValue;
+
+ @CalledByNative("FromJavaCallbackStringFixture")
+ static FromJavaCallbackStringFixture create() {
+ return new FromJavaCallbackStringFixture();
+ }
+
+ @CalledByNative("FromJavaCallbackStringFixture")
+ Object createCallback() {
+ return CallbackJNIBridge.wrapCallback(new ValueCallback<String>() {
+ @Override
+ public void onReceiveValue(String value) {
+ assert mCallbackValue == null;
+ mCallbackValue = value;
+ }
+ });
+ }
+
+ @CalledByNative("FromJavaCallbackStringFixture")
+ boolean checkCallbackValue() {
+ return mCallbackValue.equals("test string");
+ }
+ }
+}
« android_webview/native/callback_jni_bridge.cc ('K') | « android_webview/native/webview_native.gyp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698