diff options
author | kristianm@chromium.org <kristianm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-15 22:19:44 +0000 |
---|---|---|
committer | kristianm@chromium.org <kristianm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-15 22:19:44 +0000 |
commit | d72acb0dd473cd8dd0d3d420e22a03c766d76623 (patch) | |
tree | 51dc420ff792f104bb4c8a81a7e4ccc8a1401b7d /net/android | |
parent | 439a09441d84c629bb312733fbac43c4fef9a955 (diff) | |
download | chromium_src-d72acb0dd473cd8dd0d3d420e22a03c766d76623.zip chromium_src-d72acb0dd473cd8dd0d3d420e22a03c766d76623.tar.gz chromium_src-d72acb0dd473cd8dd0d3d420e22a03c766d76623.tar.bz2 |
Adding java implementation for Geolocation
Review URL: https://chromiumcodereview.appspot.com/11416347
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173328 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/android')
-rw-r--r-- | net/android/gurl_utils.cc | 24 | ||||
-rw-r--r-- | net/android/gurl_utils.h | 16 | ||||
-rw-r--r-- | net/android/java/src/org/chromium/net/GURLUtils.java | 27 | ||||
-rw-r--r-- | net/android/net_jni_registrar.cc | 2 |
4 files changed, 69 insertions, 0 deletions
diff --git a/net/android/gurl_utils.cc b/net/android/gurl_utils.cc new file mode 100644 index 0000000..94d8e78 --- /dev/null +++ b/net/android/gurl_utils.cc @@ -0,0 +1,24 @@ +// Copyright (c) 2012 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. + +#include "net/android/gurl_utils.h" + +#include "base/android/jni_string.h" +#include "googleurl/src/gurl.h" +#include "jni/GURLUtils_jni.h" + +namespace net { + +jstring GetOrigin(JNIEnv* env, jclass clazz, jstring url) { + GURL host(base::android::ConvertJavaStringToUTF16(env, url)); + + return base::android::ConvertUTF8ToJavaString(env, + host.GetOrigin().spec()).Release(); +} + +bool RegisterGURLUtils(JNIEnv* env) { + return RegisterNativesImpl(env); +} + +} // net namespace diff --git a/net/android/gurl_utils.h b/net/android/gurl_utils.h new file mode 100644 index 0000000..aeeecf7 --- /dev/null +++ b/net/android/gurl_utils.h @@ -0,0 +1,16 @@ +// Copyright (c) 2012 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 NET_ANDROID_GURL_UTILS_H_ +#define NET_ANDROID_GURL_UTILS_H_ + +#include <jni.h> + +namespace net { + +bool RegisterGURLUtils(JNIEnv* env); + +} // net namespace + +#endif // NET_ANDROID_GURL_UTILS_H_ diff --git a/net/android/java/src/org/chromium/net/GURLUtils.java b/net/android/java/src/org/chromium/net/GURLUtils.java new file mode 100644 index 0000000..8047ad3 --- /dev/null +++ b/net/android/java/src/org/chromium/net/GURLUtils.java @@ -0,0 +1,27 @@ +// Copyright (c) 2012 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.net; + +import org.chromium.base.JNINamespace; + +/** + * Class to access the GURL library from java. + */ +@JNINamespace("net") +public final class GURLUtils { + + /** + * Get the origin of an url: Ex getOrigin("http://www.example.com:8080/index.html?bar=foo") + * would return "http://www.example.com:8080". It will return an empty string for an + * invalid url. + * + * @return The origin of the url + */ + public static String getOrigin(String url) { + return nativeGetOrigin(url); + } + + private static native String nativeGetOrigin(String url); +} diff --git a/net/android/net_jni_registrar.cc b/net/android/net_jni_registrar.cc index bd0d155..cfc3bb1 100644 --- a/net/android/net_jni_registrar.cc +++ b/net/android/net_jni_registrar.cc @@ -7,6 +7,7 @@ #include "base/basictypes.h" #include "base/android/jni_android.h" #include "base/android/jni_registrar.h" +#include "net/android/gurl_utils.h" #include "net/android/network_change_notifier_android.h" #include "net/android/network_library.h" #include "net/proxy/proxy_config_service_android.h" @@ -16,6 +17,7 @@ namespace android { static base::android::RegistrationMethod kNetRegisteredMethods[] = { { "AndroidNetworkLibrary", net::android::RegisterNetworkLibrary }, + { "GURLUtils", net::RegisterGURLUtils }, { "NetworkChangeNotifierAndroid", net::NetworkChangeNotifierAndroid::Register }, { "ProxyConfigService", net::ProxyConfigServiceAndroid::Register }, |