blob: 9920fab4976d1d379b36d10d7871b76baeca9a88 [file] [log] [blame]
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/permissions/test/test_permissions_client.h"
#include "components/content_settings/core/browser/cookie_settings.h"
#include "components/ukm/content/source_url_recorder.h"
namespace permissions {
namespace {
scoped_refptr<HostContentSettingsMap> CreateSettingsMap(
sync_preferences::TestingPrefServiceSyncable* prefs) {
HostContentSettingsMap::RegisterProfilePrefs(prefs->registry());
return base::MakeRefCounted<HostContentSettingsMap>(
prefs, false /* is_off_the_record */, false /* store_last_modified */,
false /* restore_session */);
}
} // namespace
TestPermissionsClient::TestPermissionsClient()
: settings_map_(CreateSettingsMap(&prefs_)),
autoblocker_(settings_map_.get()) {}
TestPermissionsClient::~TestPermissionsClient() {
settings_map_->ShutdownOnUIThread();
}
HostContentSettingsMap* TestPermissionsClient::GetSettingsMap(
content::BrowserContext* browser_context) {
return settings_map_.get();
}
scoped_refptr<content_settings::CookieSettings>
TestPermissionsClient::GetCookieSettings(
content::BrowserContext* browser_context) {
return nullptr;
}
bool TestPermissionsClient::IsSubresourceFilterActivated(
content::BrowserContext* browser_context,
const GURL& url) {
return false;
}
PermissionDecisionAutoBlocker*
TestPermissionsClient::GetPermissionDecisionAutoBlocker(
content::BrowserContext* browser_context) {
return &autoblocker_;
}
PermissionManager* TestPermissionsClient::GetPermissionManager(
content::BrowserContext* browser_context) {
return nullptr;
}
ObjectPermissionContextBase* TestPermissionsClient::GetChooserContext(
content::BrowserContext* browser_context,
ContentSettingsType type) {
return nullptr;
}
void TestPermissionsClient::GetUkmSourceId(
content::BrowserContext* browser_context,
const content::WebContents* web_contents,
const GURL& requesting_origin,
GetUkmSourceIdCallback callback) {
if (web_contents) {
ukm::SourceId source_id =
ukm::GetSourceIdForWebContentsDocument(web_contents);
std::move(callback).Run(source_id);
} else {
std::move(callback).Run(absl::nullopt);
}
}
} // namespace permissions