blob: 9b27ab1d974ce7e5842b132c16e46e394b4e3a6a [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 "weblayer/browser/permissions/weblayer_permissions_client.h"
#include "weblayer/browser/host_content_settings_map_factory.h"
#include "weblayer/browser/permissions/permission_decision_auto_blocker_factory.h"
#include "weblayer/browser/permissions/permission_manager_factory.h"
#if defined(OS_ANDROID)
#include "weblayer/browser/android/permission_request_utils.h"
#include "weblayer/browser/android/resource_mapper.h"
#endif
namespace weblayer {
// static
WebLayerPermissionsClient* WebLayerPermissionsClient::GetInstance() {
static base::NoDestructor<WebLayerPermissionsClient> instance;
return instance.get();
}
HostContentSettingsMap* WebLayerPermissionsClient::GetSettingsMap(
content::BrowserContext* browser_context) {
return HostContentSettingsMapFactory::GetForBrowserContext(browser_context);
}
permissions::PermissionDecisionAutoBlocker*
WebLayerPermissionsClient::GetPermissionDecisionAutoBlocker(
content::BrowserContext* browser_context) {
return PermissionDecisionAutoBlockerFactory::GetForBrowserContext(
browser_context);
}
permissions::PermissionManager* WebLayerPermissionsClient::GetPermissionManager(
content::BrowserContext* browser_context) {
return PermissionManagerFactory::GetForBrowserContext(browser_context);
}
permissions::ChooserContextBase* WebLayerPermissionsClient::GetChooserContext(
content::BrowserContext* browser_context,
ContentSettingsType type) {
return nullptr;
}
#if defined(OS_ANDROID)
void WebLayerPermissionsClient::RepromptForAndroidPermissions(
content::WebContents* web_contents,
const std::vector<ContentSettingsType>& content_settings_types,
PermissionsUpdatedCallback callback) {
RequestAndroidPermissions(web_contents, content_settings_types,
std::move(callback));
}
int WebLayerPermissionsClient::MapToJavaDrawableId(int resource_id) {
return weblayer::MapToJavaDrawableId(resource_id);
}
#endif
} // namespace weblayer