Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(319)

Side by Side Diff: chrome/browser/android/url_utilities.cc

Issue 2110543004: Move JNI bindings for url_formatter from chrome to //components/url_formatter (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/browser/android/chrome_jni_registrar.cc ('k') | chrome/chrome.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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 }
OLDNEW
« no previous file with comments | « chrome/browser/android/chrome_jni_registrar.cc ('k') | chrome/chrome.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698