diff options
Diffstat (limited to 'src/com/android/browser/UrlUtils.java')
| -rw-r--r-- | src/com/android/browser/UrlUtils.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/com/android/browser/UrlUtils.java b/src/com/android/browser/UrlUtils.java index d6278ca40..8c789db2c 100644 --- a/src/com/android/browser/UrlUtils.java +++ b/src/com/android/browser/UrlUtils.java @@ -159,4 +159,34 @@ public class UrlUtils { return inUrl; } + // Determine if this URI appears to be a Google property + /* package */ static boolean isGoogleUri(Uri uri) { + String scheme = uri.getScheme(); + if (!"http".equals(scheme) && !"https".equals(scheme)) { + return false; + } + + String host = uri.getHost(); + if (host == null) { + return false; + } + String[] hostComponents = host.split("\\."); + if (hostComponents.length < 2) { + return false; + } + + int googleComponent = hostComponents.length - 2; + String component = hostComponents[googleComponent]; + if (!"google".equals(component)) { + if (hostComponents.length < 3 || + (!"co".equals(component) && !"com".equals(component))) { + return false; + } + googleComponent = hostComponents.length - 3; + if (!"google".equals(hostComponents[googleComponent])) { + return false; + } + } + return true; + } } |
