Skip to content

Commit

Permalink
ENS offchain lookup consent (#15010)
Browse files Browse the repository at this point in the history
  • Loading branch information
supermassive authored Sep 21, 2022
1 parent 0d289d6 commit bbdc467
Show file tree
Hide file tree
Showing 68 changed files with 1,170 additions and 641 deletions.
2 changes: 1 addition & 1 deletion android/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ declare_args() {
java_cpp_enum("brave_android_java_enums_srcjar") {
sources = [
"//brave/chromium_src/chrome/browser/notifications/notification_handler.h",
"//brave/components/decentralized_dns/constants.h",
"//brave/components/decentralized_dns/core/constants.h",
]
}

Expand Down
6 changes: 6 additions & 0 deletions app/brave_settings_strings.grdp
Original file line number Diff line number Diff line change
Expand Up @@ -670,6 +670,12 @@
<message name="IDS_SETTINGS_RESOLVE_ENS_DESC" desc="The description for how to handle ENS">
Method to resolve Ethereum Name Service (ENS)
</message>
<message name="IDS_SETTINGS_ENABLE_ENS_OFFCHAIN_LOOKUP_TITLE" desc="ENS offchain lookup method title">
Allow ENS offchain lookup.
</message>
<message name="IDS_SETTINGS_ENABLE_ENS_OFFCHAIN_LOOKUP_DESC" desc="ENS offchain lookup method desc">
<ph name="BEGIN_LINK">&lt;a target="_blank" href="$1"&gt;</ph>Learn More<ph name="END_LINK">&lt;/a&gt;</ph> about ENS offchain lookup privacy considerations.
</message>
<message name="IDS_SETTINGS_ENABLE_TOR_TITLE" desc="Text fragment for enabling tor component">
Private window with Tor
</message>
Expand Down
2 changes: 1 addition & 1 deletion browser/android/preferences/brave_pref_service_bridge.cc
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
#include "brave/components/brave_today/common/pref_names.h"
#include "brave/components/constants/pref_names.h"
#include "brave/components/de_amp/common/pref_names.h"
#include "brave/components/decentralized_dns/pref_names.h"
#include "brave/components/decentralized_dns/core/pref_names.h"
#include "brave/components/ipfs/buildflags/buildflags.h"
#include "brave/components/p3a/buildflags.h"
#include "build/build_config.h"
Expand Down
2 changes: 1 addition & 1 deletion browser/brave_content_browser_client.cc
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
#include "brave/components/cosmetic_filters/common/cosmetic_filters.mojom.h"
#include "brave/components/de_amp/browser/de_amp_throttle.h"
#include "brave/components/debounce/browser/debounce_navigation_throttle.h"
#include "brave/components/decentralized_dns/decentralized_dns_navigation_throttle.h"
#include "brave/components/decentralized_dns/content/decentralized_dns_navigation_throttle.h"
#include "brave/components/ftx/browser/buildflags/buildflags.h"
#include "brave/components/gemini/browser/buildflags/buildflags.h"
#include "brave/components/ipfs/buildflags/buildflags.h"
Expand Down
2 changes: 1 addition & 1 deletion browser/brave_local_state_prefs.cc
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
#include "brave/components/brave_shields/browser/brave_shields_p3a.h"
#include "brave/components/brave_vpn/buildflags/buildflags.h"
#include "brave/components/constants/pref_names.h"
#include "brave/components/decentralized_dns/utils.h"
#include "brave/components/decentralized_dns/core/utils.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"
Expand Down
1 change: 1 addition & 0 deletions browser/brave_wallet/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ source_set("brave_wallet") {
"//brave/components/brave_wallet/browser:constants",
"//brave/components/brave_wallet/common",
"//brave/components/brave_wallet/common:mojom",
"//chrome/browser:browser_process",
"//chrome/browser/profiles:profiles",
"//components/keyed_service/content",
"//components/keyed_service/core",
Expand Down
4 changes: 3 additions & 1 deletion browser/brave_wallet/json_rpc_service_factory.cc
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#include "brave/browser/brave_wallet/brave_wallet_context_utils.h"
#include "brave/components/brave_wallet/browser/brave_wallet_constants.h"
#include "brave/components/brave_wallet/browser/json_rpc_service.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/profiles/incognito_helpers.h"
#include "components/keyed_service/content/browser_context_dependency_manager.h"
#include "components/user_prefs/user_prefs.h"
Expand Down Expand Up @@ -68,7 +69,8 @@ KeyedService* JsonRpcServiceFactory::BuildServiceInstanceFor(
auto shared_url_loader_factory =
default_storage_partition->GetURLLoaderFactoryForBrowserProcess();
return new JsonRpcService(shared_url_loader_factory,
user_prefs::UserPrefs::Get(context));
user_prefs::UserPrefs::Get(context),
g_browser_process->local_state());
}

content::BrowserContext* JsonRpcServiceFactory::GetBrowserContextToUse(
Expand Down
12 changes: 7 additions & 5 deletions browser/decentralized_dns/test/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,11 @@ source_set("browser_tests") {
if (!is_android) {
defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]

sources = [ "//brave/browser/decentralized_dns/test/decentralized_dns_navigation_throttle_browsertest.cc" ]
sources = [ "decentralized_dns_navigation_throttle_browsertest.cc" ]
deps = [
"//base/test:test_support",
"//brave/components/decentralized_dns",
"//brave/components/decentralized_dns/content",
"//brave/components/decentralized_dns/core",
"//chrome/browser:browser_process",
"//chrome/test:test_support",
"//chrome/test:test_support_ui",
Expand All @@ -30,9 +31,9 @@ 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/browser/net/decentralized_dns_network_delegate_helper_unittest.cc",
"decentralized_dns_navigation_throttle_unittest.cc",
"utils_unittest.cc",
]

deps = [
Expand All @@ -44,7 +45,8 @@ source_set("unit_tests") {
"//brave/components/brave_wallet/browser:utils",
"//brave/components/brave_wallet/browser/test:test_support",
"//brave/components/brave_wallet/common:mojom",
"//brave/components/decentralized_dns",
"//brave/components/decentralized_dns/content",
"//brave/components/decentralized_dns/core",
"//brave/components/tor/buildflags",
"//chrome/test:test_support",
"//components/prefs",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
* 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/pref_names.h"
#include "brave/components/decentralized_dns/content/decentralized_dns_opt_in_page.h"
#include "brave/components/decentralized_dns/core/constants.h"
#include "brave/components/decentralized_dns/core/pref_names.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +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/. */

#include "brave/components/decentralized_dns/decentralized_dns_navigation_throttle.h"
#include "brave/components/decentralized_dns/content/decentralized_dns_navigation_throttle.h"

#include "base/memory/raw_ptr.h"
#include "base/test/scoped_feature_list.h"
Expand Down
6 changes: 3 additions & 3 deletions browser/decentralized_dns/test/utils_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
* 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 "brave/components/decentralized_dns/core/utils.h"

#include "base/test/task_environment.h"
#include "brave/components/decentralized_dns/constants.h"
#include "brave/components/decentralized_dns/pref_names.h"
#include "brave/components/decentralized_dns/core/constants.h"
#include "brave/components/decentralized_dns/core/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"
Expand Down
2 changes: 1 addition & 1 deletion browser/extensions/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ source_set("extensions") {
"//brave/components/brave_wayback_machine:buildflags",
"//brave/components/constants",
"//brave/components/de_amp/common",
"//brave/components/decentralized_dns",
"//brave/components/decentralized_dns/content",
"//brave/components/ipfs/buildflags",
"//brave/components/ntp_widget_utils/browser",
"//brave/components/sidebar/buildflags",
Expand Down
4 changes: 3 additions & 1 deletion browser/extensions/api/settings_private/brave_prefs_util.cc
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
#include "brave/components/constants/pref_names.h"
#include "brave/components/crypto_dot_com/browser/buildflags/buildflags.h"
#include "brave/components/de_amp/common/pref_names.h"
#include "brave/components/decentralized_dns/pref_names.h"
#include "brave/components/decentralized_dns/core/pref_names.h"
#include "brave/components/ftx/browser/buildflags/buildflags.h"
#include "brave/components/ipfs/buildflags/buildflags.h"
#include "brave/components/ntp_background_images/common/pref_names.h"
Expand Down Expand Up @@ -319,6 +319,8 @@ const PrefsUtil::TypedPrefMap& BravePrefsUtil::GetAllowlistedKeys() {
settings_api::PrefType::PREF_TYPE_NUMBER;
(*s_brave_allowlist)[decentralized_dns::kENSResolveMethod] =
settings_api::PrefType::PREF_TYPE_NUMBER;
(*s_brave_allowlist)[decentralized_dns::kEnsOffchainResolveMethod] =
settings_api::PrefType::PREF_TYPE_NUMBER;

// Media router pref
(*s_brave_allowlist)[kEnableMediaRouterOnRestart] =
Expand Down
2 changes: 1 addition & 1 deletion browser/ipfs/content_browser_client_helper.cc
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
#include "brave/browser/profiles/profile_util.h"
#include "brave/components/constants/url_constants.h"
#include "brave/components/constants/webui_url_constants.h"
#include "brave/components/decentralized_dns/utils.h"
#include "brave/components/decentralized_dns/core/utils.h"
#include "brave/components/ipfs/ipfs_constants.h"
#include "brave/components/ipfs/ipfs_utils.h"
#include "brave/components/ipfs/pref_names.h"
Expand Down
6 changes: 3 additions & 3 deletions browser/ipfs/content_browser_client_helper_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
#include "base/test/bind.h"
#include "base/test/scoped_feature_list.h"
#include "brave/components/constants/webui_url_constants.h"
#include "brave/components/decentralized_dns/constants.h"
#include "brave/components/decentralized_dns/pref_names.h"
#include "brave/components/decentralized_dns/utils.h"
#include "brave/components/decentralized_dns/core/constants.h"
#include "brave/components/decentralized_dns/core/pref_names.h"
#include "brave/components/decentralized_dns/core/utils.h"
#include "brave/components/ipfs/features.h"
#include "brave/components/ipfs/ipfs_constants.h"
#include "brave/components/ipfs/ipfs_ports.h"
Expand Down
3 changes: 2 additions & 1 deletion browser/ipfs/test/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ source_set("unittests") {
"//brave/browser/net",
"//brave/browser/tor",
"//brave/common",
"//brave/components/decentralized_dns",
"//brave/components/decentralized_dns/content",
"//brave/components/decentralized_dns/core",
"//brave/components/ipfs",
"//brave/components/tor/buildflags",
"//chrome/common:channel_info",
Expand Down
2 changes: 1 addition & 1 deletion browser/net/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ source_set("net") {
"//brave/components/brave_wallet/browser",
"//brave/components/brave_wallet/common",
"//brave/components/brave_webtorrent/browser/buildflags",
"//brave/components/decentralized_dns",
"//brave/components/decentralized_dns/content",
"//brave/components/ipfs/buildflags",
"//brave/components/update_client:buildflags",
"//brave/extensions:common",
Expand Down
8 changes: 6 additions & 2 deletions browser/net/decentralized_dns_network_delegate_helper.cc
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
#include "brave/browser/brave_wallet/json_rpc_service_factory.h"
#include "brave/components/brave_wallet/browser/json_rpc_service.h"
#include "brave/components/brave_wallet/common/brave_wallet.mojom.h"
#include "brave/components/decentralized_dns/constants.h"
#include "brave/components/decentralized_dns/utils.h"
#include "brave/components/decentralized_dns/core/constants.h"
#include "brave/components/decentralized_dns/core/utils.h"
#include "brave/components/ipfs/ipfs_utils.h"
#include "chrome/browser/browser_process.h"
#include "content/public/browser/browser_context.h"
Expand Down Expand Up @@ -62,8 +62,12 @@ void OnBeforeURLRequest_EnsRedirectWork(
const brave::ResponseCallback& next_callback,
std::shared_ptr<brave::BraveRequestInfo> ctx,
const std::vector<uint8_t>& content_hash,
bool require_offchain_consent,
brave_wallet::mojom::ProviderError error,
const std::string& error_message) {
// TODO(apaymyshev): implement interstitial page.
DCHECK(!require_offchain_consent);

if (error != brave_wallet::mojom::ProviderError::kSuccess) {
if (!next_callback.is_null())
next_callback.Run();
Expand Down
1 change: 1 addition & 0 deletions browser/net/decentralized_dns_network_delegate_helper.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ void OnBeforeURLRequest_EnsRedirectWork(
const brave::ResponseCallback& next_callback,
std::shared_ptr<brave::BraveRequestInfo> ctx,
const std::vector<uint8_t>& content_hash,
bool require_offchain_consent,
brave_wallet::mojom::ProviderError error,
const std::string& error_message);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@
#include "brave/components/brave_wallet/common/brave_wallet.mojom.h"
#include "brave/components/brave_wallet/common/eth_abi_utils.h"
#include "brave/components/brave_wallet/common/hex_utils.h"
#include "brave/components/decentralized_dns/constants.h"
#include "brave/components/decentralized_dns/pref_names.h"
#include "brave/components/decentralized_dns/utils.h"
#include "brave/components/decentralized_dns/core/constants.h"
#include "brave/components/decentralized_dns/core/pref_names.h"
#include "brave/components/decentralized_dns/core/utils.h"
#include "chrome/test/base/scoped_testing_local_state.h"
#include "chrome/test/base/testing_browser_process.h"
#include "chrome/test/base/testing_profile.h"
Expand Down Expand Up @@ -241,12 +241,12 @@ TEST_F(DecentralizedDnsNetworkDelegateHelperTest, EnsRedirectWork) {

// No redirect for failed requests.
OnBeforeURLRequest_EnsRedirectWork(
ResponseCallback(), brave_request_info, {},
ResponseCallback(), brave_request_info, {}, false,
brave_wallet::mojom::ProviderError::kInternalError, "todo");
EXPECT_TRUE(brave_request_info->new_url_spec.empty());

OnBeforeURLRequest_EnsRedirectWork(
ResponseCallback(), brave_request_info, {},
ResponseCallback(), brave_request_info, {}, false,
brave_wallet::mojom::ProviderError::kSuccess, "");
EXPECT_TRUE(brave_request_info->new_url_spec.empty());

Expand All @@ -260,7 +260,7 @@ TEST_F(DecentralizedDnsNetworkDelegateHelperTest, EnsRedirectWork) {
auto content_hash = *brave_wallet::eth_abi::ExtractBytesFromTuple(
*brave_wallet::PrefixedHexStringToBytes(content_hash_encoded_string), 0);
OnBeforeURLRequest_EnsRedirectWork(
ResponseCallback(), brave_request_info, content_hash,
ResponseCallback(), brave_request_info, content_hash, false,
brave_wallet::mojom::ProviderError::kSuccess, "");
EXPECT_TRUE(brave_request_info->new_url_spec.empty());

Expand All @@ -274,7 +274,7 @@ TEST_F(DecentralizedDnsNetworkDelegateHelperTest, EnsRedirectWork) {
content_hash = *brave_wallet::eth_abi::ExtractBytesFromTuple(
*brave_wallet::PrefixedHexStringToBytes(content_hash_encoded_string), 0);
OnBeforeURLRequest_EnsRedirectWork(
ResponseCallback(), brave_request_info, content_hash,
ResponseCallback(), brave_request_info, content_hash, false,
brave_wallet::mojom::ProviderError::kSuccess, "");
EXPECT_EQ(brave_request_info->new_url_spec,
"ipfs://"
Expand Down
2 changes: 1 addition & 1 deletion browser/resources/settings/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ preprocess_if_expr("preprocess_generated") {
"brave_ipfs_page/ipfs_peers_subpage.m.js",
"brave_ipfs_page/add_ipfs_peer_dialog.js",
"brave_default_extensions_page/brave_default_extensions_browser_proxy.m.js",
"brave_default_extensions_page/brave_default_extensions_page.m.js",
"brave_default_extensions_page/brave_default_extensions_page.js",
"brave_help_tips_page/brave_help_tips_page.js",
"brave_icons.m.js",
"brave_new_tab_page/brave_new_tab_browser_proxy.m.js",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,16 @@ import("../settings.gni")

group("web_modules") {
public_deps = [
":brave_default_extensions_page_module",
":modules",
":templatize",
]
}

polymer_modulizer("brave_default_extensions_page") {
js_file = "brave_default_extensions_page.js"
html_file = "brave_default_extensions_page.html"
html_type = "dom-module"
auto_imports = settings_auto_imports + [ "brave/browser/resources/settings/brave_default_extensions_page/brave_default_extensions_browser_proxy.html|BraveDefaultExtensionsBrowserProxy, BraveDefaultExtensionsBrowserProxyImpl" ]
namespace_rewrites = settings_namespace_rewrites
}

js_modulizer("modules") {
input_files = [ "brave_default_extensions_browser_proxy.js" ]
namespace_rewrites = settings_namespace_rewrites
}

html_to_js("templatize") {
js_files = [ "brave_default_extensions_page.js" ]
}
Loading

0 comments on commit bbdc467

Please sign in to comment.