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

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: gyp: conditionally exclude Android sources Created 4 years, 5 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
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 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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698