Skip to content

Commit 057fb84

Browse files
committed
[Cardano] Add Cardano site permission
Resolves brave/brave-browser#46124
1 parent 9b807fc commit 057fb84

File tree

36 files changed

+298
-67
lines changed

36 files changed

+298
-67
lines changed

browser/brave_wallet/brave_wallet_service_unittest.cc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2393,14 +2393,18 @@ TEST_F(BraveWalletServiceUnitTest, Reset) {
23932393
blink::PermissionType::BRAVE_ETHEREUM, profile_.get(), origin, eth_addr));
23942394
ASSERT_TRUE(permissions::BraveWalletPermissionContext::AddPermission(
23952395
blink::PermissionType::BRAVE_SOLANA, profile_.get(), origin, sol_addr));
2396+
ASSERT_TRUE(permissions::BraveWalletPermissionContext::AddPermission(
2397+
blink::PermissionType::BRAVE_CARDANO, profile_.get(), origin, sol_addr));
23962398

23972399
ASSERT_TRUE(delegate->HasPermission(mojom::CoinType::ETH, origin, eth_addr));
23982400
ASSERT_TRUE(delegate->HasPermission(mojom::CoinType::SOL, origin, sol_addr));
2401+
ASSERT_TRUE(delegate->HasPermission(mojom::CoinType::ADA, origin, sol_addr));
23992402

24002403
service_->Reset();
24012404

24022405
EXPECT_FALSE(delegate->HasPermission(mojom::CoinType::ETH, origin, eth_addr));
24032406
EXPECT_FALSE(delegate->HasPermission(mojom::CoinType::SOL, origin, sol_addr));
2407+
EXPECT_FALSE(delegate->HasPermission(mojom::CoinType::ADA, origin, sol_addr));
24042408

24052409
EXPECT_FALSE(GetPrefs()->HasPrefPath(kBraveWalletUserAssetsList));
24062410
EXPECT_FALSE(GetPrefs()->HasPrefPath(kDefaultBaseCurrency));

browser/content_settings/brave_content_settings_registry_unittest.cc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,12 @@ TEST_F(BraveContentSettingsRegistryTest, GetInitialDefaultSetting) {
178178
EXPECT_EQ(CONTENT_SETTING_ASK, info->GetInitialDefaultSetting());
179179
}
180180

181+
{
182+
SCOPED_TRACE("Content setting: BRAVE_CARDANO");
183+
info = registry()->Get(ContentSettingsType::BRAVE_CARDANO);
184+
EXPECT_EQ(CONTENT_SETTING_ASK, info->GetInitialDefaultSetting());
185+
}
186+
181187
// TODO(bridiver) - DEFAULT is not a valid setting, but leaving it for
182188
// now because this requires more extensive changes to fix correctly
183189
// {

browser/permissions/brave_wallet_permission_context_unittest.cc

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,10 @@ TEST_F(BraveWalletPermissionContextUnitTest, AddPermission) {
6565
} cases[] = {{"0x407637cC04893DA7FA4A7C0B58884F82d69eD448",
6666
blink::PermissionType::BRAVE_ETHEREUM},
6767
{"BrG44HdsEhzapvs8bEqzvkq4egwevS3fRE6ze2ENo6S8",
68-
blink::PermissionType::BRAVE_SOLANA}};
68+
blink::PermissionType::BRAVE_SOLANA},
69+
{"addr1q8gg2r3vf9zggn48g7m8vx62rwf6warcs4k7ej8mdzmqmesj30jz7psdu"
70+
"yk6n4n2qrud2xlv9fgj53n6ds3t8cs4fvzs05yzmz",
71+
blink::PermissionType::BRAVE_CARDANO}};
6972
for (auto entry : cases) {
7073
SCOPED_TRACE(entry.address);
7174
bool has_permission;
@@ -114,7 +117,10 @@ TEST_F(BraveWalletPermissionContextUnitTest, ResetPermission) {
114117
} cases[] = {{"0x407637cC04893DA7FA4A7C0B58884F82d69eD448",
115118
blink::PermissionType::BRAVE_ETHEREUM},
116119
{"BrG44HdsEhzapvs8bEqzvkq4egwevS3fRE6ze2ENo6S8",
117-
blink::PermissionType::BRAVE_SOLANA}};
120+
blink::PermissionType::BRAVE_SOLANA},
121+
{"addr1q8gg2r3vf9zggn48g7m8vx62rwf6warcs4k7ej8mdzmqmesj30jz7psdu"
122+
"yk6n4n2qrud2xlv9fgj53n6ds3t8cs4fvzs05yzmz",
123+
blink::PermissionType::BRAVE_CARDANO}};
118124
for (auto entry : cases) {
119125
SCOPED_TRACE(entry.address);
120126
bool success = permissions::BraveWalletPermissionContext::AddPermission(
@@ -162,7 +168,10 @@ TEST_F(BraveWalletPermissionContextUnitTest, ResetAllPermissions) {
162168
} cases[] = {{"0x407637cC04893DA7FA4A7C0B58884F82d69eD448",
163169
blink::PermissionType::BRAVE_ETHEREUM},
164170
{"BrG44HdsEhzapvs8bEqzvkq4egwevS3fRE6ze2ENo6S8",
165-
blink::PermissionType::BRAVE_SOLANA}};
171+
blink::PermissionType::BRAVE_SOLANA},
172+
{"addr1q8gg2r3vf9zggn48g7m8vx62rwf6warcs4k7ej8mdzmqmesj30jz7psdu"
173+
"yk6n4n2qrud2xlv9fgj53n6ds3t8cs4fvzs05yzmz",
174+
blink::PermissionType::BRAVE_CARDANO}};
166175
for (auto entry : cases) {
167176
SCOPED_TRACE(entry.address);
168177
bool success = permissions::BraveWalletPermissionContext::AddPermission(
@@ -203,7 +212,11 @@ TEST_F(BraveWalletPermissionContextUnitTest, GetWebSitesWithPermission) {
203212
ContentSettingsType::BRAVE_ETHEREUM,
204213
blink::PermissionType::BRAVE_ETHEREUM},
205214
{"BrG44HdsEhzapvs8bEqzvkq4egwevS3fRE6ze2ENo6S8",
206-
ContentSettingsType::BRAVE_SOLANA, blink::PermissionType::BRAVE_SOLANA}};
215+
ContentSettingsType::BRAVE_SOLANA, blink::PermissionType::BRAVE_SOLANA},
216+
{"addr1q8gg2r3vf9zggn48g7m8vx62rwf6warcs4k7ej8mdzmqmesj30jz7psduyk6n4n2qr"
217+
"ud2xlv9fgj53n6ds3t8cs4fvzs05yzmz",
218+
ContentSettingsType::BRAVE_CARDANO,
219+
blink::PermissionType::BRAVE_CARDANO}};
207220
for (auto entry : cases) {
208221
SCOPED_TRACE(entry.address);
209222
bool success = permissions::BraveWalletPermissionContext::AddPermission(
@@ -240,7 +253,11 @@ TEST_F(BraveWalletPermissionContextUnitTest, ResetWebSitePermission) {
240253
ContentSettingsType::BRAVE_ETHEREUM,
241254
blink::PermissionType::BRAVE_ETHEREUM},
242255
{"BrG44HdsEhzapvs8bEqzvkq4egwevS3fRE6ze2ENo6S8",
243-
ContentSettingsType::BRAVE_SOLANA, blink::PermissionType::BRAVE_SOLANA}};
256+
ContentSettingsType::BRAVE_SOLANA, blink::PermissionType::BRAVE_SOLANA},
257+
{"addr1q8gg2r3vf9zggn48g7m8vx62rwf6warcs4k7ej8mdzmqmesj30jz7psduyk6n4n2qr"
258+
"ud2xlv9fgj53n6ds3t8cs4fvzs05yzmz",
259+
ContentSettingsType::BRAVE_CARDANO,
260+
blink::PermissionType::BRAVE_CARDANO}};
244261
for (auto entry : cases) {
245262
SCOPED_TRACE(entry.address);
246263
bool success = permissions::BraveWalletPermissionContext::AddPermission(

browser/permissions/permission_lifetime_manager_browsertest.cc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,10 @@ constexpr TestCase kTestCases[] = {
6666
ContentSettingsType::BRAVE_ETHEREUM,
6767
blink::PermissionType::BRAVE_ETHEREUM},
6868
{"BrG44HdsEhzapvs8bEqzvkq4egwevS3fRE6ze2ENo6S8",
69-
ContentSettingsType::BRAVE_SOLANA, blink::PermissionType::BRAVE_SOLANA}};
69+
ContentSettingsType::BRAVE_SOLANA, blink::PermissionType::BRAVE_SOLANA},
70+
{"addr1q8gg2r3vf9zggn48g7m8vx62rwf6warcs4k7ej8mdzmqmesj30jz7psduyk6n4n2qrud"
71+
"2xlv9fgj53n6ds3t8cs4fvzs05yzmz",
72+
ContentSettingsType::BRAVE_CARDANO, blink::PermissionType::BRAVE_CARDANO}};
7073

7174
constexpr char kPreTestDataFileName[] = "pre_test_data";
7275

@@ -81,6 +84,7 @@ std::string GetContentSettingTypeString(ContentSettingsType type) {
8184
TYPE_CASE(ContentSettingsType::GEOLOCATION)
8285
TYPE_CASE(ContentSettingsType::BRAVE_ETHEREUM)
8386
TYPE_CASE(ContentSettingsType::BRAVE_SOLANA)
87+
TYPE_CASE(ContentSettingsType::BRAVE_CARDANO)
8488

8589
#undef TYPE_CASE
8690
default:

browser/permissions/permission_manager_browsertest.cc

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,12 @@ IN_PROC_BROWSER_TEST_F(PermissionManagerBrowserTest, RequestPermissions) {
200200
{{"BrG44HdsEhzapvs8bEqzvkq4egwevS3fRE6ze2ENo6S8",
201201
"JDqrvDz8d8tFCADashbUKQDKfJZFobNy13ugN65t1wvV"},
202202
ContentSettingsType::BRAVE_SOLANA,
203-
blink::PermissionType::BRAVE_SOLANA}});
203+
blink::PermissionType::BRAVE_SOLANA},
204+
{{"Ae2tdPwUPEZFSi1cTyL1ZL6bgixhc2vSy5heg6Zg9uP7PpumkAJ82Qprt8b",
205+
"DdzFFzCqrhsfZHjaBunVySZBU8i9Zom7Gujham6Jz8scCcAdkDmEbD9XSdXKdBiPoa1fj"
206+
"gL4ksGjQXD8ZkSNHGJfT25ieA9rWNCSA5qc"},
207+
ContentSettingsType::BRAVE_CARDANO,
208+
blink::PermissionType::BRAVE_CARDANO}});
204209
for (auto& test_case : cases) {
205210
SCOPED_TRACE(testing::Message() << test_case.type);
206211

@@ -367,7 +372,12 @@ IN_PROC_BROWSER_TEST_F(PermissionManagerBrowserTest,
367372
{{"BrG44HdsEhzapvs8bEqzvkq4egwevS3fRE6ze2ENo6S8",
368373
"JDqrvDz8d8tFCADashbUKQDKfJZFobNy13ugN65t1wvV"},
369374
ContentSettingsType::BRAVE_SOLANA,
370-
blink::PermissionType::BRAVE_SOLANA}});
375+
blink::PermissionType::BRAVE_SOLANA},
376+
{{"Ae2tdPwUPEZFSi1cTyL1ZL6bgixhc2vSy5heg6Zg9uP7PpumkAJ82Qprt8b",
377+
"DdzFFzCqrhsfZHjaBunVySZBU8i9Zom7Gujham6Jz8scCcAdkDmEbD9XSdXKdBiPoa1fj"
378+
"gL4ksGjQXD8ZkSNHGJfT25ieA9rWNCSA5qc"},
379+
ContentSettingsType::BRAVE_CARDANO,
380+
blink::PermissionType::BRAVE_CARDANO}});
371381
for (auto& test_case : cases) {
372382
SCOPED_TRACE(testing::Message() << test_case.type);
373383

@@ -446,7 +456,11 @@ IN_PROC_BROWSER_TEST_F(PermissionManagerBrowserTest, GetCanonicalOrigin) {
446456
ContentSettingsType::BRAVE_ETHEREUM},
447457
{{"BrG44HdsEhzapvs8bEqzvkq4egwevS3fRE6ze2ENo6S8",
448458
"JDqrvDz8d8tFCADashbUKQDKfJZFobNy13ugN65t1wvV"},
449-
ContentSettingsType::BRAVE_SOLANA}});
459+
ContentSettingsType::BRAVE_SOLANA},
460+
{{"addr1q8gg2r3vf9zggn48g7m8vx62rwf6warcs4k7ej8mdzmqmesj30jz7psduyk6n4n2"
461+
"qrud2xlv9fgj53n6ds3t8cs4fvzs05yzmz",
462+
"Ae2tdPwUPEZFSi1cTyL1ZL6bgixhc2vSy5heg6Zg9uP7PpumkAJ82Qprt8b"},
463+
ContentSettingsType::BRAVE_CARDANO}});
450464
for (auto& test_case : cases) {
451465
SCOPED_TRACE(testing::Message() << test_case.type);
452466

browser/permissions/permission_origin_lifetime_monitor_impl.cc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ PermissionOriginLifetimeMonitorImpl::SubscribeToPermissionOriginDestruction(
4343

4444
url::Origin sub_request_origin;
4545
bool is_sub_request_origin = false;
46-
for (auto type : {RequestType::kBraveEthereum, RequestType::kBraveSolana}) {
46+
for (auto type : {RequestType::kBraveEthereum, RequestType::kBraveSolana,
47+
RequestType::kBraveCardano}) {
4748
if (brave_wallet::ParseRequestingOriginFromSubRequest(
4849
type, url::Origin::Create(requesting_origin), &sub_request_origin,
4950
nullptr)) {

chromium_src/android_webview/browser/aw_permission_manager.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
case PermissionType::BRAVE_SPEEDREADER: \
2121
case PermissionType::BRAVE_ETHEREUM: \
2222
case PermissionType::BRAVE_SOLANA: \
23+
case PermissionType::BRAVE_CARDANO: \
2324
case PermissionType::BRAVE_GOOGLE_SIGN_IN: \
2425
case PermissionType::BRAVE_LOCALHOST_ACCESS: \
2526
case PermissionType::BRAVE_OPEN_AI_CHAT: \

chromium_src/chrome/browser/permissions/chrome_permissions_client.cc

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ bool ChromePermissionsClient::BraveCanBypassEmbeddingOriginCheck(
3838
// SolanaProviderRendererTest.Iframe3P and
3939
// JSEthereumProviderBrowserTest.Iframe3P
4040
if (type == ContentSettingsType::BRAVE_ETHEREUM ||
41-
type == ContentSettingsType::BRAVE_SOLANA) {
41+
type == ContentSettingsType::BRAVE_SOLANA ||
42+
type == ContentSettingsType::BRAVE_CARDANO) {
4243
return true;
4344
}
4445

@@ -58,10 +59,14 @@ ChromePermissionsClient::MaybeCreateMessageUI(
5859
brave_wallet::mojom::CoinType::ETH;
5960
permissions::RequestType request_type = requests[0]->request_type();
6061
if (request_type == permissions::RequestType::kBraveEthereum ||
61-
request_type == permissions::RequestType::kBraveSolana) {
62+
request_type == permissions::RequestType::kBraveSolana ||
63+
request_type == permissions::RequestType::kBraveCardano) {
6264
if (request_type == permissions::RequestType::kBraveSolana) {
6365
coin_type = brave_wallet::mojom::CoinType::SOL;
6466
}
67+
if (request_type == permissions::RequestType::kBraveCardano) {
68+
coin_type = brave_wallet::mojom::CoinType::ADA;
69+
}
6570
auto delegate = std::make_unique<BraveWalletPermissionPrompt::Delegate>(
6671
std::move(prompt));
6772
return std::make_unique<BraveWalletPermissionPrompt>(

chromium_src/chrome/browser/permissions/permission_manager_factory.cc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ PermissionManagerFactory::BuildServiceInstanceForBrowserContext(
3838
permission_contexts[ContentSettingsType::BRAVE_SOLANA] =
3939
std::make_unique<permissions::BraveWalletPermissionContext>(
4040
profile, ContentSettingsType::BRAVE_SOLANA);
41+
permission_contexts[ContentSettingsType::BRAVE_CARDANO] =
42+
std::make_unique<permissions::BraveWalletPermissionContext>(
43+
profile, ContentSettingsType::BRAVE_CARDANO);
4144
permission_contexts[ContentSettingsType::BRAVE_GOOGLE_SIGN_IN] =
4245
std::make_unique<permissions::BraveGoogleSignInPermissionContext>(
4346
profile);

chromium_src/chrome/browser/ui/views/permissions/permission_prompt_factory.cc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@ std::unique_ptr<permissions::PermissionPrompt> CreatePermissionPrompt(
2828
if (delegate->Requests()[0]->request_type() ==
2929
permissions::RequestType::kBraveEthereum ||
3030
delegate->Requests()[0]->request_type() ==
31-
permissions::RequestType::kBraveSolana) {
31+
permissions::RequestType::kBraveSolana ||
32+
delegate->Requests()[0]->request_type() ==
33+
permissions::RequestType::kBraveCardano) {
3234
return std::make_unique<BraveWalletPermissionPromptImpl>(
3335
browser, web_contents, *delegate);
3436
}

chromium_src/chrome/browser/ui/webui/settings/site_settings_helper.cc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
{ContentSettingsType::BRAVE_SPEEDREADER, nullptr}, \
3030
{ContentSettingsType::BRAVE_ETHEREUM, "ethereum"}, \
3131
{ContentSettingsType::BRAVE_SOLANA, "solana"}, \
32+
{ContentSettingsType::BRAVE_CARDANO, "cardano"}, \
3233
{ContentSettingsType::BRAVE_GOOGLE_SIGN_IN, "googleSignIn"}, \
3334
{ContentSettingsType::BRAVE_HTTPS_UPGRADE, nullptr}, \
3435
{ContentSettingsType::BRAVE_REMEMBER_1P_STORAGE, nullptr}, \
@@ -122,6 +123,9 @@ bool HasRegisteredGroupName(ContentSettingsType type) {
122123
if (type == ContentSettingsType::BRAVE_SOLANA) {
123124
return true;
124125
}
126+
if (type == ContentSettingsType::BRAVE_CARDANO) {
127+
return true;
128+
}
125129
if (type == ContentSettingsType::BRAVE_SHIELDS) {
126130
return true;
127131
}
@@ -135,6 +139,7 @@ std::vector<ContentSettingsType> GetVisiblePermissionCategories(
135139
ContentSettingsType::AUTOPLAY,
136140
ContentSettingsType::BRAVE_ETHEREUM,
137141
ContentSettingsType::BRAVE_SOLANA,
142+
// TODO(cypt4): Enable ContentSettingsType::BRAVE_CARDANO,
138143
ContentSettingsType::BRAVE_GOOGLE_SIGN_IN,
139144
ContentSettingsType::BRAVE_LOCALHOST_ACCESS,
140145
ContentSettingsType::BRAVE_OPEN_AI_CHAT,

chromium_src/components/content_settings/core/browser/content_settings_registry.cc

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,18 @@ void ContentSettingsRegistry::BraveInit() {
187187
ContentSettingsInfo::INHERIT_IF_LESS_PERMISSIVE,
188188
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS);
189189

190+
// Register cardano default value as Ask.
191+
Register(ContentSettingsType::BRAVE_CARDANO, "brave_cardano",
192+
CONTENT_SETTING_ASK, WebsiteSettingsInfo::UNSYNCABLE,
193+
/*allowlisted_schemes=*/{},
194+
/*valid_settings=*/
195+
{CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, CONTENT_SETTING_ASK},
196+
WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
197+
WebsiteSettingsRegistry::DESKTOP |
198+
WebsiteSettingsRegistry::PLATFORM_ANDROID,
199+
ContentSettingsInfo::INHERIT_IF_LESS_PERMISSIVE,
200+
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS);
201+
190202
// Register google sign in social media permission default value as Ask.
191203
// This is INHERIT_IN_INCOGNITO because it sets cookie rules, and cookies
192204
// are INHERIT_IN_INCOGNITO.

chromium_src/components/content_settings/core/browser/content_settings_uma_util.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ static_assert(static_cast<int>(ContentSettingsType::kMaxValue) <
6565
{ContentSettingsType::BRAVE_WEBCOMPAT_WEBGL2, brave_value(66)}, \
6666
{ContentSettingsType::BRAVE_WEBCOMPAT_WEB_SOCKETS_POOL, brave_value(67)}, \
6767
{ContentSettingsType::BRAVE_WEBCOMPAT_ALL, brave_value(68)}, \
68-
{ContentSettingsType::BRAVE_SHIELDS_METADATA, brave_value(69)},
69-
// clang-format on
68+
{ContentSettingsType::BRAVE_SHIELDS_METADATA, brave_value(69)}, \
69+
{ContentSettingsType::BRAVE_CARDANO, brave_value(70)}, // clang-format on
7070

7171
#define kDefaultProvider \
7272
kRemoteListProvider: \

chromium_src/components/content_settings/core/common/content_settings_types.mojom

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ enum ContentSettingsType {
2020
BRAVE_SPEEDREADER,
2121
BRAVE_ETHEREUM,
2222
BRAVE_SOLANA,
23+
BRAVE_CARDANO,
2324
BRAVE_GOOGLE_SIGN_IN,
2425
BRAVE_HTTPS_UPGRADE,
2526
BRAVE_REMEMBER_1P_STORAGE,

chromium_src/components/permissions/permission_context_base.cc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ namespace {
2020

2121
bool IsGroupedPermissionType(ContentSettingsType type) {
2222
return type == ContentSettingsType::BRAVE_ETHEREUM ||
23-
type == ContentSettingsType::BRAVE_SOLANA;
23+
type == ContentSettingsType::BRAVE_SOLANA ||
24+
type == ContentSettingsType::BRAVE_CARDANO;
2425
}
2526

2627
} // namespace

chromium_src/components/permissions/permission_request.cc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,14 @@
2424
#define BRAVE_ENUM_ITEMS_FOR_SWITCH \
2525
case RequestType::kBraveEthereum: \
2626
case RequestType::kBraveSolana: \
27+
case RequestType::kBraveCardano: \
2728
case RequestType::kWidevine: \
2829
NOTREACHED();
2930
#else
3031
#define BRAVE_ENUM_ITEMS_FOR_SWITCH \
3132
case RequestType::kBraveEthereum: \
3233
case RequestType::kBraveSolana: \
34+
case RequestType::kBraveCardano: \
3335
case RequestType::kWidevine: \
3436
NOTREACHED();
3537
#endif

chromium_src/components/permissions/permission_request_data.cc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ std::optional<RequestType> ContentSettingsTypeToRequestTypeIfExists_BraveImpl(
1818
return RequestType::kBraveEthereum;
1919
case ContentSettingsType::BRAVE_SOLANA:
2020
return RequestType::kBraveSolana;
21+
case ContentSettingsType::BRAVE_CARDANO:
22+
return RequestType::kBraveCardano;
2123
case ContentSettingsType::BRAVE_GOOGLE_SIGN_IN:
2224
return RequestType::kBraveGoogleSignInPermission;
2325
case ContentSettingsType::BRAVE_LOCALHOST_ACCESS:

chromium_src/components/permissions/permission_request_manager.cc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ bool PermissionRequestManager::ShouldGroupRequests(PermissionRequest* a,
2323
url::Origin origin_a;
2424
url::Origin origin_b;
2525
if (a->request_type() == RequestType::kBraveEthereum ||
26-
a->request_type() == RequestType::kBraveSolana) {
26+
a->request_type() == RequestType::kBraveSolana ||
27+
a->request_type() == RequestType::kBraveCardano) {
2728
if (a->request_type() == b->request_type() &&
2829
brave_wallet::ParseRequestingOriginFromSubRequest(
2930
a->request_type(), url::Origin::Create(a->requesting_origin()),

chromium_src/components/permissions/permission_util.cc

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
case RequestType::kWidevine: \
1616
case RequestType::kBraveEthereum: \
1717
case RequestType::kBraveSolana: \
18+
case RequestType::kBraveCardano: \
1819
case RequestType::kBraveGoogleSignInPermission: \
1920
case RequestType::kBraveLocalhostAccessPermission: \
2021
case RequestType::kBraveOpenAIChat: \
@@ -52,6 +53,8 @@
5253
return ContentSettingsType::BRAVE_ETHEREUM; \
5354
case PermissionType::BRAVE_SOLANA: \
5455
return ContentSettingsType::BRAVE_SOLANA; \
56+
case PermissionType::BRAVE_CARDANO: \
57+
return ContentSettingsType::BRAVE_CARDANO; \
5558
case PermissionType::BRAVE_GOOGLE_SIGN_IN: \
5659
return ContentSettingsType::BRAVE_GOOGLE_SIGN_IN; \
5760
case PermissionType::BRAVE_LOCALHOST_ACCESS: \
@@ -75,6 +78,8 @@ std::string PermissionUtil::GetPermissionString(
7578
return "BraveEthereum";
7679
case ContentSettingsType::BRAVE_SOLANA:
7780
return "BraveSolana";
81+
case ContentSettingsType::BRAVE_CARDANO:
82+
return "BraveCardano";
7883
case ContentSettingsType::BRAVE_GOOGLE_SIGN_IN:
7984
return "BraveGoogleSignInPermission";
8085
case ContentSettingsType::BRAVE_LOCALHOST_ACCESS:
@@ -90,7 +95,8 @@ std::string PermissionUtil::GetPermissionString(
9095
bool PermissionUtil::GetPermissionType(ContentSettingsType type,
9196
blink::PermissionType* out) {
9297
if (type == ContentSettingsType::BRAVE_ETHEREUM ||
93-
type == ContentSettingsType::BRAVE_SOLANA) {
98+
type == ContentSettingsType::BRAVE_SOLANA ||
99+
type == ContentSettingsType::BRAVE_CARDANO) {
94100
*out = PermissionType::WINDOW_MANAGEMENT;
95101
return true;
96102
}
@@ -115,6 +121,7 @@ bool PermissionUtil::IsPermission(ContentSettingsType type) {
115121
switch (type) {
116122
case ContentSettingsType::BRAVE_ETHEREUM:
117123
case ContentSettingsType::BRAVE_SOLANA:
124+
case ContentSettingsType::BRAVE_CARDANO:
118125
case ContentSettingsType::BRAVE_GOOGLE_SIGN_IN:
119126
case ContentSettingsType::BRAVE_LOCALHOST_ACCESS:
120127
case ContentSettingsType::BRAVE_OPEN_AI_CHAT:
@@ -149,6 +156,8 @@ PermissionType PermissionUtil::ContentSettingsTypeToPermissionType(
149156
return PermissionType::BRAVE_ETHEREUM;
150157
case ContentSettingsType::BRAVE_SOLANA:
151158
return PermissionType::BRAVE_SOLANA;
159+
case ContentSettingsType::BRAVE_CARDANO:
160+
return PermissionType::BRAVE_CARDANO;
152161
case ContentSettingsType::BRAVE_GOOGLE_SIGN_IN:
153162
return PermissionType::BRAVE_GOOGLE_SIGN_IN;
154163
case ContentSettingsType::BRAVE_LOCALHOST_ACCESS:
@@ -166,7 +175,8 @@ GURL PermissionUtil::GetCanonicalOrigin(ContentSettingsType permission,
166175
const GURL& embedding_origin) {
167176
// Use requesting_origin which will have ethereum or solana address info.
168177
if (permission == ContentSettingsType::BRAVE_ETHEREUM ||
169-
permission == ContentSettingsType::BRAVE_SOLANA) {
178+
permission == ContentSettingsType::BRAVE_SOLANA ||
179+
permission == ContentSettingsType::BRAVE_CARDANO) {
170180
return requesting_origin;
171181
}
172182

0 commit comments

Comments
 (0)