Commit 4445764c authored by Michael Thiessen's avatar Michael Thiessen Committed by Commit Bot

Migrate remaining java.net.URI usage to org.chromium.url.URI

Also adds a presubmit to ensure we don't add new java URI usage.

Change-Id: I4df1b96fd737f19b8d632140d0899377ba8cc63a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2002743
Commit-Queue: Michael Thiessen <mthiesse@chromium.org>
Reviewed-by: default avatarYaron Friedman <yfriedman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#738750}
parent c0913ca9
......@@ -79,6 +79,23 @@ _INCLUDE_ORDER_WARNING = (
'collation (LC_COLLATE=C) and check\nhttps://google.github.io/styleguide/'
'cppguide.html#Names_and_Order_of_Includes')
# Format: Sequence of tuples containing:
# * Full import path.
# * Sequence of strings to show when the pattern matches.
# * Sequence of path or filename exceptions to this rule
_BANNED_JAVA_IMPORTS = (
(
'java.net.URI',
(
'Use org.chromium.url.GURL instead of java.net.URI, where possible.',
),
(
'net/android/javatests/src/org/chromium/net/'
'AndroidProxySelectorTest.java',
'components/cronet/',
),
),
)
# Format: Sequence of tuples containing:
# * String pattern or, if starting with a slash, a regular expression.
......@@ -1886,6 +1903,33 @@ def _CheckNoBannedFunctions(input_api, output_api):
return result
def _CheckAndroidNoBannedImports(input_api, output_api):
"""Make sure that banned java imports are not used."""
errors = []
def IsException(path, exceptions):
for exception in exceptions:
if (path.startswith(exception)):
return True
return False
file_filter = lambda f: f.LocalPath().endswith(('.java'))
for f in input_api.AffectedFiles(file_filter=file_filter):
for line_num, line in f.ChangedContents():
for import_name, message, exceptions in _BANNED_JAVA_IMPORTS:
if IsException(f.LocalPath(), exceptions):
continue;
problems = _GetMessageForMatchingType(input_api, f, line_num, line,
'import ' + import_name, message)
if problems:
errors.extend(problems)
result = []
if (errors):
result.append(output_api.PresubmitError(
'Banned imports were used.\n' + '\n'.join(errors)))
return result
def _CheckNoDeprecatedMojoTypes(input_api, output_api):
"""Make sure that old Mojo types are not used."""
warnings = []
......@@ -4121,6 +4165,7 @@ def _AndroidSpecificOnUploadChecks(input_api, output_api):
results.extend(_CheckAndroidWebkitImports(input_api, output_api))
results.extend(_CheckAndroidXmlStyle(input_api, output_api, True))
results.extend(_CheckNewImagesWarning(input_api, output_api))
results.extend(_CheckAndroidNoBannedImports(input_api, output_api))
return results
def _AndroidSpecificOnCommitChecks(input_api, output_api):
......
......@@ -7,7 +7,6 @@ package org.chromium.base.test.params;
import org.junit.Assert;
import java.io.File;
import java.net.URI;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
......@@ -121,7 +120,6 @@ public class ParameterSet {
ret.add(Long.class);
ret.add(Short.class);
ret.add(String.class);
ret.add(URI.class);
ret.add(URL.class);
ret.add(Void.class);
return ret;
......
......@@ -40,10 +40,10 @@ import org.chromium.components.search_engines.TemplateUrlService;
import org.chromium.components.url_formatter.UrlFormatter;
import org.chromium.content_public.browser.BrowserStartupController;
import org.chromium.content_public.common.ContentUrlConstants;
import org.chromium.url.URI;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.List;
......
......@@ -39,10 +39,10 @@ import org.chromium.content_public.browser.NavigationEntry;
import org.chromium.ui.modelutil.ListModel;
import org.chromium.ui.modelutil.PropertyModel;
import org.chromium.ui.modelutil.RecyclerViewAdapter;
import org.chromium.url.URI;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.List;
......
......@@ -39,10 +39,10 @@ import org.chromium.chrome.browser.util.UrlUtilities;
import org.chromium.chrome.browser.webapps.WebappScopePolicy;
import org.chromium.content_public.common.ContentUrlConstants;
import org.chromium.ui.base.PageTransition;
import org.chromium.url.URI;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.HashSet;
......
......@@ -20,8 +20,8 @@ import androidx.annotation.VisibleForTesting;
import org.chromium.base.Log;
import org.chromium.chrome.browser.util.UrlConstants;
import org.chromium.chrome.browser.util.UrlUtilities;
import org.chromium.url.URI;
import java.net.URI;
import java.util.Locale;
/**
......
......@@ -48,10 +48,10 @@ import org.chromium.chrome.browser.webapps.ChromeWebApkHost;
import org.chromium.chrome.browser.webapps.WebApkServiceClient;
import org.chromium.components.url_formatter.SchemeDisplay;
import org.chromium.components.url_formatter.UrlFormatter;
import org.chromium.url.URI;
import org.chromium.webapk.lib.client.WebApkIdentityServiceClient;
import org.chromium.webapk.lib.client.WebApkValidator;
import java.net.URI;
import java.net.URISyntaxException;
/**
......
......@@ -60,10 +60,10 @@ import org.chromium.ui.modelutil.PropertyModel;
import org.chromium.ui.text.NoUnderlineClickableSpan;
import org.chromium.ui.text.SpanApplier;
import org.chromium.ui.text.SpanApplier.SpanInfo;
import org.chromium.url.URI;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.net.URI;
import java.net.URISyntaxException;
import java.text.DateFormat;
import java.util.Date;
......
......@@ -6,8 +6,8 @@ package org.chromium.chrome.browser.previews;
import org.chromium.base.annotations.NativeMethods;
import org.chromium.content_public.browser.WebContents;
import org.chromium.url.URI;
import java.net.URI;
import java.net.URISyntaxException;
/**
......
......@@ -34,8 +34,8 @@ import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.content_public.common.Referrer;
import org.chromium.ui.base.Clipboard;
import org.chromium.ui.base.PageTransition;
import org.chromium.url.URI;
import java.net.URI;
import java.util.Locale;
/**
......
......@@ -40,8 +40,8 @@ import org.chromium.components.dom_distiller.core.DomDistillerUrlUtils;
import org.chromium.components.security_state.ConnectionSecurityLevel;
import org.chromium.content_public.browser.WebContents;
import org.chromium.ui.util.ColorUtils;
import org.chromium.url.URI;
import java.net.URI;
import java.net.URISyntaxException;
/**
......
......@@ -99,15 +99,6 @@ public class UrlUtilities {
return UrlUtilitiesJni.get().isDownloadable(uri);
}
/**
* @param uri A URI.
*
* @return Whether the URI's scheme is for a internal chrome page.
*/
public static boolean isInternalScheme(URI uri) {
return INTERNAL_SCHEMES.contains(uri.getScheme());
}
/**
* @param gurl A GURL.
*
......
......@@ -438,6 +438,7 @@ android_library("content_javatests") {
"//ui/android:ui_java",
"//ui/android:ui_java_test_support",
"//ui/gfx/geometry/mojom:mojom_java",
"//url:gurl_java",
]
sources = [
......
......@@ -12,8 +12,8 @@ import org.junit.runner.RunWith;
import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.base.test.util.UrlUtils;
import org.chromium.url.URI;
import java.net.URI;
import java.net.URLDecoder;
@RunWith(BaseJUnit4ClassRunner.class)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment