From 433c702abf7815756cec6009944952b6d98142b2 Mon Sep 17 00:00:00 2001 From: "Brian R. Bondy" Date: Fri, 5 Mar 2021 22:34:33 -0500 Subject: [PATCH] Merge pull request #8125 from brave/ens_support_rebase Add ENS support --- app/brave_generated_resources.grd | 3 + browser/BUILD.gn | 8 +- browser/brave_content_browser_client.cc | 18 ++-- browser/brave_local_state_prefs.cc | 11 +- .../BUILD.gn | 14 +-- ...ecentralized_dns_service_delegate_impl.cc} | 8 +- .../decentralized_dns_service_delegate_impl.h | 29 +++++ .../decentralized_dns_service_factory.cc | 48 +++++++++ .../decentralized_dns_service_factory.h | 41 +++++++ .../test/BUILD.gn | 10 +- ...ed_dns_navigation_throttle_browsertest.cc} | 82 ++++++++++---- .../decentralized_dns_service_browsertest.cc} | 68 ++++++++---- .../decentralized_dns/test/utils_unittest.cc | 101 ++++++++++++++++++ browser/extensions/BUILD.gn | 8 +- .../api/settings_private/brave_prefs_util.cc | 13 +-- browser/profiles/BUILD.gn | 2 +- browser/profiles/brave_profile_manager.cc | 10 +- .../brave_default_extensions_browser_proxy.js | 4 +- .../brave_default_extensions_page.html | 8 +- .../brave_default_extensions_page.js | 17 ++- browser/ui/BUILD.gn | 8 +- .../brave_default_extensions_handler.cc | 16 +-- .../brave_default_extensions_handler.h | 2 +- .../test/utils_unittest.cc | 73 ------------- ...nstoppable_domains_service_delegate_impl.h | 29 ----- .../unstoppable_domains_service_factory.cc | 49 --------- .../unstoppable_domains_service_factory.h | 41 ------- chromium_src/chrome/browser/about_flags.cc | 20 ++-- .../chrome/browser/flag_descriptions.cc | 7 +- .../chrome/browser/flag_descriptions.h | 4 +- .../net/stub_resolver_config_reader.cc | 41 +++---- .../settings_localized_strings_provider.cc | 1 + .../net/base/lookup_string_in_fixed_set.cc | 16 +-- chromium_src/net/dns/dns_transaction.cc | 15 ++- .../BUILD.gn | 20 ++-- .../DEPS | 0 .../decentralized_dns/buildflags/BUILD.gn | 7 ++ .../buildflags/buildflags.gni | 3 + .../constants.h | 10 +- ...zed_dns_interstitial_controller_client.cc} | 30 +++--- ...ized_dns_interstitial_controller_client.h} | 24 ++--- .../decentralized_dns_navigation_throttle.cc} | 52 ++++----- .../decentralized_dns_navigation_throttle.h} | 29 +++-- .../decentralized_dns_opt_in_page.cc} | 77 +++++++------ .../decentralized_dns_opt_in_page.h} | 23 ++-- .../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} | 0 .../decentralized_dns_interstitial.html} | 4 +- .../decentralized_dns_interstitial.js} | 2 +- components/decentralized_dns/utils.cc | 67 ++++++++++++ components/decentralized_dns/utils.h | 26 +++++ components/resources/BUILD.gn | 6 +- .../resources/brave_components_resources.grd | 2 +- .../resources/brave_components_strings.grd | 2 +- .../decentralized_dns_resources.grdp | 8 ++ .../resources/decentralized_dns_strings.grdp | 29 +++++ .../unstoppable_domains_resources.grdp | 8 -- .../unstoppable_domains_strings.grdp | 20 ---- .../unstoppable_domains/buildflags/BUILD.gn | 7 -- .../buildflags/buildflags.gni | 3 - components/unstoppable_domains/features.h | 20 ---- components/unstoppable_domains/pref_names.h | 20 ---- .../unstoppable_domains_service.cc | 45 -------- .../unstoppable_domains_service.h | 48 --------- .../unstoppable_domains_service_delegate.h | 20 ---- components/unstoppable_domains/utils.cc | 45 -------- components/unstoppable_domains/utils.h | 21 ---- net/decentralized_dns/constants.h | 21 ++++ net/dns/dns_transaction_unittest.cc | 73 ++++++++++--- net/dns/sources.gni | 2 +- net/sources.gni | 4 +- net/unstoppable_domains/constants.h | 17 --- test/BUILD.gn | 10 +- 77 files changed, 1022 insertions(+), 774 deletions(-) rename browser/{unstoppable_domains => decentralized_dns}/BUILD.gn (68%) rename browser/{unstoppable_domains/unstoppable_domains_service_delegate_impl.cc => decentralized_dns/decentralized_dns_service_delegate_impl.cc} (71%) create mode 100644 browser/decentralized_dns/decentralized_dns_service_delegate_impl.h create mode 100644 browser/decentralized_dns/decentralized_dns_service_factory.cc create mode 100644 browser/decentralized_dns/decentralized_dns_service_factory.h rename browser/{unstoppable_domains => decentralized_dns}/test/BUILD.gn (76%) rename browser/{unstoppable_domains/test/unstoppable_domains_navigation_throttle_browsertest.cc => decentralized_dns/test/decentralized_dns_navigation_throttle_browsertest.cc} (55%) rename browser/{unstoppable_domains/test/unstoppable_domains_service_browsertest.cc => decentralized_dns/test/decentralized_dns_service_browsertest.cc} (62%) create mode 100644 browser/decentralized_dns/test/utils_unittest.cc delete mode 100644 browser/unstoppable_domains/test/utils_unittest.cc delete mode 100644 browser/unstoppable_domains/unstoppable_domains_service_delegate_impl.h delete mode 100644 browser/unstoppable_domains/unstoppable_domains_service_factory.cc delete mode 100644 browser/unstoppable_domains/unstoppable_domains_service_factory.h rename components/{unstoppable_domains => decentralized_dns}/BUILD.gn (62%) rename components/{unstoppable_domains => decentralized_dns}/DEPS (100%) create mode 100644 components/decentralized_dns/buildflags/BUILD.gn create mode 100644 components/decentralized_dns/buildflags/buildflags.gni rename components/{unstoppable_domains => decentralized_dns}/constants.h (58%) rename components/{unstoppable_domains/unstoppable_domains_interstitial_controller_client.cc => decentralized_dns/decentralized_dns_interstitial_controller_client.cc} (59%) rename components/{unstoppable_domains/unstoppable_domains_interstitial_controller_client.h => decentralized_dns/decentralized_dns_interstitial_controller_client.h} (60%) rename components/{unstoppable_domains/unstoppable_domains_navigation_throttle.cc => decentralized_dns/decentralized_dns_navigation_throttle.cc} (58%) rename components/{unstoppable_domains/unstoppable_domains_navigation_throttle.h => decentralized_dns/decentralized_dns_navigation_throttle.h} (55%) rename components/{unstoppable_domains/unstoppable_domains_opt_in_page.cc => decentralized_dns/decentralized_dns_opt_in_page.cc} (54%) rename components/{unstoppable_domains/unstoppable_domains_opt_in_page.h => decentralized_dns/decentralized_dns_opt_in_page.h} (70%) create mode 100644 components/decentralized_dns/decentralized_dns_service.cc create mode 100644 components/decentralized_dns/decentralized_dns_service.h create mode 100644 components/decentralized_dns/decentralized_dns_service_delegate.h create mode 100644 components/decentralized_dns/features.h create mode 100644 components/decentralized_dns/pref_names.h rename components/{unstoppable_domains/resources/unstoppable_domains_interstitial.css => decentralized_dns/resources/decentralized_dns_interstitial.css} (100%) rename components/{unstoppable_domains/resources/unstoppable_domains_interstitial.html => decentralized_dns/resources/decentralized_dns_interstitial.html} (90%) rename components/{unstoppable_domains/resources/unstoppable_domains_interstitial.js => decentralized_dns/resources/decentralized_dns_interstitial.js} (93%) create mode 100644 components/decentralized_dns/utils.cc create mode 100644 components/decentralized_dns/utils.h create mode 100644 components/resources/decentralized_dns_resources.grdp create mode 100644 components/resources/decentralized_dns_strings.grdp delete mode 100644 components/resources/unstoppable_domains_resources.grdp delete mode 100644 components/resources/unstoppable_domains_strings.grdp delete mode 100644 components/unstoppable_domains/buildflags/BUILD.gn delete mode 100644 components/unstoppable_domains/buildflags/buildflags.gni delete mode 100644 components/unstoppable_domains/features.h delete mode 100644 components/unstoppable_domains/pref_names.h delete mode 100644 components/unstoppable_domains/unstoppable_domains_service.cc delete mode 100644 components/unstoppable_domains/unstoppable_domains_service.h delete mode 100644 components/unstoppable_domains/unstoppable_domains_service_delegate.h delete mode 100644 components/unstoppable_domains/utils.cc delete mode 100644 components/unstoppable_domains/utils.h create mode 100644 net/decentralized_dns/constants.h delete mode 100644 net/unstoppable_domains/constants.h diff --git a/app/brave_generated_resources.grd b/app/brave_generated_resources.grd index 10d6f8da5a36..95ea5fbb94db 100644 --- a/app/brave_generated_resources.grd +++ b/app/brave_generated_resources.grd @@ -697,6 +697,9 @@ By installing this extension, you are agreeing to the Google Widevine Terms of U 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 edc79926ebe1..c94f107e8a45 100644 --- a/browser/BUILD.gn +++ b/browser/BUILD.gn @@ -10,13 +10,13 @@ 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") import("//brave/components/sidebar/buildflags/buildflags.gni") import("//brave/components/speedreader/buildflags.gni") import("//brave/components/tor/buildflags/buildflags.gni") -import("//brave/components/unstoppable_domains/buildflags/buildflags.gni") import("//build/buildflag_header.gni") import("//build/config/features.gni") import("//chrome/common/features.gni") @@ -144,6 +144,7 @@ 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", @@ -155,7 +156,6 @@ source_set("browser_process") { "//brave/components/sidebar/buildflags", "//brave/components/speedreader:buildflags", "//brave/components/tor/buildflags", - "//brave/components/unstoppable_domains/buildflags", "//brave/components/weekly_storage", "//brave/services/network/public/cpp", "//brave/ui/brave_ads", @@ -291,8 +291,8 @@ source_set("browser_process") { ] } - if (unstoppable_domains_enabled) { - deps += [ "//brave/browser/unstoppable_domains" ] + if (decentralized_dns_enabled) { + deps += [ "//brave/browser/decentralized_dns" ] } if (ipfs_enabled) { diff --git a/browser/brave_content_browser_client.cc b/browser/brave_content_browser_client.cc index 8fec950fb4f6..855418837964 100644 --- a/browser/brave_content_browser_client.cc +++ b/browser/brave_content_browser_client.cc @@ -31,11 +31,11 @@ #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" #include "brave/components/tor/buildflags/buildflags.h" -#include "brave/components/unstoppable_domains/buildflags/buildflags.h" #include "brave/grit/brave_generated_resources.h" #include "chrome/browser/chrome_content_browser_client.h" #include "chrome/browser/content_settings/host_content_settings_map_factory.h" @@ -89,8 +89,8 @@ using extensions::ChromeContentBrowserClientExtensionsPart; #include "brave/components/ipfs/ipfs_navigation_throttle.h" #endif -#if BUILDFLAG(UNSTOPPABLE_DOMAINS_ENABLED) -#include "brave/components/unstoppable_domains/unstoppable_domains_navigation_throttle.h" +#if BUILDFLAG(DECENTRALIZED_DNS_ENABLED) +#include "brave/components/decentralized_dns/decentralized_dns_navigation_throttle.h" #endif #if BUILDFLAG(BRAVE_REWARDS_ENABLED) @@ -591,7 +591,7 @@ BraveContentBrowserClient::CreateThrottlesForNavigation( #endif #if BUILDFLAG(ENABLE_TOR) || BUILDFLAG(IPFS_ENABLED) || \ - BUILDFLAG(UNSTOPPABLE_DOMAINS_ENABLED) + BUILDFLAG(DECENTRALIZED_DNS_ENABLED) content::BrowserContext* context = handle->GetWebContents()->GetBrowserContext(); #endif @@ -624,14 +624,14 @@ BraveContentBrowserClient::CreateThrottlesForNavigation( throttles.push_back(std::move(ipfs_navigation_throttle)); #endif -#if BUILDFLAG(UNSTOPPABLE_DOMAINS_ENABLED) +#if BUILDFLAG(DECENTRALIZED_DNS_ENABLED) std::unique_ptr - unstoppable_domains_navigation_throttle = unstoppable_domains:: - UnstoppableDomainsNavigationThrottle::MaybeCreateThrottleFor( + decentralized_dns_navigation_throttle = decentralized_dns:: + DecentralizedDnsNavigationThrottle::MaybeCreateThrottleFor( handle, g_brave_browser_process->local_state(), g_brave_browser_process->GetApplicationLocale()); - if (unstoppable_domains_navigation_throttle) - throttles.push_back(std::move(unstoppable_domains_navigation_throttle)); + 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 667ee1120ca0..fc13fd2a091a 100644 --- a/browser/brave_local_state_prefs.cc +++ b/browser/brave_local_state_prefs.cc @@ -13,12 +13,12 @@ #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" #include "brave/components/p3a/buildflags.h" #include "brave/components/tor/buildflags/buildflags.h" -#include "brave/components/unstoppable_domains/buildflags/buildflags.h" #include "chrome/common/pref_names.h" #include "components/metrics/metrics_pref_names.h" #include "components/prefs/pref_registry_simple.h" @@ -43,8 +43,8 @@ #include "brave/browser/widevine/widevine_utils.h" #endif -#if BUILDFLAG(UNSTOPPABLE_DOMAINS_ENABLED) -#include "brave/components/unstoppable_domains/unstoppable_domains_service.h" +#if BUILDFLAG(DECENTRALIZED_DNS_ENABLED) +#include "brave/components/decentralized_dns/decentralized_dns_service.h" #endif namespace brave { @@ -100,9 +100,8 @@ void RegisterLocalStatePrefs(PrefRegistrySimple* registry) { RegisterWidevineLocalstatePrefs(registry); #endif -#if BUILDFLAG(UNSTOPPABLE_DOMAINS_ENABLED) - unstoppable_domains::UnstoppableDomainsService::RegisterLocalStatePrefs( - registry); +#if BUILDFLAG(DECENTRALIZED_DNS_ENABLED) + decentralized_dns::DecentralizedDnsService::RegisterLocalStatePrefs(registry); #endif RegisterLocalStatePrefsForMigration(registry); diff --git a/browser/unstoppable_domains/BUILD.gn b/browser/decentralized_dns/BUILD.gn similarity index 68% rename from browser/unstoppable_domains/BUILD.gn rename to browser/decentralized_dns/BUILD.gn index b9f021060bd4..7d10824d3657 100644 --- a/browser/unstoppable_domains/BUILD.gn +++ b/browser/decentralized_dns/BUILD.gn @@ -3,23 +3,23 @@ # 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("unstoppable_domains") { +source_set("decentralized_dns") { # See https://github.com/brave/brave-browser/issues/14441 check_includes = false sources = [ - "unstoppable_domains_service_delegate_impl.cc", - "unstoppable_domains_service_delegate_impl.h", - "unstoppable_domains_service_factory.cc", - "unstoppable_domains_service_factory.h", + "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/unstoppable_domains", + "//brave/components/decentralized_dns", "//components/keyed_service/content", ] - # Below deps are not directly used by unstoppable_domains target. + # 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, diff --git a/browser/unstoppable_domains/unstoppable_domains_service_delegate_impl.cc b/browser/decentralized_dns/decentralized_dns_service_delegate_impl.cc similarity index 71% rename from browser/unstoppable_domains/unstoppable_domains_service_delegate_impl.cc rename to browser/decentralized_dns/decentralized_dns_service_delegate_impl.cc index 48081e701575..0cf08f331e8c 100644 --- a/browser/unstoppable_domains/unstoppable_domains_service_delegate_impl.cc +++ b/browser/decentralized_dns/decentralized_dns_service_delegate_impl.cc @@ -3,17 +3,17 @@ * 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/unstoppable_domains/unstoppable_domains_service_delegate_impl.h" +#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 unstoppable_domains { +namespace decentralized_dns { -void UnstoppableDomainsServiceDelegateImpl::UpdateNetworkService() { +void DecentralizedDnsServiceDelegateImpl::UpdateNetworkService() { // Trigger a DoH config update in network service. SystemNetworkContextManager::GetStubResolverConfigReader() ->UpdateNetworkService(false /* record_metrics */); } -} // namespace unstoppable_domains +} // 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 new file mode 100644 index 000000000000..f1cddfb1c4e5 --- /dev/null +++ b/browser/decentralized_dns/decentralized_dns_service_delegate_impl.h @@ -0,0 +1,29 @@ +/* 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 new file mode 100644 index 000000000000..d26b936352d8 --- /dev/null +++ b/browser/decentralized_dns/decentralized_dns_service_factory.cc @@ -0,0 +1,48 @@ +/* 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 new file mode 100644 index 000000000000..45f41dc36da3 --- /dev/null +++ b/browser/decentralized_dns/decentralized_dns_service_factory.h @@ -0,0 +1,41 @@ +/* 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/unstoppable_domains/test/BUILD.gn b/browser/decentralized_dns/test/BUILD.gn similarity index 76% rename from browser/unstoppable_domains/test/BUILD.gn rename to browser/decentralized_dns/test/BUILD.gn index ff577f9c6097..32f4550ec48a 100644 --- a/browser/unstoppable_domains/test/BUILD.gn +++ b/browser/decentralized_dns/test/BUILD.gn @@ -10,12 +10,12 @@ source_set("browser_tests") { testonly = true defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] sources = [ - "//brave/browser/unstoppable_domains/test/unstoppable_domains_navigation_throttle_browsertest.cc", - "//brave/browser/unstoppable_domains/test/unstoppable_domains_service_browsertest.cc", + "//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/unstoppable_domains", + "//brave/components/decentralized_dns", "//chrome/browser:browser_process", "//chrome/test:test_support", "//chrome/test:test_support_ui", @@ -29,14 +29,14 @@ source_set("browser_tests") { source_set("unit_tests") { testonly = true sources = [ - "//brave/browser/unstoppable_domains/test/utils_unittest.cc", + "//brave/browser/decentralized_dns/test/utils_unittest.cc", "//brave/net/dns/dns_transaction_unittest.cc", ] deps = [ "//base", "//base/test:test_support", - "//brave/components/unstoppable_domains", + "//brave/components/decentralized_dns", "//chrome/test:test_support", "//components/prefs", "//net", diff --git a/browser/unstoppable_domains/test/unstoppable_domains_navigation_throttle_browsertest.cc b/browser/decentralized_dns/test/decentralized_dns_navigation_throttle_browsertest.cc similarity index 55% rename from browser/unstoppable_domains/test/unstoppable_domains_navigation_throttle_browsertest.cc rename to browser/decentralized_dns/test/decentralized_dns_navigation_throttle_browsertest.cc index e08a415aebee..6187d19c7f23 100644 --- a/browser/unstoppable_domains/test/unstoppable_domains_navigation_throttle_browsertest.cc +++ b/browser/decentralized_dns/test/decentralized_dns_navigation_throttle_browsertest.cc @@ -4,10 +4,10 @@ * You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "base/test/scoped_feature_list.h" -#include "brave/components/unstoppable_domains/constants.h" -#include "brave/components/unstoppable_domains/features.h" -#include "brave/components/unstoppable_domains/pref_names.h" -#include "brave/components/unstoppable_domains/unstoppable_domains_opt_in_page.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" @@ -58,7 +58,7 @@ void SendInterstitialCommandSync( content::WebContents* web_contents = browser->tab_strip_model()->GetActiveWebContents(); - EXPECT_EQ(unstoppable_domains::UnstoppableDomainsOptInPage::kTypeForTesting, + EXPECT_EQ(decentralized_dns::DecentralizedDnsOptInPage::kTypeForTesting, GetInterstitialType(web_contents)); content::TestNavigationObserver navigation_observer(web_contents, 1); @@ -70,16 +70,16 @@ void SendInterstitialCommandSync( } // namespace -namespace unstoppable_domains { +namespace decentralized_dns { -class UnstoppableDomainsNavigationThrottleBrowserTest +class DecentralizedDnsNavigationThrottleBrowserTest : public InProcessBrowserTest { public: - UnstoppableDomainsNavigationThrottleBrowserTest() { - feature_list_.InitAndEnableFeature(features::kUnstoppableDomains); + DecentralizedDnsNavigationThrottleBrowserTest() { + feature_list_.InitAndEnableFeature(features::kDecentralizedDns); } - ~UnstoppableDomainsNavigationThrottleBrowserTest() override = default; + ~DecentralizedDnsNavigationThrottleBrowserTest() override = default; void SetUpOnMainThread() override { InProcessBrowserTest::SetUpOnMainThread(); @@ -91,44 +91,84 @@ class UnstoppableDomainsNavigationThrottleBrowserTest base::test::ScopedFeatureList feature_list_; }; -IN_PROC_BROWSER_TEST_F(UnstoppableDomainsNavigationThrottleBrowserTest, - ShowInterstitialAndProceed) { +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(UnstoppableDomainsOptInPage::kTypeForTesting, + EXPECT_EQ(DecentralizedDnsOptInPage::kTypeForTesting, GetInterstitialType(web_contents)); EXPECT_EQ(static_cast(ResolveMethodTypes::ASK), - local_state()->GetInteger(kResolveMethod)); + local_state()->GetInteger(kUnstoppableDomainsResolveMethod)); SendInterstitialCommandSync( browser(), security_interstitials::SecurityInterstitialCommand::CMD_PROCEED); EXPECT_EQ(static_cast(ResolveMethodTypes::DNS_OVER_HTTPS), - local_state()->GetInteger(kResolveMethod)); + local_state()->GetInteger(kUnstoppableDomainsResolveMethod)); } -IN_PROC_BROWSER_TEST_F(UnstoppableDomainsNavigationThrottleBrowserTest, - ShowInterstitialAndReject) { +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(UnstoppableDomainsOptInPage::kTypeForTesting, + EXPECT_EQ(DecentralizedDnsOptInPage::kTypeForTesting, GetInterstitialType(web_contents)); EXPECT_EQ(static_cast(ResolveMethodTypes::ASK), - local_state()->GetInteger(kResolveMethod)); + local_state()->GetInteger(kUnstoppableDomainsResolveMethod)); SendInterstitialCommandSync( browser(), security_interstitials::SecurityInterstitialCommand::CMD_DONT_PROCEED); EXPECT_EQ(static_cast(ResolveMethodTypes::DISABLED), - local_state()->GetInteger(kResolveMethod)); + local_state()->GetInteger(kUnstoppableDomainsResolveMethod)); } -} // namespace unstoppable_domains +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/unstoppable_domains/test/unstoppable_domains_service_browsertest.cc b/browser/decentralized_dns/test/decentralized_dns_service_browsertest.cc similarity index 62% rename from browser/unstoppable_domains/test/unstoppable_domains_service_browsertest.cc rename to browser/decentralized_dns/test/decentralized_dns_service_browsertest.cc index 17fc6da016de..fce12cf2e3f2 100644 --- a/browser/unstoppable_domains/test/unstoppable_domains_service_browsertest.cc +++ b/browser/decentralized_dns/test/decentralized_dns_service_browsertest.cc @@ -4,10 +4,10 @@ * You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "base/test/scoped_feature_list.h" -#include "brave/components/unstoppable_domains/constants.h" -#include "brave/components/unstoppable_domains/features.h" -#include "brave/components/unstoppable_domains/pref_names.h" -#include "brave/net/unstoppable_domains/constants.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" @@ -19,12 +19,12 @@ #include "net/dns/public/secure_dns_mode.h" #include "testing/gtest/include/gtest/gtest.h" -namespace unstoppable_domains { +namespace decentralized_dns { -class UnstoppableDomainsServiceBrowserTest : public InProcessBrowserTest { +class DecentralizedDnsServiceBrowserTest : public InProcessBrowserTest { public: - UnstoppableDomainsServiceBrowserTest() { - feature_list_.InitAndEnableFeature(features::kUnstoppableDomains); + DecentralizedDnsServiceBrowserTest() { + feature_list_.InitAndEnableFeature(features::kDecentralizedDns); } void SetUpOnMainThread() override { @@ -34,7 +34,7 @@ class UnstoppableDomainsServiceBrowserTest : public InProcessBrowserTest { ASSERT_TRUE(stub_config_reader_); } - ~UnstoppableDomainsServiceBrowserTest() override = default; + ~DecentralizedDnsServiceBrowserTest() override = default; PrefService* local_state() { return g_browser_process->local_state(); } @@ -49,10 +49,10 @@ class UnstoppableDomainsServiceBrowserTest : public InProcessBrowserTest { StubResolverConfigReader* stub_config_reader_; }; -IN_PROC_BROWSER_TEST_F(UnstoppableDomainsServiceBrowserTest, +IN_PROC_BROWSER_TEST_F(DecentralizedDnsServiceBrowserTest, UpdateConfigWhenPrefChanged) { // Initial state. - EXPECT_EQ(local_state()->GetInteger(kResolveMethod), + EXPECT_EQ(local_state()->GetInteger(kUnstoppableDomainsResolveMethod), static_cast(ResolveMethodTypes::ASK)); SecureDnsConfig config = GetSecureDnsConfiguration(); EXPECT_EQ(config.mode(), net::SecureDnsMode::kAutomatic); @@ -60,16 +60,18 @@ IN_PROC_BROWSER_TEST_F(UnstoppableDomainsServiceBrowserTest, // Set resolve method to DoH should update the config. local_state()->SetInteger( - kResolveMethod, static_cast(ResolveMethodTypes::DNS_OVER_HTTPS)); + kUnstoppableDomainsResolveMethod, + static_cast(ResolveMethodTypes::DNS_OVER_HTTPS)); config = GetSecureDnsConfiguration(); std::vector expected_doh_servers = { - {kDoHResolver, true}}; + {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 = {{kDoHResolver, true}, {"https://test.com", true}}; + 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. @@ -86,18 +88,29 @@ IN_PROC_BROWSER_TEST_F(UnstoppableDomainsServiceBrowserTest, 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(kResolveMethod, + 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(UnstoppableDomainsServiceBrowserTest, - HideUnstoppableDomainsResolvers) { +IN_PROC_BROWSER_TEST_F(DecentralizedDnsServiceBrowserTest, + HideDecentralizedDnsResolvers) { // Initial state. - EXPECT_EQ(local_state()->GetInteger(kResolveMethod), + EXPECT_EQ(local_state()->GetInteger(kUnstoppableDomainsResolveMethod), static_cast(ResolveMethodTypes::ASK)); SecureDnsConfig config = GetSecureDnsConfiguration(); EXPECT_EQ(config.mode(), net::SecureDnsMode::kAutomatic); @@ -105,16 +118,27 @@ IN_PROC_BROWSER_TEST_F(UnstoppableDomainsServiceBrowserTest, // Set resolve method to DoH should update the config. local_state()->SetInteger( - kResolveMethod, static_cast(ResolveMethodTypes::DNS_OVER_HTTPS)); + kUnstoppableDomainsResolveMethod, + static_cast(ResolveMethodTypes::DNS_OVER_HTTPS)); config = GetSecureDnsConfiguration(); std::vector expected_doh_servers = { - {kDoHResolver, true}}; + {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 = {{kDoHResolver, true}, {"https://test.com", true}}; + 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 @@ -125,4 +149,4 @@ IN_PROC_BROWSER_TEST_F(UnstoppableDomainsServiceBrowserTest, EXPECT_EQ(config.servers(), expected_doh_servers); } -} // namespace unstoppable_domains +} // namespace decentralized_dns diff --git a/browser/decentralized_dns/test/utils_unittest.cc b/browser/decentralized_dns/test/utils_unittest.cc new file mode 100644 index 000000000000..6309647de9ca --- /dev/null +++ b/browser/decentralized_dns/test/utils_unittest.cc @@ -0,0 +1,101 @@ +/* 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 fe2f08ba4840..73475de24152 100644 --- a/browser/extensions/BUILD.gn +++ b/browser/extensions/BUILD.gn @@ -6,11 +6,11 @@ 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") import("//brave/components/tor/buildflags/buildflags.gni") -import("//brave/components/unstoppable_domains/buildflags/buildflags.gni") import("//build/config/features.gni") import("//components/gcm_driver/config.gni") @@ -65,10 +65,10 @@ 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", - "//brave/components/unstoppable_domains/buildflags", "//chrome/browser/extensions", "//chrome/common", "//components/gcm_driver:gcm_buildflags", @@ -113,8 +113,8 @@ source_set("extensions") { deps += [ "//brave/components/ipfs" ] } - if (unstoppable_domains_enabled) { - deps += [ "//brave/components/unstoppable_domains" ] + if (decentralized_dns_enabled) { + deps += [ "//brave/components/decentralized_dns" ] } if (brave_rewards_enabled) { diff --git a/browser/extensions/api/settings_private/brave_prefs_util.cc b/browser/extensions/api/settings_private/brave_prefs_util.cc index 682c4c2767be..2604ff65efb8 100644 --- a/browser/extensions/api/settings_private/brave_prefs_util.cc +++ b/browser/extensions/api/settings_private/brave_prefs_util.cc @@ -10,11 +10,11 @@ #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" #include "brave/components/tor/buildflags/buildflags.h" -#include "brave/components/unstoppable_domains/buildflags/buildflags.h" #include "chrome/browser/extensions/api/settings_private/prefs_util.h" #include "chrome/common/extensions/api/settings_private.h" #include "chrome/common/pref_names.h" @@ -46,8 +46,8 @@ #include "brave/components/tor/pref_names.h" #endif -#if BUILDFLAG(UNSTOPPABLE_DOMAINS_ENABLED) -#include "brave/components/unstoppable_domains/pref_names.h" +#if BUILDFLAG(DECENTRALIZED_DNS_ENABLED) +#include "brave/components/decentralized_dns/pref_names.h" #endif namespace extensions { @@ -212,9 +212,10 @@ const PrefsUtil::TypedPrefMap& BravePrefsUtil::GetAllowlistedKeys() { (*s_brave_allowlist)[prefs::kWebRTCIPHandlingPolicy] = settings_api::PrefType::PREF_TYPE_STRING; -#if BUILDFLAG(UNSTOPPABLE_DOMAINS_ENABLED) - // Unstoppable Domains pref - (*s_brave_allowlist)[unstoppable_domains::kResolveMethod] = +#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 diff --git a/browser/profiles/BUILD.gn b/browser/profiles/BUILD.gn index 43138a45ec71..ed5b9dae5f52 100644 --- a/browser/profiles/BUILD.gn +++ b/browser/profiles/BUILD.gn @@ -34,10 +34,10 @@ source_set("profiles") { "//brave/components/brave_sync:prefs", "//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", - "//brave/components/unstoppable_domains/buildflags", "//brave/content:browser", "//chrome/common", "//components/gcm_driver:gcm_buildflags", diff --git a/browser/profiles/brave_profile_manager.cc b/browser/profiles/brave_profile_manager.cc index 64b7ddb880cd..a104e0d8d39f 100644 --- a/browser/profiles/brave_profile_manager.cc +++ b/browser/profiles/brave_profile_manager.cc @@ -17,9 +17,9 @@ #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/components/unstoppable_domains/buildflags/buildflags.h" #include "brave/content/browser/webui/brave_shared_resources_data_source.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/chrome_notification_types.h" @@ -51,8 +51,8 @@ #include "brave/browser/ipfs/ipfs_service_factory.h" #endif -#if BUILDFLAG(UNSTOPPABLE_DOMAINS_ENABLED) -#include "brave/browser/unstoppable_domains/unstoppable_domains_service_factory.h" +#if BUILDFLAG(DECENTRALIZED_DNS_ENABLED) +#include "brave/browser/decentralized_dns/decentralized_dns_service_factory.h" #endif using content::BrowserThread; @@ -113,8 +113,8 @@ void BraveProfileManager::DoFinalInitForServices(Profile* profile, #if BUILDFLAG(IPFS_ENABLED) ipfs::IpfsServiceFactory::GetForContext(profile); #endif -#if BUILDFLAG(UNSTOPPABLE_DOMAINS_ENABLED) - unstoppable_domains::UnstoppableDomainsServiceFactory::GetForContext(profile); +#if BUILDFLAG(DECENTRALIZED_DNS_ENABLED) + decentralized_dns::DecentralizedDnsServiceFactory::GetForContext(profile); #endif #if !BUILDFLAG(USE_GCM_FROM_PLATFORM) gcm::BraveGCMChannelStatus* status = 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 279ff0189f6b..5e110c6c94b7 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 @@ -68,8 +68,8 @@ cr.define('settings', function () { return loadTimeData.getBoolean('signInAllowedOnNextStartupInitialValue') } - isUnstoppableDomainsEnabled () { - return cr.sendWithPromise('isUnstoppableDomainsEnabled') + isDecentralizedDnsEnabled () { + return cr.sendWithPromise('isDecentralizedDnsEnabled') } } 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 c9bb46c6e392..b3cdb3fc036a 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,13 +85,19 @@ sub-label="$i18n{hangoutsEnabledDesc}" on-settings-boolean-control-change="onHangoutsEnabledChange_"> -