Content settings infrastructure: allow javascript for unreachable website internal page (#1571)

This commit is contained in:
Carmelo Messina
2025-01-28 16:41:03 +01:00
parent 394abc54b1
commit e46ed4bdbe
@@ -72,7 +72,7 @@ Require: bromite-build-utils.patch
.../common/content_settings_mojom_traits.cc | 12 +-
.../common/content_settings_mojom_traits.h | 24 +
.../core/common/content_settings_types.mojom | 2 +
.../renderer/content_settings_agent_impl.cc | 71 +++
.../renderer/content_settings_agent_impl.cc | 74 ++++
.../renderer/content_settings_agent_impl.h | 9 +
.../PageInfoPermissionsController.java | 9 +
.../PermissionParamsListBuilder.java | 8 +-
@@ -83,7 +83,7 @@ Require: bromite-build-utils.patch
.../platform/web_content_settings_client.h | 13 +
.../execution_context/execution_context.cc | 16 +
.../execution_context/execution_context.h | 5 +
72 files changed, 1931 insertions(+), 103 deletions(-)
72 files changed, 1934 insertions(+), 103 deletions(-)
create mode 100644 components/browser_ui/settings/android/java/res/layout/preference_spinner_single_widget.xml
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java
@@ -3179,7 +3179,7 @@ diff --git a/components/content_settings/core/common/content_settings_types.mojo
diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc b/components/content_settings/renderer/content_settings_agent_impl.cc
--- a/components/content_settings/renderer/content_settings_agent_impl.cc
+++ b/components/content_settings/renderer/content_settings_agent_impl.cc
@@ -200,6 +200,77 @@ void ContentSettingsAgentImpl::SendRendererContentSettingRules(
@@ -200,6 +200,80 @@ void ContentSettingsAgentImpl::SendRendererContentSettingRules(
std::move(renderer_settings));
}
@@ -3231,6 +3231,9 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc
+ WebSecurityOrigin origin = document.GetSecurityOrigin();
+ WebURL document_url = document.Url();
+
+ if (document_url.GetString() == content::kUnreachableWebDataURL)
+ return true;
+
+ if (origin.IsNull() || origin.IsOpaque())
+ return false; // Uninitialized document?
+