[Farbling] Migrate |BraveFarblingService| as a keyed service dependent on the profile.
Behavioral Change: Now, the farbling's session token is isolated to each profile, and also an incognito session originating from a different profile has a unique session token.
This commit is contained in:
@@ -21,7 +21,6 @@
|
||||
|
||||
namespace brave {
|
||||
class BraveReferralsService;
|
||||
class BraveFarblingService;
|
||||
class URLSanitizerComponentInstaller;
|
||||
} // namespace brave
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#include "brave/browser/brave_browser_features.h"
|
||||
#include "brave/browser/brave_browser_main_extra_parts.h"
|
||||
#include "brave/browser/brave_browser_process.h"
|
||||
#include "brave/browser/brave_shields/brave_farbling_service_factory.h"
|
||||
#include "brave/browser/brave_shields/brave_shields_web_contents_observer.h"
|
||||
#include "brave/browser/brave_wallet/brave_wallet_context_utils.h"
|
||||
#include "brave/browser/brave_wallet/brave_wallet_provider_delegate_impl.h"
|
||||
@@ -895,16 +896,22 @@ void BraveContentBrowserClient::AppendExtraCommandLineSwitches(
|
||||
Profile* profile =
|
||||
process ? Profile::FromBrowserContext(process->GetBrowserContext())
|
||||
: nullptr;
|
||||
session_token =
|
||||
g_brave_browser_process->brave_farbling_service()->session_token(
|
||||
profile && !profile->IsOffTheRecord());
|
||||
|
||||
if (profile) {
|
||||
auto* brave_farbling_service =
|
||||
brave::BraveFarblingServiceFactory::GetForProfile(
|
||||
profile->IsOffTheRecord() ? profile->GetOriginalProfile()
|
||||
: profile);
|
||||
if (brave_farbling_service) {
|
||||
session_token =
|
||||
brave_farbling_service->session_token(!profile->IsOffTheRecord());
|
||||
}
|
||||
command_line->AppendSwitchASCII("brave_session_token",
|
||||
base::NumberToString(session_token));
|
||||
}
|
||||
if (command_line->HasSwitch(switches::kEnableIsolatedWebAppsInRenderer)) {
|
||||
command_line->RemoveSwitch(switches::kEnableIsolatedWebAppsInRenderer);
|
||||
}
|
||||
}
|
||||
command_line->AppendSwitchASCII("brave_session_token",
|
||||
base::NumberToString(session_token));
|
||||
|
||||
// Switches to pass to render processes.
|
||||
static const char* const kSwitchNames[] = {
|
||||
|
||||
+1
-1
@@ -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 https://mozilla.org/MPL/2.0/.
|
||||
|
||||
#include "brave/components/brave_shields/content/browser/brave_farbling_service_factory.h"
|
||||
#include "brave/browser/brave_shields/brave_farbling_service_factory.h"
|
||||
|
||||
#include "base/no_destructor.h"
|
||||
#include "brave/components/brave_shields/content/browser/brave_farbling_service.h"
|
||||
+3
-3
@@ -3,8 +3,8 @@
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
#ifndef BRAVE_COMPONENTS_BRAVE_SHIELDS_CONTENT_BROWSER_SERVICE_FACTORY_H_
|
||||
#define BRAVE_COMPONENTS_BRAVE_SHIELDS_CONTENT_BROWSER_SERVICE_FACTORY_H_
|
||||
#ifndef BRAVE_BROWSER_BRAVE_SHIELDS_BRAVE_FARBLING_SERVICE_FACTORY_H_
|
||||
#define BRAVE_BROWSER_BRAVE_SHIELDS_BRAVE_FARBLING_SERVICE_FACTORY_H_
|
||||
|
||||
#include <memory>
|
||||
|
||||
@@ -40,4 +40,4 @@ class BraveFarblingServiceFactory : public BrowserContextKeyedServiceFactory {
|
||||
};
|
||||
} // namespace brave
|
||||
|
||||
#endif // BRAVE_COMPONENTS_BRAVE_SHIELDS_CONTENT_BROWSER_SERVICE_FACTORY_H_
|
||||
#endif // BRAVE_BROWSER_BRAVE_SHIELDS_BRAVE_FARBLING_SERVICE_FACTORY_H_
|
||||
@@ -8,6 +8,8 @@ brave_browser_brave_shields_sources = [
|
||||
"//brave/browser/brave_shields/ad_block_pref_service_factory.h",
|
||||
"//brave/browser/brave_shields/ad_block_subscription_download_manager_getter.cc",
|
||||
"//brave/browser/brave_shields/ad_block_subscription_download_manager_getter.h",
|
||||
"//brave/browser/brave_shields/brave_farbling_service_factory.cc",
|
||||
"//brave/browser/brave_shields/brave_farbling_service_factory.h",
|
||||
"//brave/browser/brave_shields/brave_shields_tab_helper.cc",
|
||||
"//brave/browser/brave_shields/brave_shields_tab_helper.h",
|
||||
"//brave/browser/brave_shields/brave_shields_web_contents_observer.cc",
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
#include "brave/browser/brave_news/brave_news_controller_factory.h"
|
||||
#include "brave/browser/brave_rewards/rewards_service_factory.h"
|
||||
#include "brave/browser/brave_shields/ad_block_pref_service_factory.h"
|
||||
#include "brave/browser/brave_shields/brave_farbling_service_factory.h"
|
||||
#include "brave/browser/brave_wallet/asset_ratio_service_factory.h"
|
||||
#include "brave/browser/brave_wallet/brave_wallet_ipfs_service_factory.h"
|
||||
#include "brave/browser/brave_wallet/brave_wallet_service_factory.h"
|
||||
@@ -32,7 +33,6 @@
|
||||
#include "brave/browser/url_sanitizer/url_sanitizer_service_factory.h"
|
||||
#include "brave/components/ai_chat/core/common/buildflags/buildflags.h"
|
||||
#include "brave/components/brave_perf_predictor/browser/named_third_party_registry_factory.h"
|
||||
#include "brave/components/brave_shields/content/browser/brave_farbling_service_factory.h"
|
||||
#include "brave/components/brave_vpn/common/buildflags/buildflags.h"
|
||||
#include "brave/components/brave_wallet/common/common_utils.h"
|
||||
#include "brave/components/commander/common/buildflags/buildflags.h"
|
||||
|
||||
@@ -9,9 +9,10 @@
|
||||
#include "base/strings/stringprintf.h"
|
||||
#include "base/test/thread_test_helper.h"
|
||||
#include "brave/browser/brave_browser_process.h"
|
||||
#include "brave/browser/brave_shields/brave_farbling_service_factory.h"
|
||||
#include "brave/browser/extensions/brave_base_local_data_files_browsertest.h"
|
||||
#include "brave/components/brave_component_updater/browser/local_data_files_service.h"
|
||||
#include "brave/components/brave_shields/content/browser/brave_farbling_service_factory.h"
|
||||
#include "brave/components/brave_shields/content/browser/brave_farbling_service.h"
|
||||
#include "brave/components/brave_shields/content/browser/brave_shields_util.h"
|
||||
#include "brave/components/brave_shields/core/common/features.h"
|
||||
#include "brave/components/constants/brave_paths.h"
|
||||
@@ -73,7 +74,7 @@ class BraveNavigatorLanguagesFarblingBrowserTest : public InProcessBrowserTest {
|
||||
void SetUpOnMainThread() override {
|
||||
InProcessBrowserTest::SetUpOnMainThread();
|
||||
|
||||
BraveFarblingServiceFactory::GetForProfile(browser()->profile())
|
||||
brave::BraveFarblingServiceFactory::GetForProfile(browser()->profile())
|
||||
->set_session_tokens_for_testing(kTestingSessionToken,
|
||||
kTestingSessionToken);
|
||||
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#include "base/containers/fixed_flat_set.h"
|
||||
#include "base/strings/string_split.h"
|
||||
#include "brave/browser/brave_browser_process.h"
|
||||
#include "brave/browser/brave_shields/brave_farbling_service_factory.h"
|
||||
#include "brave/components/brave_shields/content/browser/brave_farbling_service.h"
|
||||
#include "brave/components/brave_shields/content/browser/brave_shields_util.h"
|
||||
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
|
||||
@@ -63,11 +64,15 @@ std::string FarbleAcceptLanguageHeader(
|
||||
}
|
||||
// Add a fake q value after the language code.
|
||||
brave::FarblingPRNG prng;
|
||||
if (g_brave_browser_process->brave_farbling_service()
|
||||
->MakePseudoRandomGeneratorForURL(
|
||||
origin_url, profile && profile->IsOffTheRecord(), &prng)) {
|
||||
|
||||
auto* brave_farbling_service = BraveFarblingServiceFactory::GetForProfile(
|
||||
profile->IsOffTheRecord() ? profile->GetOriginalProfile() : profile);
|
||||
if (brave_farbling_service &&
|
||||
brave_farbling_service->MakePseudoRandomGeneratorForURL(
|
||||
origin_url, profile->IsOffTheRecord(), &prng)) {
|
||||
accept_language_string += kFakeQValues[prng() % kFakeQValues.size()];
|
||||
}
|
||||
|
||||
return accept_language_string;
|
||||
}
|
||||
|
||||
|
||||
@@ -32,8 +32,6 @@ static_library("browser") {
|
||||
"blocked_domain_1pes_lifetime.h",
|
||||
"brave_farbling_service.cc",
|
||||
"brave_farbling_service.h",
|
||||
"brave_farbling_service_factory.cc",
|
||||
"brave_farbling_service_factory.h",
|
||||
"brave_shields_p3a.cc",
|
||||
"brave_shields_p3a.h",
|
||||
"brave_shields_util.cc",
|
||||
|
||||
@@ -82,7 +82,6 @@ class TestingBraveBrowserProcess : public BraveBrowserProcess {
|
||||
override;
|
||||
#endif
|
||||
brave_ads::ResourceComponent* resource_component() override;
|
||||
brave::BraveFarblingService* brave_farbling_service() override;
|
||||
#if BUILDFLAG(ENABLE_BRAVE_VPN)
|
||||
brave_vpn::BraveVPNConnectionManager* brave_vpn_connection_manager() override;
|
||||
void SetBraveVPNConnectionManagerForTesting(
|
||||
|
||||
Reference in New Issue
Block a user