Linux: Depend on liberation-fonts package for RPMs.
[chromium-blink-merge.git] / components / dom_distiller / core / url_utils_android.cc
blobfc387869b3561709b871cafb760ce93d4f9c33f3
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "components/dom_distiller/core/url_utils_android.h"
7 #include <string>
9 #include "base/android/jni_string.h"
10 #include "components/dom_distiller/core/url_constants.h"
11 #include "components/dom_distiller/core/url_utils.h"
12 #include "jni/DomDistillerUrlUtils_jni.h"
13 #include "net/base/url_util.h"
14 #include "url/gurl.h"
16 namespace dom_distiller {
18 namespace url_utils {
20 namespace android {
22 ScopedJavaLocalRef<jstring> GetDistillerViewUrlFromUrl(
23 JNIEnv* env,
24 const JavaParamRef<jclass>& clazz,
25 const JavaParamRef<jstring>& j_scheme,
26 const JavaParamRef<jstring>& j_url) {
27 std::string scheme(base::android::ConvertJavaStringToUTF8(env, j_scheme));
28 GURL url(base::android::ConvertJavaStringToUTF8(env, j_url));
29 if (!url.is_valid()) {
30 return ScopedJavaLocalRef<jstring>();
32 GURL view_url =
33 dom_distiller::url_utils::GetDistillerViewUrlFromUrl(scheme, url);
34 if (!view_url.is_valid()) {
35 return ScopedJavaLocalRef<jstring>();
37 return base::android::ConvertUTF8ToJavaString(env, view_url.spec());
40 ScopedJavaLocalRef<jstring> GetOriginalUrlFromDistillerUrl(
41 JNIEnv* env,
42 const JavaParamRef<jclass>& clazz,
43 const JavaParamRef<jstring>& j_url) {
44 GURL url(base::android::ConvertJavaStringToUTF8(env, j_url));
45 if (!url.is_valid())
46 return ScopedJavaLocalRef<jstring>();
48 GURL original_url =
49 dom_distiller::url_utils::GetOriginalUrlFromDistillerUrl(url);
50 if (!original_url.is_valid())
51 return ScopedJavaLocalRef<jstring>();
53 return base::android::ConvertUTF8ToJavaString(env, original_url.spec());
56 jboolean IsDistilledPage(JNIEnv* env,
57 const JavaParamRef<jclass>& clazz,
58 const JavaParamRef<jstring>& j_url) {
59 GURL url(base::android::ConvertJavaStringToUTF8(env, j_url));
60 return dom_distiller::url_utils::IsDistilledPage(url);
63 jboolean IsUrlDistillable(JNIEnv* env,
64 const JavaParamRef<jclass>& clazz,
65 const JavaParamRef<jstring>& j_url) {
66 GURL url(base::android::ConvertJavaStringToUTF8(env, j_url));
67 return dom_distiller::url_utils::IsUrlDistillable(url);
70 ScopedJavaLocalRef<jstring> GetIsDistillableJs(
71 JNIEnv* env,
72 const JavaParamRef<jclass>& clazz) {
73 return base::android::ConvertUTF8ToJavaString(
74 env, dom_distiller::url_utils::GetIsDistillableJs());
77 ScopedJavaLocalRef<jstring> GetValueForKeyInUrl(
78 JNIEnv* env,
79 const JavaParamRef<jclass>& clazz,
80 const JavaParamRef<jstring>& j_url,
81 const JavaParamRef<jstring>& j_key) {
82 GURL url(base::android::ConvertJavaStringToUTF8(env, j_url));
83 std::string key = base::android::ConvertJavaStringToUTF8(env, j_key);
84 return base::android::ConvertUTF8ToJavaString(
85 env, dom_distiller::url_utils::GetValueForKeyInUrl(url, key));
88 bool RegisterUrlUtils(JNIEnv* env) { return RegisterNativesImpl(env); }
90 } // namespace android
92 } // namespace url_utils
94 } // namespace dom_distiller