|
1 | | ---- a/chrome/browser/devtools/BUILD.gn |
2 | | -+++ b/chrome/browser/devtools/BUILD.gn |
3 | | -@@ -107,6 +107,7 @@ static_library("devtools") { |
4 | | - "//components/paint_preview/buildflags:buildflags", |
5 | | - "//content/public/browser", |
6 | | - "//net", |
7 | | -+ "//services/network/public/cpp", |
8 | | - "//services/viz/privileged/mojom/compositing", |
9 | | - "//third_party/blink/public:buildflags", |
10 | | - "//ui/events:dom_keycode_converter", |
11 | | ---- a/chrome/browser/devtools/device/devtools_android_bridge.cc |
12 | | -+++ b/chrome/browser/devtools/device/devtools_android_bridge.cc |
13 | | -@@ -17,6 +17,7 @@ |
14 | | - #include "base/callback_helpers.h" |
15 | | - #include "base/command_line.h" |
16 | | - #include "base/compiler_specific.h" |
17 | | -+#include "base/feature_list.h" |
18 | | - #include "base/json/json_reader.h" |
19 | | - #include "base/lazy_instance.h" |
20 | | - #include "base/memory/singleton.h" |
21 | | -@@ -44,6 +45,7 @@ |
22 | | - #include "content/public/browser/devtools_external_agent_proxy_delegate.h" |
23 | | - #include "net/base/host_port_pair.h" |
24 | | - #include "net/base/net_errors.h" |
25 | | -+#include "services/network/public/cpp/features.h" |
26 | | - |
27 | | - #if BUILDFLAG(ENABLE_SERVICE_DISCOVERY) |
28 | | - #include "chrome/browser/devtools/device/cast_device_provider.h" |
29 | | -@@ -372,7 +374,9 @@ void DevToolsAndroidBridge::CreateDevice |
30 | | - device_providers.push_back(provider); |
31 | | - |
32 | | - #if BUILDFLAG(ENABLE_SERVICE_DISCOVERY) |
33 | | -- device_providers.push_back(new CastDeviceProvider()); |
34 | | -+ if (!base::FeatureList::IsEnabled(network::features::kDisableMdns)) { |
35 | | -+ device_providers.push_back(new CastDeviceProvider()); |
36 | | -+ } |
37 | | - #endif |
38 | | - |
39 | | - device_providers.push_back(new AdbDeviceProvider()); |
40 | | ---- a/chrome/browser/media/router/discovery/mdns/dns_sd_device_lister.cc |
41 | | -+++ b/chrome/browser/media/router/discovery/mdns/dns_sd_device_lister.cc |
42 | | -@@ -4,7 +4,9 @@ |
43 | | - |
44 | | - #include "chrome/browser/media/router/discovery/mdns/dns_sd_device_lister.h" |
45 | | - |
46 | | -+#include "base/feature_list.h" |
47 | | - #include "chrome/browser/media/router/discovery/mdns/dns_sd_delegate.h" |
48 | | -+#include "services/network/public/cpp/features.h" |
49 | | - |
50 | | - using local_discovery::ServiceDescription; |
51 | | - |
52 | | -@@ -28,7 +30,8 @@ DnsSdDeviceLister::DnsSdDeviceLister( |
53 | | - local_discovery::ServiceDiscoveryClient* service_discovery_client, |
54 | | - DnsSdDelegate* delegate, |
55 | | - const std::string& service_type) |
56 | | -- : delegate_(delegate) |
57 | | -+ : delegate_(delegate), |
58 | | -+ enable_mdns_(!base::FeatureList::IsEnabled(network::features::kDisableMdns)) |
59 | | - #if BUILDFLAG(ENABLE_SERVICE_DISCOVERY) |
60 | | - , |
61 | | - service_discovery_client_(service_discovery_client), |
62 | | -@@ -41,36 +44,46 @@ DnsSdDeviceLister::~DnsSdDeviceLister() |
63 | | - |
64 | | - void DnsSdDeviceLister::Discover() { |
65 | | - #if BUILDFLAG(ENABLE_SERVICE_DISCOVERY) |
66 | | -- if (!device_lister_) { |
67 | | -- device_lister_ = local_discovery::ServiceDiscoveryDeviceLister::Create( |
68 | | -- this, service_discovery_client_, service_type_); |
69 | | -- device_lister_->Start(); |
70 | | -+ if (enable_mdns_) { |
71 | | -+ if (!device_lister_) { |
72 | | -+ device_lister_ = local_discovery::ServiceDiscoveryDeviceLister::Create( |
73 | | -+ this, service_discovery_client_, service_type_); |
74 | | -+ device_lister_->Start(); |
75 | | -+ } |
76 | | -+ device_lister_->DiscoverNewDevices(); |
77 | | - } |
78 | | -- device_lister_->DiscoverNewDevices(); |
79 | | - #endif |
80 | | - } |
81 | | - |
82 | | - void DnsSdDeviceLister::Reset() { |
83 | | -- device_lister_.reset(); |
84 | | -+ if (enable_mdns_) { |
85 | | -+ device_lister_.reset(); |
86 | | -+ } |
87 | | - } |
88 | | - |
89 | | - void DnsSdDeviceLister::OnDeviceChanged( |
90 | | - const std::string& service_type, |
91 | | - bool added, |
92 | | - const ServiceDescription& service_description) { |
93 | | -- DnsSdService service; |
94 | | -- FillServiceInfo(service_description, &service); |
95 | | -- delegate_->ServiceChanged(device_lister_->service_type(), added, service); |
96 | | -+ if (enable_mdns_) { |
97 | | -+ DnsSdService service; |
98 | | -+ FillServiceInfo(service_description, &service); |
99 | | -+ delegate_->ServiceChanged(device_lister_->service_type(), added, service); |
100 | | -+ } |
101 | | - } |
102 | | - |
103 | | - void DnsSdDeviceLister::OnDeviceRemoved(const std::string& service_type, |
104 | | - const std::string& service_name) { |
105 | | -- delegate_->ServiceRemoved(service_type, service_name); |
106 | | -+ if (enable_mdns_) { |
107 | | -+ delegate_->ServiceRemoved(service_type, service_name); |
108 | | -+ } |
109 | | - } |
110 | | - |
111 | | - void DnsSdDeviceLister::OnDeviceCacheFlushed(const std::string& service_type) { |
112 | | -- delegate_->ServicesFlushed(device_lister_->service_type()); |
113 | | -- device_lister_->DiscoverNewDevices(); |
114 | | -+ if (enable_mdns_) { |
115 | | -+ delegate_->ServicesFlushed(device_lister_->service_type()); |
116 | | -+ device_lister_->DiscoverNewDevices(); |
117 | | -+ } |
118 | | - } |
119 | | - |
120 | | - } // namespace media_router |
121 | | ---- a/chrome/browser/media/router/discovery/mdns/dns_sd_device_lister.h |
122 | | -+++ b/chrome/browser/media/router/discovery/mdns/dns_sd_device_lister.h |
123 | | -@@ -57,6 +57,8 @@ class DnsSdDeviceLister |
124 | | - // Created when Discover() is called, if service discovery is enabled. |
125 | | - std::unique_ptr<local_discovery::ServiceDiscoveryDeviceLister> device_lister_; |
126 | | - |
127 | | -+ const bool enable_mdns_; |
128 | | -+ |
129 | | - #if BUILDFLAG(ENABLE_SERVICE_DISCOVERY) |
130 | | - // The client and service type used to create |device_lister_|. |
131 | | - const raw_ptr<local_discovery::ServiceDiscoveryClient> |
132 | 1 | --- a/chrome/browser/ungoogled_flag_entries.h |
133 | 2 | +++ b/chrome/browser/ungoogled_flag_entries.h |
134 | 3 | @@ -116,4 +116,8 @@ |
|
150 | 19 | #include "base/memory/scoped_refptr.h" |
151 | 20 | #include "base/metrics/histogram_functions.h" |
152 | 21 | #include "base/time/time.h" |
153 | | -@@ -13,6 +14,7 @@ |
| 22 | +@@ -14,6 +15,7 @@ |
154 | 23 | #include "net/base/ip_endpoint.h" |
155 | 24 | #include "net/http/http_response_headers.h" |
156 | 25 | #include "net/net_buildflags.h" |
157 | 26 | +#include "services/network/public/cpp/features.h" |
158 | 27 | #include "services/network/public/cpp/resource_request.h" |
159 | 28 | #include "services/network/public/cpp/simple_url_loader.h" |
160 | 29 | #include "services/network/public/mojom/network_context.mojom.h" |
161 | | -@@ -90,7 +92,7 @@ void ResolveHostAndOpenSocket::Start() { |
162 | | - network::mojom::ResolveHostParametersPtr parameters = |
163 | | - network::mojom::ResolveHostParameters::New(); |
| 30 | +@@ -31,6 +33,9 @@ constexpr int kHttpsPort = 443; |
| 31 | + |
164 | 32 | #if BUILDFLAG(ENABLE_MDNS) |
165 | | -- if (ResemblesMulticastDNSName(*options_->remote_hostname)) { |
166 | | -+ if (!base::FeatureList::IsEnabled(network::features::kDisableMdns) && ResemblesMulticastDNSName(*options_->remote_hostname)) { |
167 | | - parameters->source = net::HostResolverSource::MULTICAST_DNS; |
168 | | - is_mdns_name_ = true; |
169 | | - } |
170 | | ---- a/services/network/p2p/socket_manager.cc |
171 | | -+++ b/services/network/p2p/socket_manager.cc |
172 | | -@@ -9,6 +9,7 @@ |
173 | | - #include <utility> |
| 33 | + bool ResemblesMulticastDNSName(const std::string& hostname) { |
| 34 | ++ if (!base::FeatureList::IsEnabled(network::features::kDisableMdns) { |
| 35 | ++ return false; |
| 36 | ++ } |
| 37 | + return base::EndsWith(hostname, ".local") || |
| 38 | + base::EndsWith(hostname, ".local."); |
| 39 | + } |
| 40 | +@@ -368,4 +373,4 @@ void ResolveHostAndOpenUDPSocket::OnUdpC |
| 41 | + delete this; |
| 42 | + } |
174 | 43 |
|
175 | | - #include "base/bind.h" |
176 | | -+#include "base/feature_list.h" |
177 | | - #include "base/memory/raw_ptr.h" |
178 | | - #include "base/task/thread_pool.h" |
179 | | - #include "base/threading/thread_task_runner_handle.h" |
180 | | -@@ -27,6 +28,7 @@ |
181 | | - #include "net/url_request/url_request_context_getter.h" |
182 | | - #include "services/network/p2p/socket.h" |
183 | | - #include "services/network/proxy_resolving_client_socket_factory.h" |
184 | | -+#include "services/network/public/cpp/features.h" |
185 | | - #include "services/network/public/cpp/p2p_param_traits.h" |
186 | | - #include "third_party/webrtc/media/base/rtp_utils.h" |
187 | | - #include "third_party/webrtc/media/base/turn_utils.h" |
188 | | -@@ -103,7 +105,7 @@ class P2PSocketManager::DnsRequest { |
189 | | - net::HostPortPair host(host_name_, 0); |
| 44 | +-} // namespace content |
| 45 | +\ No newline at end of file |
| 46 | ++} // namespace content |
| 47 | +--- a/net/dns/mdns_client_impl.cc |
| 48 | ++++ b/net/dns/mdns_client_impl.cc |
| 49 | +@@ -452,6 +452,8 @@ MDnsClientImpl::~MDnsClientImpl() { |
| 50 | + } |
190 | 51 |
|
191 | | - net::HostResolver::ResolveHostParameters parameters; |
192 | | -- if (enable_mdns_ && HasLocalTld(host_name_)) { |
193 | | -+ if (enable_mdns_ && HasLocalTld(host_name_) && !base::FeatureList::IsEnabled(features::kDisableMdns)) { |
194 | | - #if BUILDFLAG(ENABLE_MDNS) |
195 | | - // HostResolver/MDnsClient expects a key without a trailing dot. |
196 | | - host.set_host(host_name_.substr(0, host_name_.size() - 1)); |
| 52 | + int MDnsClientImpl::StartListening(MDnsSocketFactory* socket_factory) { |
| 53 | ++ if (base::FeatureList::IsEnabled(network::features::kDisableMdns)) |
| 54 | ++ return ERR_ABORTED; |
| 55 | + DCHECK(!core_.get()); |
| 56 | + core_ = std::make_unique<Core>(clock_, cleanup_timer_.get()); |
| 57 | + int rv = core_->Init(socket_factory); |
197 | 58 | --- a/services/network/public/cpp/features.cc |
198 | 59 | +++ b/services/network/public/cpp/features.cc |
199 | 60 | @@ -15,6 +15,9 @@ |
|
0 commit comments