| 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 "base/strings/string_util.h" |
| 9 #include "components/google/core/browser/google_util.h" | 10 #include "components/google/core/browser/google_util.h" |
| 10 #include "jni/UrlUtilities_jni.h" | 11 #include "jni/UrlUtilities_jni.h" |
| 11 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" | 12 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" |
| 12 #include "url/gurl.h" | 13 #include "url/gurl.h" |
| 13 | 14 |
| 14 using base::android::ConvertJavaStringToUTF8; | 15 using base::android::ConvertJavaStringToUTF8; |
| 15 using base::android::JavaParamRef; | 16 using base::android::JavaParamRef; |
| 16 using base::android::ScopedJavaLocalRef; | 17 using base::android::ScopedJavaLocalRef; |
| 17 | 18 |
| 18 namespace { | 19 namespace { |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 | 109 |
| 109 static jboolean IsGoogleHomePageUrl(JNIEnv* env, | 110 static jboolean IsGoogleHomePageUrl(JNIEnv* env, |
| 110 const JavaParamRef<jclass>& clazz, | 111 const JavaParamRef<jclass>& clazz, |
| 111 const JavaParamRef<jstring>& url) { | 112 const JavaParamRef<jstring>& url) { |
| 112 GURL gurl = ConvertJavaStringToGURL(env, url); | 113 GURL gurl = ConvertJavaStringToGURL(env, url); |
| 113 if (gurl.is_empty()) | 114 if (gurl.is_empty()) |
| 114 return false; | 115 return false; |
| 115 return google_util::IsGoogleHomePageUrl(gurl); | 116 return google_util::IsGoogleHomePageUrl(gurl); |
| 116 } | 117 } |
| 117 | 118 |
| 119 static jboolean IsUrlWithinScope(JNIEnv* env, |
| 120 const JavaParamRef<jclass>& clazz, |
| 121 const JavaParamRef<jstring>& url, |
| 122 const JavaParamRef<jstring>& scope_url) { |
| 123 GURL gurl = ConvertJavaStringToGURL(env, url); |
| 124 GURL gscope_url = ConvertJavaStringToGURL(env, scope_url); |
| 125 return gurl.GetOrigin() == gscope_url.GetOrigin() && |
| 126 base::StartsWith(gurl.path(), gscope_url.path(), |
| 127 base::CompareCase::SENSITIVE); |
| 128 } |
| 129 |
| 118 static jboolean UrlsMatchIgnoringFragments(JNIEnv* env, | 130 static jboolean UrlsMatchIgnoringFragments(JNIEnv* env, |
| 119 const JavaParamRef<jclass>& clazz, | 131 const JavaParamRef<jclass>& clazz, |
| 120 const JavaParamRef<jstring>& url, | 132 const JavaParamRef<jstring>& url, |
| 121 const JavaParamRef<jstring>& url2) { | 133 const JavaParamRef<jstring>& url2) { |
| 122 GURL gurl = ConvertJavaStringToGURL(env, url); | 134 GURL gurl = ConvertJavaStringToGURL(env, url); |
| 123 GURL gurl2 = ConvertJavaStringToGURL(env, url2); | 135 GURL gurl2 = ConvertJavaStringToGURL(env, url2); |
| 124 if (gurl.is_empty()) | 136 if (gurl.is_empty()) |
| 125 return gurl2.is_empty(); | 137 return gurl2.is_empty(); |
| 126 if (!gurl.is_valid() || !gurl2.is_valid()) | 138 if (!gurl.is_valid() || !gurl2.is_valid()) |
| 127 return false; | 139 return false; |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 162 const JavaParamRef<jclass>& clazz, | 174 const JavaParamRef<jclass>& clazz, |
| 163 const JavaParamRef<jstring>& url) { | 175 const JavaParamRef<jstring>& url) { |
| 164 return CheckSchemeBelongsToList(env, url, g_downloadable_schemes); | 176 return CheckSchemeBelongsToList(env, url, g_downloadable_schemes); |
| 165 } | 177 } |
| 166 | 178 |
| 167 | 179 |
| 168 // Register native methods | 180 // Register native methods |
| 169 bool RegisterUrlUtilities(JNIEnv* env) { | 181 bool RegisterUrlUtilities(JNIEnv* env) { |
| 170 return RegisterNativesImpl(env); | 182 return RegisterNativesImpl(env); |
| 171 } | 183 } |
| OLD | NEW |