#include "chrome/renderer/chrome_content_settings_agent_delegate.h"
#include "build/chromeos_buildflags.h"
#include "pdf/buildflags.h"
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "ash/webui/file_manager/url_constants.h"
#endif
#include "base/containers/contains.h"
#include "content/public/common/url_constants.h"
#include "content/public/renderer/render_frame.h"
#include "third_party/blink/public/platform/web_security_origin.h"
#include "third_party/blink/public/web/web_local_frame.h"
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "extensions/common/constants.h"
#include "extensions/common/extension.h"
#include "extensions/common/mojom/context_type.mojom.h"
#include "extensions/common/permissions/api_permission.h"
#include "extensions/common/permissions/permissions_data.h"
#include "extensions/renderer/dispatcher.h"
#include "extensions/renderer/renderer_extension_registry.h"
#endif
#if BUILDFLAG(ENABLE_PDF)
#include "components/pdf/common/pdf_util.h"
#include "third_party/blink/public/web/web_frame.h"
#include "url/origin.h"
#endif
ChromeContentSettingsAgentDelegate::ChromeContentSettingsAgentDelegate(
content::RenderFrame* render_frame)
: … { … }
ChromeContentSettingsAgentDelegate::~ChromeContentSettingsAgentDelegate() =
default;
#if BUILDFLAG(ENABLE_EXTENSIONS)
void ChromeContentSettingsAgentDelegate::SetExtensionDispatcher(
extensions::Dispatcher* extension_dispatcher) { … }
#endif
bool ChromeContentSettingsAgentDelegate::IsPluginTemporarilyAllowed(
const std::string& identifier) { … }
void ChromeContentSettingsAgentDelegate::AllowPluginTemporarily(
const std::string& identifier) { … }
bool ChromeContentSettingsAgentDelegate::IsFrameAllowlistedForStorageAccess(
blink::WebFrame* frame) const { … }
bool ChromeContentSettingsAgentDelegate::IsSchemeAllowlisted(
const std::string& scheme) { … }
bool ChromeContentSettingsAgentDelegate::AllowReadFromClipboard() { … }
bool ChromeContentSettingsAgentDelegate::AllowWriteToClipboard() { … }
std::optional<bool> ChromeContentSettingsAgentDelegate::AllowMutationEvents() { … }
void ChromeContentSettingsAgentDelegate::DidCommitProvisionalLoad(
ui::PageTransition transition) { … }
void ChromeContentSettingsAgentDelegate::OnDestruct() { … }
bool ChromeContentSettingsAgentDelegate::IsPlatformApp() { … }
bool ChromeContentSettingsAgentDelegate::IsAllowListedSystemWebApp() { … }
#if BUILDFLAG(ENABLE_EXTENSIONS)
const extensions::Extension* ChromeContentSettingsAgentDelegate::GetExtension(
const blink::WebSecurityOrigin& origin) const { … }
#endif