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

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

Issue 2636103002: [WebAPKs] Show minibar when WebAPK navigates outside scope specified in Web Manifest (Closed)
Patch Set: Merge branch 'master' into minibar Created 3 years, 11 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/android/javatests/src/org/chromium/chrome/browser/webapps/WebappVisibilityTest.java ('k') | no next file » | 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 "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
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
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 }
OLDNEW
« no previous file with comments | « chrome/android/javatests/src/org/chromium/chrome/browser/webapps/WebappVisibilityTest.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698