From dae4bb5243a60c761cda6f33893305999786add2 Mon Sep 17 00:00:00 2001 From: Brian Clifton Date: Tue, 23 Mar 2021 10:47:19 -0700 Subject: [PATCH] Revert "Merge pull request #8291 from brave/uplift_UD_ENS_1.22.x" This reverts commit e104d7cec5b00deb11a7b04137cb361efff1d587, reversing changes made to 5b3f345aaf1558cdddce40de6ebf17b8adf73b64. --- app/brave_generated_resources.grd | 6 - browser/BUILD.gn | 6 - browser/brave_content_browser_client.cc | 18 +- browser/brave_local_state_prefs.cc | 9 - browser/decentralized_dns/BUILD.gn | 28 - ...decentralized_dns_service_delegate_impl.cc | 19 - .../decentralized_dns_service_delegate_impl.h | 29 - .../decentralized_dns_service_factory.cc | 48 - .../decentralized_dns_service_factory.h | 41 - browser/decentralized_dns/test/BUILD.gn | 55 - ...zed_dns_navigation_throttle_browsertest.cc | 174 --- ...alized_dns_navigation_throttle_unittest.cc | 115 -- .../decentralized_dns_service_browsertest.cc | 152 --- .../decentralized_dns/test/utils_unittest.cc | 101 -- browser/extensions/BUILD.gn | 6 - .../api/settings_private/brave_prefs_util.cc | 12 - browser/profiles/BUILD.gn | 6 +- browser/profiles/brave_profile_manager.cc | 8 - .../brave_default_extensions_browser_proxy.js | 4 - .../brave_default_extensions_page.html | 14 - .../brave_default_extensions_page.js | 28 +- browser/tor/BUILD.gn | 1 - browser/ui/BUILD.gn | 6 - .../brave_default_extensions_handler.cc | 23 - .../brave_default_extensions_handler.h | 1 - build/config/brave_build.gni | 5 +- chromium_src/chrome/browser/about_flags.cc | 14 - .../chrome/browser/flag_descriptions.cc | 4 - .../chrome/browser/flag_descriptions.h | 2 - .../net/stub_resolver_config_reader.cc | 56 - .../settings_localized_strings_provider.cc | 3 - chromium_src/net/DEPS | 1 - .../net/base/lookup_string_in_fixed_set.cc | 14 - chromium_src/net/dns/dns_transaction.cc | 46 - chromium_src/net/dns/host_resolver.cc | 11 - chromium_src/net/dns/resolve_context.h | 24 - components/decentralized_dns/BUILD.gn | 37 - components/decentralized_dns/DEPS | 14 - .../decentralized_dns/buildflags/BUILD.gn | 7 - .../buildflags/buildflags.gni | 3 - components/decentralized_dns/constants.h | 19 - ...ized_dns_interstitial_controller_client.cc | 65 - ...lized_dns_interstitial_controller_client.h | 60 - .../decentralized_dns_navigation_throttle.cc | 97 -- .../decentralized_dns_navigation_throttle.h | 57 - .../decentralized_dns_opt_in_page.cc | 126 -- .../decentralized_dns_opt_in_page.h | 61 - .../decentralized_dns_service.cc | 51 - .../decentralized_dns_service.h | 47 - .../decentralized_dns_service_delegate.h | 20 - components/decentralized_dns/features.h | 20 - components/decentralized_dns/pref_names.h | 28 - .../decentralized_dns_interstitial.css | 14 - .../decentralized_dns_interstitial.html | 31 - .../decentralized_dns_interstitial.js | 21 - components/decentralized_dns/utils.cc | 67 -- components/decentralized_dns/utils.h | 26 - components/resources/BUILD.gn | 3 - .../resources/brave_components_resources.grd | 1 - .../resources/brave_components_strings.grd | 1 - .../decentralized_dns_resources.grdp | 8 - .../resources/decentralized_dns_strings.grdp | 29 - net/decentralized_dns/constants.h | 21 - net/dns/brave_resolve_context.cc | 68 -- net/dns/brave_resolve_context.h | 37 - net/dns/brave_resolve_context_unittest.cc | 128 -- net/dns/dns_transaction_unittest.cc | 1072 ----------------- net/dns/sources.gni | 6 - net/sources.gni | 5 - ...r-net-stub_resolver_config_reader.cc.patch | 12 - patches/net-dns-BUILD.gn.patch | 28 - patches/net-dns-dns_transaction.cc.patch | 12 - patches/net-dns-resolve_context.h.patch | 12 - test/BUILD.gn | 9 - 74 files changed, 5 insertions(+), 3408 deletions(-) delete mode 100644 browser/decentralized_dns/BUILD.gn delete mode 100644 browser/decentralized_dns/decentralized_dns_service_delegate_impl.cc delete mode 100644 browser/decentralized_dns/decentralized_dns_service_delegate_impl.h delete mode 100644 browser/decentralized_dns/decentralized_dns_service_factory.cc delete mode 100644 browser/decentralized_dns/decentralized_dns_service_factory.h delete mode 100644 browser/decentralized_dns/test/BUILD.gn delete mode 100644 browser/decentralized_dns/test/decentralized_dns_navigation_throttle_browsertest.cc delete mode 100644 browser/decentralized_dns/test/decentralized_dns_navigation_throttle_unittest.cc delete mode 100644 browser/decentralized_dns/test/decentralized_dns_service_browsertest.cc delete mode 100644 browser/decentralized_dns/test/utils_unittest.cc delete mode 100644 chromium_src/chrome/browser/net/stub_resolver_config_reader.cc delete mode 100644 chromium_src/net/dns/dns_transaction.cc delete mode 100644 chromium_src/net/dns/host_resolver.cc delete mode 100644 chromium_src/net/dns/resolve_context.h delete mode 100644 components/decentralized_dns/BUILD.gn delete mode 100644 components/decentralized_dns/DEPS delete mode 100644 components/decentralized_dns/buildflags/BUILD.gn delete mode 100644 components/decentralized_dns/buildflags/buildflags.gni delete mode 100644 components/decentralized_dns/constants.h delete mode 100644 components/decentralized_dns/decentralized_dns_interstitial_controller_client.cc delete mode 100644 components/decentralized_dns/decentralized_dns_interstitial_controller_client.h delete mode 100644 components/decentralized_dns/decentralized_dns_navigation_throttle.cc delete mode 100644 components/decentralized_dns/decentralized_dns_navigation_throttle.h delete mode 100644 components/decentralized_dns/decentralized_dns_opt_in_page.cc delete mode 100644 components/decentralized_dns/decentralized_dns_opt_in_page.h delete mode 100644 components/decentralized_dns/decentralized_dns_service.cc delete mode 100644 components/decentralized_dns/decentralized_dns_service.h delete mode 100644 components/decentralized_dns/decentralized_dns_service_delegate.h delete mode 100644 components/decentralized_dns/features.h delete mode 100644 components/decentralized_dns/pref_names.h delete mode 100644 components/decentralized_dns/resources/decentralized_dns_interstitial.css delete mode 100644 components/decentralized_dns/resources/decentralized_dns_interstitial.html delete mode 100644 components/decentralized_dns/resources/decentralized_dns_interstitial.js delete mode 100644 components/decentralized_dns/utils.cc delete mode 100644 components/decentralized_dns/utils.h delete mode 100644 components/resources/decentralized_dns_resources.grdp delete mode 100644 components/resources/decentralized_dns_strings.grdp delete mode 100644 net/decentralized_dns/constants.h delete mode 100644 net/dns/brave_resolve_context.cc delete mode 100644 net/dns/brave_resolve_context.h delete mode 100644 net/dns/brave_resolve_context_unittest.cc delete mode 100644 net/dns/dns_transaction_unittest.cc delete mode 100644 net/dns/sources.gni delete mode 100644 patches/chrome-browser-net-stub_resolver_config_reader.cc.patch delete mode 100644 patches/net-dns-BUILD.gn.patch delete mode 100644 patches/net-dns-dns_transaction.cc.patch delete mode 100644 patches/net-dns-resolve_context.h.patch diff --git a/app/brave_generated_resources.grd b/app/brave_generated_resources.grd index 95ea5fbb94db..b1fc3b0d7439 100644 --- a/app/brave_generated_resources.grd +++ b/app/brave_generated_resources.grd @@ -694,12 +694,6 @@ By installing this extension, you are agreeing to the Google Widevine Terms of U Allow Google login for extensions - - Method to resolve Unstoppable Domains - - - Method to resolve Ethereum Name Service (ENS) - Method to resolve IPFS resources diff --git a/browser/BUILD.gn b/browser/BUILD.gn index c94f107e8a45..688213df4c44 100644 --- a/browser/BUILD.gn +++ b/browser/BUILD.gn @@ -10,7 +10,6 @@ import("//brave/components/brave_wallet/buildflags/buildflags.gni") import("//brave/components/brave_wayback_machine/buildflags/buildflags.gni") import("//brave/components/brave_webtorrent/browser/buildflags/buildflags.gni") import("//brave/components/crypto_dot_com/browser/buildflags/buildflags.gni") -import("//brave/components/decentralized_dns/buildflags/buildflags.gni") import("//brave/components/gemini/browser/buildflags/buildflags.gni") import("//brave/components/greaselion/browser/buildflags/buildflags.gni") import("//brave/components/ipfs/buildflags/buildflags.gni") @@ -144,7 +143,6 @@ source_set("browser_process") { "//brave/components/cosmetic_filters/browser", "//brave/components/cosmetic_filters/common:mojom", "//brave/components/crypto_dot_com/browser/buildflags", - "//brave/components/decentralized_dns/buildflags", "//brave/components/gemini/browser/buildflags", "//brave/components/greaselion/browser/buildflags", "//brave/components/ipfs/buildflags", @@ -291,10 +289,6 @@ source_set("browser_process") { ] } - if (decentralized_dns_enabled) { - deps += [ "//brave/browser/decentralized_dns" ] - } - if (ipfs_enabled) { sources += [ "ipfs/content_browser_client_helper.cc", diff --git a/browser/brave_content_browser_client.cc b/browser/brave_content_browser_client.cc index 855418837964..123c3d79ad66 100644 --- a/browser/brave_content_browser_client.cc +++ b/browser/brave_content_browser_client.cc @@ -31,7 +31,6 @@ #include "brave/components/brave_webtorrent/browser/buildflags/buildflags.h" #include "brave/components/cosmetic_filters/browser/cosmetic_filters_resources.h" #include "brave/components/cosmetic_filters/common/cosmetic_filters.mojom.h" -#include "brave/components/decentralized_dns/buildflags/buildflags.h" #include "brave/components/gemini/browser/buildflags/buildflags.h" #include "brave/components/ipfs/buildflags/buildflags.h" #include "brave/components/speedreader/buildflags.h" @@ -89,10 +88,6 @@ using extensions::ChromeContentBrowserClientExtensionsPart; #include "brave/components/ipfs/ipfs_navigation_throttle.h" #endif -#if BUILDFLAG(DECENTRALIZED_DNS_ENABLED) -#include "brave/components/decentralized_dns/decentralized_dns_navigation_throttle.h" -#endif - #if BUILDFLAG(BRAVE_REWARDS_ENABLED) #include "brave/components/brave_rewards/browser/rewards_protocol_handler.h" #endif @@ -590,8 +585,7 @@ BraveContentBrowserClient::CreateThrottlesForNavigation( std::make_unique(handle)); #endif -#if BUILDFLAG(ENABLE_TOR) || BUILDFLAG(IPFS_ENABLED) || \ - BUILDFLAG(DECENTRALIZED_DNS_ENABLED) +#if BUILDFLAG(ENABLE_TOR) ||BUILDFLAG(IPFS_ENABLED) content::BrowserContext* context = handle->GetWebContents()->GetBrowserContext(); #endif @@ -624,15 +618,5 @@ BraveContentBrowserClient::CreateThrottlesForNavigation( throttles.push_back(std::move(ipfs_navigation_throttle)); #endif -#if BUILDFLAG(DECENTRALIZED_DNS_ENABLED) - std::unique_ptr - decentralized_dns_navigation_throttle = decentralized_dns:: - DecentralizedDnsNavigationThrottle::MaybeCreateThrottleFor( - handle, g_brave_browser_process->local_state(), - g_brave_browser_process->GetApplicationLocale()); - if (decentralized_dns_navigation_throttle) - throttles.push_back(std::move(decentralized_dns_navigation_throttle)); -#endif - return throttles; } diff --git a/browser/brave_local_state_prefs.cc b/browser/brave_local_state_prefs.cc index fc13fd2a091a..42b92a71c263 100644 --- a/browser/brave_local_state_prefs.cc +++ b/browser/brave_local_state_prefs.cc @@ -13,7 +13,6 @@ #include "brave/components/brave_referrals/buildflags/buildflags.h" #include "brave/components/brave_shields/browser/ad_block_service.h" #include "brave/components/brave_shields/browser/brave_shields_p3a.h" -#include "brave/components/decentralized_dns/buildflags/buildflags.h" #include "brave/components/ntp_background_images/browser/ntp_background_images_service.h" #include "brave/components/ntp_background_images/browser/view_counter_service.h" #include "brave/components/p3a/brave_p3a_service.h" @@ -43,10 +42,6 @@ #include "brave/browser/widevine/widevine_utils.h" #endif -#if BUILDFLAG(DECENTRALIZED_DNS_ENABLED) -#include "brave/components/decentralized_dns/decentralized_dns_service.h" -#endif - namespace brave { void RegisterLocalStatePrefsForMigration(PrefRegistrySimple* registry) { @@ -100,10 +95,6 @@ void RegisterLocalStatePrefs(PrefRegistrySimple* registry) { RegisterWidevineLocalstatePrefs(registry); #endif -#if BUILDFLAG(DECENTRALIZED_DNS_ENABLED) - decentralized_dns::DecentralizedDnsService::RegisterLocalStatePrefs(registry); -#endif - RegisterLocalStatePrefsForMigration(registry); } diff --git a/browser/decentralized_dns/BUILD.gn b/browser/decentralized_dns/BUILD.gn deleted file mode 100644 index 7d10824d3657..000000000000 --- a/browser/decentralized_dns/BUILD.gn +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright (c) 2021 The Brave Authors. All rights reserved. -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this file, -# You can obtain one at http://mozilla.org/MPL/2.0/. */ - -source_set("decentralized_dns") { - # See https://github.com/brave/brave-browser/issues/14441 - check_includes = false - - sources = [ - "decentralized_dns_service_delegate_impl.cc", - "decentralized_dns_service_delegate_impl.h", - "decentralized_dns_service_factory.cc", - "decentralized_dns_service_factory.h", - ] - - deps = [ - "//brave/components/decentralized_dns", - "//components/keyed_service/content", - ] - - # Below deps are not directly used by decentralized_dns target. - # This is added due to our include of - # `chrome/browser/net/system_network_context_manager.h` without adding - # //chrome/browser into deps to avoid circulate dependency. Without this, - # we could encounter error due to some files included are not generated yet. - deps += [ "//services/network/public/mojom" ] -} diff --git a/browser/decentralized_dns/decentralized_dns_service_delegate_impl.cc b/browser/decentralized_dns/decentralized_dns_service_delegate_impl.cc deleted file mode 100644 index 0cf08f331e8c..000000000000 --- a/browser/decentralized_dns/decentralized_dns_service_delegate_impl.cc +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "brave/browser/decentralized_dns/decentralized_dns_service_delegate_impl.h" - -#include "chrome/browser/net/stub_resolver_config_reader.h" -#include "chrome/browser/net/system_network_context_manager.h" - -namespace decentralized_dns { - -void DecentralizedDnsServiceDelegateImpl::UpdateNetworkService() { - // Trigger a DoH config update in network service. - SystemNetworkContextManager::GetStubResolverConfigReader() - ->UpdateNetworkService(false /* record_metrics */); -} - -} // namespace decentralized_dns diff --git a/browser/decentralized_dns/decentralized_dns_service_delegate_impl.h b/browser/decentralized_dns/decentralized_dns_service_delegate_impl.h deleted file mode 100644 index f1cddfb1c4e5..000000000000 --- a/browser/decentralized_dns/decentralized_dns_service_delegate_impl.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef BRAVE_BROWSER_DECENTRALIZED_DNS_DECENTRALIZED_DNS_SERVICE_DELEGATE_IMPL_H_ -#define BRAVE_BROWSER_DECENTRALIZED_DNS_DECENTRALIZED_DNS_SERVICE_DELEGATE_IMPL_H_ - -#include "brave/components/decentralized_dns/decentralized_dns_service_delegate.h" - -namespace decentralized_dns { - -class DecentralizedDnsServiceDelegateImpl - : public DecentralizedDnsServiceDelegate { - public: - DecentralizedDnsServiceDelegateImpl() = default; - ~DecentralizedDnsServiceDelegateImpl() override = default; - - DecentralizedDnsServiceDelegateImpl( - const DecentralizedDnsServiceDelegateImpl&) = delete; - DecentralizedDnsServiceDelegateImpl& operator=( - DecentralizedDnsServiceDelegateImpl&) = delete; - - void UpdateNetworkService() override; -}; - -} // namespace decentralized_dns - -#endif // BRAVE_BROWSER_DECENTRALIZED_DNS_DECENTRALIZED_DNS_SERVICE_DELEGATE_IMPL_H_ diff --git a/browser/decentralized_dns/decentralized_dns_service_factory.cc b/browser/decentralized_dns/decentralized_dns_service_factory.cc deleted file mode 100644 index d26b936352d8..000000000000 --- a/browser/decentralized_dns/decentralized_dns_service_factory.cc +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "brave/browser/decentralized_dns/decentralized_dns_service_factory.h" - -#include - -#include "brave/browser/brave_browser_process_impl.h" -#include "brave/browser/decentralized_dns/decentralized_dns_service_delegate_impl.h" -#include "brave/components/decentralized_dns/decentralized_dns_service.h" -#include "brave/components/decentralized_dns/utils.h" -#include "components/keyed_service/content/browser_context_dependency_manager.h" - -namespace decentralized_dns { - -DecentralizedDnsServiceFactory::DecentralizedDnsServiceFactory() - : BrowserContextKeyedServiceFactory( - "DecentralizedDnsService", - BrowserContextDependencyManager::GetInstance()) {} - -DecentralizedDnsServiceFactory::~DecentralizedDnsServiceFactory() {} - -// static -DecentralizedDnsServiceFactory* DecentralizedDnsServiceFactory::GetInstance() { - return base::Singleton::get(); -} - -// static -DecentralizedDnsService* DecentralizedDnsServiceFactory::GetForContext( - content::BrowserContext* context) { - if (!IsDecentralizedDnsEnabled()) - return nullptr; - - return static_cast( - GetInstance()->GetServiceForBrowserContext(context, true)); -} - -KeyedService* DecentralizedDnsServiceFactory::BuildServiceInstanceFor( - content::BrowserContext* context) const { - return new DecentralizedDnsService( - std::make_unique(), context, - g_brave_browser_process ? g_brave_browser_process->local_state() - : nullptr); -} - -} // namespace decentralized_dns diff --git a/browser/decentralized_dns/decentralized_dns_service_factory.h b/browser/decentralized_dns/decentralized_dns_service_factory.h deleted file mode 100644 index 45f41dc36da3..000000000000 --- a/browser/decentralized_dns/decentralized_dns_service_factory.h +++ /dev/null @@ -1,41 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef BRAVE_BROWSER_DECENTRALIZED_DNS_DECENTRALIZED_DNS_SERVICE_FACTORY_H_ -#define BRAVE_BROWSER_DECENTRALIZED_DNS_DECENTRALIZED_DNS_SERVICE_FACTORY_H_ - -#include "base/memory/singleton.h" -#include "components/keyed_service/content/browser_context_keyed_service_factory.h" - -namespace decentralized_dns { - -class DecentralizedDnsService; - -class DecentralizedDnsServiceFactory - : public BrowserContextKeyedServiceFactory { - public: - static DecentralizedDnsService* GetForContext( - content::BrowserContext* context); - static DecentralizedDnsServiceFactory* GetInstance(); - - private: - friend struct base::DefaultSingletonTraits; - - DecentralizedDnsServiceFactory(); - ~DecentralizedDnsServiceFactory() override; - - DecentralizedDnsServiceFactory(const DecentralizedDnsServiceFactory&) = - delete; - DecentralizedDnsServiceFactory& operator=( - const DecentralizedDnsServiceFactory&) = delete; - - // BrowserContextKeyedServiceFactory overrides: - KeyedService* BuildServiceInstanceFor( - content::BrowserContext* context) const override; -}; - -} // namespace decentralized_dns - -#endif // BRAVE_BROWSER_DECENTRALIZED_DNS_DECENTRALIZED_DNS_SERVICE_FACTORY_H_ diff --git a/browser/decentralized_dns/test/BUILD.gn b/browser/decentralized_dns/test/BUILD.gn deleted file mode 100644 index 1b09e76facb3..000000000000 --- a/browser/decentralized_dns/test/BUILD.gn +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright (c) 2021 The Brave Authors. All rights reserved. -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this file, -# You can obtain one at http://mozilla.org/MPL/2.0/. */ - -import("//brave/build/config.gni") -import("//brave/components/tor/buildflags/buildflags.gni") -import("//testing/test.gni") - -source_set("browser_tests") { - testonly = true - defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] - sources = [ - "//brave/browser/decentralized_dns/test/decentralized_dns_navigation_throttle_browsertest.cc", - "//brave/browser/decentralized_dns/test/decentralized_dns_service_browsertest.cc", - ] - deps = [ - "//base/test:test_support", - "//brave/components/decentralized_dns", - "//chrome/browser:browser_process", - "//chrome/test:test_support", - "//chrome/test:test_support_ui", - "//components/prefs", - "//components/security_interstitials/content:security_interstitial_page", - "//content/test:test_support", - "//testing/gtest", - ] -} # source_set("browser_tests") { - -source_set("unit_tests") { - testonly = true - sources = [ - "//brave/browser/decentralized_dns/test/decentralized_dns_navigation_throttle_unittest.cc", - "//brave/browser/decentralized_dns/test/utils_unittest.cc", - "//brave/net/dns/brave_resolve_context_unittest.cc", - "//brave/net/dns/dns_transaction_unittest.cc", - ] - - deps = [ - "//base", - "//base/test:test_support", - "//brave/components/decentralized_dns", - "//brave/components/tor/buildflags", - "//chrome/test:test_support", - "//components/prefs", - "//net", - "//net:test_support", - "//testing/gmock", - "//testing/gtest", - ] - - if (enable_tor) { - deps += [ "//brave/browser/tor" ] - } -} # source_set("unit_tests") diff --git a/browser/decentralized_dns/test/decentralized_dns_navigation_throttle_browsertest.cc b/browser/decentralized_dns/test/decentralized_dns_navigation_throttle_browsertest.cc deleted file mode 100644 index 6187d19c7f23..000000000000 --- a/browser/decentralized_dns/test/decentralized_dns_navigation_throttle_browsertest.cc +++ /dev/null @@ -1,174 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "base/test/scoped_feature_list.h" -#include "brave/components/decentralized_dns/constants.h" -#include "brave/components/decentralized_dns/decentralized_dns_opt_in_page.h" -#include "brave/components/decentralized_dns/features.h" -#include "brave/components/decentralized_dns/pref_names.h" -#include "chrome/browser/browser_process.h" -#include "chrome/browser/ui/browser.h" -#include "chrome/browser/ui/tabs/tab_strip_model.h" -#include "chrome/test/base/in_process_browser_test.h" -#include "chrome/test/base/ui_test_utils.h" -#include "components/prefs/pref_service.h" -#include "components/security_interstitials/content/security_interstitial_page.h" -#include "components/security_interstitials/content/security_interstitial_tab_helper.h" -#include "content/public/test/browser_test.h" -#include "content/public/test/browser_test_utils.h" -#include "content/public/test/test_navigation_observer.h" -#include "testing/gtest/include/gtest/gtest.h" -#include "url/gurl.h" - -namespace { - -security_interstitials::SecurityInterstitialPage* GetCurrentInterstitial( - content::WebContents* web_contents) { - security_interstitials::SecurityInterstitialTabHelper* helper = - security_interstitials::SecurityInterstitialTabHelper::FromWebContents( - web_contents); - if (!helper) { - return nullptr; - } - return helper->GetBlockingPageForCurrentlyCommittedNavigationForTesting(); -} - -security_interstitials::SecurityInterstitialPage::TypeID GetInterstitialType( - content::WebContents* web_contents) { - security_interstitials::SecurityInterstitialPage* page = - GetCurrentInterstitial(web_contents); - if (!page) { - return nullptr; - } - return page->GetTypeForTesting(); -} - -void SendInterstitialCommand( - content::WebContents* web_contents, - security_interstitials::SecurityInterstitialCommand command) { - GetCurrentInterstitial(web_contents) - ->CommandReceived(base::NumberToString(command)); -} - -void SendInterstitialCommandSync( - Browser* browser, - security_interstitials::SecurityInterstitialCommand command) { - content::WebContents* web_contents = - browser->tab_strip_model()->GetActiveWebContents(); - - EXPECT_EQ(decentralized_dns::DecentralizedDnsOptInPage::kTypeForTesting, - GetInterstitialType(web_contents)); - - content::TestNavigationObserver navigation_observer(web_contents, 1); - SendInterstitialCommand(web_contents, command); - navigation_observer.Wait(); - - EXPECT_EQ(nullptr, GetCurrentInterstitial(web_contents)); -} - -} // namespace - -namespace decentralized_dns { - -class DecentralizedDnsNavigationThrottleBrowserTest - : public InProcessBrowserTest { - public: - DecentralizedDnsNavigationThrottleBrowserTest() { - feature_list_.InitAndEnableFeature(features::kDecentralizedDns); - } - - ~DecentralizedDnsNavigationThrottleBrowserTest() override = default; - - void SetUpOnMainThread() override { - InProcessBrowserTest::SetUpOnMainThread(); - } - - PrefService* local_state() { return g_browser_process->local_state(); } - - private: - base::test::ScopedFeatureList feature_list_; -}; - -IN_PROC_BROWSER_TEST_F(DecentralizedDnsNavigationThrottleBrowserTest, - ShowUnstoppableDomainsInterstitialAndProceed) { - ui_test_utils::NavigateToURL(browser(), GURL("http://test.crypto")); - - content::WebContents* web_contents = - browser()->tab_strip_model()->GetActiveWebContents(); - - EXPECT_TRUE(WaitForRenderFrameReady(web_contents->GetMainFrame())); - EXPECT_EQ(DecentralizedDnsOptInPage::kTypeForTesting, - GetInterstitialType(web_contents)); - - EXPECT_EQ(static_cast(ResolveMethodTypes::ASK), - local_state()->GetInteger(kUnstoppableDomainsResolveMethod)); - SendInterstitialCommandSync( - browser(), - security_interstitials::SecurityInterstitialCommand::CMD_PROCEED); - EXPECT_EQ(static_cast(ResolveMethodTypes::DNS_OVER_HTTPS), - local_state()->GetInteger(kUnstoppableDomainsResolveMethod)); -} - -IN_PROC_BROWSER_TEST_F(DecentralizedDnsNavigationThrottleBrowserTest, - ShowUnstoppableDomainsInterstitialAndReject) { - ui_test_utils::NavigateToURL(browser(), GURL("http://test.crypto")); - - content::WebContents* web_contents = - browser()->tab_strip_model()->GetActiveWebContents(); - - EXPECT_TRUE(WaitForRenderFrameReady(web_contents->GetMainFrame())); - EXPECT_EQ(DecentralizedDnsOptInPage::kTypeForTesting, - GetInterstitialType(web_contents)); - - EXPECT_EQ(static_cast(ResolveMethodTypes::ASK), - local_state()->GetInteger(kUnstoppableDomainsResolveMethod)); - SendInterstitialCommandSync( - browser(), - security_interstitials::SecurityInterstitialCommand::CMD_DONT_PROCEED); - EXPECT_EQ(static_cast(ResolveMethodTypes::DISABLED), - local_state()->GetInteger(kUnstoppableDomainsResolveMethod)); -} - -IN_PROC_BROWSER_TEST_F(DecentralizedDnsNavigationThrottleBrowserTest, - ShowENSInterstitialAndProceed) { - ui_test_utils::NavigateToURL(browser(), GURL("http://test.eth")); - - content::WebContents* web_contents = - browser()->tab_strip_model()->GetActiveWebContents(); - - EXPECT_TRUE(WaitForRenderFrameReady(web_contents->GetMainFrame())); - EXPECT_EQ(DecentralizedDnsOptInPage::kTypeForTesting, - GetInterstitialType(web_contents)); - - EXPECT_EQ(static_cast(ResolveMethodTypes::ASK), - local_state()->GetInteger(kENSResolveMethod)); - SendInterstitialCommandSync( - browser(), - security_interstitials::SecurityInterstitialCommand::CMD_PROCEED); - EXPECT_EQ(static_cast(ResolveMethodTypes::DNS_OVER_HTTPS), - local_state()->GetInteger(kENSResolveMethod)); -} - -IN_PROC_BROWSER_TEST_F(DecentralizedDnsNavigationThrottleBrowserTest, - ShowENSInterstitialAndReject) { - ui_test_utils::NavigateToURL(browser(), GURL("http://test.eth")); - - content::WebContents* web_contents = - browser()->tab_strip_model()->GetActiveWebContents(); - - EXPECT_TRUE(WaitForRenderFrameReady(web_contents->GetMainFrame())); - EXPECT_EQ(DecentralizedDnsOptInPage::kTypeForTesting, - GetInterstitialType(web_contents)); - - EXPECT_EQ(static_cast(ResolveMethodTypes::ASK), - local_state()->GetInteger(kENSResolveMethod)); - SendInterstitialCommandSync( - browser(), - security_interstitials::SecurityInterstitialCommand::CMD_DONT_PROCEED); - EXPECT_EQ(static_cast(ResolveMethodTypes::DISABLED), - local_state()->GetInteger(kENSResolveMethod)); -} - -} // namespace decentralized_dns diff --git a/browser/decentralized_dns/test/decentralized_dns_navigation_throttle_unittest.cc b/browser/decentralized_dns/test/decentralized_dns_navigation_throttle_unittest.cc deleted file mode 100644 index f4a04035e9cc..000000000000 --- a/browser/decentralized_dns/test/decentralized_dns_navigation_throttle_unittest.cc +++ /dev/null @@ -1,115 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "brave/components/decentralized_dns/decentralized_dns_navigation_throttle.h" - -#include "base/test/scoped_feature_list.h" -#include "brave/components/decentralized_dns/features.h" -#include "brave/components/tor/buildflags/buildflags.h" -#include "chrome/browser/profiles/profile.h" -#include "chrome/test/base/testing_browser_process.h" -#include "chrome/test/base/testing_profile.h" -#include "chrome/test/base/testing_profile_manager.h" -#include "components/prefs/testing_pref_service.h" -#include "content/public/test/browser_task_environment.h" -#include "content/public/test/mock_navigation_handle.h" -#include "content/public/test/test_renderer_host.h" -#include "content/public/test/web_contents_tester.h" -#include "testing/gtest/include/gtest/gtest.h" - -#if BUILDFLAG(ENABLE_TOR) -#include "brave/browser/tor/tor_profile_manager.h" -#endif - -constexpr char kTestProfileName[] = "TestProfile"; - -namespace decentralized_dns { - -class DecentralizedDnsNavigationThrottleTest : public testing::Test { - public: - DecentralizedDnsNavigationThrottleTest() - : profile_manager_(TestingBrowserProcess::GetGlobal()) {} - ~DecentralizedDnsNavigationThrottleTest() override = default; - - void SetUp() override { - feature_list_.InitAndEnableFeature(features::kDecentralizedDns); - - ASSERT_TRUE(profile_manager_.SetUp()); - profile_ = profile_manager_.CreateTestingProfile(kTestProfileName); - local_state_ = profile_manager_.local_state(); - web_contents_ = - content::WebContentsTester::CreateTestWebContents(profile_, nullptr); - locale_ = "en-US"; - } - - void TearDown() override { web_contents_.reset(); } - - PrefService* local_state() { return local_state_->Get(); } - content::WebContents* web_contents() { return web_contents_.get(); } - - // Helper that creates simple test guest profile. - Profile* CreateGuestProfile() { - return profile_manager_.CreateGuestProfile()->GetPrimaryOTRProfile(); - } - - TestingProfile* profile() { return profile_; } - - const std::string& locale() { return locale_; } - - private: - content::BrowserTaskEnvironment task_environment_; - content::RenderViewHostTestEnabler test_render_host_factories_; - ScopedTestingLocalState* local_state_; - TestingProfileManager profile_manager_; - TestingProfile* profile_; - base::test::ScopedFeatureList feature_list_; - std::unique_ptr web_contents_; - std::string locale_; -}; - -TEST_F(DecentralizedDnsNavigationThrottleTest, Instantiation) { - content::MockNavigationHandle test_handle(web_contents()); - auto throttle = DecentralizedDnsNavigationThrottle::MaybeCreateThrottleFor( - &test_handle, local_state(), locale()); - EXPECT_TRUE(throttle != nullptr); - - // Disable in OTR profile. - auto otr_web_contents = content::WebContentsTester::CreateTestWebContents( - profile()->GetPrimaryOTRProfile(), nullptr); - content::MockNavigationHandle otr_test_handle(otr_web_contents.get()); - auto throttle_in_otr = - DecentralizedDnsNavigationThrottle::MaybeCreateThrottleFor( - &otr_test_handle, local_state(), locale()); - EXPECT_EQ(throttle_in_otr, nullptr); - - // Disable in guest profiles. - auto* guest_profile = CreateGuestProfile(); - auto guest_web_contents = - content::WebContentsTester::CreateTestWebContents(guest_profile, nullptr); - content::MockNavigationHandle guest_test_handle(guest_web_contents.get()); - auto throttle_in_guest = - DecentralizedDnsNavigationThrottle::MaybeCreateThrottleFor( - &guest_test_handle, local_state(), locale()); - EXPECT_EQ(throttle_in_guest, nullptr); -} - -#if BUILDFLAG(ENABLE_TOR) -TEST_F(DecentralizedDnsNavigationThrottleTest, NotInstantiatedInTor) { - Profile* tor_profile = - TorProfileManager::GetInstance().GetTorProfile(profile()); - ASSERT_TRUE(tor_profile->IsTor()); - ASSERT_TRUE(tor_profile->IsOffTheRecord()); - - auto tor_web_contents = - content::WebContentsTester::CreateTestWebContents(tor_profile, nullptr); - content::MockNavigationHandle tor_test_handle(tor_web_contents.get()); - auto throttle_in_tor = - DecentralizedDnsNavigationThrottle::MaybeCreateThrottleFor( - &tor_test_handle, local_state(), locale()); - EXPECT_EQ(throttle_in_tor, nullptr); -} -#endif - -} // namespace decentralized_dns diff --git a/browser/decentralized_dns/test/decentralized_dns_service_browsertest.cc b/browser/decentralized_dns/test/decentralized_dns_service_browsertest.cc deleted file mode 100644 index fce12cf2e3f2..000000000000 --- a/browser/decentralized_dns/test/decentralized_dns_service_browsertest.cc +++ /dev/null @@ -1,152 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "base/test/scoped_feature_list.h" -#include "brave/components/decentralized_dns/constants.h" -#include "brave/components/decentralized_dns/features.h" -#include "brave/components/decentralized_dns/pref_names.h" -#include "brave/net/decentralized_dns/constants.h" -#include "chrome/browser/browser_process.h" -#include "chrome/browser/net/secure_dns_config.h" -#include "chrome/browser/net/stub_resolver_config_reader.h" -#include "chrome/browser/net/system_network_context_manager.h" -#include "chrome/common/pref_names.h" -#include "chrome/test/base/in_process_browser_test.h" -#include "components/prefs/pref_service.h" -#include "content/public/test/browser_test.h" -#include "net/dns/public/secure_dns_mode.h" -#include "testing/gtest/include/gtest/gtest.h" - -namespace decentralized_dns { - -class DecentralizedDnsServiceBrowserTest : public InProcessBrowserTest { - public: - DecentralizedDnsServiceBrowserTest() { - feature_list_.InitAndEnableFeature(features::kDecentralizedDns); - } - - void SetUpOnMainThread() override { - InProcessBrowserTest::SetUpOnMainThread(); - stub_config_reader_ = - SystemNetworkContextManager::GetStubResolverConfigReader(); - ASSERT_TRUE(stub_config_reader_); - } - - ~DecentralizedDnsServiceBrowserTest() override = default; - - PrefService* local_state() { return g_browser_process->local_state(); } - - SecureDnsConfig GetSecureDnsConfiguration( - bool force_check_parental_controls_for_automatic_mode = false) { - return stub_config_reader_->GetSecureDnsConfiguration( - force_check_parental_controls_for_automatic_mode); - } - - private: - base::test::ScopedFeatureList feature_list_; - StubResolverConfigReader* stub_config_reader_; -}; - -IN_PROC_BROWSER_TEST_F(DecentralizedDnsServiceBrowserTest, - UpdateConfigWhenPrefChanged) { - // Initial state. - EXPECT_EQ(local_state()->GetInteger(kUnstoppableDomainsResolveMethod), - static_cast(ResolveMethodTypes::ASK)); - SecureDnsConfig config = GetSecureDnsConfiguration(); - EXPECT_EQ(config.mode(), net::SecureDnsMode::kAutomatic); - EXPECT_EQ(config.servers().size(), 0u); - - // Set resolve method to DoH should update the config. - local_state()->SetInteger( - kUnstoppableDomainsResolveMethod, - static_cast(ResolveMethodTypes::DNS_OVER_HTTPS)); - config = GetSecureDnsConfiguration(); - std::vector expected_doh_servers = { - {kUnstoppableDomainsDoHResolver, true}}; - EXPECT_EQ(config.servers(), expected_doh_servers); - - // Set custom DoH provider should still keep the resolver for UD. - local_state()->SetString(prefs::kDnsOverHttpsTemplates, "https://test.com"); - config = GetSecureDnsConfiguration(); - expected_doh_servers = {{kUnstoppableDomainsDoHResolver, true}, - {"https://test.com", true}}; - EXPECT_EQ(config.servers(), expected_doh_servers); - - // Set secure mode to off should return empty DoH servers. - local_state()->SetString( - prefs::kDnsOverHttpsMode, - SecureDnsConfig::ModeToString(net::SecureDnsMode::kOff)); - config = GetSecureDnsConfiguration(); - EXPECT_EQ(config.servers().size(), 0u); - - // Turn on secure mode again should get the same result as before. - local_state()->SetString( - prefs::kDnsOverHttpsMode, - SecureDnsConfig::ModeToString(net::SecureDnsMode::kSecure)); - config = GetSecureDnsConfiguration(); - EXPECT_EQ(config.servers(), expected_doh_servers); - - // Set resolve method of ENS to DoH should update the config. - local_state()->SetInteger( - kENSResolveMethod, static_cast(ResolveMethodTypes::DNS_OVER_HTTPS)); - config = GetSecureDnsConfiguration(); - expected_doh_servers = {{kENSDoHResolver, true}, - {kUnstoppableDomainsDoHResolver, true}, - {"https://test.com", true}}; - EXPECT_EQ(config.servers(), expected_doh_servers); - - // Set resolve method to disabled should keep user's DoH setting. - local_state()->SetInteger(kUnstoppableDomainsResolveMethod, - static_cast(ResolveMethodTypes::DISABLED)); - local_state()->SetInteger(kENSResolveMethod, - static_cast(ResolveMethodTypes::DISABLED)); - config = GetSecureDnsConfiguration(); - expected_doh_servers = {{"https://test.com", true}}; - EXPECT_EQ(config.servers(), expected_doh_servers); -} - -IN_PROC_BROWSER_TEST_F(DecentralizedDnsServiceBrowserTest, - HideDecentralizedDnsResolvers) { - // Initial state. - EXPECT_EQ(local_state()->GetInteger(kUnstoppableDomainsResolveMethod), - static_cast(ResolveMethodTypes::ASK)); - SecureDnsConfig config = GetSecureDnsConfiguration(); - EXPECT_EQ(config.mode(), net::SecureDnsMode::kAutomatic); - EXPECT_EQ(config.servers().size(), 0u); - - // Set resolve method to DoH should update the config. - local_state()->SetInteger( - kUnstoppableDomainsResolveMethod, - static_cast(ResolveMethodTypes::DNS_OVER_HTTPS)); - config = GetSecureDnsConfiguration(); - std::vector expected_doh_servers = { - {kUnstoppableDomainsDoHResolver, true}}; - EXPECT_EQ(config.servers(), expected_doh_servers); - - // Set custom DoH provider should still keep the resolver for UD. - local_state()->SetString(prefs::kDnsOverHttpsTemplates, "https://test.com"); - config = GetSecureDnsConfiguration(); - expected_doh_servers = {{kUnstoppableDomainsDoHResolver, true}, - {"https://test.com", true}}; - EXPECT_EQ(config.servers(), expected_doh_servers); - - // Set resolve method of ENS to DoH should update the config. - local_state()->SetInteger( - kENSResolveMethod, static_cast(ResolveMethodTypes::DNS_OVER_HTTPS)); - config = GetSecureDnsConfiguration(); - expected_doh_servers = {{kENSDoHResolver, true}, - {kUnstoppableDomainsDoHResolver, true}, - {"https://test.com", true}}; - EXPECT_EQ(config.servers(), expected_doh_servers); - - // Should hide unstoppable domains resolver if - // force_check_parental_controls_for_automatic_mode is true, used for hiding - // the special resolver in settings. - config = GetSecureDnsConfiguration(true); - expected_doh_servers = {{"https://test.com", true}}; - EXPECT_EQ(config.servers(), expected_doh_servers); -} - -} // namespace decentralized_dns diff --git a/browser/decentralized_dns/test/utils_unittest.cc b/browser/decentralized_dns/test/utils_unittest.cc deleted file mode 100644 index 6309647de9ca..000000000000 --- a/browser/decentralized_dns/test/utils_unittest.cc +++ /dev/null @@ -1,101 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "brave/components/decentralized_dns/utils.h" - -#include "base/test/scoped_feature_list.h" -#include "base/test/task_environment.h" -#include "brave/components/decentralized_dns/constants.h" -#include "brave/components/decentralized_dns/features.h" -#include "brave/components/decentralized_dns/pref_names.h" -#include "chrome/test/base/scoped_testing_local_state.h" -#include "chrome/test/base/testing_browser_process.h" -#include "components/prefs/testing_pref_service.h" -#include "testing/gtest/include/gtest/gtest.h" - -namespace decentralized_dns { - -class UtilsUnitTest : public testing::TestWithParam { - public: - UtilsUnitTest() - : local_state_(TestingBrowserProcess::GetGlobal()), - feature_enabled_(GetParam()) {} - ~UtilsUnitTest() override = default; - - void SetUp() override { - if (feature_enabled_) { - feature_list_.InitAndEnableFeature(features::kDecentralizedDns); - } else { - feature_list_.InitAndDisableFeature(features::kDecentralizedDns); - } - } - - PrefService* local_state() { return local_state_.Get(); } - bool feature_enabled() { return feature_enabled_; } - - private: - base::test::TaskEnvironment task_environment_; - base::test::ScopedFeatureList feature_list_; - ScopedTestingLocalState local_state_; - bool feature_enabled_; -}; - -TEST_P(UtilsUnitTest, IsDecentralizedDnsEnabled) { - EXPECT_EQ(feature_enabled(), IsDecentralizedDnsEnabled()); -} - -TEST_P(UtilsUnitTest, IsUnstoppableDomainsTLD) { - EXPECT_TRUE(IsUnstoppableDomainsTLD(GURL("http://test.crypto"))); - EXPECT_FALSE(IsUnstoppableDomainsTLD(GURL("http://test.com"))); - EXPECT_FALSE(IsUnstoppableDomainsTLD(GURL("http://test.eth"))); - EXPECT_FALSE(IsUnstoppableDomainsTLD(GURL("http://crypto"))); -} - -TEST_P(UtilsUnitTest, IsUnstoppableDomainsResolveMethodAsk) { - EXPECT_EQ(feature_enabled(), - IsUnstoppableDomainsResolveMethodAsk(local_state())); - - local_state()->SetInteger( - kUnstoppableDomainsResolveMethod, - static_cast(ResolveMethodTypes::DNS_OVER_HTTPS)); - EXPECT_FALSE(IsUnstoppableDomainsResolveMethodAsk(local_state())); -} - -TEST_P(UtilsUnitTest, IsUnstoppableDomainsResolveMethodDoH) { - EXPECT_FALSE(IsUnstoppableDomainsResolveMethodDoH(local_state())); - - local_state()->SetInteger( - kUnstoppableDomainsResolveMethod, - static_cast(ResolveMethodTypes::DNS_OVER_HTTPS)); - EXPECT_EQ(feature_enabled(), - IsUnstoppableDomainsResolveMethodDoH(local_state())); -} - -TEST_P(UtilsUnitTest, IsENSTLD) { - EXPECT_TRUE(IsENSTLD(GURL("http://test.eth"))); - EXPECT_FALSE(IsENSTLD(GURL("http://test.com"))); - EXPECT_FALSE(IsENSTLD(GURL("http://test.crypto"))); - EXPECT_FALSE(IsENSTLD(GURL("http://eth"))); -} - -TEST_P(UtilsUnitTest, IsENSResolveMethodAsk) { - EXPECT_EQ(feature_enabled(), IsENSResolveMethodAsk(local_state())); - - local_state()->SetInteger( - kENSResolveMethod, static_cast(ResolveMethodTypes::DNS_OVER_HTTPS)); - EXPECT_FALSE(IsENSResolveMethodAsk(local_state())); -} - -TEST_P(UtilsUnitTest, IsENSResolveMethodDoH) { - EXPECT_FALSE(IsENSResolveMethodDoH(local_state())); - - local_state()->SetInteger( - kENSResolveMethod, static_cast(ResolveMethodTypes::DNS_OVER_HTTPS)); - EXPECT_EQ(feature_enabled(), IsENSResolveMethodDoH(local_state())); -} - -INSTANTIATE_TEST_SUITE_P(/* no prefix */, UtilsUnitTest, testing::Bool()); - -} // namespace decentralized_dns diff --git a/browser/extensions/BUILD.gn b/browser/extensions/BUILD.gn index 73475de24152..0a95f5484c90 100644 --- a/browser/extensions/BUILD.gn +++ b/browser/extensions/BUILD.gn @@ -6,7 +6,6 @@ import("//brave/components/brave_wallet/config.gni") import("//brave/components/brave_wayback_machine/buildflags/buildflags.gni") import("//brave/components/brave_webtorrent/browser/buildflags/buildflags.gni") import("//brave/components/crypto_dot_com/browser/buildflags/buildflags.gni") -import("//brave/components/decentralized_dns/buildflags/buildflags.gni") import("//brave/components/gemini/browser/buildflags/buildflags.gni") import("//brave/components/ipfs/buildflags/buildflags.gni") import("//brave/components/sidebar/buildflags/buildflags.gni") @@ -65,7 +64,6 @@ source_set("extensions") { "//brave/components/brave_shields/common", "//brave/components/brave_today/browser", "//brave/components/brave_wayback_machine:buildflags", - "//brave/components/decentralized_dns/buildflags", "//brave/components/ipfs/buildflags", "//brave/components/sidebar/buildflags", "//brave/components/tor/buildflags", @@ -113,10 +111,6 @@ source_set("extensions") { deps += [ "//brave/components/ipfs" ] } - if (decentralized_dns_enabled) { - deps += [ "//brave/components/decentralized_dns" ] - } - if (brave_rewards_enabled) { sources += [ "api/brave_rewards_api.cc", diff --git a/browser/extensions/api/settings_private/brave_prefs_util.cc b/browser/extensions/api/settings_private/brave_prefs_util.cc index 2604ff65efb8..a626ca1a3f68 100644 --- a/browser/extensions/api/settings_private/brave_prefs_util.cc +++ b/browser/extensions/api/settings_private/brave_prefs_util.cc @@ -10,7 +10,6 @@ #include "brave/components/brave_wallet/buildflags/buildflags.h" #include "brave/components/brave_wayback_machine/buildflags.h" #include "brave/components/crypto_dot_com/browser/buildflags/buildflags.h" -#include "brave/components/decentralized_dns/buildflags/buildflags.h" #include "brave/components/ipfs/buildflags/buildflags.h" #include "brave/components/ntp_background_images/common/pref_names.h" #include "brave/components/sidebar/buildflags/buildflags.h" @@ -46,10 +45,6 @@ #include "brave/components/tor/pref_names.h" #endif -#if BUILDFLAG(DECENTRALIZED_DNS_ENABLED) -#include "brave/components/decentralized_dns/pref_names.h" -#endif - namespace extensions { using ntp_background_images::prefs::kNewTabPageShowBackgroundImage; @@ -212,13 +207,6 @@ const PrefsUtil::TypedPrefMap& BravePrefsUtil::GetAllowlistedKeys() { (*s_brave_allowlist)[prefs::kWebRTCIPHandlingPolicy] = settings_api::PrefType::PREF_TYPE_STRING; -#if BUILDFLAG(DECENTRALIZED_DNS_ENABLED) - (*s_brave_allowlist)[decentralized_dns::kUnstoppableDomainsResolveMethod] = - settings_api::PrefType::PREF_TYPE_NUMBER; - (*s_brave_allowlist)[decentralized_dns::kENSResolveMethod] = - settings_api::PrefType::PREF_TYPE_NUMBER; -#endif - return *s_brave_allowlist; } diff --git a/browser/profiles/BUILD.gn b/browser/profiles/BUILD.gn index 39a22a1ab26c..b714402d2469 100644 --- a/browser/profiles/BUILD.gn +++ b/browser/profiles/BUILD.gn @@ -33,8 +33,8 @@ source_set("profiles") { "//brave/components/brave_rewards/browser", "//brave/components/brave_sync:prefs", "//brave/components/brave_wallet/buildflags", + "//brave/components/brave_wallet/buildflags", "//brave/components/content_settings/core/browser", - "//brave/components/decentralized_dns/buildflags", "//brave/components/ipfs/buildflags", "//brave/components/ntp_background_images/common", "//brave/components/tor", @@ -53,8 +53,4 @@ source_set("profiles") { if (enable_tor) { deps += [ "//brave/browser/tor" ] } - - if (decentralized_dns_enabled) { - deps += [ "//brave/browser/decentralized_dns" ] - } } diff --git a/browser/profiles/brave_profile_manager.cc b/browser/profiles/brave_profile_manager.cc index a104e0d8d39f..1c6d7a895242 100644 --- a/browser/profiles/brave_profile_manager.cc +++ b/browser/profiles/brave_profile_manager.cc @@ -17,7 +17,6 @@ #include "brave/components/brave_ads/browser/ads_service_factory.h" #include "brave/components/brave_wallet/buildflags/buildflags.h" #include "brave/components/content_settings/core/browser/brave_content_settings_pref_provider.h" -#include "brave/components/decentralized_dns/buildflags/buildflags.h" #include "brave/components/ipfs/buildflags/buildflags.h" #include "brave/components/tor/tor_constants.h" #include "brave/content/browser/webui/brave_shared_resources_data_source.h" @@ -51,10 +50,6 @@ #include "brave/browser/ipfs/ipfs_service_factory.h" #endif -#if BUILDFLAG(DECENTRALIZED_DNS_ENABLED) -#include "brave/browser/decentralized_dns/decentralized_dns_service_factory.h" -#endif - using content::BrowserThread; BraveProfileManager::BraveProfileManager(const base::FilePath& user_data_dir) @@ -113,9 +108,6 @@ void BraveProfileManager::DoFinalInitForServices(Profile* profile, #if BUILDFLAG(IPFS_ENABLED) ipfs::IpfsServiceFactory::GetForContext(profile); #endif -#if BUILDFLAG(DECENTRALIZED_DNS_ENABLED) - decentralized_dns::DecentralizedDnsServiceFactory::GetForContext(profile); -#endif #if !BUILDFLAG(USE_GCM_FROM_PLATFORM) gcm::BraveGCMChannelStatus* status = gcm::BraveGCMChannelStatus::GetForProfile(profile); diff --git a/browser/resources/settings/brave_default_extensions_page/brave_default_extensions_browser_proxy.js b/browser/resources/settings/brave_default_extensions_page/brave_default_extensions_browser_proxy.js index 5e110c6c94b7..c897a37c0923 100644 --- a/browser/resources/settings/brave_default_extensions_page/brave_default_extensions_browser_proxy.js +++ b/browser/resources/settings/brave_default_extensions_page/brave_default_extensions_browser_proxy.js @@ -67,10 +67,6 @@ cr.define('settings', function () { wasSignInEnabledAtStartup () { return loadTimeData.getBoolean('signInAllowedOnNextStartupInitialValue') } - - isDecentralizedDnsEnabled () { - return cr.sendWithPromise('isDecentralizedDnsEnabled') - } } cr.addSingletonGetter(BraveDefaultExtensionsBrowserProxyImpl) diff --git a/browser/resources/settings/brave_default_extensions_page/brave_default_extensions_page.html b/browser/resources/settings/brave_default_extensions_page/brave_default_extensions_page.html index b3cdb3fc036a..c0d231e44e98 100644 --- a/browser/resources/settings/brave_default_extensions_page/brave_default_extensions_page.html +++ b/browser/resources/settings/brave_default_extensions_page/brave_default_extensions_page.html @@ -85,20 +85,6 @@ sub-label="$i18n{hangoutsEnabledDesc}" on-settings-boolean-control-change="onHangoutsEnabledChange_"> - { this.widevineEnabled_ = enabled }) - this.browserProxy_.isDecentralizedDnsEnabled().then(enabled => { - this.decentralizedDnsEnabled_ = enabled - }); }, onWebTorrentEnabledChange_: function() { diff --git a/browser/tor/BUILD.gn b/browser/tor/BUILD.gn index 70e06a6d461e..597174c59df8 100644 --- a/browser/tor/BUILD.gn +++ b/browser/tor/BUILD.gn @@ -8,7 +8,6 @@ source_set("tor") { visibility = [ ":*", "//brave/browser:browser_process", - "//brave/browser/decentralized_dns/test:unit_tests", "//brave/browser/profiles", "//brave/browser/ui", "//brave/components/ipfs/test:*", diff --git a/browser/ui/BUILD.gn b/browser/ui/BUILD.gn index 7d8e05802358..b227925f256e 100644 --- a/browser/ui/BUILD.gn +++ b/browser/ui/BUILD.gn @@ -3,7 +3,6 @@ import("//brave/build/config.gni") import("//brave/components/brave_rewards/browser/buildflags/buildflags.gni") import("//brave/components/brave_wallet/buildflags/buildflags.gni") import("//brave/components/brave_wayback_machine/buildflags/buildflags.gni") -import("//brave/components/decentralized_dns/buildflags/buildflags.gni") import("//brave/components/ipfs/buildflags/buildflags.gni") import("//brave/components/sidebar/buildflags/buildflags.gni") import("//brave/components/speedreader/buildflags.gni") @@ -230,7 +229,6 @@ source_set("ui") { "//brave/components/brave_wayback_machine:buildflags", "//brave/components/cosmetic_filters/resources/data:generated_resources", "//brave/components/crypto_dot_com/browser/buildflags:buildflags", - "//brave/components/decentralized_dns/buildflags", "//brave/components/l10n/browser", "//brave/components/l10n/common", "//brave/components/ntp_background_images/browser", @@ -374,10 +372,6 @@ source_set("ui") { } } - if (decentralized_dns_enabled) { - deps += [ "//brave/components/decentralized_dns" ] - } - if (brave_rewards_enabled) { sources += [ "views/brave_actions/brave_rewards_action_stub_view.cc", diff --git a/browser/ui/webui/settings/brave_default_extensions_handler.cc b/browser/ui/webui/settings/brave_default_extensions_handler.cc index 8200c9cd7d3a..c13845f39352 100644 --- a/browser/ui/webui/settings/brave_default_extensions_handler.cc +++ b/browser/ui/webui/settings/brave_default_extensions_handler.cc @@ -13,7 +13,6 @@ #include "brave/browser/extensions/brave_component_loader.h" #include "brave/common/pref_names.h" #include "brave/components/brave_webtorrent/grit/brave_webtorrent_resources.h" -#include "brave/components/decentralized_dns/buildflags/buildflags.h" #include "chrome/browser/about_flags.h" #include "chrome/browser/extensions/component_loader.h" #include "chrome/browser/extensions/extension_service.h" @@ -48,10 +47,6 @@ #include "brave/browser/widevine/widevine_utils.h" #endif -#if BUILDFLAG(DECENTRALIZED_DNS_ENABLED) -#include "brave/components/decentralized_dns/utils.h" -#endif - BraveDefaultExtensionsHandler::BraveDefaultExtensionsHandler() : weak_ptr_factory_(this) { #if BUILDFLAG(ENABLE_WIDEVINE) @@ -113,11 +108,6 @@ void BraveDefaultExtensionsHandler::RegisterMessages() { "isWidevineEnabled", base::BindRepeating(&BraveDefaultExtensionsHandler::IsWidevineEnabled, base::Unretained(this))); - web_ui()->RegisterMessageCallback( - "isDecentralizedDnsEnabled", - base::BindRepeating( - &BraveDefaultExtensionsHandler::IsDecentralizedDnsEnabled, - base::Unretained(this))); // Can't call this in ctor because it needs to access web_ui(). InitializePrefCallbacks(); @@ -404,16 +394,3 @@ void BraveDefaultExtensionsHandler::SetBraveWalletEnabled( } } #endif - -void BraveDefaultExtensionsHandler::IsDecentralizedDnsEnabled( - const base::ListValue* args) { - CHECK_EQ(args->GetSize(), 1U); - AllowJavascript(); - ResolveJavascriptCallback( - args->GetList()[0], -#if BUILDFLAG(DECENTRALIZED_DNS_ENABLED) - base::Value(decentralized_dns::IsDecentralizedDnsEnabled())); -#else - base::Value(false)); -#endif -} diff --git a/browser/ui/webui/settings/brave_default_extensions_handler.h b/browser/ui/webui/settings/brave_default_extensions_handler.h index e196075d67a3..e2507d662028 100644 --- a/browser/ui/webui/settings/brave_default_extensions_handler.h +++ b/browser/ui/webui/settings/brave_default_extensions_handler.h @@ -44,7 +44,6 @@ class BraveDefaultExtensionsHandler : public settings::SettingsPageUIHandler { void SetWidevineEnabled(const base::ListValue* args); void IsWidevineEnabled(const base::ListValue* args); void OnWidevineEnabledChanged(); - void IsDecentralizedDnsEnabled(const base::ListValue* args); void InitializePrefCallbacks(); diff --git a/build/config/brave_build.gni b/build/config/brave_build.gni index b2814a0e27a9..c3afdcc4bbc5 100644 --- a/build/config/brave_build.gni +++ b/build/config/brave_build.gni @@ -3,8 +3,6 @@ # import("//build/config/chrome_build.gni") in compiler.gni import("//brave/brave_repack_locales.gni") import("//brave/browser/extensions/resources.gni") -import("//brave/browser/resources/extensions/sources.gni") -import("//brave/browser/resources/settings/sources.gni") import("//brave/browser/sources.gni") import("//brave/build/config/compiler.gni") import("//brave/build/features.gni") @@ -15,7 +13,8 @@ import("//brave/components/sync/driver/sources.gni") import("//brave/components/sync/sources.gni") import("//brave/components/sync_device_info/sources.gni") import("//brave/installer/linux/sources.gni") -import("//brave/net/dns/sources.gni") import("//brave/net/sources.gni") import("//brave/renderer/sources.gni") import("//brave/third_party/blink/renderer/includes.gni") +import("//brave/browser/resources/settings/sources.gni") +import("//brave/browser/resources/extensions/sources.gni") diff --git a/chromium_src/chrome/browser/about_flags.cc b/chromium_src/chrome/browser/about_flags.cc index d9c0b4e0c711..edd2e008b4bd 100644 --- a/chromium_src/chrome/browser/about_flags.cc +++ b/chromium_src/chrome/browser/about_flags.cc @@ -12,7 +12,6 @@ #include "brave/components/brave_shields/common/features.h" #include "brave/components/brave_sync/buildflags/buildflags.h" #include "brave/components/brave_wallet/buildflags/buildflags.h" -#include "brave/components/decentralized_dns/buildflags/buildflags.h" #include "brave/components/ipfs/buildflags/buildflags.h" #include "brave/components/ntp_background_images/browser/features.h" #include "brave/components/sidebar/buildflags/buildflags.h" @@ -94,18 +93,6 @@ using ntp_background_images::features::kBraveNTPSuperReferralWallpaper; #define BRAVE_NATIVE_WALLET_FEATURE_ENTRIES #endif -#if BUILDFLAG(DECENTRALIZED_DNS_ENABLED) -#include "brave/components/decentralized_dns/features.h" - -#define BRAVE_DECENTRALIZED_DNS_FEATURE_ENTRIES \ - {"brave-decentralized-dns", \ - flag_descriptions::kBraveDecentralizedDnsName, \ - flag_descriptions::kBraveDecentralizedDnsDescription, kOsDesktop, \ - FEATURE_VALUE_TYPE(decentralized_dns::features::kDecentralizedDns)}, -#else -#define BRAVE_DECENTRALIZED_DNS_FEATURE_ENTRIES -#endif - #define BRAVE_FEATURE_ENTRIES \ {"use-dev-updater-url", \ flag_descriptions::kUseDevUpdaterUrlName, \ @@ -133,7 +120,6 @@ using ntp_background_images::features::kBraveNTPSuperReferralWallpaper; BRAVE_IPFS_FEATURE_ENTRIES \ BRAVE_NATIVE_WALLET_FEATURE_ENTRIES \ SIDEBAR_FEATURE_ENTRIES \ - BRAVE_DECENTRALIZED_DNS_FEATURE_ENTRIES \ {"brave-super-referral", \ flag_descriptions::kBraveSuperReferralName, \ flag_descriptions::kBraveSuperReferralDescription, \ diff --git a/chromium_src/chrome/browser/flag_descriptions.cc b/chromium_src/chrome/browser/flag_descriptions.cc index 10ea8ab3bbce..c8f059b11126 100644 --- a/chromium_src/chrome/browser/flag_descriptions.cc +++ b/chromium_src/chrome/browser/flag_descriptions.cc @@ -45,10 +45,6 @@ const char kNativeBraveWalletName[] = "Enable experimental Brave native wallet"; const char kNativeBraveWalletDescription[] = "Experimental native cryptocurrency wallet support without the use of " "extensions"; -const char kBraveDecentralizedDnsName[] = "Enable decentralized DNS"; -const char kBraveDecentralizedDnsDescription[] = - "Enable decentralized DNS support, such as Unstoppable Domains and " - "Ethereum Name Service (ENS)."; const char kBraveSuperReferralName[] = "Enable Brave Super Referral"; const char kBraveSuperReferralDescription[] = "Use custom theme for Brave Super Referral"; diff --git a/chromium_src/chrome/browser/flag_descriptions.h b/chromium_src/chrome/browser/flag_descriptions.h index 8dd8f9c10a24..e3a6cb0e6b38 100644 --- a/chromium_src/chrome/browser/flag_descriptions.h +++ b/chromium_src/chrome/browser/flag_descriptions.h @@ -29,8 +29,6 @@ extern const char kBraveIpfsName[]; extern const char kBraveIpfsDescription[]; extern const char kNativeBraveWalletName[]; extern const char kNativeBraveWalletDescription[]; -extern const char kBraveDecentralizedDnsName[]; -extern const char kBraveDecentralizedDnsDescription[]; extern const char kBraveSuperReferralName[]; extern const char kBraveSuperReferralDescription[]; extern const char kBraveEphemeralStorageName[]; diff --git a/chromium_src/chrome/browser/net/stub_resolver_config_reader.cc b/chromium_src/chrome/browser/net/stub_resolver_config_reader.cc deleted file mode 100644 index 57e5c0a4e849..000000000000 --- a/chromium_src/chrome/browser/net/stub_resolver_config_reader.cc +++ /dev/null @@ -1,56 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "brave/components/decentralized_dns/buildflags/buildflags.h" -#include "components/prefs/pref_service.h" - -#if BUILDFLAG(DECENTRALIZED_DNS_ENABLED) -#include "base/strings/strcat.h" -#include "brave/components/decentralized_dns/utils.h" -#include "brave/net/decentralized_dns/constants.h" -#endif - -namespace { - -// Add DoH servers to support decentralized DNS such as Unstoppable Domains and -// ENS. These servers are controlled using its own prefs and not -// kDnsOverHttpsTemplates pref as the servers we added here are special and -// only applies to certain TLD which is different from user's global DoH -// provider settings. -void AddDoHServers(std::string* doh_templates, - PrefService* local_state, - bool force_check_parental_controls_for_automatic_mode) { - // force_check_parental_controls_for_automatic_mode is only true for - // settings UI which we specifically do not want to display those special - // resolvers we added. - if (force_check_parental_controls_for_automatic_mode) - return; - -#if BUILDFLAG(DECENTRALIZED_DNS_ENABLED) - if (decentralized_dns::IsUnstoppableDomainsResolveMethodDoH(local_state) && - doh_templates->find(decentralized_dns::kUnstoppableDomainsDoHResolver) == - std::string::npos) { - *doh_templates = - base::StrCat({decentralized_dns::kUnstoppableDomainsDoHResolver, " ", - *doh_templates}); - } - - if (decentralized_dns::IsENSResolveMethodDoH(local_state) && - doh_templates->find(decentralized_dns::kENSDoHResolver) == - std::string::npos) { - *doh_templates = - base::StrCat({decentralized_dns::kENSDoHResolver, " ", *doh_templates}); - } -#endif -} - -} // namespace - -#define BRAVE_GET_AND_UPDATE_CONFIGURATION \ - AddDoHServers(&doh_templates, local_state_, \ - force_check_parental_controls_for_automatic_mode); - -#include "../../../../../chrome/browser/net/stub_resolver_config_reader.cc" -#undef BRAVE_GET_AND_UPDATE_CONFIGURATION diff --git a/chromium_src/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chromium_src/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc index 80e8537dfdc8..4d38033d27d5 100644 --- a/chromium_src/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chromium_src/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc @@ -219,9 +219,6 @@ void BraveAddCommonStrings(content::WebUIDataSource* html_source, IDS_SETTINGS_LOAD_CRYPTO_WALLETS_ON_STARTUP}, {"googleLoginForExtensionsDesc", IDS_SETTINGS_GOOGLE_LOGIN_FOR_EXTENSIONS}, {"hangoutsEnabledDesc", IDS_SETTINGS_HANGOUTS_ENABLED_DESC}, - {"resolveUnstoppableDomainsDesc", - IDS_SETTINGS_RESOLVE_UNSTOPPABLE_DOMAINS_DESC}, - {"resolveENSDesc", IDS_SETTINGS_RESOLVE_ENS_DESC}, {"resolveIPFSURLDesc", IDS_SETTINGS_RESOLVE_IPFS_URLS_DESC}, {"ipfsPublicGatewayDesc", IDS_SETTINGS_IPFS_PUBLIC_GATEWAY_DESC}, {"ipfsChangeGatewayButtonLabel", diff --git a/chromium_src/net/DEPS b/chromium_src/net/DEPS index ac9b5ec33aad..518b5f55c96a 100644 --- a/chromium_src/net/DEPS +++ b/chromium_src/net/DEPS @@ -1,7 +1,6 @@ include_rules = [ "+../../../../net/base", "+../../../../net/cookies", - "+../../../../net/dns", "+../../../../net/log", "+../../../../net/proxy_resolution", "+../../../../net/socket", diff --git a/chromium_src/net/base/lookup_string_in_fixed_set.cc b/chromium_src/net/base/lookup_string_in_fixed_set.cc index ad811f728303..9327fb71d6e1 100644 --- a/chromium_src/net/base/lookup_string_in_fixed_set.cc +++ b/chromium_src/net/base/lookup_string_in_fixed_set.cc @@ -10,7 +10,6 @@ #undef LookupSuffixInReversedSet #include "base/strings/string_util.h" -#include "brave/net/decentralized_dns/constants.h" namespace net { @@ -41,19 +40,6 @@ int LookupSuffixInReversedSet(const unsigned char* graph, return kDafsaFound; } - // Recognize .crypto and .eth as known TLDs for decentralized DNS support. - // With this, when users type *.crypto or *.eth in omnibox, it will be parsed - // as OmniboxInputType::URL input type instead of OmniboxInputType::UNKNOWN, - // The first entry in the autocomplete list will be URL instead of search. - if (base::EndsWith(host, decentralized_dns::kCryptoDomain)) { - *suffix_length = strlen(decentralized_dns::kCryptoDomain) - 1; - return kDafsaFound; - } - if (base::EndsWith(host, decentralized_dns::kEthDomain)) { - *suffix_length = strlen(decentralized_dns::kEthDomain) - 1; - return kDafsaFound; - } - return LookupSuffixInReversedSet_ChromiumImpl(graph, length, include_private, host, suffix_length); } diff --git a/chromium_src/net/dns/dns_transaction.cc b/chromium_src/net/dns/dns_transaction.cc deleted file mode 100644 index 6fa21063cb58..000000000000 --- a/chromium_src/net/dns/dns_transaction.cc +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "base/strings/string_util.h" -#include "brave/net/decentralized_dns/constants.h" -#include "net/dns/dns_config.h" -#include "net/dns/dns_server_iterator.h" - -namespace { - -bool GetNextIndex(const std::string& hostname, - const net::DnsConfig& config, - net::DnsServerIterator* dns_server_iterator, - size_t* doh_server_index) { - base::StringPiece server = - config.dns_over_https_servers[*doh_server_index].server_template; - - // Skip decentralized DNS resolvers if it is not target TLDs. - while ((server == decentralized_dns::kUnstoppableDomainsDoHResolver && - !base::EndsWith(hostname, decentralized_dns::kCryptoDomain)) || - (server == decentralized_dns::kENSDoHResolver && - !base::EndsWith(hostname, decentralized_dns::kEthDomain))) { - // No next available index to attempt. - if (!dns_server_iterator->AttemptAvailable()) { - return false; - } - - *doh_server_index = dns_server_iterator->GetNextAttemptIndex(); - server = config.dns_over_https_servers[*doh_server_index].server_template; - } - - return true; -} - -} // namespace - -#define BRAVE_MAKE_HTTP_ATTEMPT \ - if (!GetNextIndex(hostname_, session_.get()->config(), \ - dns_server_iterator_.get(), &doh_server_index)) { \ - return AttemptResult(ERR_BLOCKED_BY_CLIENT, nullptr); \ - } - -#include "../../../../net/dns/dns_transaction.cc" -#undef BRAVE_MAKE_HTTP_ATTEMPT diff --git a/chromium_src/net/dns/host_resolver.cc b/chromium_src/net/dns/host_resolver.cc deleted file mode 100644 index 617dd8f394c3..000000000000 --- a/chromium_src/net/dns/host_resolver.cc +++ /dev/null @@ -1,11 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "brave/net/dns/brave_resolve_context.h" -#include "net/dns/context_host_resolver.h" - -#define ResolveContext BraveResolveContext -#include "../../../../net/dns/host_resolver.cc" -#undef ResolveContext diff --git a/chromium_src/net/dns/resolve_context.h b/chromium_src/net/dns/resolve_context.h deleted file mode 100644 index 5de2ef083b2e..000000000000 --- a/chromium_src/net/dns/resolve_context.h +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef BRAVE_CHROMIUM_SRC_NET_DNS_RESOLVE_CONTEXT_H_ -#define BRAVE_CHROMIUM_SRC_NET_DNS_RESOLVE_CONTEXT_H_ - -namespace net { -class BraveResolveContext; -} // namespace net - -#define GetDohServerAvailability virtual GetDohServerAvailability -#define NumAvailableDohServers virtual NumAvailableDohServers -#define BRAVE_RESOLVE_CONTEXT_H \ - private: \ - friend class BraveResolveContext; - -#include "../../../../net/dns/resolve_context.h" -#undef GetDohServerAvailability -#undef NumAvailableDohServers -#undef BRAVE_RESOLVE_CONTEXT_H - -#endif // BRAVE_CHROMIUM_SRC_NET_DNS_RESOLVE_CONTEXT_H_ diff --git a/components/decentralized_dns/BUILD.gn b/components/decentralized_dns/BUILD.gn deleted file mode 100644 index a5900dad768f..000000000000 --- a/components/decentralized_dns/BUILD.gn +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright (c) 2021 The Brave Authors. All rights reserved. -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this file, -# You can obtain one at http://mozilla.org/MPL/2.0/. */ - -source_set("decentralized_dns") { - sources = [ - "constants.h", - "decentralized_dns_interstitial_controller_client.cc", - "decentralized_dns_interstitial_controller_client.h", - "decentralized_dns_navigation_throttle.cc", - "decentralized_dns_navigation_throttle.h", - "decentralized_dns_opt_in_page.cc", - "decentralized_dns_opt_in_page.h", - "decentralized_dns_service.cc", - "decentralized_dns_service.h", - "decentralized_dns_service_delegate.h", - "features.h", - "pref_names.h", - "utils.cc", - "utils.h", - ] - - deps = [ - "//base", - "//brave/components/resources:static_resources", - "//brave/components/resources:strings", - "//components/keyed_service/core", - "//components/prefs", - "//components/security_interstitials/content:security_interstitial_page", - "//components/security_interstitials/core", - "//components/user_prefs", - "//content/public/browser", - "//net", - "//url", - ] -} diff --git a/components/decentralized_dns/DEPS b/components/decentralized_dns/DEPS deleted file mode 100644 index 778791c5d956..000000000000 --- a/components/decentralized_dns/DEPS +++ /dev/null @@ -1,14 +0,0 @@ -include_rules = [ - "+base", - "+components/keyed_service/core", - "+components/grit", - "+components/prefs", - "+components/security_interstitials/content", - "+components/security_interstitials/core", - "+components/user_prefs", - "+content/public/browser", - "+content/public/common", - "+net", - "+ui/base", - "+url", -] diff --git a/components/decentralized_dns/buildflags/BUILD.gn b/components/decentralized_dns/buildflags/BUILD.gn deleted file mode 100644 index e41b63e2c2ba..000000000000 --- a/components/decentralized_dns/buildflags/BUILD.gn +++ /dev/null @@ -1,7 +0,0 @@ -import("//brave/components/decentralized_dns/buildflags/buildflags.gni") -import("//build/buildflag_header.gni") - -buildflag_header("buildflags") { - header = "buildflags.h" - flags = [ "DECENTRALIZED_DNS_ENABLED=$decentralized_dns_enabled" ] -} diff --git a/components/decentralized_dns/buildflags/buildflags.gni b/components/decentralized_dns/buildflags/buildflags.gni deleted file mode 100644 index b32adc01b37c..000000000000 --- a/components/decentralized_dns/buildflags/buildflags.gni +++ /dev/null @@ -1,3 +0,0 @@ -declare_args() { - decentralized_dns_enabled = is_mac || is_linux || is_win -} diff --git a/components/decentralized_dns/constants.h b/components/decentralized_dns/constants.h deleted file mode 100644 index 1ff0ead2156e..000000000000 --- a/components/decentralized_dns/constants.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef BRAVE_COMPONENTS_DECENTRALIZED_DNS_CONSTANTS_H_ -#define BRAVE_COMPONENTS_DECENTRALIZED_DNS_CONSTANTS_H_ - -namespace decentralized_dns { - -enum class ResolveMethodTypes { - ASK, - DISABLED, - DNS_OVER_HTTPS, -}; - -} // namespace decentralized_dns - -#endif // BRAVE_COMPONENTS_DECENTRALIZED_DNS_CONSTANTS_H_ diff --git a/components/decentralized_dns/decentralized_dns_interstitial_controller_client.cc b/components/decentralized_dns/decentralized_dns_interstitial_controller_client.cc deleted file mode 100644 index 73fb45ba9605..000000000000 --- a/components/decentralized_dns/decentralized_dns_interstitial_controller_client.cc +++ /dev/null @@ -1,65 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "brave/components/decentralized_dns/decentralized_dns_interstitial_controller_client.h" - -#include "brave/components/decentralized_dns/constants.h" -#include "brave/components/decentralized_dns/pref_names.h" -#include "brave/components/decentralized_dns/utils.h" -#include "components/prefs/pref_service.h" -#include "components/security_interstitials/content/settings_page_helper.h" -#include "components/security_interstitials/core/metrics_helper.h" -#include "content/public/browser/web_contents.h" - -namespace decentralized_dns { - -// static -std::unique_ptr -DecentralizedDnsInterstitialControllerClient::GetMetricsHelper( - const GURL& url) { - security_interstitials::MetricsHelper::ReportDetails report_details; - report_details.metric_prefix = "DecentralizedDns"; - - return std::make_unique( - url, report_details, nullptr); -} - -DecentralizedDnsInterstitialControllerClient:: - DecentralizedDnsInterstitialControllerClient( - content::WebContents* web_contents, - const GURL& request_url, - PrefService* user_prefs, - PrefService* local_state, - const std::string& locale) - : security_interstitials::SecurityInterstitialControllerClient( - web_contents, - GetMetricsHelper(request_url), - user_prefs, - locale, - GURL("about:blank") /* default_safe_page */, - nullptr /* settings_page_helper */), - request_url_(request_url), - local_state_(local_state) {} - -void DecentralizedDnsInterstitialControllerClient::Proceed() { - SetResolveMethodAndReload(ResolveMethodTypes::DNS_OVER_HTTPS); -} - -void DecentralizedDnsInterstitialControllerClient::DontProceed() { - SetResolveMethodAndReload(ResolveMethodTypes::DISABLED); -} - -void DecentralizedDnsInterstitialControllerClient::SetResolveMethodAndReload( - ResolveMethodTypes type) { - DCHECK(local_state_); - auto* pref_name = IsUnstoppableDomainsTLD(request_url_) - ? kUnstoppableDomainsResolveMethod - : kENSResolveMethod; - local_state_->SetInteger(pref_name, static_cast(type)); - web_contents_->GetController().Reload(content::ReloadType::BYPASSING_CACHE, - true); -} - -} // namespace decentralized_dns diff --git a/components/decentralized_dns/decentralized_dns_interstitial_controller_client.h b/components/decentralized_dns/decentralized_dns_interstitial_controller_client.h deleted file mode 100644 index 9ead08a4f86d..000000000000 --- a/components/decentralized_dns/decentralized_dns_interstitial_controller_client.h +++ /dev/null @@ -1,60 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef BRAVE_COMPONENTS_DECENTRALIZED_DNS_DECENTRALIZED_DNS_INTERSTITIAL_CONTROLLER_CLIENT_H_ -#define BRAVE_COMPONENTS_DECENTRALIZED_DNS_DECENTRALIZED_DNS_INTERSTITIAL_CONTROLLER_CLIENT_H_ - -#include -#include - -#include "components/security_interstitials/content/security_interstitial_controller_client.h" -#include "url/gurl.h" - -namespace content { -class WebContents; -} // namespace content - -namespace security_interstitials { -class MetricsHelper; -} // namespace security_interstitials - -class PrefService; - -namespace decentralized_dns { -enum class ResolveMethodTypes; - -class DecentralizedDnsInterstitialControllerClient - : public security_interstitials::SecurityInterstitialControllerClient { - public: - static std::unique_ptr - GetMetricsHelper(const GURL& url); - - DecentralizedDnsInterstitialControllerClient( - content::WebContents* web_contents, - const GURL& request_url, - PrefService* user_prefs, - PrefService* local_state, - const std::string& locale); - ~DecentralizedDnsInterstitialControllerClient() override = default; - - DecentralizedDnsInterstitialControllerClient( - const DecentralizedDnsInterstitialControllerClient&) = delete; - DecentralizedDnsInterstitialControllerClient& operator=( - const DecentralizedDnsInterstitialControllerClient&) = delete; - - // security_interstitials::SecurityInterstitialControllerClient: - void Proceed() override; - void DontProceed(); - - private: - void SetResolveMethodAndReload(ResolveMethodTypes type); - - const GURL request_url_; - PrefService* local_state_; -}; - -} // namespace decentralized_dns - -#endif // BRAVE_COMPONENTS_DECENTRALIZED_DNS_DECENTRALIZED_DNS_INTERSTITIAL_CONTROLLER_CLIENT_H_ diff --git a/components/decentralized_dns/decentralized_dns_navigation_throttle.cc b/components/decentralized_dns/decentralized_dns_navigation_throttle.cc deleted file mode 100644 index 6a76a7529968..000000000000 --- a/components/decentralized_dns/decentralized_dns_navigation_throttle.cc +++ /dev/null @@ -1,97 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "brave/components/decentralized_dns/decentralized_dns_navigation_throttle.h" - -#include - -#include "base/bind.h" -#include "base/threading/sequenced_task_runner_handle.h" -#include "brave/components/decentralized_dns/decentralized_dns_interstitial_controller_client.h" -#include "brave/components/decentralized_dns/decentralized_dns_opt_in_page.h" -#include "brave/components/decentralized_dns/utils.h" -#include "components/prefs/pref_service.h" -#include "components/security_interstitials/content/security_interstitial_tab_helper.h" -#include "components/user_prefs/user_prefs.h" -#include "content/public/browser/browser_context.h" -#include "content/public/browser/navigation_handle.h" -#include "content/public/browser/web_contents.h" -#include "net/base/net_errors.h" - -namespace decentralized_dns { - -// static -std::unique_ptr -DecentralizedDnsNavigationThrottle::MaybeCreateThrottleFor( - content::NavigationHandle* navigation_handle, - PrefService* local_state, - const std::string& locale) { - content::BrowserContext* context = - navigation_handle->GetWebContents()->GetBrowserContext(); - if (!IsDecentralizedDnsEnabled() || context->IsOffTheRecord()) - return nullptr; - - return std::make_unique( - navigation_handle, local_state, locale); -} - -DecentralizedDnsNavigationThrottle::DecentralizedDnsNavigationThrottle( - content::NavigationHandle* navigation_handle, - PrefService* local_state, - const std::string& locale) - : content::NavigationThrottle(navigation_handle), - local_state_(local_state), - locale_(locale) { - content::BrowserContext* context = - navigation_handle->GetWebContents()->GetBrowserContext(); - user_prefs_ = user_prefs::UserPrefs::Get(context); -} - -DecentralizedDnsNavigationThrottle::~DecentralizedDnsNavigationThrottle() = - default; - -content::NavigationThrottle::ThrottleCheckResult -DecentralizedDnsNavigationThrottle::WillStartRequest() { - GURL url = navigation_handle()->GetURL(); - if ((IsUnstoppableDomainsTLD(url) && - IsUnstoppableDomainsResolveMethodAsk(local_state_)) || - (IsENSTLD(url) && IsENSResolveMethodAsk(local_state_))) { - base::SequencedTaskRunnerHandle::Get()->PostTask( - FROM_HERE, - base::BindOnce(&DecentralizedDnsNavigationThrottle::ShowInterstitial, - weak_ptr_factory_.GetWeakPtr())); - return content::NavigationThrottle::DEFER; - } - - return content::NavigationThrottle::PROCEED; -} - -void DecentralizedDnsNavigationThrottle::ShowInterstitial() { - content::NavigationHandle* handle = navigation_handle(); - content::WebContents* web_contents = handle->GetWebContents(); - const GURL& request_url = handle->GetURL(); - - auto controller_client = - std::make_unique( - web_contents, request_url, user_prefs_, local_state_, locale_); - auto page = std::make_unique( - web_contents, handle->GetURL(), std::move(controller_client)); - - // Get the page content before giving up ownership of |page|. - std::string page_content = page->GetHTMLContents(); - - security_interstitials::SecurityInterstitialTabHelper::AssociateBlockingPage( - web_contents, handle->GetNavigationId(), std::move(page)); - - CancelDeferredNavigation(content::NavigationThrottle::ThrottleCheckResult( - content::NavigationThrottle::CANCEL, net::ERR_BLOCKED_BY_CLIENT, - page_content)); -} - -const char* DecentralizedDnsNavigationThrottle::GetNameForLogging() { - return "DecentralizedDnsNavigationThrottle"; -} - -} // namespace decentralized_dns diff --git a/components/decentralized_dns/decentralized_dns_navigation_throttle.h b/components/decentralized_dns/decentralized_dns_navigation_throttle.h deleted file mode 100644 index 1cc3adaec3a6..000000000000 --- a/components/decentralized_dns/decentralized_dns_navigation_throttle.h +++ /dev/null @@ -1,57 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef BRAVE_COMPONENTS_DECENTRALIZED_DNS_DECENTRALIZED_DNS_NAVIGATION_THROTTLE_H_ -#define BRAVE_COMPONENTS_DECENTRALIZED_DNS_DECENTRALIZED_DNS_NAVIGATION_THROTTLE_H_ - -#include -#include - -#include "base/memory/weak_ptr.h" -#include "content/public/browser/navigation_throttle.h" - -namespace content { -class NavigationHandle; -} // namespace content - -class PrefService; - -namespace decentralized_dns { - -class DecentralizedDnsNavigationThrottle : public content::NavigationThrottle { - public: - explicit DecentralizedDnsNavigationThrottle( - content::NavigationHandle* navigation_handle, - PrefService* local_state, - const std::string& locale); - ~DecentralizedDnsNavigationThrottle() override; - - DecentralizedDnsNavigationThrottle( - const DecentralizedDnsNavigationThrottle&) = delete; - DecentralizedDnsNavigationThrottle& operator=( - const DecentralizedDnsNavigationThrottle&) = delete; - - static std::unique_ptr - MaybeCreateThrottleFor(content::NavigationHandle* navigation_handle, - PrefService* local_state, - const std::string& locale); - - // content::NavigationThrottle implementation: - ThrottleCheckResult WillStartRequest() override; - const char* GetNameForLogging() override; - - private: - void ShowInterstitial(); - - PrefService* user_prefs_ = nullptr; - PrefService* local_state_ = nullptr; - std::string locale_; - base::WeakPtrFactory weak_ptr_factory_{ - this}; -}; - -} // namespace decentralized_dns - -#endif // BRAVE_COMPONENTS_DECENTRALIZED_DNS_DECENTRALIZED_DNS_NAVIGATION_THROTTLE_H_ diff --git a/components/decentralized_dns/decentralized_dns_opt_in_page.cc b/components/decentralized_dns/decentralized_dns_opt_in_page.cc deleted file mode 100644 index 0e649b41d4f9..000000000000 --- a/components/decentralized_dns/decentralized_dns_opt_in_page.cc +++ /dev/null @@ -1,126 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "brave/components/decentralized_dns/decentralized_dns_opt_in_page.h" - -#include -#include - -#include "base/notreached.h" -#include "base/strings/string_number_conversions.h" -#include "base/strings/string_util.h" -#include "base/strings/utf_string_conversions.h" -#include "base/values.h" -#include "brave/components/decentralized_dns/decentralized_dns_interstitial_controller_client.h" -#include "brave/components/decentralized_dns/utils.h" -#include "components/grit/brave_components_resources.h" -#include "components/grit/brave_components_strings.h" -#include "components/security_interstitials/content/security_interstitial_controller_client.h" -#include "ui/base/l10n/l10n_util.h" - -namespace decentralized_dns { - -// static -const security_interstitials::SecurityInterstitialPage::TypeID - DecentralizedDnsOptInPage::kTypeForTesting = - &DecentralizedDnsOptInPage::kTypeForTesting; - -DecentralizedDnsOptInPage::DecentralizedDnsOptInPage( - content::WebContents* web_contents, - const GURL& request_url, - std::unique_ptr< - security_interstitials::SecurityInterstitialControllerClient> - controller) - : security_interstitials::SecurityInterstitialPage(web_contents, - request_url, - std::move(controller)), - request_url_(request_url) {} - -DecentralizedDnsOptInPage::~DecentralizedDnsOptInPage() = default; - -void DecentralizedDnsOptInPage::CommandReceived(const std::string& command) { - if (command == "\"pageLoadComplete\"") { - // content::WaitForRenderFrameReady sends this message when the page - // load completes. Ignore it. - return; - } - - int cmd = 0; - bool retval = base::StringToInt(command, &cmd); - DCHECK(retval); - - switch (cmd) { - case security_interstitials::CMD_DONT_PROCEED: - static_cast(controller()) - ->DontProceed(); - break; - case security_interstitials::CMD_PROCEED: - controller()->Proceed(); - break; - default: - NOTREACHED() << "Unsupported command: " << command; - } -} - -void DecentralizedDnsOptInPage::PopulateInterstitialStrings( - base::DictionaryValue* load_time_data) { - const std::vector message_params = { - base::ASCIIToUTF16(""), - base::ASCIIToUTF16(""), - base::ASCIIToUTF16( - ""), - base::ASCIIToUTF16(""), - }; - - if (IsUnstoppableDomainsTLD(request_url_)) { - load_time_data->SetString( - "tabTitle", - l10n_util::GetStringUTF16(IDS_UNSTOPPABLE_DOMAINS_OPT_IN_TITLE)); - load_time_data->SetString( - "heading", - l10n_util::GetStringUTF16(IDS_UNSTOPPABLE_DOMAINS_OPT_IN_HEADING)); - - load_time_data->SetString( - "primaryParagraph", - base::ReplaceStringPlaceholders( - l10n_util::GetStringUTF16( - IDS_UNSTOPPABLE_DOMAINS_OPT_IN_PRIMARY_PARAGRAPH), - message_params, nullptr)); - } else { - load_time_data->SetString("tabTitle", - l10n_util::GetStringUTF16(IDS_ENS_OPT_IN_TITLE)); - load_time_data->SetString( - "heading", l10n_util::GetStringUTF16(IDS_ENS_OPT_IN_HEADING)); - load_time_data->SetString( - "primaryParagraph", - base::ReplaceStringPlaceholders( - l10n_util::GetStringUTF16(IDS_ENS_OPT_IN_PRIMARY_PARAGRAPH), - message_params, nullptr)); - } - - load_time_data->SetString( - "primaryButtonText", - l10n_util::GetStringUTF16(IDS_DECENTRALIZED_DNS_OPT_IN_PRIMARY_BUTTON)); - load_time_data->SetString( - "dontProceedButtonText", - l10n_util::GetStringUTF16( - IDS_DECENTRALIZED_DNS_OPT_IN_DONT_PROCEED_BUTTON)); - load_time_data->SetString("finalParagraph", base::string16()); -} - -int DecentralizedDnsOptInPage::GetHTMLTemplateId() { - return IDR_DECENTRALIZED_DNS_INTERSTITIAL_HTML; -} - -security_interstitials::SecurityInterstitialPage::TypeID -DecentralizedDnsOptInPage::GetTypeForTesting() { - return DecentralizedDnsOptInPage::kTypeForTesting; -} - -} // namespace decentralized_dns diff --git a/components/decentralized_dns/decentralized_dns_opt_in_page.h b/components/decentralized_dns/decentralized_dns_opt_in_page.h deleted file mode 100644 index 6b96c28732d5..000000000000 --- a/components/decentralized_dns/decentralized_dns_opt_in_page.h +++ /dev/null @@ -1,61 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef BRAVE_COMPONENTS_DECENTRALIZED_DNS_DECENTRALIZED_DNS_OPT_IN_PAGE_H_ -#define BRAVE_COMPONENTS_DECENTRALIZED_DNS_DECENTRALIZED_DNS_OPT_IN_PAGE_H_ - -#include -#include - -#include "components/security_interstitials/content/security_interstitial_page.h" - -namespace content { -class WebContents; -} // namespace content - -namespace security_interstitials { -class SecurityInterstitialControllerClient; -} // namespace security_interstitials - -namespace decentralized_dns { - -class DecentralizedDnsOptInPage - : public security_interstitials::SecurityInterstitialPage { - public: - // Interstitial type, used in tests. - static const security_interstitials::SecurityInterstitialPage::TypeID - kTypeForTesting; - - DecentralizedDnsOptInPage( - content::WebContents* web_contents, - const GURL& request_url, - std::unique_ptr< - security_interstitials::SecurityInterstitialControllerClient> - controller); - ~DecentralizedDnsOptInPage() override; - - DecentralizedDnsOptInPage(const DecentralizedDnsOptInPage&) = delete; - DecentralizedDnsOptInPage& operator=(const DecentralizedDnsOptInPage&) = - delete; - - // SecurityInterstitialPage:: - void OnInterstitialClosing() override {} - void CommandReceived(const std::string& command) override; - security_interstitials::SecurityInterstitialPage::TypeID GetTypeForTesting() - override; - - protected: - // SecurityInterstitialPage:: - void PopulateInterstitialStrings( - base::DictionaryValue* load_time_data) override; - int GetHTMLTemplateId() override; - - private: - const GURL request_url_; -}; - -} // namespace decentralized_dns - -#endif // BRAVE_COMPONENTS_DECENTRALIZED_DNS_DECENTRALIZED_DNS_OPT_IN_PAGE_H_ diff --git a/components/decentralized_dns/decentralized_dns_service.cc b/components/decentralized_dns/decentralized_dns_service.cc deleted file mode 100644 index 7d288999205e..000000000000 --- a/components/decentralized_dns/decentralized_dns_service.cc +++ /dev/null @@ -1,51 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "brave/components/decentralized_dns/decentralized_dns_service.h" - -#include - -#include "brave/components/decentralized_dns/constants.h" -#include "brave/components/decentralized_dns/decentralized_dns_service_delegate.h" -#include "brave/components/decentralized_dns/pref_names.h" -#include "components/prefs/pref_change_registrar.h" -#include "components/prefs/pref_registry_simple.h" -#include "components/prefs/pref_service.h" - -namespace decentralized_dns { - -DecentralizedDnsService::DecentralizedDnsService( - std::unique_ptr delegate, - content::BrowserContext* context, - PrefService* local_state) - : delegate_(std::move(delegate)) { - pref_change_registrar_ = std::make_unique(); - pref_change_registrar_->Init(local_state); - pref_change_registrar_->Add( - kUnstoppableDomainsResolveMethod, - base::Bind(&DecentralizedDnsService::OnPreferenceChanged, - base::Unretained(this))); - pref_change_registrar_->Add( - kENSResolveMethod, - base::Bind(&DecentralizedDnsService::OnPreferenceChanged, - base::Unretained(this))); -} - -DecentralizedDnsService::~DecentralizedDnsService() = default; - -// static -void DecentralizedDnsService::RegisterLocalStatePrefs( - PrefRegistrySimple* registry) { - registry->RegisterIntegerPref(kUnstoppableDomainsResolveMethod, - static_cast(ResolveMethodTypes::ASK)); - registry->RegisterIntegerPref(kENSResolveMethod, - static_cast(ResolveMethodTypes::ASK)); -} - -void DecentralizedDnsService::OnPreferenceChanged() { - delegate_->UpdateNetworkService(); -} - -} // namespace decentralized_dns diff --git a/components/decentralized_dns/decentralized_dns_service.h b/components/decentralized_dns/decentralized_dns_service.h deleted file mode 100644 index 0601066bd51f..000000000000 --- a/components/decentralized_dns/decentralized_dns_service.h +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef BRAVE_COMPONENTS_DECENTRALIZED_DNS_DECENTRALIZED_DNS_SERVICE_H_ -#define BRAVE_COMPONENTS_DECENTRALIZED_DNS_DECENTRALIZED_DNS_SERVICE_H_ - -#include - -#include "components/keyed_service/core/keyed_service.h" - -namespace content { -class BrowserContext; -} // namespace content - -class PrefChangeRegistrar; -class PrefRegistrySimple; -class PrefService; - -namespace decentralized_dns { - -class DecentralizedDnsServiceDelegate; - -class DecentralizedDnsService : public KeyedService { - public: - DecentralizedDnsService( - std::unique_ptr delegate, - content::BrowserContext* context, - PrefService* local_state); - ~DecentralizedDnsService() override; - - DecentralizedDnsService(const DecentralizedDnsService&) = delete; - DecentralizedDnsService& operator=(const DecentralizedDnsService&) = delete; - - static void RegisterLocalStatePrefs(PrefRegistrySimple* registry); - - private: - void OnPreferenceChanged(); - - std::unique_ptr pref_change_registrar_; - std::unique_ptr delegate_; -}; - -} // namespace decentralized_dns - -#endif // BRAVE_COMPONENTS_DECENTRALIZED_DNS_DECENTRALIZED_DNS_SERVICE_H_ diff --git a/components/decentralized_dns/decentralized_dns_service_delegate.h b/components/decentralized_dns/decentralized_dns_service_delegate.h deleted file mode 100644 index 3814cd6b50b6..000000000000 --- a/components/decentralized_dns/decentralized_dns_service_delegate.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef BRAVE_COMPONENTS_DECENTRALIZED_DNS_DECENTRALIZED_DNS_SERVICE_DELEGATE_H_ -#define BRAVE_COMPONENTS_DECENTRALIZED_DNS_DECENTRALIZED_DNS_SERVICE_DELEGATE_H_ - -namespace decentralized_dns { - -class DecentralizedDnsServiceDelegate { - public: - DecentralizedDnsServiceDelegate() = default; - virtual ~DecentralizedDnsServiceDelegate() = default; - virtual void UpdateNetworkService() = 0; -}; - -} // namespace decentralized_dns - -#endif // BRAVE_COMPONENTS_DECENTRALIZED_DNS_DECENTRALIZED_DNS_SERVICE_DELEGATE_H_ diff --git a/components/decentralized_dns/features.h b/components/decentralized_dns/features.h deleted file mode 100644 index f5d72acd4a0e..000000000000 --- a/components/decentralized_dns/features.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef BRAVE_COMPONENTS_DECENTRALIZED_DNS_FEATURES_H_ -#define BRAVE_COMPONENTS_DECENTRALIZED_DNS_FEATURES_H_ - -#include "base/feature_list.h" - -namespace decentralized_dns { -namespace features { - -constexpr base::Feature kDecentralizedDns{"DecentralizedDns", - base::FEATURE_ENABLED_BY_DEFAULT}; - -} // namespace features -} // namespace decentralized_dns - -#endif // BRAVE_COMPONENTS_DECENTRALIZED_DNS_FEATURES_H_ diff --git a/components/decentralized_dns/pref_names.h b/components/decentralized_dns/pref_names.h deleted file mode 100644 index f257b33bd5d8..000000000000 --- a/components/decentralized_dns/pref_names.h +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef BRAVE_COMPONENTS_DECENTRALIZED_DNS_PREF_NAMES_H_ -#define BRAVE_COMPONENTS_DECENTRALIZED_DNS_PREF_NAMES_H_ - -namespace decentralized_dns { - -// Used to determine which method should be used to resolve unstoppable -// domains, between: -// Disabled: Disable all unstoppable domains resolution. -// Ask: Ask users if they want to enable support of unstoppable domains. -// DNS Over HTTPS: Resolve domain name using a public DNS over HTTPS server. -constexpr char kUnstoppableDomainsResolveMethod[] = - "brave.unstoppable_domains.resolve_method"; - -// Used to determine which method should be used to resolve ENS domains, -// between: -// Disabled: Disable all ENS domains resolution. -// Ask: Ask users if they want to enable support of ENS. -// DNS Over HTTPS: Resolve domain name using a public DNS over HTTPS server. -constexpr char kENSResolveMethod[] = "brave.ens.resolve_method"; - -} // namespace decentralized_dns - -#endif // BRAVE_COMPONENTS_DECENTRALIZED_DNS_PREF_NAMES_H_ diff --git a/components/decentralized_dns/resources/decentralized_dns_interstitial.css b/components/decentralized_dns/resources/decentralized_dns_interstitial.css deleted file mode 100644 index 10c37325cefd..000000000000 --- a/components/decentralized_dns/resources/decentralized_dns_interstitial.css +++ /dev/null @@ -1,14 +0,0 @@ -.decentralized_dns #main-content a { - color: var(--google-blue-700); - text-decoration: none; -} - -.decentralized_dns button { - background: var(--primary-button-fill-color); -} - -.decentralized_dns .icon { - background-image: -webkit-image-set( - url(../../../../components/security_interstitials/core/browser/resources/images/1x/info.png) 1x, - url(../../../../components/security_interstitials/core/browser/resources/images/2x/info.png) 2x); -} diff --git a/components/decentralized_dns/resources/decentralized_dns_interstitial.html b/components/decentralized_dns/resources/decentralized_dns_interstitial.html deleted file mode 100644 index e2384e950a56..000000000000 --- a/components/decentralized_dns/resources/decentralized_dns_interstitial.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - $i18n{tabTitle} - - - - - - - - - -
-
-
-
-

$i18nRaw{heading}

-

$i18nRaw{primaryParagraph}

-
-
- -
- diff --git a/components/decentralized_dns/resources/decentralized_dns_interstitial.js b/components/decentralized_dns/resources/decentralized_dns_interstitial.js deleted file mode 100644 index 43b72210850b..000000000000 --- a/components/decentralized_dns/resources/decentralized_dns_interstitial.js +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2021 The Brave Authors. All rights reserved. -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this file, -// you can obtain one at http://mozilla.org/MPL/2.0/. - -function setupEvents() { - $('body').classList.add('decentralized_dns'); - $('icon').classList.add('icon'); - - $('primary-button').addEventListener('click', function() { - sendCommand(SecurityInterstitialCommandId.CMD_PROCEED); - }); - - $('main-content').classList.remove(HIDDEN_CLASS); - - $('dont-proceed-button').addEventListener('click', function(event) { - sendCommand(SecurityInterstitialCommandId.CMD_DONT_PROCEED); - }); -} - -document.addEventListener('DOMContentLoaded', setupEvents); diff --git a/components/decentralized_dns/utils.cc b/components/decentralized_dns/utils.cc deleted file mode 100644 index f56678806ad6..000000000000 --- a/components/decentralized_dns/utils.cc +++ /dev/null @@ -1,67 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "brave/components/decentralized_dns/utils.h" - -#include "base/feature_list.h" -#include "base/strings/string_util.h" -#include "brave/components/decentralized_dns/constants.h" -#include "brave/components/decentralized_dns/features.h" -#include "brave/components/decentralized_dns/pref_names.h" -#include "brave/net/decentralized_dns/constants.h" -#include "components/prefs/pref_service.h" -#include "url/gurl.h" - -namespace decentralized_dns { - -bool IsDecentralizedDnsEnabled() { - return base::FeatureList::IsEnabled(features::kDecentralizedDns); -} - -bool IsUnstoppableDomainsTLD(const GURL& url) { - return base::EndsWith(url.host_piece(), kCryptoDomain); -} - -bool IsUnstoppableDomainsResolveMethodAsk(PrefService* local_state) { - if (!local_state || !IsDecentralizedDnsEnabled()) { - return false; // Treat it as disabled. - } - - return local_state->GetInteger(kUnstoppableDomainsResolveMethod) == - static_cast(ResolveMethodTypes::ASK); -} - -bool IsUnstoppableDomainsResolveMethodDoH(PrefService* local_state) { - if (!local_state || !IsDecentralizedDnsEnabled()) { - return false; // Treat it as disabled. - } - - return local_state->GetInteger(kUnstoppableDomainsResolveMethod) == - static_cast(ResolveMethodTypes::DNS_OVER_HTTPS); -} - -bool IsENSTLD(const GURL& url) { - return base::EndsWith(url.host_piece(), kEthDomain); -} - -bool IsENSResolveMethodAsk(PrefService* local_state) { - if (!local_state || !IsDecentralizedDnsEnabled()) { - return false; // Treat it as disabled. - } - - return local_state->GetInteger(kENSResolveMethod) == - static_cast(ResolveMethodTypes::ASK); -} - -bool IsENSResolveMethodDoH(PrefService* local_state) { - if (!local_state || !IsDecentralizedDnsEnabled()) { - return false; // Treat it as disabled. - } - - return local_state->GetInteger(kENSResolveMethod) == - static_cast(ResolveMethodTypes::DNS_OVER_HTTPS); -} - -} // namespace decentralized_dns diff --git a/components/decentralized_dns/utils.h b/components/decentralized_dns/utils.h deleted file mode 100644 index be50e311d8f0..000000000000 --- a/components/decentralized_dns/utils.h +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef BRAVE_COMPONENTS_DECENTRALIZED_DNS_UTILS_H_ -#define BRAVE_COMPONENTS_DECENTRALIZED_DNS_UTILS_H_ - -class GURL; -class PrefService; - -namespace decentralized_dns { - -bool IsDecentralizedDnsEnabled(); - -bool IsUnstoppableDomainsTLD(const GURL& url); -bool IsUnstoppableDomainsResolveMethodAsk(PrefService* local_state); -bool IsUnstoppableDomainsResolveMethodDoH(PrefService* local_state); - -bool IsENSTLD(const GURL& url); -bool IsENSResolveMethodAsk(PrefService* local_state); -bool IsENSResolveMethodDoH(PrefService* local_state); - -} // namespace decentralized_dns - -#endif // BRAVE_COMPONENTS_DECENTRALIZED_DNS_UTILS_H_ diff --git a/components/resources/BUILD.gn b/components/resources/BUILD.gn index 8c0813b7daca..810d3c6c7382 100644 --- a/components/resources/BUILD.gn +++ b/components/resources/BUILD.gn @@ -3,7 +3,6 @@ import( import("//brave/components/brave_rewards/browser/buildflags/buildflags.gni") import("//brave/components/brave_wallet/buildflags/buildflags.gni") import("//brave/components/crypto_dot_com/browser/buildflags/buildflags.gni") -import("//brave/components/decentralized_dns/buildflags/buildflags.gni") import("//brave/components/ipfs/buildflags/buildflags.gni") import("//brave/components/sidebar/buildflags/buildflags.gni") import("//brave/components/speedreader/buildflags.gni") @@ -43,7 +42,6 @@ grit("static_resources") { "enable_speedreader=$enable_speedreader", "ipfs_enabled=$ipfs_enabled", "crypto_dot_com_enabled=$crypto_dot_com_enabled", - "decentralized_dns_enabled=$decentralized_dns_enabled", ] grit_flags = [ @@ -97,7 +95,6 @@ grit("strings") { defines = [ "enable_speedreader=$enable_speedreader", "ipfs_enabled=$ipfs_enabled", - "decentralized_dns_enabled=$decentralized_dns_enabled", "crypto_dot_com_enabled=$crypto_dot_com_enabled", "enable_tor=$enable_tor", "enable_sidebar=$enable_sidebar", diff --git a/components/resources/brave_components_resources.grd b/components/resources/brave_components_resources.grd index 3b59f7599f59..89f2c529fa05 100644 --- a/components/resources/brave_components_resources.grd +++ b/components/resources/brave_components_resources.grd @@ -63,7 +63,6 @@ - diff --git a/components/resources/brave_components_strings.grd b/components/resources/brave_components_strings.grd index c25e3b3b8c11..26ef4244c191 100644 --- a/components/resources/brave_components_strings.grd +++ b/components/resources/brave_components_strings.grd @@ -1072,7 +1072,6 @@ I understand - diff --git a/components/resources/decentralized_dns_resources.grdp b/components/resources/decentralized_dns_resources.grdp deleted file mode 100644 index 7f1d12095c04..000000000000 --- a/components/resources/decentralized_dns_resources.grdp +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/components/resources/decentralized_dns_strings.grdp b/components/resources/decentralized_dns_strings.grdp deleted file mode 100644 index d8e368823ee5..000000000000 --- a/components/resources/decentralized_dns_strings.grdp +++ /dev/null @@ -1,29 +0,0 @@ - - - - - Unstoppable Domains - - - Enable support of Unstoppable Domains in Brave? - - - Brave can enable you to visit .crypto domains by using Cloudflare to resolve .crypto domain name lookup requests using DNS over HTTPS. If you enable this, Cloudflare will see the .crypto domain that you're trying to visit but they will not be able to see other domains. See Cloudflare's $1terms of use$2 and $3privacy policy$4. - - - Ethereum Name Service - - - Enable support of Ethereum Name Service (ENS) in Brave? - - - Brave can enable you to visit .eth domains by using Cloudflare to resolve .eth domain name lookup requests using DNS over HTTPS. If you enable this, Cloudflare will see the .eth domain that you're trying to visit but they will not be able to see other domains. See Cloudflare's $1terms of use$2 and $3privacy policy$4. - - - Proceed using Cloudflare server - - - Disable - - - diff --git a/net/decentralized_dns/constants.h b/net/decentralized_dns/constants.h deleted file mode 100644 index 46f08a76f378..000000000000 --- a/net/decentralized_dns/constants.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef BRAVE_NET_DECENTRALIZED_DNS_CONSTANTS_H_ -#define BRAVE_NET_DECENTRALIZED_DNS_CONSTANTS_H_ - -namespace decentralized_dns { - -constexpr char kCryptoDomain[] = ".crypto"; -constexpr char kUnstoppableDomainsDoHResolver[] = - "https://resolver.unstoppable.io/dns-query{?brave_UD}"; - -constexpr char kEthDomain[] = ".eth"; -constexpr char kENSDoHResolver[] = - "https://resolver.cloudflare-eth.com/dns-query{?brave_ENS}"; - -} // namespace decentralized_dns - -#endif // BRAVE_NET_DECENTRALIZED_DNS_CONSTANTS_H_ diff --git a/net/dns/brave_resolve_context.cc b/net/dns/brave_resolve_context.cc deleted file mode 100644 index 19cd3489c99d..000000000000 --- a/net/dns/brave_resolve_context.cc +++ /dev/null @@ -1,68 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "brave/net/dns/brave_resolve_context.h" - -#include - -#include "brave/net/decentralized_dns/constants.h" -#include "net/dns/dns_session.h" - -namespace { - -bool IsDecentralizedDNSResolver(const std::string& server) { - return server == decentralized_dns::kUnstoppableDomainsDoHResolver || - server == decentralized_dns::kENSDoHResolver; -} - -} // namespace - -namespace net { - -BraveResolveContext::BraveResolveContext(URLRequestContext* url_request_context, - bool enable_caching) - : ResolveContext(url_request_context, enable_caching) {} - -BraveResolveContext::~BraveResolveContext() = default; - -bool BraveResolveContext::IsFirstProbeCompleted(const ServerStats& stat) const { - return !(stat.last_failure_count == 0 && - stat.current_connection_success == false); -} - -bool BraveResolveContext::GetDohServerAvailability( - size_t doh_server_index, - const DnsSession* session) const { - // Return decentralized DNS resolvers as available before the first probe is - // completed. It is to avoid falling back to non-secure DNS servers before - // the first probe is completed when users using automatic mode, which will - // lead to an error page with HOSTNAME_NOT_RESOLVED error right after user - // opt-in from the interstitial page. - if (IsDecentralizedDNSResolver(session->config() - .dns_over_https_servers[doh_server_index] - .server_template) && - !IsFirstProbeCompleted(doh_server_stats_[doh_server_index])) - return true; - - return ResolveContext::GetDohServerAvailability(doh_server_index, session); -} - -size_t BraveResolveContext::NumAvailableDohServers( - const DnsSession* session) const { - size_t num = 0; - - // Treat decentralized DNS resolvers as available before the first probe is - // completed. - for (size_t i = 0; i < doh_server_stats_.size(); i++) { - if (IsDecentralizedDNSResolver( - session->config().dns_over_https_servers[i].server_template) && - !IsFirstProbeCompleted(doh_server_stats_[i])) - num++; - } - - return num + ResolveContext::NumAvailableDohServers(session); -} - -} // namespace net diff --git a/net/dns/brave_resolve_context.h b/net/dns/brave_resolve_context.h deleted file mode 100644 index 73d0e14a2f3e..000000000000 --- a/net/dns/brave_resolve_context.h +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef BRAVE_NET_DNS_BRAVE_RESOLVE_CONTEXT_H_ -#define BRAVE_NET_DNS_BRAVE_RESOLVE_CONTEXT_H_ - -#include "net/base/net_export.h" -#include "net/dns/resolve_context.h" - -namespace net { - -class DnsSession; -class URLRequestContext; - -class NET_EXPORT_PRIVATE BraveResolveContext : public ResolveContext { - public: - BraveResolveContext(URLRequestContext* url_request_context, - bool enable_caching); - - BraveResolveContext(const BraveResolveContext&) = delete; - BraveResolveContext& operator=(const BraveResolveContext&) = delete; - - ~BraveResolveContext() override; - - bool GetDohServerAvailability(size_t doh_server_index, - const DnsSession* session) const override; - size_t NumAvailableDohServers(const DnsSession* session) const override; - - private: - bool IsFirstProbeCompleted(const ServerStats& stat) const; -}; - -} // namespace net - -#endif // BRAVE_NET_DNS_BRAVE_RESOLVE_CONTEXT_H_ diff --git a/net/dns/brave_resolve_context_unittest.cc b/net/dns/brave_resolve_context_unittest.cc deleted file mode 100644 index 369315893ff6..000000000000 --- a/net/dns/brave_resolve_context_unittest.cc +++ /dev/null @@ -1,128 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "brave/net/dns/brave_resolve_context.h" - -#include - -#include "base/bind.h" -#include "base/test/task_environment.h" -#include "brave/net/decentralized_dns/constants.h" -#include "net/base/net_errors.h" -#include "net/dns/dns_config.h" -#include "net/dns/dns_server_iterator.h" -#include "net/dns/dns_session.h" -#include "net/dns/dns_socket_allocator.h" -#include "net/dns/public/dns_over_https_server_config.h" -#include "net/url_request/url_request_context.h" -#include "testing/gtest/include/gtest/gtest.h" - -namespace net { - -namespace { - -DnsConfig CreateDnsConfig() { - DnsConfig config; - - config.dns_over_https_servers.push_back(DnsOverHttpsServerConfig( - decentralized_dns::kUnstoppableDomainsDoHResolver, true /* is_post */)); - config.dns_over_https_servers.push_back(DnsOverHttpsServerConfig( - decentralized_dns::kENSDoHResolver, true /* is_post */)); - - return config; -} - -class BraveResolveContextTest : public testing::Test { - public: - BraveResolveContextTest() = default; - - scoped_refptr CreateDnsSession(const DnsConfig& config) { - // Session not expected to be used for anything that will actually - // require random numbers. - auto null_random_callback = - base::BindRepeating([](int, int) -> int { IMMEDIATE_CRASH(); }); - - return base::MakeRefCounted( - config, nullptr /* socket_allocator */, null_random_callback, - nullptr /* netlog */); - } - - private: - base::test::TaskEnvironment task_environment_; -}; - -TEST_F(BraveResolveContextTest, DohServerAvailability_InitialAvailability) { - DnsConfig config = CreateDnsConfig(); - scoped_refptr session = CreateDnsSession(config); - - URLRequestContext request_context; - BraveResolveContext context(&request_context, true /* enable_caching */); - context.InvalidateCachesAndPerSessionData(session.get(), - false /* network_change */); - - EXPECT_EQ(context.NumAvailableDohServers(session.get()), 2u); - EXPECT_TRUE(context.GetDohServerAvailability(0u, session.get())); - EXPECT_TRUE(context.GetDohServerAvailability(1u, session.get())); - - std::unique_ptr doh_itr = context.GetDohIterator( - session->config(), SecureDnsMode::kAutomatic, session.get()); - EXPECT_TRUE(doh_itr->AttemptAvailable()); -} - -TEST_F(BraveResolveContextTest, DohServerAvailability_RecordServerFailure) { - scoped_refptr session = CreateDnsSession(CreateDnsConfig()); - - URLRequestContext request_context; - BraveResolveContext context(&request_context, true /* enable_caching */); - context.InvalidateCachesAndPerSessionData(session.get(), - false /* network_change */); - - context.RecordServerFailure(0u /* server_index */, true /* is_doh_server */, - ERR_FAILED, session.get()); - EXPECT_EQ(context.NumAvailableDohServers(session.get()), 1u); - EXPECT_FALSE(context.GetDohServerAvailability(0u, session.get())); - EXPECT_TRUE(context.GetDohServerAvailability(1u, session.get())); - - std::unique_ptr doh_itr = context.GetDohIterator( - session->config(), SecureDnsMode::kAutomatic, session.get()); - EXPECT_TRUE(doh_itr->AttemptAvailable()); - - context.RecordServerFailure(1u /* server_index */, true /* is_doh_server */, - ERR_FAILED, session.get()); - EXPECT_EQ(context.NumAvailableDohServers(session.get()), 0u); - EXPECT_FALSE(context.GetDohServerAvailability(0u, session.get())); - EXPECT_FALSE(context.GetDohServerAvailability(1u, session.get())); - EXPECT_FALSE(doh_itr->AttemptAvailable()); -} - -TEST_F(BraveResolveContextTest, DohServerAvailability_RecordServerSuccess) { - scoped_refptr session = CreateDnsSession(CreateDnsConfig()); - - URLRequestContext request_context; - BraveResolveContext context(&request_context, true /* enable_caching */); - context.InvalidateCachesAndPerSessionData(session.get(), - false /* network_change */); - - context.RecordServerSuccess(0u /* server_index */, true /* is_doh_server */, - session.get()); - EXPECT_EQ(context.NumAvailableDohServers(session.get()), 2u); - EXPECT_TRUE(context.GetDohServerAvailability(0u, session.get())); - EXPECT_TRUE(context.GetDohServerAvailability(1u, session.get())); - - std::unique_ptr doh_itr = context.GetDohIterator( - session->config(), SecureDnsMode::kAutomatic, session.get()); - EXPECT_TRUE(doh_itr->AttemptAvailable()); - - context.RecordServerSuccess(1u /* server_index */, true /* is_doh_server */, - session.get()); - EXPECT_EQ(context.NumAvailableDohServers(session.get()), 2u); - EXPECT_TRUE(context.GetDohServerAvailability(0u, session.get())); - EXPECT_TRUE(context.GetDohServerAvailability(1u, session.get())); - EXPECT_TRUE(doh_itr->AttemptAvailable()); -} - -} // namespace - -} // namespace net diff --git a/net/dns/dns_transaction_unittest.cc b/net/dns/dns_transaction_unittest.cc deleted file mode 100644 index 8965c61d10b8..000000000000 --- a/net/dns/dns_transaction_unittest.cc +++ /dev/null @@ -1,1072 +0,0 @@ -/* Copyright (c) 2021 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "net/dns/dns_transaction.h" - -#include - -#include -#include -#include - -#include "base/base64url.h" -#include "base/bind.h" -#include "base/containers/circular_deque.h" -#include "base/optional.h" -#include "base/rand_util.h" -#include "base/run_loop.h" -#include "base/stl_util.h" -#include "base/strings/string_util.h" -#include "base/strings/stringprintf.h" -#include "base/sys_byteorder.h" -#include "base/test/metrics/histogram_tester.h" -#include "base/threading/thread_task_runner_handle.h" -#include "base/time/time.h" -#include "base/values.h" -#include "brave/net/decentralized_dns/constants.h" -#include "net/base/ip_address.h" -#include "net/base/port_util.h" -#include "net/base/upload_bytes_element_reader.h" -#include "net/base/url_util.h" -#include "net/cookies/cookie_access_result.h" -#include "net/cookies/cookie_util.h" -#include "net/dns/dns_config.h" -#include "net/dns/dns_query.h" -#include "net/dns/dns_response.h" -#include "net/dns/dns_server_iterator.h" -#include "net/dns/dns_session.h" -#include "net/dns/dns_socket_allocator.h" -#include "net/dns/dns_test_util.h" -#include "net/dns/dns_util.h" -#include "net/dns/public/dns_over_https_server_config.h" -#include "net/dns/public/dns_protocol.h" -#include "net/dns/resolve_context.h" -#include "net/log/net_log.h" -#include "net/log/net_log_capture_mode.h" -#include "net/log/net_log_with_source.h" -#include "net/log/test_net_log.h" -#include "net/proxy_resolution/proxy_config_service_fixed.h" -#include "net/socket/socket_test_util.h" -#include "net/test/gtest_util.h" -#include "net/test/test_with_task_environment.h" -#include "net/test/url_request/url_request_failed_job.h" -#include "net/third_party/uri_template/uri_template.h" -#include "net/url_request/url_request_filter.h" -#include "net/url_request/url_request_interceptor.h" -#include "net/url_request/url_request_test_util.h" -#include "testing/gmock/include/gmock/gmock.h" -#include "testing/gtest/include/gtest/gtest.h" - -using net::test::IsOk; - -namespace net { - -namespace { - -base::TimeDelta kFallbackPeriod = base::TimeDelta::FromSeconds(1); - -const char kMockHostname[] = "mock.http"; - -std::string DomainFromDot(const base::StringPiece& dotted) { - std::string out; - EXPECT_TRUE(DNSDomainFromDot(dotted, &out)); - return out; -} - -enum class Transport { UDP, TCP, HTTPS }; - -// A SocketDataProvider builder. -class DnsSocketData { - public: - // The ctor takes parameters for the DnsQuery. - DnsSocketData(uint16_t id, - const char* dotted_name, - uint16_t qtype, - IoMode mode, - Transport transport, - const OptRecordRdata* opt_rdata = nullptr, - DnsQuery::PaddingStrategy padding_strategy = - DnsQuery::PaddingStrategy::NONE) - : query_(new DnsQuery(id, - DomainFromDot(dotted_name), - qtype, - opt_rdata, - padding_strategy)), - transport_(transport) { - if (Transport::TCP == transport_) { - std::unique_ptr length(new uint16_t); - *length = base::HostToNet16(query_->io_buffer()->size()); - writes_.push_back(MockWrite(mode, - reinterpret_cast(length.get()), - sizeof(uint16_t), num_reads_and_writes())); - lengths_.push_back(std::move(length)); - } - writes_.push_back(MockWrite(mode, query_->io_buffer()->data(), - query_->io_buffer()->size(), - num_reads_and_writes())); - } - ~DnsSocketData() = default; - - // All responses must be added before GetProvider. - - // Adds pre-built DnsResponse. |tcp_length| will be used in TCP mode only. - void AddResponseWithLength(std::unique_ptr response, - IoMode mode, - uint16_t tcp_length) { - CHECK(!provider_.get()); - if (Transport::TCP == transport_) { - std::unique_ptr length(new uint16_t); - *length = base::HostToNet16(tcp_length); - reads_.push_back(MockRead(mode, - reinterpret_cast(length.get()), - sizeof(uint16_t), num_reads_and_writes())); - lengths_.push_back(std::move(length)); - } - reads_.push_back(MockRead(mode, response->io_buffer()->data(), - response->io_buffer_size(), - num_reads_and_writes())); - responses_.push_back(std::move(response)); - } - - // Adds pre-built DnsResponse. - void AddResponse(std::unique_ptr response, IoMode mode) { - uint16_t tcp_length = response->io_buffer_size(); - AddResponseWithLength(std::move(response), mode, tcp_length); - } - - // Adds pre-built response from |data| buffer. - void AddResponseData(const uint8_t* data, size_t length, IoMode mode) { - CHECK(!provider_.get()); - AddResponse(std::make_unique( - reinterpret_cast(data), length, 0), - mode); - } - - // Adds pre-built response from |data| buffer. - void AddResponseData(const uint8_t* data, - size_t length, - int offset, - IoMode mode) { - CHECK(!provider_.get()); - AddResponse( - std::make_unique(reinterpret_cast(data), - length - offset, offset), - mode); - } - - // Add no-answer (RCODE only) response matching the query. - void AddRcode(int rcode, IoMode mode) { - std::unique_ptr response(new DnsResponse( - query_->io_buffer()->data(), query_->io_buffer()->size(), 0)); - dns_protocol::Header* header = - reinterpret_cast(response->io_buffer()->data()); - header->flags |= base::HostToNet16(dns_protocol::kFlagResponse | rcode); - AddResponse(std::move(response), mode); - } - - // Add error response. - void AddReadError(int error, IoMode mode) { - reads_.push_back(MockRead(mode, error, num_reads_and_writes())); - } - - // Build, if needed, and return the SocketDataProvider. No new responses - // should be added afterwards. - SequencedSocketData* GetProvider() { - if (provider_.get()) - return provider_.get(); - // Terminate the reads with ERR_IO_PENDING to prevent overrun and default to - // timeout. - if (transport_ != Transport::HTTPS) { - reads_.push_back(MockRead(SYNCHRONOUS, ERR_IO_PENDING, - writes_.size() + reads_.size())); - } - provider_.reset(new SequencedSocketData(reads_, writes_)); - if (Transport::TCP == transport_ || Transport::HTTPS == transport_) { - provider_->set_connect_data(MockConnect(reads_[0].mode, OK)); - } - return provider_.get(); - } - - uint16_t query_id() const { return query_->id(); } - - IOBufferWithSize* query_buffer() { return query_->io_buffer(); } - - private: - size_t num_reads_and_writes() const { return reads_.size() + writes_.size(); } - - std::unique_ptr query_; - Transport transport_; - std::vector> lengths_; - std::vector> responses_; - std::vector writes_; - std::vector reads_; - std::unique_ptr provider_; - - DISALLOW_COPY_AND_ASSIGN(DnsSocketData); -}; - -class TestSocketFactory; - -// A variant of MockUDPClientSocket which always fails to Connect. -class FailingUDPClientSocket : public MockUDPClientSocket { - public: - FailingUDPClientSocket(SocketDataProvider* data, net::NetLog* net_log) - : MockUDPClientSocket(data, net_log) {} - ~FailingUDPClientSocket() override = default; - int Connect(const IPEndPoint& endpoint) override { - return ERR_CONNECTION_REFUSED; - } - - private: - DISALLOW_COPY_AND_ASSIGN(FailingUDPClientSocket); -}; - -// A variant of MockUDPClientSocket which notifies the factory OnConnect. -class TestUDPClientSocket : public MockUDPClientSocket { - public: - TestUDPClientSocket(TestSocketFactory* factory, - SocketDataProvider* data, - net::NetLog* net_log) - : MockUDPClientSocket(data, net_log), factory_(factory) {} - ~TestUDPClientSocket() override = default; - int Connect(const IPEndPoint& endpoint) override; - - private: - TestSocketFactory* factory_; - - DISALLOW_COPY_AND_ASSIGN(TestUDPClientSocket); -}; - -// Creates TestUDPClientSockets and keeps endpoints reported via OnConnect. -class TestSocketFactory : public MockClientSocketFactory { - public: - TestSocketFactory() = default; - ~TestSocketFactory() override = default; - - std::unique_ptr CreateDatagramClientSocket( - DatagramSocket::BindType bind_type, - NetLog* net_log, - const NetLogSource& source) override { - if (fail_next_socket_) { - fail_next_socket_ = false; - return std::unique_ptr( - new FailingUDPClientSocket(&empty_data_, net_log)); - } - - SocketDataProvider* data_provider = mock_data().GetNext(); - auto socket = - std::make_unique(this, data_provider, net_log); - - // Even using DEFAULT_BIND, actual sockets have been measured to very rarely - // repeat the same source port multiple times in a row. Need to mimic that - // functionality here, so DnsUdpTracker doesn't misdiagnose repeated port - // as low entropy. - if (diverse_source_ports_) - socket->set_source_port(next_source_port_++); - - return socket; - } - - void OnConnect(const IPEndPoint& endpoint) { - remote_endpoints_.emplace_back(endpoint); - } - - struct RemoteNameserver { - explicit RemoteNameserver(IPEndPoint insecure_nameserver) - : insecure_nameserver(insecure_nameserver) {} - explicit RemoteNameserver(DnsOverHttpsServerConfig secure_nameserver) - : secure_nameserver(secure_nameserver) {} - - base::Optional insecure_nameserver; - base::Optional secure_nameserver; - }; - - std::vector remote_endpoints_; - bool fail_next_socket_ = false; - bool diverse_source_ports_ = true; - - private: - StaticSocketDataProvider empty_data_; - uint16_t next_source_port_ = 123; -}; - -int TestUDPClientSocket::Connect(const IPEndPoint& endpoint) { - factory_->OnConnect(endpoint); - return MockUDPClientSocket::Connect(endpoint); -} - -// Helper class that holds a DnsTransaction and handles OnTransactionComplete. -class TransactionHelper { - public: - // If |expected_answer_count| < 0 then it is the expected net error. - explicit TransactionHelper(int expected_answer_count) - : expected_answer_count_(expected_answer_count) {} - - // Mark that the transaction shall be destroyed immediately upon callback. - void set_cancel_in_callback() { cancel_in_callback_ = true; } - - void StartTransaction(DnsTransactionFactory* factory, - const char* hostname, - uint16_t qtype, - bool secure, - ResolveContext* context) { - std::unique_ptr transaction = factory->CreateTransaction( - hostname, qtype, CompletionCallback(), - NetLogWithSource::Make(&net_log_, net::NetLogSourceType::NONE), secure, - factory->GetSecureDnsModeForTest(), context, true /* fast_timeout */); - transaction->SetRequestPriority(DEFAULT_PRIORITY); - EXPECT_EQ(qtype, transaction->GetType()); - StartTransaction(std::move(transaction)); - } - - void StartTransaction(std::unique_ptr transaction) { - EXPECT_FALSE(transaction_); - transaction_ = std::move(transaction); - qtype_ = transaction_->GetType(); - transaction_->Start(); - } - - void Cancel() { - ASSERT_TRUE(transaction_.get() != nullptr); - transaction_.reset(nullptr); - } - - DnsTransactionFactory::CallbackType CompletionCallback() { - return base::BindOnce(&TransactionHelper::OnTransactionComplete, - base::Unretained(this)); - } - - void OnTransactionComplete(DnsTransaction* t, - int rv, - const DnsResponse* response, - base::Optional doh_provider_id) { - EXPECT_FALSE(completed_); - EXPECT_EQ(transaction_.get(), t); - - completed_ = true; - response_ = response; - - transaction_complete_run_loop_.Quit(); - - if (cancel_in_callback_) { - Cancel(); - return; - } - - if (response) - EXPECT_TRUE(response->IsValid()); - - if (expected_answer_count_ >= 0) { - ASSERT_THAT(rv, IsOk()); - ASSERT_TRUE(response != nullptr); - EXPECT_EQ(static_cast(expected_answer_count_), - response->answer_count()); - EXPECT_EQ(qtype_, response->qtype()); - - DnsRecordParser parser = response->Parser(); - DnsResourceRecord record; - for (int i = 0; i < expected_answer_count_; ++i) { - EXPECT_TRUE(parser.ReadRecord(&record)); - } - } else { - EXPECT_EQ(expected_answer_count_, rv); - } - } - - bool has_completed() const { return completed_; } - const DnsResponse* response() const { return response_; } - NetLog* net_log() { return &net_log_; } - - // Runs until the completion callback is called. Transaction must have already - // been started or this will never complete. - void RunUntilComplete() { - DCHECK(transaction_); - DCHECK(!transaction_complete_run_loop_.running()); - transaction_complete_run_loop_.Run(); - DCHECK(has_completed()); - } - - private: - uint16_t qtype_ = 0; - std::unique_ptr transaction_; - const DnsResponse* response_ = nullptr; - int expected_answer_count_; - bool cancel_in_callback_ = false; - base::RunLoop transaction_complete_run_loop_; - bool completed_ = false; - TestNetLog net_log_; -}; - -// Callback that allows a test to modify HttpResponseinfo -// before the response is sent to the requester. This allows -// response headers to be changed. -typedef base::RepeatingCallback - ResponseModifierCallback; - -// Callback that allows the test to substitute its own implementation -// of URLRequestJob to handle the request. -typedef base::RepeatingCallback( - URLRequest* request, - SocketDataProvider* data_provider)> - DohJobMakerCallback; - -// Subclass of URLRequestJob which takes a SocketDataProvider with data -// representing both a DNS over HTTPS query and response. -class URLRequestMockDohJob : public URLRequestJob, public AsyncSocket { - public: - URLRequestMockDohJob( - URLRequest* request, - SocketDataProvider* data_provider, - ResponseModifierCallback response_modifier = ResponseModifierCallback()) - : URLRequestJob(request), - content_length_(0), - leftover_data_len_(0), - data_provider_(data_provider), - response_modifier_(response_modifier) { - data_provider_->Initialize(this); - MatchQueryData(request, data_provider); - } - - // Compare the query contained in either the POST body or the body - // parameter of the GET query to the write data of the SocketDataProvider. - static void MatchQueryData(URLRequest* request, - SocketDataProvider* data_provider) { - std::string decoded_query; - if (request->method() == "GET") { - std::string encoded_query; - EXPECT_TRUE(GetValueForKeyInQuery(request->url(), "dns", &encoded_query)); - EXPECT_GT(encoded_query.size(), 0ul); - - EXPECT_TRUE(base::Base64UrlDecode( - encoded_query, base::Base64UrlDecodePolicy::IGNORE_PADDING, - &decoded_query)); - } else if (request->method() == "POST") { - const UploadDataStream* stream = request->get_upload_for_testing(); - auto* readers = stream->GetElementReaders(); - EXPECT_TRUE(readers); - EXPECT_FALSE(readers->empty()); - for (auto& reader : *readers) { - const UploadBytesElementReader* byte_reader = reader->AsBytesReader(); - decoded_query += - std::string(byte_reader->bytes(), byte_reader->length()); - } - } - - std::string query(decoded_query); - MockWriteResult result(SYNCHRONOUS, 1); - while (result.result > 0 && query.length() > 0) { - result = data_provider->OnWrite(query); - if (result.result > 0) - query = query.substr(result.result); - } - } - - static std::string GetMockHttpsUrl(const std::string& path) { - return "https://" + (kMockHostname + ("/" + path)); - } - - // URLRequestJob implementation: - void Start() override { - // Start reading asynchronously so that all error reporting and data - // callbacks happen as they would for network requests. - base::ThreadTaskRunnerHandle::Get()->PostTask( - FROM_HERE, base::BindOnce(&URLRequestMockDohJob::StartAsync, - weak_factory_.GetWeakPtr())); - } - - ~URLRequestMockDohJob() override { - if (data_provider_) - data_provider_->DetachSocket(); - } - - int ReadRawData(IOBuffer* buf, int buf_size) override { - if (!data_provider_) - return ERR_FAILED; - if (leftover_data_len_ > 0) { - int rv = DoBufferCopy(leftover_data_, leftover_data_len_, buf, buf_size); - return rv; - } - - if (data_provider_->AllReadDataConsumed()) - return 0; - - MockRead read = data_provider_->OnRead(); - - if (read.result < ERR_IO_PENDING) - return read.result; - - if (read.result == ERR_IO_PENDING) { - pending_buf_ = buf; - pending_buf_size_ = buf_size; - return ERR_IO_PENDING; - } - return DoBufferCopy(read.data, read.data_len, buf, buf_size); - } - - void GetResponseInfo(HttpResponseInfo* info) override { - // Send back mock headers. - std::string raw_headers; - raw_headers.append( - "HTTP/1.1 200 OK\n" - "Content-type: application/dns-message\n"); - if (content_length_ > 0) { - raw_headers.append(base::StringPrintf("Content-Length: %1d\n", - static_cast(content_length_))); - } - info->headers = base::MakeRefCounted( - HttpUtil::AssembleRawHeaders(raw_headers)); - if (response_modifier_) - response_modifier_.Run(request(), info); - } - - // AsyncSocket implementation: - void OnReadComplete(const MockRead& data) override { - EXPECT_NE(data.result, ERR_IO_PENDING); - if (data.result < 0) - return ReadRawDataComplete(data.result); - ReadRawDataComplete(DoBufferCopy(data.data, data.data_len, pending_buf_, - pending_buf_size_)); - } - void OnWriteComplete(int rv) override {} - void OnConnectComplete(const MockConnect& data) override {} - void OnDataProviderDestroyed() override { data_provider_ = nullptr; } - - private: - void StartAsync() { - if (!request_) - return; - if (content_length_) - set_expected_content_size(content_length_); - NotifyHeadersComplete(); - } - - int DoBufferCopy(const char* data, - int data_len, - IOBuffer* buf, - int buf_size) { - if (data_len > buf_size) { - memcpy(buf->data(), data, buf_size); - leftover_data_ = data + buf_size; - leftover_data_len_ = data_len - buf_size; - return buf_size; - } - memcpy(buf->data(), data, data_len); - return data_len; - } - - const int content_length_; - const char* leftover_data_; - int leftover_data_len_; - SocketDataProvider* data_provider_; - const ResponseModifierCallback response_modifier_; - IOBuffer* pending_buf_; - int pending_buf_size_; - - base::WeakPtrFactory weak_factory_{this}; - - DISALLOW_COPY_AND_ASSIGN(URLRequestMockDohJob); -}; - -class DnsTransactionTestBase : public testing::Test { - public: - DnsTransactionTestBase() = default; - - ~DnsTransactionTestBase() override { - // All queued transaction IDs should be used by a transaction calling - // GetNextId(). - CHECK(transaction_ids_.empty()); - } - - // Generates |nameservers| for DnsConfig. - void ConfigureNumServers(size_t num_servers) { - CHECK_LE(num_servers, 255u); - config_.nameservers.clear(); - for (size_t i = 0; i < num_servers; ++i) { - config_.nameservers.push_back( - IPEndPoint(IPAddress(192, 168, 1, i), dns_protocol::kDefaultPort)); - } - } - - // Configures the DnsConfig DNS-over-HTTPS server(s), which either - // accept GET or POST requests based on use_post. If a - // ResponseModifierCallback is provided it will be called to construct the - // HTTPResponse. - void ConfigureDohServers(bool use_post, - size_t num_doh_servers = 1, - bool make_available = true) { - GURL url(URLRequestMockDohJob::GetMockHttpsUrl("doh_test")); - URLRequestFilter* filter = URLRequestFilter::GetInstance(); - filter->AddHostnameInterceptor(url.scheme(), url.host(), - std::make_unique(this)); - CHECK_LE(num_doh_servers, 255u); - for (size_t i = 0; i < num_doh_servers; ++i) { - std::string server_template(URLRequestMockDohJob::GetMockHttpsUrl( - base::StringPrintf("doh_test_%zu", i)) + - "{?dns}"); - config_.dns_over_https_servers.push_back( - DnsOverHttpsServerConfig(server_template, use_post)); - } - ConfigureFactory(); - - if (make_available) { - for (size_t server_index = 0; server_index < num_doh_servers; - ++server_index) { - resolve_context_->RecordServerSuccess( - server_index, true /* is_doh_server */, session_.get()); - } - } - } - - // Called after fully configuring |config|. - void ConfigureFactory() { - socket_factory_.reset(new TestSocketFactory()); - session_ = new DnsSession( - config_, - std::make_unique( - socket_factory_.get(), config_.nameservers, nullptr /* net_log */), - base::BindRepeating(&DnsTransactionTestBase::GetNextId, - base::Unretained(this)), - nullptr /* NetLog */); - resolve_context_->InvalidateCachesAndPerSessionData( - session_.get(), false /* network_change */); - transaction_factory_ = DnsTransactionFactory::CreateFactory(session_.get()); - } - - void AddSocketData(std::unique_ptr data, - bool enqueue_transaction_id = true) { - CHECK(socket_factory_.get()); - if (enqueue_transaction_id) - transaction_ids_.push_back(data->query_id()); - socket_factory_->AddSocketDataProvider(data->GetProvider()); - socket_data_.push_back(std::move(data)); - } - - // Add expected query for |dotted_name| and |qtype| with |id| and response - // taken verbatim from |data| of |data_length| bytes. The transaction id in - // |data| should equal |id|, unless testing mismatched response. - void AddQueryAndResponse(uint16_t id, - const char* dotted_name, - uint16_t qtype, - const uint8_t* response_data, - size_t response_length, - IoMode mode, - Transport transport, - const OptRecordRdata* opt_rdata = nullptr, - DnsQuery::PaddingStrategy padding_strategy = - DnsQuery::PaddingStrategy::NONE, - bool enqueue_transaction_id = true) { - CHECK(socket_factory_.get()); - std::unique_ptr data(new DnsSocketData( - id, dotted_name, qtype, mode, transport, opt_rdata, padding_strategy)); - data->AddResponseData(response_data, response_length, mode); - AddSocketData(std::move(data), enqueue_transaction_id); - } - - void AddQueryAndErrorResponse(uint16_t id, - const char* dotted_name, - uint16_t qtype, - int error, - IoMode mode, - Transport transport, - const OptRecordRdata* opt_rdata = nullptr, - DnsQuery::PaddingStrategy padding_strategy = - DnsQuery::PaddingStrategy::NONE, - bool enqueue_transaction_id = true) { - CHECK(socket_factory_.get()); - std::unique_ptr data(new DnsSocketData( - id, dotted_name, qtype, mode, transport, opt_rdata, padding_strategy)); - data->AddReadError(error, mode); - AddSocketData(std::move(data), enqueue_transaction_id); - } - - void AddAsyncQueryAndResponse(uint16_t id, - const char* dotted_name, - uint16_t qtype, - const uint8_t* data, - size_t data_length, - const OptRecordRdata* opt_rdata = nullptr) { - AddQueryAndResponse(id, dotted_name, qtype, data, data_length, ASYNC, - Transport::UDP, opt_rdata); - } - - void AddSyncQueryAndResponse(uint16_t id, - const char* dotted_name, - uint16_t qtype, - const uint8_t* data, - size_t data_length, - const OptRecordRdata* opt_rdata = nullptr) { - AddQueryAndResponse(id, dotted_name, qtype, data, data_length, SYNCHRONOUS, - Transport::UDP, opt_rdata); - } - - // Add expected query of |dotted_name| and |qtype| and no response. - void AddHangingQuery( - const char* dotted_name, - uint16_t qtype, - DnsQuery::PaddingStrategy padding_strategy = - DnsQuery::PaddingStrategy::NONE, - uint16_t id = base::RandInt(0, std::numeric_limits::max()), - bool enqueue_transaction_id = true) { - std::unique_ptr data( - new DnsSocketData(id, dotted_name, qtype, ASYNC, Transport::UDP, - nullptr /* opt_rdata */, padding_strategy)); - AddSocketData(std::move(data), enqueue_transaction_id); - } - - // Add expected query of |dotted_name| and |qtype| and matching response with - // no answer and RCODE set to |rcode|. The id will be generated randomly. - void AddQueryAndRcode( - const char* dotted_name, - uint16_t qtype, - int rcode, - IoMode mode, - Transport trans, - DnsQuery::PaddingStrategy padding_strategy = - DnsQuery::PaddingStrategy::NONE, - uint16_t id = base::RandInt(0, std::numeric_limits::max()), - bool enqueue_transaction_id = true) { - CHECK_NE(dns_protocol::kRcodeNOERROR, rcode); - std::unique_ptr data( - new DnsSocketData(id, dotted_name, qtype, mode, trans, - nullptr /* opt_rdata */, padding_strategy)); - data->AddRcode(rcode, mode); - AddSocketData(std::move(data), enqueue_transaction_id); - } - - void AddAsyncQueryAndRcode(const char* dotted_name, - uint16_t qtype, - int rcode) { - AddQueryAndRcode(dotted_name, qtype, rcode, ASYNC, Transport::UDP); - } - - void AddSyncQueryAndRcode(const char* dotted_name, - uint16_t qtype, - int rcode) { - AddQueryAndRcode(dotted_name, qtype, rcode, SYNCHRONOUS, Transport::UDP); - } - - // Checks if the sockets were connected in the order matching the indices in - // |servers|. - void CheckServerOrder(const size_t* servers, size_t num_attempts) { - ASSERT_EQ(num_attempts, socket_factory_->remote_endpoints_.size()); - auto num_insecure_nameservers = session_->config().nameservers.size(); - for (size_t i = 0; i < num_attempts; ++i) { - if (servers[i] < num_insecure_nameservers) { - // Check insecure server match. - EXPECT_EQ( - socket_factory_->remote_endpoints_[i].insecure_nameserver.value(), - session_->config().nameservers[servers[i]]); - } else { - // Check secure server match. - EXPECT_EQ( - socket_factory_->remote_endpoints_[i].secure_nameserver.value(), - session_->config() - .dns_over_https_servers[servers[i] - num_insecure_nameservers]); - } - } - } - - std::unique_ptr MaybeInterceptRequest(URLRequest* request) { - // If the path indicates a redirect, skip checking the list of - // configured servers, because it won't be there and we still want - // to handle it. - bool server_found = request->url().path() == "/redirect-destination"; - for (auto server : config_.dns_over_https_servers) { - if (server_found) - break; - std::string url_base = - GetURLFromTemplateWithoutParameters(server.server_template); - if (server.use_post && request->method() == "POST") { - if (url_base == request->url().spec()) { - server_found = true; - socket_factory_->remote_endpoints_.emplace_back(server); - } - } else if (!server.use_post && request->method() == "GET") { - std::string prefix = url_base + "?dns="; - auto mispair = std::mismatch(prefix.begin(), prefix.end(), - request->url().spec().begin()); - if (mispair.first == prefix.end()) { - server_found = true; - socket_factory_->remote_endpoints_.emplace_back(server); - } - } - } - EXPECT_TRUE(server_found); - - EXPECT_TRUE( - request->isolation_info().network_isolation_key().IsTransient()); - - // All DoH requests for the same ResolveContext should use the same - // IsolationInfo, so network objects like sockets can be reused between - // requests. - if (!expect_multiple_isolation_infos_) { - if (!isolation_info_) { - isolation_info_ = - std::make_unique(request->isolation_info()); - } else { - EXPECT_TRUE( - isolation_info_->IsEqualForTesting(request->isolation_info())); - } - } - - EXPECT_FALSE(request->allow_credentials()); - EXPECT_TRUE(request->disable_secure_dns()); - - std::string accept; - EXPECT_TRUE(request->extra_request_headers().GetHeader("Accept", &accept)); - EXPECT_EQ(accept, "application/dns-message"); - - std::string language; - EXPECT_TRUE(request->extra_request_headers().GetHeader("Accept-Language", - &language)); - EXPECT_EQ(language, "*"); - - std::string user_agent; - EXPECT_TRUE( - request->extra_request_headers().GetHeader("User-Agent", &user_agent)); - EXPECT_EQ(user_agent, "Chrome"); - - SocketDataProvider* provider = socket_factory_->mock_data().GetNext(); - - if (doh_job_maker_) - return doh_job_maker_.Run(request, provider); - - return std::make_unique(request, provider, - response_modifier_); - } - - class DohJobInterceptor : public URLRequestInterceptor { - public: - explicit DohJobInterceptor(DnsTransactionTestBase* test) : test_(test) {} - ~DohJobInterceptor() override {} - - // URLRequestInterceptor implementation: - std::unique_ptr MaybeInterceptRequest( - URLRequest* request) const override { - return test_->MaybeInterceptRequest(request); - } - - private: - DnsTransactionTestBase* test_; - - DISALLOW_COPY_AND_ASSIGN(DohJobInterceptor); - }; - - void SetResponseModifierCallback(ResponseModifierCallback response_modifier) { - response_modifier_ = response_modifier; - } - - void SetDohJobMakerCallback(DohJobMakerCallback doh_job_maker) { - doh_job_maker_ = doh_job_maker; - } - - void SetUp() override { - // By default set one server, - ConfigureNumServers(1); - // and no retransmissions, - config_.attempts = 1; - // and an arbitrary fallback period. - config_.fallback_period = kFallbackPeriod; - - request_context_ = std::make_unique(); - resolve_context_ = std::make_unique( - request_context_.get(), false /* enable_caching */); - - ConfigureFactory(); - } - - void TearDown() override { - // Check that all socket data was at least written to. - for (size_t i = 0; i < socket_data_.size(); ++i) { - EXPECT_TRUE(socket_data_[i]->GetProvider()->AllWriteDataConsumed()) << i; - } - - URLRequestFilter* filter = URLRequestFilter::GetInstance(); - filter->ClearHandlers(); - } - - void set_expect_multiple_isolation_infos( - bool expect_multiple_isolation_infos) { - expect_multiple_isolation_infos_ = expect_multiple_isolation_infos; - } - - protected: - int GetNextId(int min, int max) { - EXPECT_FALSE(transaction_ids_.empty()); - int id = transaction_ids_.front(); - transaction_ids_.pop_front(); - EXPECT_GE(id, min); - EXPECT_LE(id, max); - return id; - } - - DnsConfig config_; - - std::vector> socket_data_; - - base::circular_deque transaction_ids_; - std::unique_ptr socket_factory_; - std::unique_ptr request_context_; - std::unique_ptr resolve_context_; - scoped_refptr session_; - std::unique_ptr transaction_factory_; - ResponseModifierCallback response_modifier_; - DohJobMakerCallback doh_job_maker_; - - // Whether multiple IsolationInfos should be expected (due to there being - // multiple RequestContexts in use). - bool expect_multiple_isolation_infos_ = false; - - // IsolationInfo used by DoH requests. Populated on first DoH request, and - // compared to IsolationInfo used by all subsequent requests, unless - // |expect_multiple_isolation_infos_| is true. - std::unique_ptr isolation_info_; -}; - -static const char kTestCryptoHostName[] = "test.crypto"; - -// Response contains IP address: 142.250.72.196 for test.crypto. -static const uint8_t kTestCryptoResponseDatagram[] = { - 0x00, 0x00, 0x81, 0x80, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x04, 0x74, 0x65, 0x73, 0x74, 0x06, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, - 0x00, 0x00, 0x01, 0x00, 0x01, 0xc0, 0x0c, 0x00, 0x01, 0x00, 0x01, 0x00, - 0x00, 0x00, 0xa2, 0x00, 0x04, 0x8e, 0xfa, 0x48, 0xc4}; - -static const char kTestEthHostName[] = "test.eth"; - -// Response contains IP address: 142.250.72.196 for test.eth. -static const uint8_t kTestEthResponseDatagram[] = { - 0x00, 0x00, 0x81, 0x80, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x04, 0x74, 0x65, 0x73, 0x74, 0x03, 0x65, 0x74, 0x68, 0x00, - 0x00, 0x01, 0x00, 0x01, 0xc0, 0x0c, 0x00, 0x01, 0x00, 0x01, 0x00, - 0x00, 0x00, 0xa2, 0x00, 0x04, 0x8e, 0xfa, 0x48, 0xc4}; - -class BraveDnsTransactionTest : public DnsTransactionTestBase, - public WithTaskEnvironment { - public: - BraveDnsTransactionTest() = default; - - ~BraveDnsTransactionTest() override = default; - - void BraveConfigureDohServers(bool user_doh_server) { - GURL url(decentralized_dns::kUnstoppableDomainsDoHResolver); - URLRequestFilter* filter = URLRequestFilter::GetInstance(); - filter->AddHostnameInterceptor(url.scheme(), url.host(), - std::make_unique(this)); - config_.dns_over_https_servers.push_back( - {decentralized_dns::kUnstoppableDomainsDoHResolver, true}); - - url = GURL(decentralized_dns::kENSDoHResolver); - filter->AddHostnameInterceptor(url.scheme(), url.host(), - std::make_unique(this)); - config_.dns_over_https_servers.push_back( - {decentralized_dns::kENSDoHResolver, true}); - - if (user_doh_server) { - url = GURL("https://test.com/dns-query"); - filter->AddHostnameInterceptor(url.scheme(), url.host(), - std::make_unique(this)); - config_.dns_over_https_servers.push_back({url.spec(), true}); - } - - ConfigureFactory(); - for (size_t server_index = 0; - server_index < config_.dns_over_https_servers.size(); ++server_index) { - resolve_context_->RecordServerSuccess( - server_index, true /* is_doh_server */, session_.get()); - } - } -}; - -TEST_F(BraveDnsTransactionTest, - SkipDecentralizedDNSResolversForNonTargetTLDsWithoutUserDoHServer) { - BraveConfigureDohServers(false); - EXPECT_TRUE(resolve_context_->GetDohServerAvailability( - 0u /* doh_server_index */, session_.get())); - EXPECT_TRUE(resolve_context_->GetDohServerAvailability( - 1u /* doh_server_index */, session_.get())); - TransactionHelper helper0(ERR_BLOCKED_BY_CLIENT); - helper0.StartTransaction(transaction_factory_.get(), kT0HostName, kT0Qtype, - true /* secure */, resolve_context_.get()); - helper0.RunUntilComplete(); -} - -TEST_F(BraveDnsTransactionTest, - SkipDecentralizedDNSResolversForNonTargetTLDsWithUserDoHServer) { - BraveConfigureDohServers(true); - AddQueryAndResponse(0, kT0HostName, kT0Qtype, kT0ResponseDatagram, - base::size(kT0ResponseDatagram), SYNCHRONOUS, - Transport::HTTPS, nullptr /* opt_rdata */, - DnsQuery::PaddingStrategy::BLOCK_LENGTH_128, - false /* enqueue_transaction_id */); - TransactionHelper helper0(kT0RecordCount); - helper0.StartTransaction(transaction_factory_.get(), kT0HostName, kT0Qtype, - true /* secure */, resolve_context_.get()); - helper0.RunUntilComplete(); -} - -TEST_F(BraveDnsTransactionTest, - UseUDResolverForCryptoDomainsWithoutUserDoHServer) { - BraveConfigureDohServers(false); - AddQueryAndResponse( - 0, kTestCryptoHostName, dns_protocol::kTypeA, kTestCryptoResponseDatagram, - base::size(kTestCryptoResponseDatagram), SYNCHRONOUS, Transport::HTTPS, - nullptr /* opt_rdata */, DnsQuery::PaddingStrategy::BLOCK_LENGTH_128, - false /* enqueue_transaction_id */); - TransactionHelper helper0(1); - helper0.StartTransaction(transaction_factory_.get(), kTestCryptoHostName, - dns_protocol::kTypeA, true /* secure */, - resolve_context_.get()); - helper0.RunUntilComplete(); -} - -TEST_F(BraveDnsTransactionTest, - UseUDResolverForCryptoDomainsWithUserDoHServer) { - BraveConfigureDohServers(true); - AddQueryAndResponse( - 0, kTestCryptoHostName, dns_protocol::kTypeA, kTestCryptoResponseDatagram, - base::size(kTestCryptoResponseDatagram), SYNCHRONOUS, Transport::HTTPS, - nullptr /* opt_rdata */, DnsQuery::PaddingStrategy::BLOCK_LENGTH_128, - false /* enqueue_transaction_id */); - TransactionHelper helper0(1); - helper0.StartTransaction(transaction_factory_.get(), kTestCryptoHostName, - dns_protocol::kTypeA, true /* secure */, - resolve_context_.get()); - helper0.RunUntilComplete(); -} - -TEST_F(BraveDnsTransactionTest, - UseENSResolverForEthDomainsWithoutUserDoHServer) { - BraveConfigureDohServers(false); - AddQueryAndResponse( - 0, kTestEthHostName, dns_protocol::kTypeA, kTestEthResponseDatagram, - base::size(kTestEthResponseDatagram), SYNCHRONOUS, Transport::HTTPS, - nullptr /* opt_rdata */, DnsQuery::PaddingStrategy::BLOCK_LENGTH_128, - false /* enqueue_transaction_id */); - TransactionHelper helper0(1); - helper0.StartTransaction(transaction_factory_.get(), kTestEthHostName, - dns_protocol::kTypeA, true /* secure */, - resolve_context_.get()); - helper0.RunUntilComplete(); -} - -TEST_F(BraveDnsTransactionTest, UseENSResolverForEthDomainsWithUserDoHServer) { - BraveConfigureDohServers(false); - AddQueryAndResponse( - 0, kTestEthHostName, dns_protocol::kTypeA, kTestEthResponseDatagram, - base::size(kTestEthResponseDatagram), SYNCHRONOUS, Transport::HTTPS, - nullptr /* opt_rdata */, DnsQuery::PaddingStrategy::BLOCK_LENGTH_128, - false /* enqueue_transaction_id */); - TransactionHelper helper0(1); - helper0.StartTransaction(transaction_factory_.get(), kTestEthHostName, - dns_protocol::kTypeA, true /* secure */, - resolve_context_.get()); - helper0.RunUntilComplete(); -} - -} // namespace - -} // namespace net diff --git a/net/dns/sources.gni b/net/dns/sources.gni deleted file mode 100644 index ac9d6fe348f0..000000000000 --- a/net/dns/sources.gni +++ /dev/null @@ -1,6 +0,0 @@ -# Copyright (c) 2021 The Brave Authors. All rights reserved. -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this file, -# You can obtain one at http://mozilla.org/MPL/2.0/. - -brave_dns_friend = [ "//brave/browser/decentralized_dns/test:unit_tests" ] diff --git a/net/sources.gni b/net/sources.gni index ba25b1584032..784143f6efc1 100644 --- a/net/sources.gni +++ b/net/sources.gni @@ -3,12 +3,7 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this file, # You can obtain one at http://mozilla.org/MPL/2.0/. -import("//brave/components/decentralized_dns/buildflags/buildflags.gni") - brave_net_sources = [ - "//brave/net/decentralized_dns/constants.h", - "//brave/net/dns/brave_resolve_context.cc", - "//brave/net/dns/brave_resolve_context.h", "//brave/net/proxy_resolution/proxy_config_service_tor.cc", "//brave/net/proxy_resolution/proxy_config_service_tor.h", ] diff --git a/patches/chrome-browser-net-stub_resolver_config_reader.cc.patch b/patches/chrome-browser-net-stub_resolver_config_reader.cc.patch deleted file mode 100644 index 5310997be15a..000000000000 --- a/patches/chrome-browser-net-stub_resolver_config_reader.cc.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/chrome/browser/net/stub_resolver_config_reader.cc b/chrome/browser/net/stub_resolver_config_reader.cc -index 677f6c50fc602a1c5ba6ca52f4ea6496d7d60e7f..d736b6e06fcbee8fb17e3397cee86f3dbe09ad8e 100644 ---- a/chrome/browser/net/stub_resolver_config_reader.cc -+++ b/chrome/browser/net/stub_resolver_config_reader.cc -@@ -353,6 +353,7 @@ SecureDnsConfig StubResolverConfigReader::GetAndUpdateConfiguration( - - std::string doh_templates = - local_state_->GetString(prefs::kDnsOverHttpsTemplates); -+ BRAVE_GET_AND_UPDATE_CONFIGURATION - std::string server_method; - std::vector dns_over_https_servers; - base::Optional> diff --git a/patches/net-dns-BUILD.gn.patch b/patches/net-dns-BUILD.gn.patch deleted file mode 100644 index 96ddf7568861..000000000000 --- a/patches/net-dns-BUILD.gn.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/net/dns/BUILD.gn b/net/dns/BUILD.gn -index ea7c29d285af754ee3c1ca0537645b05602d55f4..90a40ae96ca2de9048eab86fd2f45e3e3555b6b4 100644 ---- a/net/dns/BUILD.gn -+++ b/net/dns/BUILD.gn -@@ -23,6 +23,7 @@ source_set("dns") { - "//net/*", - "//services/network/*", - ] -+ friend += brave_dns_friend - - public = [] - sources = [ -@@ -205,6 +206,7 @@ source_set("host_resolver") { - # wrapper. - "//services/proxy_resolver/*", - ] -+ friend += brave_dns_friend - - sources = [] - public = [] -@@ -309,6 +311,7 @@ source_set("dns_client") { - "//net/*", - "//services/network/*", - ] -+ friend += brave_dns_friend - - sources = [] - public = [] diff --git a/patches/net-dns-dns_transaction.cc.patch b/patches/net-dns-dns_transaction.cc.patch deleted file mode 100644 index db1e6f6f25a2..000000000000 --- a/patches/net-dns-dns_transaction.cc.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc -index 9bfd4cace384ca502716efa191eaa6ccfd6a54a8..9123e8cb94b566ef1a25cbc498dfc859e4165e73 100644 ---- a/net/dns/dns_transaction.cc -+++ b/net/dns/dns_transaction.cc -@@ -1299,6 +1299,7 @@ class DnsTransactionImpl : public DnsTransaction, - DCHECK(secure_); - - size_t doh_server_index = dns_server_iterator_->GetNextAttemptIndex(); -+ BRAVE_MAKE_HTTP_ATTEMPT - - unsigned attempt_number = attempts_.size(); - ConstructDnsHTTPAttempt( diff --git a/patches/net-dns-resolve_context.h.patch b/patches/net-dns-resolve_context.h.patch deleted file mode 100644 index 0829ba55359d..000000000000 --- a/patches/net-dns-resolve_context.h.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/net/dns/resolve_context.h b/net/dns/resolve_context.h -index fc43188340e54dd509aa58f93a84ca6b770e5a6f..81fa236a973ae31f6ac165b14ee0cc7754253f03 100644 ---- a/net/dns/resolve_context.h -+++ b/net/dns/resolve_context.h -@@ -176,6 +176,7 @@ class NET_EXPORT_PRIVATE ResolveContext : public base::CheckedObserver { - // (alternative service info if it supports QUIC, for instance). - const IsolationInfo& isolation_info() const { return isolation_info_; } - -+ BRAVE_RESOLVE_CONTEXT_H - private: - friend DohDnsServerIterator; - friend ClassicDnsServerIterator; diff --git a/test/BUILD.gn b/test/BUILD.gn index 2c8d04931e1f..7caa755ba07f 100644 --- a/test/BUILD.gn +++ b/test/BUILD.gn @@ -11,7 +11,6 @@ import("//brave/components/brave_wallet/buildflags/buildflags.gni") import("//brave/components/brave_wayback_machine/buildflags/buildflags.gni") import("//brave/components/brave_webtorrent/browser/buildflags/buildflags.gni") import("//brave/components/crypto_dot_com/browser/buildflags/buildflags.gni") -import("//brave/components/decentralized_dns/buildflags/buildflags.gni") import("//brave/components/gemini/browser/buildflags/buildflags.gni") import("//brave/components/gemini/browser/buildflags/buildflags.gni") import("//brave/components/greaselion/browser/buildflags/buildflags.gni") @@ -200,10 +199,6 @@ test("brave_unit_tests") { "//services/preferences/public/cpp", ] - if (decentralized_dns_enabled) { - deps += [ "//brave/browser/decentralized_dns/test:unit_tests" ] - } - if (toolkit_views) { deps += [ "//chrome/browser/ui/views" ] } @@ -633,10 +628,6 @@ if (!is_android) { "//testing/gmock", ] - if (decentralized_dns_enabled) { - deps += [ "//brave/browser/decentralized_dns/test:browser_tests" ] - } - if (enable_brave_perf_predictor) { sources += [ "//brave/components/brave_perf_predictor/browser/perf_predictor_tab_helper_browsertest.cc" ]