OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <string> | 5 #include <string> |
6 | 6 |
7 #include "base/android/jni_android.h" | 7 #include "base/android/jni_android.h" |
8 #include "base/android/jni_string.h" | 8 #include "base/android/jni_string.h" |
9 #include "components/google/core/browser/google_util.h" | 9 #include "components/google/core/browser/google_util.h" |
10 #include "components/url_formatter/elide_url.h" | |
11 #include "components/url_formatter/url_fixer.h" | |
12 #include "jni/UrlUtilities_jni.h" | 10 #include "jni/UrlUtilities_jni.h" |
13 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" | 11 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" |
14 #include "url/gurl.h" | 12 #include "url/gurl.h" |
15 | 13 |
16 using base::android::ConvertJavaStringToUTF8; | 14 using base::android::ConvertJavaStringToUTF8; |
17 | 15 |
18 namespace { | 16 namespace { |
19 | 17 |
20 GURL ConvertJavaStringToGURL(JNIEnv*env, jstring url) { | 18 GURL ConvertJavaStringToGURL(JNIEnv*env, jstring url) { |
21 return url ? GURL(ConvertJavaStringToUTF8(env, url)) : GURL(); | 19 return url ? GURL(ConvertJavaStringToUTF8(env, url)) : GURL(); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 | 73 |
76 static jboolean IsGoogleSearchUrl(JNIEnv* env, | 74 static jboolean IsGoogleSearchUrl(JNIEnv* env, |
77 const JavaParamRef<jclass>& clazz, | 75 const JavaParamRef<jclass>& clazz, |
78 const JavaParamRef<jstring>& url) { | 76 const JavaParamRef<jstring>& url) { |
79 GURL gurl = ConvertJavaStringToGURL(env, url); | 77 GURL gurl = ConvertJavaStringToGURL(env, url); |
80 if (gurl.is_empty()) | 78 if (gurl.is_empty()) |
81 return false; | 79 return false; |
82 return google_util::IsGoogleSearchUrl(gurl); | 80 return google_util::IsGoogleSearchUrl(gurl); |
83 } | 81 } |
84 | 82 |
85 static ScopedJavaLocalRef<jstring> FormatUrlForSecurityDisplay( | |
86 JNIEnv* env, | |
87 const JavaParamRef<jclass>& clazz, | |
88 const JavaParamRef<jstring>& url) { | |
89 return base::android::ConvertUTF16ToJavaString( | |
90 env, url_formatter::FormatUrlForSecurityDisplay( | |
91 ConvertJavaStringToGURL(env, url))); | |
92 } | |
93 | |
94 static ScopedJavaLocalRef<jstring> FormatUrlForSecurityDisplayOmitScheme( | |
95 JNIEnv* env, | |
96 const JavaParamRef<jclass>& clazz, | |
97 const JavaParamRef<jstring>& url) { | |
98 return base::android::ConvertUTF16ToJavaString( | |
99 env, url_formatter::FormatUrlForSecurityDisplay( | |
100 ConvertJavaStringToGURL(env, url), | |
101 url_formatter::SchemeDisplay::OMIT_HTTP_AND_HTTPS)); | |
102 } | |
103 | |
104 static jboolean IsGoogleHomePageUrl(JNIEnv* env, | 83 static jboolean IsGoogleHomePageUrl(JNIEnv* env, |
105 const JavaParamRef<jclass>& clazz, | 84 const JavaParamRef<jclass>& clazz, |
106 const JavaParamRef<jstring>& url) { | 85 const JavaParamRef<jstring>& url) { |
107 GURL gurl = ConvertJavaStringToGURL(env, url); | 86 GURL gurl = ConvertJavaStringToGURL(env, url); |
108 if (gurl.is_empty()) | 87 if (gurl.is_empty()) |
109 return false; | 88 return false; |
110 return google_util::IsGoogleHomePageUrl(gurl); | 89 return google_util::IsGoogleHomePageUrl(gurl); |
111 } | 90 } |
112 | 91 |
113 static ScopedJavaLocalRef<jstring> FixupUrl( | |
114 JNIEnv* env, | |
115 const JavaParamRef<jclass>& clazz, | |
116 const JavaParamRef<jstring>& url, | |
117 const JavaParamRef<jstring>& optional_desired_tld) { | |
118 DCHECK(url); | |
119 GURL fixed_url = url_formatter::FixupURL( | |
120 base::android::ConvertJavaStringToUTF8(env, url), | |
121 optional_desired_tld | |
122 ? base::android::ConvertJavaStringToUTF8(env, optional_desired_tld) | |
123 : std::string()); | |
124 | |
125 return fixed_url.is_valid() | |
126 ? base::android::ConvertUTF8ToJavaString(env, fixed_url.spec()) | |
127 : ScopedJavaLocalRef<jstring>(); | |
128 } | |
129 | |
130 static jboolean UrlsMatchIgnoringFragments(JNIEnv* env, | 92 static jboolean UrlsMatchIgnoringFragments(JNIEnv* env, |
131 const JavaParamRef<jclass>& clazz, | 93 const JavaParamRef<jclass>& clazz, |
132 const JavaParamRef<jstring>& url, | 94 const JavaParamRef<jstring>& url, |
133 const JavaParamRef<jstring>& url2) { | 95 const JavaParamRef<jstring>& url2) { |
134 GURL gurl = ConvertJavaStringToGURL(env, url); | 96 GURL gurl = ConvertJavaStringToGURL(env, url); |
135 GURL gurl2 = ConvertJavaStringToGURL(env, url2); | 97 GURL gurl2 = ConvertJavaStringToGURL(env, url2); |
136 if (gurl.is_empty()) | 98 if (gurl.is_empty()) |
137 return gurl2.is_empty(); | 99 return gurl2.is_empty(); |
138 if (!gurl.is_valid() || !gurl2.is_valid()) | 100 if (!gurl.is_valid() || !gurl2.is_valid()) |
139 return false; | 101 return false; |
(...skipping 14 matching lines...) Expand all Loading... |
154 return !gurl2.is_empty(); | 116 return !gurl2.is_empty(); |
155 if (!gurl.is_valid() || !gurl2.is_valid()) | 117 if (!gurl.is_valid() || !gurl2.is_valid()) |
156 return true; | 118 return true; |
157 return gurl.ref() != gurl2.ref(); | 119 return gurl.ref() != gurl2.ref(); |
158 } | 120 } |
159 | 121 |
160 // Register native methods | 122 // Register native methods |
161 bool RegisterUrlUtilities(JNIEnv* env) { | 123 bool RegisterUrlUtilities(JNIEnv* env) { |
162 return RegisterNativesImpl(env); | 124 return RegisterNativesImpl(env); |
163 } | 125 } |
OLD | NEW |