Add a proxy configuration page: enable support to multiple proxy chain (https://github.com/uazo/cromite/issues/2594#issuecomment-3791605530)

This commit is contained in:
Carmelo Messina
2026-01-24 18:02:21 +01:00
parent 4e72b80bf8
commit 7287383fb1
@@ -10,6 +10,7 @@ this implementation is the same as the one in ChromeOS which gets proxy informat
for the system network context; this is strictly not correct on Android because the network context is
never connected to any user profile and only gets proxy information from the system.
Existing settings on Profile are migrated to LocalState on startup.
Enable the support for multiple proxy chain via the bracketed [] sintax
Credits to @uazo for the LocalState integration.
@@ -38,10 +39,11 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../proxy_config/proxy_config_dictionary.cc | 30 +-
.../proxy_config/proxy_config_dictionary.h | 7 +-
.../proxy_config/proxy_policy_handler.cc | 2 +-
net/features.gni | 2 +-
net/proxy_resolution/pac_file_fetcher_impl.cc | 8 -
net/proxy_resolution/proxy_config.cc | 53 ++-
net/proxy_resolution/proxy_config.h | 3 +
26 files changed, 986 insertions(+), 26 deletions(-)
27 files changed, 987 insertions(+), 27 deletions(-)
create mode 100644 chrome/browser/resources/proxy_config.css
create mode 100644 chrome/browser/resources/proxy_config.html
create mode 100644 chrome/browser/resources/proxy_config.js
@@ -1330,6 +1332,18 @@ diff --git a/components/proxy_config/proxy_policy_handler.cc b/components/proxy_
}
break;
}
diff --git a/net/features.gni b/net/features.gni
--- a/net/features.gni
+++ b/net/features.gni
@@ -62,7 +62,7 @@ declare_args() {
# Bracketed URIs parsing is only available for debug builds.
# TODO(crbug.com/365771838): Ensure tests are updated if needed if this
# feature is changed at all.
- enable_bracketed_proxy_uris = is_debug
+ enable_bracketed_proxy_uris = true
# General QUIC proxy support is only available for debug builds.
# TODO(crbug.com/367400641): If flag is changed or removed, ensure all
diff --git a/net/proxy_resolution/pac_file_fetcher_impl.cc b/net/proxy_resolution/pac_file_fetcher_impl.cc
--- a/net/proxy_resolution/pac_file_fetcher_impl.cc
+++ b/net/proxy_resolution/pac_file_fetcher_impl.cc