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 package org.chromium.chrome.browser.util; | 5 package org.chromium.chrome.browser.util; |
6 | 6 |
7 import android.text.TextUtils; | 7 import android.text.TextUtils; |
8 | 8 |
9 import org.chromium.base.CollectionUtil; | 9 import org.chromium.base.CollectionUtil; |
10 import org.chromium.base.Log; | 10 import org.chromium.base.Log; |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 /** | 72 /** |
73 * @param uri A URI. | 73 * @param uri A URI. |
74 * | 74 * |
75 * @return Whether the URI's scheme is for a internal chrome page. | 75 * @return Whether the URI's scheme is for a internal chrome page. |
76 */ | 76 */ |
77 public static boolean isInternalScheme(URI uri) { | 77 public static boolean isInternalScheme(URI uri) { |
78 return INTERNAL_SCHEMES.contains(uri.getScheme()); | 78 return INTERNAL_SCHEMES.contains(uri.getScheme()); |
79 } | 79 } |
80 | 80 |
81 /** | 81 /** |
82 * Refer to url_formatter::FixupURL. | |
83 * | |
84 * Given a URL-like string, returns a real URL or null. For example: | |
85 * - "google.com" -> "http://google.com/" | |
86 * - "about:" -> "chrome://version/" | |
87 * - "//mail.google.com:/" -> "file:///mail.google.com:/" | |
88 * - "..." -> null | |
89 */ | |
90 public static String fixupUrl(String uri) { | |
91 if (TextUtils.isEmpty(uri)) return null; | |
92 return nativeFixupUrl(uri, null); | |
93 } | |
94 | |
95 /** | |
96 * Builds a String that strips down the URL to its scheme, host, and port. | |
97 * @param uri URI to break down. | |
98 * @param showScheme Whether or not to show the scheme. If the URL can't be
parsed, this value | |
99 * is ignored. | |
100 * @return Stripped-down String containing the essential bits of the URL, or
the original URL if | |
101 * it fails to parse it. | |
102 */ | |
103 public static String formatUrlForSecurityDisplay(URI uri, boolean showScheme
) { | |
104 return formatUrlForSecurityDisplay(uri.toString(), showScheme); | |
105 } | |
106 | |
107 /** | |
108 * Builds a String that strips down |url| to its scheme, host, and port. | |
109 * @param uri The URI to break down. | |
110 * @param showScheme Whether or not to show the scheme. If the URL can't be
parsed, this value | |
111 * is ignored. | |
112 * @return Stripped-down String containing the essential bits of the URL, or
the original URL if | |
113 * it fails to parse it. | |
114 */ | |
115 public static String formatUrlForSecurityDisplay(String uri, boolean showSch
eme) { | |
116 if (showScheme) { | |
117 return nativeFormatUrlForSecurityDisplay(uri); | |
118 } else { | |
119 return nativeFormatUrlForSecurityDisplayOmitScheme(uri); | |
120 } | |
121 } | |
122 /** | |
123 * Determines whether or not the given URLs belong to the same broad domain
or host. | 82 * Determines whether or not the given URLs belong to the same broad domain
or host. |
124 * "Broad domain" is defined as the TLD + 1 or the host. | 83 * "Broad domain" is defined as the TLD + 1 or the host. |
125 * | 84 * |
126 * For example, the TLD + 1 for http://news.google.com would be "google.com"
and would be shared | 85 * For example, the TLD + 1 for http://news.google.com would be "google.com"
and would be shared |
127 * with other Google properties like http://finance.google.com. | 86 * with other Google properties like http://finance.google.com. |
128 * | 87 * |
129 * If {@code includePrivateRegistries} is marked as true, then private domai
n registries (like | 88 * If {@code includePrivateRegistries} is marked as true, then private domai
n registries (like |
130 * appspot.com) are considered "effective TLDs" -- all subdomains of appspot
.com would be | 89 * appspot.com) are considered "effective TLDs" -- all subdomains of appspot
.com would be |
131 * considered distinct (effective TLD = ".appspot.com" + 1). | 90 * considered distinct (effective TLD = ".appspot.com" + 1). |
132 * This means that http://chromiumreview.appspot.com and http://example.apps
pot.com would not | 91 * This means that http://chromiumreview.appspot.com and http://example.apps
pot.com would not |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
335 private static native boolean nativeIsDownloadable(String url); | 294 private static native boolean nativeIsDownloadable(String url); |
336 private static native boolean nativeIsValidForIntentFallbackNavigation(Strin
g url); | 295 private static native boolean nativeIsValidForIntentFallbackNavigation(Strin
g url); |
337 private static native boolean nativeIsAcceptedScheme(String url); | 296 private static native boolean nativeIsAcceptedScheme(String url); |
338 private static native boolean nativeSameDomainOrHost(String primaryUrl, Stri
ng secondaryUrl, | 297 private static native boolean nativeSameDomainOrHost(String primaryUrl, Stri
ng secondaryUrl, |
339 boolean includePrivateRegistries); | 298 boolean includePrivateRegistries); |
340 private static native boolean nativeSameHost(String primaryUrl, String secon
daryUrl); | 299 private static native boolean nativeSameHost(String primaryUrl, String secon
daryUrl); |
341 private static native String nativeGetDomainAndRegistry(String url, | 300 private static native String nativeGetDomainAndRegistry(String url, |
342 boolean includePrivateRegistries); | 301 boolean includePrivateRegistries); |
343 public static native boolean nativeIsGoogleSearchUrl(String url); | 302 public static native boolean nativeIsGoogleSearchUrl(String url); |
344 public static native boolean nativeIsGoogleHomePageUrl(String url); | 303 public static native boolean nativeIsGoogleHomePageUrl(String url); |
345 public static native String nativeFormatUrlForSecurityDisplay(String url); | |
346 public static native String nativeFormatUrlForSecurityDisplayOmitScheme(Stri
ng url); | |
347 private static native String nativeFixupUrl(String url, String desiredTld); | |
348 private static native boolean nativeUrlsMatchIgnoringFragments(String url, S
tring url2); | 304 private static native boolean nativeUrlsMatchIgnoringFragments(String url, S
tring url2); |
349 private static native boolean nativeUrlsFragmentsDiffer(String url, String u
rl2); | 305 private static native boolean nativeUrlsFragmentsDiffer(String url, String u
rl2); |
350 } | 306 } |
OLD | NEW |