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 using base::android::JavaParamRef; | 15 using base::android::JavaParamRef; |
18 using base::android::ScopedJavaLocalRef; | 16 using base::android::ScopedJavaLocalRef; |
19 | 17 |
20 namespace { | 18 namespace { |
21 | 19 |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 | 99 |
102 static jboolean IsGoogleSearchUrl(JNIEnv* env, | 100 static jboolean IsGoogleSearchUrl(JNIEnv* env, |
103 const JavaParamRef<jclass>& clazz, | 101 const JavaParamRef<jclass>& clazz, |
104 const JavaParamRef<jstring>& url) { | 102 const JavaParamRef<jstring>& url) { |
105 GURL gurl = ConvertJavaStringToGURL(env, url); | 103 GURL gurl = ConvertJavaStringToGURL(env, url); |
106 if (gurl.is_empty()) | 104 if (gurl.is_empty()) |
107 return false; | 105 return false; |
108 return google_util::IsGoogleSearchUrl(gurl); | 106 return google_util::IsGoogleSearchUrl(gurl); |
109 } | 107 } |
110 | 108 |
111 static ScopedJavaLocalRef<jstring> FormatUrlForSecurityDisplay( | |
112 JNIEnv* env, | |
113 const JavaParamRef<jclass>& clazz, | |
114 const JavaParamRef<jstring>& url) { | |
115 return base::android::ConvertUTF16ToJavaString( | |
116 env, url_formatter::FormatUrlForSecurityDisplay( | |
117 ConvertJavaStringToGURL(env, url))); | |
118 } | |
119 | |
120 static ScopedJavaLocalRef<jstring> FormatUrlForSecurityDisplayOmitScheme( | |
121 JNIEnv* env, | |
122 const JavaParamRef<jclass>& clazz, | |
123 const JavaParamRef<jstring>& url) { | |
124 return base::android::ConvertUTF16ToJavaString( | |
125 env, url_formatter::FormatUrlForSecurityDisplay( | |
126 ConvertJavaStringToGURL(env, url), | |
127 url_formatter::SchemeDisplay::OMIT_HTTP_AND_HTTPS)); | |
128 } | |
129 | |
130 static jboolean IsGoogleHomePageUrl(JNIEnv* env, | 109 static jboolean IsGoogleHomePageUrl(JNIEnv* env, |
131 const JavaParamRef<jclass>& clazz, | 110 const JavaParamRef<jclass>& clazz, |
132 const JavaParamRef<jstring>& url) { | 111 const JavaParamRef<jstring>& url) { |
133 GURL gurl = ConvertJavaStringToGURL(env, url); | 112 GURL gurl = ConvertJavaStringToGURL(env, url); |
134 if (gurl.is_empty()) | 113 if (gurl.is_empty()) |
135 return false; | 114 return false; |
136 return google_util::IsGoogleHomePageUrl(gurl); | 115 return google_util::IsGoogleHomePageUrl(gurl); |
137 } | 116 } |
138 | 117 |
139 static ScopedJavaLocalRef<jstring> FixupUrl( | |
140 JNIEnv* env, | |
141 const JavaParamRef<jclass>& clazz, | |
142 const JavaParamRef<jstring>& url, | |
143 const JavaParamRef<jstring>& optional_desired_tld) { | |
144 DCHECK(url); | |
145 GURL fixed_url = url_formatter::FixupURL( | |
146 base::android::ConvertJavaStringToUTF8(env, url), | |
147 optional_desired_tld | |
148 ? base::android::ConvertJavaStringToUTF8(env, optional_desired_tld) | |
149 : std::string()); | |
150 | |
151 return fixed_url.is_valid() | |
152 ? base::android::ConvertUTF8ToJavaString(env, fixed_url.spec()) | |
153 : ScopedJavaLocalRef<jstring>(); | |
154 } | |
155 | |
156 static jboolean UrlsMatchIgnoringFragments(JNIEnv* env, | 118 static jboolean UrlsMatchIgnoringFragments(JNIEnv* env, |
157 const JavaParamRef<jclass>& clazz, | 119 const JavaParamRef<jclass>& clazz, |
158 const JavaParamRef<jstring>& url, | 120 const JavaParamRef<jstring>& url, |
159 const JavaParamRef<jstring>& url2) { | 121 const JavaParamRef<jstring>& url2) { |
160 GURL gurl = ConvertJavaStringToGURL(env, url); | 122 GURL gurl = ConvertJavaStringToGURL(env, url); |
161 GURL gurl2 = ConvertJavaStringToGURL(env, url2); | 123 GURL gurl2 = ConvertJavaStringToGURL(env, url2); |
162 if (gurl.is_empty()) | 124 if (gurl.is_empty()) |
163 return gurl2.is_empty(); | 125 return gurl2.is_empty(); |
164 if (!gurl.is_valid() || !gurl2.is_valid()) | 126 if (!gurl.is_valid() || !gurl2.is_valid()) |
165 return false; | 127 return false; |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
200 const JavaParamRef<jclass>& clazz, | 162 const JavaParamRef<jclass>& clazz, |
201 const JavaParamRef<jstring>& url) { | 163 const JavaParamRef<jstring>& url) { |
202 return CheckSchemeBelongsToList(env, url, g_downloadable_schemes); | 164 return CheckSchemeBelongsToList(env, url, g_downloadable_schemes); |
203 } | 165 } |
204 | 166 |
205 | 167 |
206 // Register native methods | 168 // Register native methods |
207 bool RegisterUrlUtilities(JNIEnv* env) { | 169 bool RegisterUrlUtilities(JNIEnv* env) { |
208 return RegisterNativesImpl(env); | 170 return RegisterNativesImpl(env); |
209 } | 171 } |
OLD | NEW |