Reland: Remove force_guest_profile
param from context getters.
The only place that didn't hardcode "true" for this can express what it wants more clearly with constexpr if anyway. Bug: 364987728 Change-Id: I27cbdf0ac7ac358392af5ea8d6c9257666af6a3b Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5938992 Commit-Queue: Stefan Kuhne <skuhne@chromium.org> Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com> Auto-Submit: Peter Kasting <pkasting@chromium.org> Reviewed-by: David Bertoni <dbertoni@chromium.org> Reviewed-by: Stefan Kuhne <skuhne@chromium.org> Cr-Commit-Position: refs/heads/main@{#1369550}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
bba57d209c
commit
1cb99aba7e
apps
chrome/browser/extensions
extensions
browser
api
device_permissions_manager.cc
idle
networking_private
offscreen
printer_provider
socket
storage
web_request
app_window
browser_context_keyed_api_factory.hevent_router_factory.ccextension_action_manager.ccextension_function.ccextension_host_registry.ccextension_pref_value_map_factory.ccextension_prefs_factory.ccextension_prefs_helper_factory.ccextension_protocols.ccextension_registry_factory.ccextensions_browser_client.hguest_view
mime_handler_view
service_worker
test_extensions_browser_client.cctest_extensions_browser_client.hupdater
user_script_world_configuration_manager.ccwarning_service.ccwarning_service_factory.ccshell
@ -46,7 +46,7 @@ bool AppLifetimeMonitorFactory::ServiceIsCreatedWithBrowserContext() const {
|
||||
content::BrowserContext* AppLifetimeMonitorFactory::GetBrowserContextToUse(
|
||||
content::BrowserContext* context) const {
|
||||
return extensions::ExtensionsBrowserClient::Get()
|
||||
->GetContextRedirectedToOriginal(context, /*force_guest_profile=*/true);
|
||||
->GetContextRedirectedToOriginal(context);
|
||||
}
|
||||
|
||||
} // namespace apps
|
||||
|
@ -45,7 +45,7 @@ bool AppRestoreServiceFactory::ServiceIsCreatedWithBrowserContext() const {
|
||||
content::BrowserContext* AppRestoreServiceFactory::GetBrowserContextToUse(
|
||||
content::BrowserContext* context) const {
|
||||
return extensions::ExtensionsBrowserClient::Get()
|
||||
->GetContextRedirectedToOriginal(context, /*force_guest_profile=*/true);
|
||||
->GetContextRedirectedToOriginal(context);
|
||||
}
|
||||
|
||||
} // namespace apps
|
||||
|
@ -52,7 +52,7 @@ content::BrowserContext* SavedFilesServiceFactory::GetBrowserContextToUse(
|
||||
// when apps white-listed in guest sessions attempt to use chrome.fileSystem
|
||||
// API.
|
||||
return extensions::ExtensionsBrowserClient::Get()
|
||||
->GetContextRedirectedToOriginal(context, /*force_guest_profile=*/true);
|
||||
->GetContextRedirectedToOriginal(context);
|
||||
}
|
||||
|
||||
} // namespace apps
|
||||
|
@ -281,51 +281,39 @@ content::BrowserContext* ChromeExtensionsBrowserClient::GetOriginalContext(
|
||||
|
||||
content::BrowserContext*
|
||||
ChromeExtensionsBrowserClient::GetContextRedirectedToOriginal(
|
||||
content::BrowserContext* context,
|
||||
bool force_guest_profile) {
|
||||
ProfileSelections::Builder builder;
|
||||
builder.WithRegular(ProfileSelection::kRedirectedToOriginal);
|
||||
if (force_guest_profile) {
|
||||
builder.WithGuest(ProfileSelection::kRedirectedToOriginal);
|
||||
}
|
||||
// TODO(crbug.com/41488885): Check if this service is needed for Ash
|
||||
// Internals.
|
||||
builder.WithAshInternals(ProfileSelection::kRedirectedToOriginal);
|
||||
|
||||
const ProfileSelections selections = builder.Build();
|
||||
return selections.ApplyProfileSelection(Profile::FromBrowserContext(context));
|
||||
content::BrowserContext* context) {
|
||||
return ProfileSelections::Builder()
|
||||
.WithRegular(ProfileSelection::kRedirectedToOriginal)
|
||||
.WithGuest(ProfileSelection::kRedirectedToOriginal)
|
||||
// TODO(crbug.com/41488885): Check if this service is needed for Ash
|
||||
// Internals.
|
||||
.WithAshInternals(ProfileSelection::kRedirectedToOriginal)
|
||||
.Build()
|
||||
.ApplyProfileSelection(Profile::FromBrowserContext(context));
|
||||
}
|
||||
|
||||
content::BrowserContext* ChromeExtensionsBrowserClient::GetContextOwnInstance(
|
||||
content::BrowserContext* context,
|
||||
bool force_guest_profile) {
|
||||
ProfileSelections::Builder builder;
|
||||
builder.WithRegular(ProfileSelection::kOwnInstance);
|
||||
if (force_guest_profile) {
|
||||
builder.WithGuest(ProfileSelection::kOwnInstance);
|
||||
}
|
||||
// TODO(crbug.com/41488885): Check if this service is needed for Ash
|
||||
// Internals.
|
||||
builder.WithAshInternals(ProfileSelection::kOwnInstance);
|
||||
|
||||
const ProfileSelections selections = builder.Build();
|
||||
return selections.ApplyProfileSelection(Profile::FromBrowserContext(context));
|
||||
content::BrowserContext* context) {
|
||||
return ProfileSelections::Builder()
|
||||
.WithRegular(ProfileSelection::kOwnInstance)
|
||||
.WithGuest(ProfileSelection::kOwnInstance)
|
||||
// TODO(crbug.com/41488885): Check if this service is needed for Ash
|
||||
// Internals.
|
||||
.WithAshInternals(ProfileSelection::kOwnInstance)
|
||||
.Build()
|
||||
.ApplyProfileSelection(Profile::FromBrowserContext(context));
|
||||
}
|
||||
|
||||
content::BrowserContext*
|
||||
ChromeExtensionsBrowserClient::GetContextForOriginalOnly(
|
||||
content::BrowserContext* context,
|
||||
bool force_guest_profile) {
|
||||
ProfileSelections::Builder builder;
|
||||
if (force_guest_profile) {
|
||||
builder.WithGuest(ProfileSelection::kOriginalOnly);
|
||||
}
|
||||
// TODO(crbug.com/41488885): Check if this service is needed for Ash
|
||||
// Internals.
|
||||
builder.WithAshInternals(ProfileSelection::kOriginalOnly);
|
||||
|
||||
ProfileSelections selections = builder.Build();
|
||||
return selections.ApplyProfileSelection(Profile::FromBrowserContext(context));
|
||||
content::BrowserContext* context) {
|
||||
return ProfileSelections::Builder()
|
||||
.WithGuest(ProfileSelection::kOriginalOnly)
|
||||
// TODO(crbug.com/41488885): Check if this service is needed for Ash
|
||||
// Internals.
|
||||
.WithAshInternals(ProfileSelection::kOriginalOnly)
|
||||
.Build()
|
||||
.ApplyProfileSelection(Profile::FromBrowserContext(context));
|
||||
}
|
||||
|
||||
bool ChromeExtensionsBrowserClient::AreExtensionsDisabledForContext(
|
||||
|
@ -74,19 +74,14 @@ class ChromeExtensionsBrowserClient : public ExtensionsBrowserClient {
|
||||
content::BrowserContext* context) override;
|
||||
content::BrowserContext* GetOriginalContext(
|
||||
content::BrowserContext* context) override;
|
||||
|
||||
content::BrowserContext* GetContextRedirectedToOriginal(
|
||||
content::BrowserContext* context,
|
||||
bool force_guest_profile) override;
|
||||
content::BrowserContext* context) override;
|
||||
content::BrowserContext* GetContextOwnInstance(
|
||||
content::BrowserContext* context,
|
||||
bool force_guest_profile) override;
|
||||
content::BrowserContext* context) override;
|
||||
content::BrowserContext* GetContextForOriginalOnly(
|
||||
content::BrowserContext* context,
|
||||
bool force_guest_profile) override;
|
||||
content::BrowserContext* context) override;
|
||||
bool AreExtensionsDisabledForContext(
|
||||
content::BrowserContext* context) override;
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
std::string GetUserIdHashFromContext(
|
||||
content::BrowserContext* context) override;
|
||||
|
@ -107,22 +107,19 @@ BrowserContext* DesktopAndroidExtensionsBrowserClient::GetOriginalContext(
|
||||
|
||||
content::BrowserContext*
|
||||
DesktopAndroidExtensionsBrowserClient::GetContextRedirectedToOriginal(
|
||||
content::BrowserContext* context,
|
||||
bool force_guest_profile) {
|
||||
content::BrowserContext* context) {
|
||||
return context;
|
||||
}
|
||||
|
||||
content::BrowserContext*
|
||||
DesktopAndroidExtensionsBrowserClient::GetContextOwnInstance(
|
||||
content::BrowserContext* context,
|
||||
bool force_guest_profile) {
|
||||
content::BrowserContext* context) {
|
||||
return context;
|
||||
}
|
||||
|
||||
content::BrowserContext*
|
||||
DesktopAndroidExtensionsBrowserClient::GetContextForOriginalOnly(
|
||||
content::BrowserContext* context,
|
||||
bool force_guest_profile) {
|
||||
content::BrowserContext* context) {
|
||||
return context;
|
||||
}
|
||||
|
||||
|
@ -71,14 +71,11 @@ class DesktopAndroidExtensionsBrowserClient : public ExtensionsBrowserClient {
|
||||
content::BrowserContext* GetOriginalContext(
|
||||
content::BrowserContext* context) override;
|
||||
content::BrowserContext* GetContextRedirectedToOriginal(
|
||||
content::BrowserContext* context,
|
||||
bool force_guest_profile) override;
|
||||
content::BrowserContext* context) override;
|
||||
content::BrowserContext* GetContextOwnInstance(
|
||||
content::BrowserContext* context,
|
||||
bool force_guest_profile) override;
|
||||
content::BrowserContext* context) override;
|
||||
content::BrowserContext* GetContextForOriginalOnly(
|
||||
content::BrowserContext* context,
|
||||
bool force_guest_profile) override;
|
||||
content::BrowserContext* context) override;
|
||||
bool AreExtensionsDisabledForContext(
|
||||
content::BrowserContext* context) override;
|
||||
bool IsGuestSession(content::BrowserContext* context) const override;
|
||||
|
@ -690,9 +690,8 @@ BrowserContext* DevicePermissionsManagerFactory::GetBrowserContextToUse(
|
||||
BrowserContext* context) const {
|
||||
// Return the original (possibly off-the-record) browser context so that a
|
||||
// separate instance of the DevicePermissionsManager is used in incognito
|
||||
// mode. The parent class's implemenation returns NULL.
|
||||
return ExtensionsBrowserClient::Get()->GetContextOwnInstance(
|
||||
context, /*force_guest_profile=*/true);
|
||||
// mode. The parent class's implementation returns null.
|
||||
return ExtensionsBrowserClient::Get()->GetContextOwnInstance(context);
|
||||
}
|
||||
|
||||
} // namespace extensions
|
||||
|
@ -45,7 +45,7 @@ IdleManagerFactory::BuildServiceInstanceForBrowserContext(
|
||||
content::BrowserContext* IdleManagerFactory::GetBrowserContextToUse(
|
||||
content::BrowserContext* context) const {
|
||||
return ExtensionsBrowserClient::Get()->GetContextRedirectedToOriginal(
|
||||
context, /*force_guest_profile=*/true);
|
||||
context);
|
||||
}
|
||||
|
||||
bool IdleManagerFactory::ServiceIsCreatedWithBrowserContext() const {
|
||||
|
@ -84,7 +84,7 @@ NetworkingPrivateDelegateFactory::BuildServiceInstanceForBrowserContext(
|
||||
BrowserContext* NetworkingPrivateDelegateFactory::GetBrowserContextToUse(
|
||||
BrowserContext* context) const {
|
||||
return ExtensionsBrowserClient::Get()->GetContextRedirectedToOriginal(
|
||||
context, /*force_guest_profile=*/true);
|
||||
context);
|
||||
}
|
||||
|
||||
} // namespace extensions
|
||||
|
@ -45,7 +45,7 @@ content::BrowserContext*
|
||||
NetworkingPrivateEventRouterFactory::GetBrowserContextToUse(
|
||||
content::BrowserContext* context) const {
|
||||
return ExtensionsBrowserClient::Get()->GetContextRedirectedToOriginal(
|
||||
context, /*force_guest_profile=*/true);
|
||||
context);
|
||||
}
|
||||
|
||||
bool NetworkingPrivateEventRouterFactory::ServiceIsCreatedWithBrowserContext()
|
||||
|
@ -37,8 +37,7 @@ content::BrowserContext& GetBrowserContextToUse(
|
||||
|
||||
// The on-the-record profile always uses itself.
|
||||
if (!calling_context.IsOffTheRecord()) {
|
||||
return *client->GetContextForOriginalOnly(&calling_context,
|
||||
/*force_guest_profile=*/true);
|
||||
return *client->GetContextForOriginalOnly(&calling_context);
|
||||
}
|
||||
|
||||
DCHECK(util::IsIncognitoEnabled(extension.id(), &calling_context))
|
||||
@ -47,10 +46,9 @@ content::BrowserContext& GetBrowserContextToUse(
|
||||
// Split-mode extensions use the incognito (calling) context; spanning mode
|
||||
// extensions fall back to the original profile.
|
||||
bool is_split_mode = IncognitoInfo::IsSplitMode(&extension);
|
||||
return is_split_mode ? *client->GetContextOwnInstance(
|
||||
&calling_context, /*force_guest_profile=*/true)
|
||||
: *client->GetContextRedirectedToOriginal(
|
||||
&calling_context, /*force_guest_profile=*/true);
|
||||
return is_split_mode
|
||||
? *client->GetContextOwnInstance(&calling_context)
|
||||
: *client->GetContextRedirectedToOriginal(&calling_context);
|
||||
}
|
||||
|
||||
// Similar to the above, returns the OffscreenDocumentManager to use for the
|
||||
|
@ -67,8 +67,7 @@ OffscreenDocumentManagerFactory::GetBrowserContextToUse(
|
||||
content::BrowserContext* context) const {
|
||||
// Use the `context` passed in; this service has separate instances in
|
||||
// on-the-record and incognito.
|
||||
return ExtensionsBrowserClient::Get()->GetContextOwnInstance(
|
||||
context, /*force_guest_profile=*/true);
|
||||
return ExtensionsBrowserClient::Get()->GetContextOwnInstance(context);
|
||||
}
|
||||
|
||||
KeyedService* OffscreenDocumentManagerFactory::BuildServiceInstanceFor(
|
||||
|
@ -52,7 +52,7 @@ PrinterProviderAPIFactory::BuildServiceInstanceForBrowserContext(
|
||||
content::BrowserContext* PrinterProviderAPIFactory::GetBrowserContextToUse(
|
||||
content::BrowserContext* context) const {
|
||||
return ExtensionsBrowserClient::Get()->GetContextRedirectedToOriginal(
|
||||
context, /*force_guest_profile=*/true);
|
||||
context);
|
||||
}
|
||||
|
||||
} // namespace extensions
|
||||
|
@ -49,8 +49,7 @@ class AppFirewallHoleManagerFactory : public BrowserContextKeyedServiceFactory {
|
||||
|
||||
BrowserContext* GetBrowserContextToUse(
|
||||
BrowserContext* context) const override {
|
||||
return ExtensionsBrowserClient::Get()->GetContextOwnInstance(
|
||||
context, /*force_guest_profile=*/true);
|
||||
return ExtensionsBrowserClient::Get()->GetContextOwnInstance(context);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -55,7 +55,7 @@ content::BrowserContext* SessionStorageManagerFactory::GetBrowserContextToUse(
|
||||
// Share storage between incognito and on-the-record profiles by using the
|
||||
// original context of an incognito window.
|
||||
return ExtensionsBrowserClient::Get()->GetContextRedirectedToOriginal(
|
||||
browser_context, /*force_guest_profile=*/true);
|
||||
browser_context);
|
||||
}
|
||||
|
||||
KeyedService* SessionStorageManagerFactory::BuildServiceInstanceFor(
|
||||
|
@ -51,7 +51,7 @@ BrowserContext* WebRequestEventRouterFactory::GetBrowserContextToUse(
|
||||
// WebRequestAPI shares an instance between regular and incognito profiles,
|
||||
// so this must do the same.
|
||||
return ExtensionsBrowserClient::Get()->GetContextRedirectedToOriginal(
|
||||
context, /*force_guest_profile=*/true);
|
||||
context);
|
||||
}
|
||||
|
||||
bool WebRequestEventRouterFactory::ServiceIsCreatedWithBrowserContext() const {
|
||||
|
@ -105,8 +105,7 @@ class ShutdownNotifierFactory
|
||||
|
||||
content::BrowserContext* GetBrowserContextToUse(
|
||||
content::BrowserContext* context) const override {
|
||||
return ExtensionsBrowserClient::Get()->GetContextOwnInstance(
|
||||
context, /*force_guest_profile=*/true);
|
||||
return ExtensionsBrowserClient::Get()->GetContextOwnInstance(context);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -47,8 +47,7 @@ class ShutdownNotifierFactory
|
||||
|
||||
content::BrowserContext* GetBrowserContextToUse(
|
||||
content::BrowserContext* context) const override {
|
||||
return ExtensionsBrowserClient::Get()->GetContextOwnInstance(
|
||||
context, /*force_guest_profile=*/true);
|
||||
return ExtensionsBrowserClient::Get()->GetContextOwnInstance(context);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -297,7 +297,7 @@ content::BrowserContext*
|
||||
AppWindowGeometryCache::Factory::GetBrowserContextToUse(
|
||||
content::BrowserContext* context) const {
|
||||
return ExtensionsBrowserClient::Get()->GetContextRedirectedToOriginal(
|
||||
context, /*force_guest_profile=*/true);
|
||||
context);
|
||||
}
|
||||
|
||||
void AppWindowGeometryCache::AddObserver(Observer* observer) {
|
||||
|
@ -246,7 +246,7 @@ bool AppWindowRegistry::Factory::ServiceIsCreatedWithBrowserContext() const {
|
||||
content::BrowserContext* AppWindowRegistry::Factory::GetBrowserContextToUse(
|
||||
content::BrowserContext* context) const {
|
||||
return ExtensionsBrowserClient::Get()->GetContextRedirectedToOriginal(
|
||||
context, /*force_guest_profile=*/true);
|
||||
context);
|
||||
}
|
||||
|
||||
} // namespace extensions
|
||||
|
@ -152,18 +152,22 @@ class BrowserContextKeyedAPIFactory : public BrowserContextKeyedServiceFactory {
|
||||
// These can be effectively overridden with template specializations.
|
||||
content::BrowserContext* GetBrowserContextToUse(
|
||||
content::BrowserContext* context) const override {
|
||||
if (T::kServiceRedirectedInIncognito) {
|
||||
return ExtensionsBrowserClient::Get()->GetContextRedirectedToOriginal(
|
||||
context, T::kServiceIsCreatedInGuestMode);
|
||||
// The GetContext...() implementations below treat guest sessions like
|
||||
// normal ones, so explicitly exclude guest sessions here if necessary.
|
||||
auto* const client = ExtensionsBrowserClient::Get();
|
||||
if constexpr (!T::kServiceIsCreatedInGuestMode) {
|
||||
if (client->IsGuestSession(context)) {
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
if (T::kServiceHasOwnInstanceInIncognito) {
|
||||
return ExtensionsBrowserClient::Get()->GetContextOwnInstance(
|
||||
context, T::kServiceIsCreatedInGuestMode);
|
||||
if constexpr (T::kServiceRedirectedInIncognito) {
|
||||
return client->GetContextRedirectedToOriginal(context);
|
||||
} else if constexpr (T::kServiceHasOwnInstanceInIncognito) {
|
||||
return client->GetContextOwnInstance(context);
|
||||
} else {
|
||||
return client->GetContextForOriginalOnly(context);
|
||||
}
|
||||
|
||||
return ExtensionsBrowserClient::Get()->GetContextForOriginalOnly(
|
||||
context, T::kServiceIsCreatedInGuestMode);
|
||||
}
|
||||
|
||||
bool ServiceIsCreatedWithBrowserContext() const override {
|
||||
|
@ -48,7 +48,7 @@ BrowserContext* EventRouterFactory::GetBrowserContextToUse(
|
||||
BrowserContext* context) const {
|
||||
// Redirected in incognito.
|
||||
return ExtensionsBrowserClient::Get()->GetContextRedirectedToOriginal(
|
||||
context, /*force_guest_profile=*/true);
|
||||
context);
|
||||
}
|
||||
|
||||
bool EventRouterFactory::ServiceIsNULLWhileTesting() const {
|
||||
|
@ -47,7 +47,7 @@ class ExtensionActionManagerFactory : public BrowserContextKeyedServiceFactory {
|
||||
content::BrowserContext* GetBrowserContextToUse(
|
||||
content::BrowserContext* context) const override {
|
||||
return ExtensionsBrowserClient::Get()->GetContextRedirectedToOriginal(
|
||||
context, /*force_guest_profile=*/true);
|
||||
context);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -282,7 +282,7 @@ class BrowserContextShutdownNotifierFactory
|
||||
content::BrowserContext* GetBrowserContextToUse(
|
||||
content::BrowserContext* context) const override {
|
||||
return extensions::ExtensionsBrowserClient::Get()->GetContextOwnInstance(
|
||||
context, /*force_guest_profile=*/true);
|
||||
context);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -56,7 +56,7 @@ content::BrowserContext* ExtensionHostRegistryFactory::GetBrowserContextToUse(
|
||||
// the original context. This makes it quite challenging to let this have its
|
||||
// own incognito context.
|
||||
return ExtensionsBrowserClient::Get()->GetContextRedirectedToOriginal(
|
||||
context, /*force_guest_profile=*/true);
|
||||
context);
|
||||
}
|
||||
|
||||
KeyedService* ExtensionHostRegistryFactory::BuildServiceInstanceFor(
|
||||
|
@ -39,5 +39,5 @@ content::BrowserContext* ExtensionPrefValueMapFactory::GetBrowserContextToUse(
|
||||
content::BrowserContext* context) const {
|
||||
// Redirected in incognito.
|
||||
return extensions::ExtensionsBrowserClient::Get()
|
||||
->GetContextRedirectedToOriginal(context, /*force_guest_profile=*/true);
|
||||
->GetContextRedirectedToOriginal(context);
|
||||
}
|
||||
|
@ -68,7 +68,7 @@ ExtensionPrefsFactory::BuildServiceInstanceForBrowserContext(
|
||||
content::BrowserContext* ExtensionPrefsFactory::GetBrowserContextToUse(
|
||||
content::BrowserContext* context) const {
|
||||
return ExtensionsBrowserClient::Get()->GetContextRedirectedToOriginal(
|
||||
context, /*force_guest_profile=*/true);
|
||||
context);
|
||||
}
|
||||
|
||||
} // namespace extensions
|
||||
|
@ -45,7 +45,7 @@ ExtensionPrefsHelperFactory::BuildServiceInstanceForBrowserContext(
|
||||
content::BrowserContext* ExtensionPrefsHelperFactory::GetBrowserContextToUse(
|
||||
content::BrowserContext* context) const {
|
||||
return ExtensionsBrowserClient::Get()->GetContextRedirectedToOriginal(
|
||||
context, /*force_guest_profile=*/true);
|
||||
context);
|
||||
}
|
||||
|
||||
bool ExtensionPrefsHelperFactory::ServiceIsNULLWhileTesting() const {
|
||||
|
@ -998,8 +998,7 @@ class ExtensionURLLoaderFactory : public network::SelfDeletingURLLoaderFactory {
|
||||
|
||||
content::BrowserContext* GetBrowserContextToUse(
|
||||
content::BrowserContext* context) const override {
|
||||
return ExtensionsBrowserClient::Get()->GetContextOwnInstance(
|
||||
context, /*force_guest_profile=*/true);
|
||||
return ExtensionsBrowserClient::Get()->GetContextOwnInstance(context);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -45,8 +45,7 @@ BrowserContext* ExtensionRegistryFactory::GetBrowserContextToUse(
|
||||
// Redirected in incognito.
|
||||
auto* extension_browser_client = ExtensionsBrowserClient::Get();
|
||||
DCHECK(extension_browser_client);
|
||||
return extension_browser_client->GetContextRedirectedToOriginal(
|
||||
context, /*force_guest_profile=*/true);
|
||||
return extension_browser_client->GetContextRedirectedToOriginal(context);
|
||||
}
|
||||
|
||||
} // namespace extensions
|
||||
|
@ -168,31 +168,24 @@ class ExtensionsBrowserClient {
|
||||
// //chrome where their implementation filters out Profiles based on their
|
||||
// types (Regular, Guest, System, etc..) and sub-implementation (Original vs
|
||||
// OTR).
|
||||
//
|
||||
// Returns the Original `BrowserContext` based on the input `context`:
|
||||
|
||||
// - if `context` is a System Profile: returns null.
|
||||
// - if `context` is Original: returns itself.
|
||||
// - if `context` is OTR: returns the equivalent parent context.
|
||||
// - returns nullptr if the underlying implementation of `context` is of type
|
||||
// System Profile, or of type Guest Profile if `force_guest_profile` is false.
|
||||
// - if `context` is OTR: returns the associated parent context.
|
||||
virtual content::BrowserContext* GetContextRedirectedToOriginal(
|
||||
content::BrowserContext* context,
|
||||
bool force_guest_profile) = 0;
|
||||
// Returns its own instance of `BrowserContext` based on the input `context`:
|
||||
content::BrowserContext* context) = 0;
|
||||
|
||||
// - if `context` is a System Profile: returns null.
|
||||
// - if `context` is Original: returns itself.
|
||||
// - if `context` is OTR: returns nullptr.
|
||||
// - returns nullptr if the underlying implementation of `context` is of type
|
||||
// System Profile, or of type Guest Profile if `force_guest_profile` is false.
|
||||
// - if `context` is OTR: returns itself.
|
||||
virtual content::BrowserContext* GetContextOwnInstance(
|
||||
content::BrowserContext* context,
|
||||
bool force_guest_profile) = 0;
|
||||
// Returns the Original `BrowserContext` based on the input `context`:
|
||||
content::BrowserContext* context) = 0;
|
||||
|
||||
// - if `context` is a System Profile: returns null.
|
||||
// - if `context` is Original: returns itself.
|
||||
// - if `context` is OTR: returns nullptr.
|
||||
// - returns nullptr if the underlying implementation of `context` is of type
|
||||
// System Profile, or of type Guest Profile if `force_guest_profile` is false.
|
||||
// - if `context` is OTR: returns null.
|
||||
virtual content::BrowserContext* GetContextForOriginalOnly(
|
||||
content::BrowserContext* context,
|
||||
bool force_guest_profile) = 0;
|
||||
content::BrowserContext* context) = 0;
|
||||
|
||||
// Returns whether the `context` has extensions disabled.
|
||||
// An example of an implementation of `BrowserContext` that has extensions
|
||||
|
@ -62,7 +62,7 @@ content::BrowserContext*
|
||||
MimeHandlerStreamManagerFactory::GetBrowserContextToUse(
|
||||
content::BrowserContext* context) const {
|
||||
return extensions::ExtensionsBrowserClient::Get()
|
||||
->GetContextRedirectedToOriginal(context, /*force_guest_profile=*/true);
|
||||
->GetContextRedirectedToOriginal(context);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
@ -39,7 +39,7 @@ ImageLoaderFactory::BuildServiceInstanceForBrowserContext(
|
||||
content::BrowserContext* ImageLoaderFactory::GetBrowserContextToUse(
|
||||
content::BrowserContext* context) const {
|
||||
return ExtensionsBrowserClient::Get()->GetContextRedirectedToOriginal(
|
||||
context, /*force_guest_profile=*/true);
|
||||
context);
|
||||
}
|
||||
|
||||
} // namespace extensions
|
||||
|
@ -47,7 +47,7 @@ BrowserContext* LazyBackgroundTaskQueueFactory::GetBrowserContextToUse(
|
||||
BrowserContext* context) const {
|
||||
// Redirected in incognito.
|
||||
return ExtensionsBrowserClient::Get()->GetContextRedirectedToOriginal(
|
||||
context, /*force_guest_profile=*/true);
|
||||
context);
|
||||
}
|
||||
|
||||
} // namespace extensions
|
||||
|
@ -70,7 +70,7 @@ content::BrowserContext* MessageTrackerFactory::GetBrowserContextToUse(
|
||||
content::BrowserContext* context) const {
|
||||
// One instance will exist across incognito and regular contexts.
|
||||
return ExtensionsBrowserClient::Get()->GetContextRedirectedToOriginal(
|
||||
context, /*force_guest_profile=*/true);
|
||||
context);
|
||||
}
|
||||
|
||||
std::unique_ptr<KeyedService>
|
||||
|
@ -242,7 +242,7 @@ PermissionsManager* PermissionsManagerFactory::GetForBrowserContext(
|
||||
content::BrowserContext* PermissionsManagerFactory::GetBrowserContextToUse(
|
||||
content::BrowserContext* browser_context) const {
|
||||
return ExtensionsBrowserClient::Get()->GetContextRedirectedToOriginal(
|
||||
browser_context, /*force_guest_profile=*/true);
|
||||
browser_context);
|
||||
}
|
||||
|
||||
KeyedService* PermissionsManagerFactory::BuildServiceInstanceFor(
|
||||
|
@ -190,15 +190,15 @@ std::unique_ptr<ProcessManager> ProcessManager::Create(
|
||||
// a regular incognito mode, background pages of extensions must be
|
||||
// created regardless of whether extensions use "spanning" or "split"
|
||||
// incognito behavior.
|
||||
BrowserContext* original_context = client->GetContextRedirectedToOriginal(
|
||||
context, /*force_guest_profile=*/true);
|
||||
BrowserContext* original_context =
|
||||
client->GetContextRedirectedToOriginal(context);
|
||||
return std::make_unique<ProcessManager>(context, original_context,
|
||||
extension_registry);
|
||||
}
|
||||
|
||||
if (context->IsOffTheRecord()) {
|
||||
BrowserContext* original_context = client->GetContextRedirectedToOriginal(
|
||||
context, /*force_guest_profile=*/true);
|
||||
BrowserContext* original_context =
|
||||
client->GetContextRedirectedToOriginal(context);
|
||||
return std::make_unique<IncognitoProcessManager>(context, original_context,
|
||||
extension_registry);
|
||||
}
|
||||
@ -1188,7 +1188,7 @@ IncognitoProcessManager::GetSiteInstanceForURL(const GURL& url) {
|
||||
if (extension && !IncognitoInfo::IsSplitMode(extension)) {
|
||||
BrowserContext* original_context =
|
||||
ExtensionsBrowserClient::Get()->GetContextRedirectedToOriginal(
|
||||
browser_context(), /*force_guest_profile=*/true);
|
||||
browser_context());
|
||||
return ProcessManager::Get(original_context)->GetSiteInstanceForURL(url);
|
||||
}
|
||||
|
||||
|
@ -54,8 +54,7 @@ BrowserContext* ProcessManagerFactory::GetBrowserContextToUse(
|
||||
BrowserContext* context) const {
|
||||
// ProcessManager::Create handles guest and incognito profiles, returning an
|
||||
// IncognitoProcessManager in incognito mode.
|
||||
return ExtensionsBrowserClient::Get()->GetContextOwnInstance(
|
||||
context, /*force_guest_profile=*/true);
|
||||
return ExtensionsBrowserClient::Get()->GetContextOwnInstance(context);
|
||||
}
|
||||
|
||||
} // namespace extensions
|
||||
|
@ -47,7 +47,7 @@ BrowserContext* ProcessMapFactory::GetBrowserContextToUse(
|
||||
BrowserContext* context) const {
|
||||
// Redirected in incognito.
|
||||
return ExtensionsBrowserClient::Get()->GetContextRedirectedToOriginal(
|
||||
context, /*force_guest_profile=*/true);
|
||||
context);
|
||||
}
|
||||
|
||||
} // namespace extensions
|
||||
|
@ -637,7 +637,7 @@ BrowserContext* RendererStartupHelperFactory::GetBrowserContextToUse(
|
||||
BrowserContext* context) const {
|
||||
// Redirected in incognito.
|
||||
return ExtensionsBrowserClient::Get()->GetContextRedirectedToOriginal(
|
||||
context, /*force_guest_profile=*/true);
|
||||
context);
|
||||
}
|
||||
|
||||
bool RendererStartupHelperFactory::ServiceIsCreatedWithBrowserContext() const {
|
||||
|
@ -46,8 +46,7 @@ class ServiceWorkerKeepaliveShutdownNotifierFactory
|
||||
// Use whichever profile is associated with the Keepalive.
|
||||
content::BrowserContext* GetBrowserContextToUse(
|
||||
content::BrowserContext* context) const override {
|
||||
return ExtensionsBrowserClient::Get()->GetContextOwnInstance(
|
||||
context, /*force_guest_profile=*/true);
|
||||
return ExtensionsBrowserClient::Get()->GetContextOwnInstance(context);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -52,8 +52,7 @@ ServiceWorkerTaskQueueFactory::BuildServiceInstanceForBrowserContext(
|
||||
task_queue = std::make_unique<ServiceWorkerTaskQueue>(context);
|
||||
}
|
||||
BrowserContext* original_context =
|
||||
ExtensionsBrowserClient::Get()->GetContextRedirectedToOriginal(
|
||||
context, /*force_guest_profile=*/true);
|
||||
ExtensionsBrowserClient::Get()->GetContextRedirectedToOriginal(context);
|
||||
if (original_context != context) {
|
||||
// To let incognito context's ServiceWorkerTaskQueue know about extensions
|
||||
// that were activated (which has its own instance of
|
||||
@ -67,8 +66,7 @@ ServiceWorkerTaskQueueFactory::BuildServiceInstanceForBrowserContext(
|
||||
|
||||
BrowserContext* ServiceWorkerTaskQueueFactory::GetBrowserContextToUse(
|
||||
BrowserContext* context) const {
|
||||
return ExtensionsBrowserClient::Get()->GetContextOwnInstance(
|
||||
context, /*force_guest_profile=*/true);
|
||||
return ExtensionsBrowserClient::Get()->GetContextOwnInstance(context);
|
||||
}
|
||||
|
||||
} // namespace extensions
|
||||
|
@ -104,20 +104,17 @@ BrowserContext* TestExtensionsBrowserClient::GetOriginalContext(
|
||||
|
||||
content::BrowserContext*
|
||||
TestExtensionsBrowserClient::GetContextRedirectedToOriginal(
|
||||
content::BrowserContext* context,
|
||||
bool force_guest_profile) {
|
||||
content::BrowserContext* context) {
|
||||
return GetOriginalContext(context);
|
||||
}
|
||||
|
||||
content::BrowserContext* TestExtensionsBrowserClient::GetContextOwnInstance(
|
||||
content::BrowserContext* context,
|
||||
bool force_guest_profile) {
|
||||
content::BrowserContext* context) {
|
||||
return context;
|
||||
}
|
||||
|
||||
content::BrowserContext* TestExtensionsBrowserClient::GetContextForOriginalOnly(
|
||||
content::BrowserContext* context,
|
||||
bool force_guest_profile) {
|
||||
content::BrowserContext* context) {
|
||||
// Default implementation of
|
||||
// `BrowserContextKeyedServiceFactory::GetBrowserContextToUse()`.
|
||||
return context->IsOffTheRecord() ? nullptr : context;
|
||||
|
@ -81,19 +81,14 @@ class TestExtensionsBrowserClient : public ExtensionsBrowserClient {
|
||||
content::BrowserContext* context) override;
|
||||
content::BrowserContext* GetOriginalContext(
|
||||
content::BrowserContext* context) override;
|
||||
|
||||
content::BrowserContext* GetContextRedirectedToOriginal(
|
||||
content::BrowserContext* context,
|
||||
bool force_guest_profile) override;
|
||||
content::BrowserContext* context) override;
|
||||
content::BrowserContext* GetContextOwnInstance(
|
||||
content::BrowserContext* context,
|
||||
bool force_guest_profile) override;
|
||||
content::BrowserContext* context) override;
|
||||
content::BrowserContext* GetContextForOriginalOnly(
|
||||
content::BrowserContext* context,
|
||||
bool force_guest_profile) override;
|
||||
content::BrowserContext* context) override;
|
||||
bool AreExtensionsDisabledForContext(
|
||||
content::BrowserContext* context) override;
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
std::string GetUserIdHashFromContext(
|
||||
content::BrowserContext* context) override;
|
||||
@ -116,7 +111,6 @@ class TestExtensionsBrowserClient : public ExtensionsBrowserClient {
|
||||
int resource_id,
|
||||
scoped_refptr<net::HttpResponseHeaders> headers,
|
||||
mojo::PendingRemote<network::mojom::URLLoaderClient> client) override;
|
||||
|
||||
bool AllowCrossRendererResourceLoad(
|
||||
const network::ResourceRequest& request,
|
||||
network::mojom::RequestDestination destination,
|
||||
|
@ -43,8 +43,7 @@ UpdateServiceFactory::BuildServiceInstanceForBrowserContext(
|
||||
|
||||
content::BrowserContext* UpdateServiceFactory::GetBrowserContextToUse(
|
||||
content::BrowserContext* context) const {
|
||||
return ExtensionsBrowserClient::Get()->GetContextForOriginalOnly(
|
||||
context, /*force_guest_profile=*/true);
|
||||
return ExtensionsBrowserClient::Get()->GetContextForOriginalOnly(context);
|
||||
}
|
||||
|
||||
} // namespace extensions
|
||||
|
@ -53,7 +53,7 @@ class UserScriptWorldConfigurationManagerFactory
|
||||
// incognito-only world specifications and have them cleaned up when the
|
||||
// profile is destroyed.
|
||||
return ExtensionsBrowserClient::Get()->GetContextRedirectedToOriginal(
|
||||
context, /*force_guest_profile=*/true);
|
||||
context);
|
||||
}
|
||||
KeyedService* BuildServiceInstanceFor(
|
||||
content::BrowserContext* context) const override {
|
||||
|
@ -21,7 +21,7 @@ WarningService::WarningService(content::BrowserContext* browser_context)
|
||||
if (browser_context_) {
|
||||
extension_registry_observation_.Observe(ExtensionRegistry::Get(
|
||||
ExtensionsBrowserClient::Get()->GetContextRedirectedToOriginal(
|
||||
browser_context_, /*force_guest_profile=*/true)));
|
||||
browser_context_)));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -45,7 +45,7 @@ BrowserContext* WarningServiceFactory::GetBrowserContextToUse(
|
||||
BrowserContext* context) const {
|
||||
// Redirected in incognito.
|
||||
return ExtensionsBrowserClient::Get()->GetContextRedirectedToOriginal(
|
||||
context, /*force_guest_profile=*/true);
|
||||
context);
|
||||
}
|
||||
|
||||
} // namespace extensions
|
||||
|
@ -95,21 +95,18 @@ BrowserContext* ShellExtensionsBrowserClient::GetOriginalContext(
|
||||
|
||||
content::BrowserContext*
|
||||
ShellExtensionsBrowserClient::GetContextRedirectedToOriginal(
|
||||
content::BrowserContext* context,
|
||||
bool force_guest_profile) {
|
||||
content::BrowserContext* context) {
|
||||
return context;
|
||||
}
|
||||
|
||||
content::BrowserContext* ShellExtensionsBrowserClient::GetContextOwnInstance(
|
||||
content::BrowserContext* context,
|
||||
bool force_guest_profile) {
|
||||
content::BrowserContext* context) {
|
||||
return context;
|
||||
}
|
||||
|
||||
content::BrowserContext*
|
||||
ShellExtensionsBrowserClient::GetContextForOriginalOnly(
|
||||
content::BrowserContext* context,
|
||||
bool force_guest_profile) {
|
||||
content::BrowserContext* context) {
|
||||
return context;
|
||||
}
|
||||
|
||||
|
@ -50,19 +50,14 @@ class ShellExtensionsBrowserClient : public ExtensionsBrowserClient {
|
||||
content::BrowserContext* context) override;
|
||||
content::BrowserContext* GetOriginalContext(
|
||||
content::BrowserContext* context) override;
|
||||
|
||||
content::BrowserContext* GetContextRedirectedToOriginal(
|
||||
content::BrowserContext* context,
|
||||
bool force_guest_profile) override;
|
||||
content::BrowserContext* context) override;
|
||||
content::BrowserContext* GetContextOwnInstance(
|
||||
content::BrowserContext* context,
|
||||
bool force_guest_profile) override;
|
||||
content::BrowserContext* context) override;
|
||||
content::BrowserContext* GetContextForOriginalOnly(
|
||||
content::BrowserContext* context,
|
||||
bool force_guest_profile) override;
|
||||
content::BrowserContext* context) override;
|
||||
bool AreExtensionsDisabledForContext(
|
||||
content::BrowserContext* context) override;
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
std::string GetUserIdHashFromContext(
|
||||
content::BrowserContext* context) override;
|
||||
|
Reference in New Issue
Block a user