// 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/permissions_client.h" #include "base/callback.h" #include "components/permissions/notification_permission_ui_selector.h" #if !defined(OS_ANDROID) #include "ui/gfx/paint_vector_icon.h" #endif namespace permissions { namespace { PermissionsClient* g_client = nullptr; } PermissionsClient::PermissionsClient() { DCHECK(!g_client); g_client = this; } PermissionsClient::~PermissionsClient() { g_client = nullptr; } // static PermissionsClient* PermissionsClient::Get() { DCHECK(g_client); return g_client; } double PermissionsClient::GetSiteEngagementScore( content::BrowserContext* browser_context, const GURL& origin) { return 0.0; } void PermissionsClient::AreSitesImportant( content::BrowserContext* browser_context, std::vector>* origins) { for (auto& entry : *origins) entry.second = false; } #if defined(OS_ANDROID) || defined(OS_CHROMEOS) bool PermissionsClient::IsCookieDeletionDisabled( content::BrowserContext* browser_context, const GURL& origin) { return false; } #endif void PermissionsClient::GetUkmSourceId(content::BrowserContext* browser_context, const content::WebContents* web_contents, const GURL& requesting_origin, GetUkmSourceIdCallback callback) { std::move(callback).Run(base::nullopt); } PermissionRequest::IconId PermissionsClient::GetOverrideIconId( ContentSettingsType type) { #if defined(OS_ANDROID) return 0; #else return gfx::kNoneIcon; #endif } std::unique_ptr PermissionsClient::CreateNotificationPermissionUiSelector( content::BrowserContext* browser_context) { return nullptr; } void PermissionsClient::OnPromptResolved( content::BrowserContext* browser_context, PermissionRequestType request_type, PermissionAction action) {} base::Optional PermissionsClient::HadThreeConsecutiveNotificationPermissionDenies( content::BrowserContext* browser_context) { return base::nullopt; } base::Optional PermissionsClient::GetAutoApprovalOrigin() { return base::nullopt; } bool PermissionsClient::CanBypassEmbeddingOriginCheck( const GURL& requesting_origin, const GURL& embedding_origin) { return false; } base::Optional PermissionsClient::OverrideCanonicalOrigin( const GURL& requesting_origin, const GURL& embedding_origin) { return base::nullopt; } #if defined(OS_ANDROID) bool PermissionsClient::IsPermissionControlledByDse( content::BrowserContext* browser_context, ContentSettingsType type, const url::Origin& origin) { return false; } bool PermissionsClient::ResetPermissionIfControlledByDse( content::BrowserContext* browser_context, ContentSettingsType type, const url::Origin& origin) { return false; } infobars::InfoBarManager* PermissionsClient::GetInfoBarManager( content::WebContents* web_contents) { return nullptr; } infobars::InfoBar* PermissionsClient::MaybeCreateInfoBar( content::WebContents* web_contents, ContentSettingsType type, base::WeakPtr prompt) { return nullptr; } void PermissionsClient::RepromptForAndroidPermissions( content::WebContents* web_contents, const std::vector& content_settings_types, PermissionsUpdatedCallback callback) { std::move(callback).Run(false); } int PermissionsClient::MapToJavaDrawableId(int resource_id) { return 0; } #else std::unique_ptr PermissionsClient::CreatePrompt( content::WebContents* web_contents, PermissionPrompt::Delegate* delegate) { return nullptr; } #endif } // namespace permissions