Fix services dependency for unittests.
This commit is contained in:
@@ -11,7 +11,6 @@
|
||||
#include "brave/components/permissions/permission_lifetime_manager.h"
|
||||
#include "brave/components/permissions/permission_origin_lifetime_monitor_impl.h"
|
||||
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
|
||||
#include "chrome/browser/permissions/permission_manager_factory.h"
|
||||
#include "chrome/browser/profiles/incognito_helpers.h"
|
||||
#include "chrome/browser/profiles/profile.h"
|
||||
#include "components/keyed_service/content/browser_context_dependency_manager.h"
|
||||
@@ -35,10 +34,7 @@ PermissionLifetimeManagerFactory::GetInstance() {
|
||||
PermissionLifetimeManagerFactory::PermissionLifetimeManagerFactory()
|
||||
: BrowserContextKeyedServiceFactory(
|
||||
"PermissionLifetimeManagerFactory",
|
||||
BrowserContextDependencyManager::GetInstance()) {
|
||||
DependsOn(PermissionManagerFactory::GetInstance());
|
||||
DependsOn(HostContentSettingsMapFactory::GetInstance());
|
||||
}
|
||||
BrowserContextDependencyManager::GetInstance()) {}
|
||||
|
||||
PermissionLifetimeManagerFactory::~PermissionLifetimeManagerFactory() = default;
|
||||
|
||||
|
||||
@@ -26,10 +26,10 @@ KeyedService* PermissionManagerFactory::BuildServiceInstanceFor(
|
||||
auto permission_contexts = CreatePermissionContexts(profile);
|
||||
if (base::FeatureList::IsEnabled(
|
||||
permissions::features::kPermissionLifetime)) {
|
||||
auto* lifetime_manager =
|
||||
PermissionLifetimeManagerFactory::GetInstance()->GetForProfile(profile);
|
||||
auto factory =
|
||||
base::BindRepeating(&PermissionLifetimeManagerFactory::GetForProfile);
|
||||
for (auto& permission_context : permission_contexts) {
|
||||
permission_context.second->SetPermissionLifetimeManager(lifetime_manager);
|
||||
permission_context.second->SetPermissionLifetimeManagerFactory(factory);
|
||||
}
|
||||
}
|
||||
return new permissions::PermissionManager(profile,
|
||||
|
||||
@@ -13,9 +13,10 @@
|
||||
|
||||
namespace permissions {
|
||||
|
||||
void PermissionContextBase::SetPermissionLifetimeManager(
|
||||
PermissionLifetimeManager* lifetime_manager) {
|
||||
permission_lifetime_manager_ = lifetime_manager;
|
||||
void PermissionContextBase::SetPermissionLifetimeManagerFactory(
|
||||
const base::RepeatingCallback<
|
||||
PermissionLifetimeManager*(content::BrowserContext*)>& factory) {
|
||||
permission_lifetime_manager_factory_ = factory;
|
||||
}
|
||||
|
||||
void PermissionContextBase::PermissionDecided(
|
||||
@@ -25,14 +26,17 @@ void PermissionContextBase::PermissionDecided(
|
||||
BrowserPermissionCallback callback,
|
||||
ContentSetting content_setting,
|
||||
bool is_one_time) {
|
||||
if (permission_lifetime_manager_) {
|
||||
if (permission_lifetime_manager_factory_) {
|
||||
const auto request_it = pending_requests_.find(id.ToString());
|
||||
if (request_it != pending_requests_.end()) {
|
||||
const PermissionRequest* permission_request = request_it->second.get();
|
||||
DCHECK(permission_request);
|
||||
permission_lifetime_manager_->PermissionDecided(
|
||||
*permission_request, requesting_origin, embedding_origin,
|
||||
content_setting, is_one_time);
|
||||
if (auto* permission_lifetime_manager =
|
||||
permission_lifetime_manager_factory_.Run(browser_context_)) {
|
||||
permission_lifetime_manager->PermissionDecided(
|
||||
*permission_request, requesting_origin, embedding_origin,
|
||||
content_setting, is_one_time);
|
||||
}
|
||||
}
|
||||
}
|
||||
PermissionContextBase_ChromiumImpl::PermissionDecided(
|
||||
|
||||
@@ -6,14 +6,23 @@
|
||||
#ifndef BRAVE_CHROMIUM_SRC_COMPONENTS_PERMISSIONS_PERMISSION_CONTEXT_BASE_H_
|
||||
#define BRAVE_CHROMIUM_SRC_COMPONENTS_PERMISSIONS_PERMISSION_CONTEXT_BASE_H_
|
||||
|
||||
#include "base/callback.h"
|
||||
|
||||
namespace permissions {
|
||||
class PermissionContextBase;
|
||||
using PermissionContextBase_BraveImpl = PermissionContextBase;
|
||||
class PermissionLifetimeManager;
|
||||
} // namespace permissions
|
||||
|
||||
#define PermissionContextBase PermissionContextBase_ChromiumImpl
|
||||
#define PermissionDecided virtual PermissionDecided
|
||||
#define BRAVE_PERMISSION_CONTEXT_BASE_H_ friend PermissionContextBase_BraveImpl;
|
||||
#define BRAVE_PERMISSION_CONTEXT_BASE_H_ \
|
||||
friend PermissionContextBase_BraveImpl; \
|
||||
\
|
||||
protected: \
|
||||
base::RepeatingCallback<PermissionLifetimeManager*( \
|
||||
content::BrowserContext*)> \
|
||||
permission_lifetime_manager_factory_;
|
||||
|
||||
#include "../../../../components/permissions/permission_context_base.h"
|
||||
|
||||
@@ -23,14 +32,13 @@ using PermissionContextBase_BraveImpl = PermissionContextBase;
|
||||
|
||||
namespace permissions {
|
||||
|
||||
class PermissionLifetimeManager;
|
||||
|
||||
class PermissionContextBase : public PermissionContextBase_ChromiumImpl {
|
||||
public:
|
||||
using PermissionContextBase_ChromiumImpl::PermissionContextBase_ChromiumImpl;
|
||||
|
||||
void SetPermissionLifetimeManager(
|
||||
PermissionLifetimeManager* lifetime_manager);
|
||||
void SetPermissionLifetimeManagerFactory(
|
||||
const base::RepeatingCallback<
|
||||
PermissionLifetimeManager*(content::BrowserContext*)>& factory);
|
||||
|
||||
private:
|
||||
void PermissionDecided(const PermissionRequestID& id,
|
||||
@@ -39,8 +47,6 @@ class PermissionContextBase : public PermissionContextBase_ChromiumImpl {
|
||||
BrowserPermissionCallback callback,
|
||||
ContentSetting content_setting,
|
||||
bool is_one_time) override;
|
||||
|
||||
PermissionLifetimeManager* permission_lifetime_manager_ = nullptr;
|
||||
};
|
||||
|
||||
} // namespace permissions
|
||||
|
||||
Reference in New Issue
Block a user