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 = ( ...@@ -79,6 +79,23 @@ _INCLUDE_ORDER_WARNING = (
'collation (LC_COLLATE=C) and check\nhttps://google.github.io/styleguide/' 'collation (LC_COLLATE=C) and check\nhttps://google.github.io/styleguide/'
'cppguide.html#Names_and_Order_of_Includes') '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: # Format: Sequence of tuples containing:
# * String pattern or, if starting with a slash, a regular expression. # * String pattern or, if starting with a slash, a regular expression.
...@@ -1886,6 +1903,33 @@ def _CheckNoBannedFunctions(input_api, output_api): ...@@ -1886,6 +1903,33 @@ def _CheckNoBannedFunctions(input_api, output_api):
return result 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): def _CheckNoDeprecatedMojoTypes(input_api, output_api):
"""Make sure that old Mojo types are not used.""" """Make sure that old Mojo types are not used."""
warnings = [] warnings = []
...@@ -4121,6 +4165,7 @@ def _AndroidSpecificOnUploadChecks(input_api, output_api): ...@@ -4121,6 +4165,7 @@ def _AndroidSpecificOnUploadChecks(input_api, output_api):
results.extend(_CheckAndroidWebkitImports(input_api, output_api)) results.extend(_CheckAndroidWebkitImports(input_api, output_api))
results.extend(_CheckAndroidXmlStyle(input_api, output_api, True)) results.extend(_CheckAndroidXmlStyle(input_api, output_api, True))
results.extend(_CheckNewImagesWarning(input_api, output_api)) results.extend(_CheckNewImagesWarning(input_api, output_api))
results.extend(_CheckAndroidNoBannedImports(input_api, output_api))
return results return results
def _AndroidSpecificOnCommitChecks(input_api, output_api): def _AndroidSpecificOnCommitChecks(input_api, output_api):
......
...@@ -7,7 +7,6 @@ package org.chromium.base.test.params; ...@@ -7,7 +7,6 @@ package org.chromium.base.test.params;
import org.junit.Assert; import org.junit.Assert;
import java.io.File; import java.io.File;
import java.net.URI;
import java.net.URL; import java.net.URL;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
...@@ -121,7 +120,6 @@ public class ParameterSet { ...@@ -121,7 +120,6 @@ public class ParameterSet {
ret.add(Long.class); ret.add(Long.class);
ret.add(Short.class); ret.add(Short.class);
ret.add(String.class); ret.add(String.class);
ret.add(URI.class);
ret.add(URL.class); ret.add(URL.class);
ret.add(Void.class); ret.add(Void.class);
return ret; return ret;
......
...@@ -40,10 +40,10 @@ import org.chromium.components.search_engines.TemplateUrlService; ...@@ -40,10 +40,10 @@ import org.chromium.components.search_engines.TemplateUrlService;
import org.chromium.components.url_formatter.UrlFormatter; import org.chromium.components.url_formatter.UrlFormatter;
import org.chromium.content_public.browser.BrowserStartupController; import org.chromium.content_public.browser.BrowserStartupController;
import org.chromium.content_public.common.ContentUrlConstants; import org.chromium.content_public.common.ContentUrlConstants;
import org.chromium.url.URI;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
......
...@@ -39,10 +39,10 @@ import org.chromium.content_public.browser.NavigationEntry; ...@@ -39,10 +39,10 @@ import org.chromium.content_public.browser.NavigationEntry;
import org.chromium.ui.modelutil.ListModel; import org.chromium.ui.modelutil.ListModel;
import org.chromium.ui.modelutil.PropertyModel; import org.chromium.ui.modelutil.PropertyModel;
import org.chromium.ui.modelutil.RecyclerViewAdapter; import org.chromium.ui.modelutil.RecyclerViewAdapter;
import org.chromium.url.URI;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
import java.util.List; import java.util.List;
......
...@@ -39,10 +39,10 @@ import org.chromium.chrome.browser.util.UrlUtilities; ...@@ -39,10 +39,10 @@ import org.chromium.chrome.browser.util.UrlUtilities;
import org.chromium.chrome.browser.webapps.WebappScopePolicy; import org.chromium.chrome.browser.webapps.WebappScopePolicy;
import org.chromium.content_public.common.ContentUrlConstants; import org.chromium.content_public.common.ContentUrlConstants;
import org.chromium.ui.base.PageTransition; import org.chromium.ui.base.PageTransition;
import org.chromium.url.URI;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashSet; import java.util.HashSet;
......
...@@ -20,8 +20,8 @@ import androidx.annotation.VisibleForTesting; ...@@ -20,8 +20,8 @@ import androidx.annotation.VisibleForTesting;
import org.chromium.base.Log; import org.chromium.base.Log;
import org.chromium.chrome.browser.util.UrlConstants; import org.chromium.chrome.browser.util.UrlConstants;
import org.chromium.chrome.browser.util.UrlUtilities; import org.chromium.chrome.browser.util.UrlUtilities;
import org.chromium.url.URI;
import java.net.URI;
import java.util.Locale; import java.util.Locale;
/** /**
......
...@@ -48,10 +48,10 @@ import org.chromium.chrome.browser.webapps.ChromeWebApkHost; ...@@ -48,10 +48,10 @@ import org.chromium.chrome.browser.webapps.ChromeWebApkHost;
import org.chromium.chrome.browser.webapps.WebApkServiceClient; import org.chromium.chrome.browser.webapps.WebApkServiceClient;
import org.chromium.components.url_formatter.SchemeDisplay; import org.chromium.components.url_formatter.SchemeDisplay;
import org.chromium.components.url_formatter.UrlFormatter; 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.WebApkIdentityServiceClient;
import org.chromium.webapk.lib.client.WebApkValidator; import org.chromium.webapk.lib.client.WebApkValidator;
import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
/** /**
......
...@@ -60,10 +60,10 @@ import org.chromium.ui.modelutil.PropertyModel; ...@@ -60,10 +60,10 @@ import org.chromium.ui.modelutil.PropertyModel;
import org.chromium.ui.text.NoUnderlineClickableSpan; import org.chromium.ui.text.NoUnderlineClickableSpan;
import org.chromium.ui.text.SpanApplier; import org.chromium.ui.text.SpanApplier;
import org.chromium.ui.text.SpanApplier.SpanInfo; import org.chromium.ui.text.SpanApplier.SpanInfo;
import org.chromium.url.URI;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
import java.text.DateFormat; import java.text.DateFormat;
import java.util.Date; import java.util.Date;
......
...@@ -6,8 +6,8 @@ package org.chromium.chrome.browser.previews; ...@@ -6,8 +6,8 @@ package org.chromium.chrome.browser.previews;
import org.chromium.base.annotations.NativeMethods; import org.chromium.base.annotations.NativeMethods;
import org.chromium.content_public.browser.WebContents; import org.chromium.content_public.browser.WebContents;
import org.chromium.url.URI;
import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
/** /**
......
...@@ -34,8 +34,8 @@ import org.chromium.content_public.browser.LoadUrlParams; ...@@ -34,8 +34,8 @@ import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.content_public.common.Referrer; import org.chromium.content_public.common.Referrer;
import org.chromium.ui.base.Clipboard; import org.chromium.ui.base.Clipboard;
import org.chromium.ui.base.PageTransition; import org.chromium.ui.base.PageTransition;
import org.chromium.url.URI;
import java.net.URI;
import java.util.Locale; import java.util.Locale;
/** /**
......
...@@ -40,8 +40,8 @@ import org.chromium.components.dom_distiller.core.DomDistillerUrlUtils; ...@@ -40,8 +40,8 @@ import org.chromium.components.dom_distiller.core.DomDistillerUrlUtils;
import org.chromium.components.security_state.ConnectionSecurityLevel; import org.chromium.components.security_state.ConnectionSecurityLevel;
import org.chromium.content_public.browser.WebContents; import org.chromium.content_public.browser.WebContents;
import org.chromium.ui.util.ColorUtils; import org.chromium.ui.util.ColorUtils;
import org.chromium.url.URI;
import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
/** /**
......
...@@ -99,15 +99,6 @@ public class UrlUtilities { ...@@ -99,15 +99,6 @@ public class UrlUtilities {
return UrlUtilitiesJni.get().isDownloadable(uri); 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. * @param gurl A GURL.
* *
......
...@@ -438,6 +438,7 @@ android_library("content_javatests") { ...@@ -438,6 +438,7 @@ android_library("content_javatests") {
"//ui/android:ui_java", "//ui/android:ui_java",
"//ui/android:ui_java_test_support", "//ui/android:ui_java_test_support",
"//ui/gfx/geometry/mojom:mojom_java", "//ui/gfx/geometry/mojom:mojom_java",
"//url:gurl_java",
] ]
sources = [ sources = [
......
...@@ -12,8 +12,8 @@ import org.junit.runner.RunWith; ...@@ -12,8 +12,8 @@ import org.junit.runner.RunWith;
import org.chromium.base.test.BaseJUnit4ClassRunner; import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.base.test.util.UrlUtils; import org.chromium.base.test.util.UrlUtils;
import org.chromium.url.URI;
import java.net.URI;
import java.net.URLDecoder; import java.net.URLDecoder;
@RunWith(BaseJUnit4ClassRunner.class) @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