| 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 |