Content settings infrastructure: re-added method incorrectly deleted (#1571)
fix getting text for ask settings (#1543 #1438) Modified desktop ui: permissions line text turns red when modified
This commit is contained in:
@@ -30,7 +30,7 @@ Require: bromite-build-utils.patch
|
||||
.../ui/views/page_info/page_info_main_view.cc | 28 +-
|
||||
.../views/page_info/page_info_view_factory.cc | 20 +
|
||||
.../views/page_info/page_info_view_factory.h | 5 +
|
||||
.../page_info/permission_toggle_row_view.cc | 163 ++++++-
|
||||
.../page_info/permission_toggle_row_view.cc | 173 +++++++-
|
||||
.../page_info/permission_toggle_row_view.h | 18 +-
|
||||
.../settings_localized_strings_provider.cc | 54 +++
|
||||
.../ui/webui/settings/site_settings_helper.cc | 46 +-
|
||||
@@ -72,18 +72,18 @@ 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 | 1 +
|
||||
.../renderer/content_settings_agent_impl.cc | 43 ++
|
||||
.../renderer/content_settings_agent_impl.h | 7 +
|
||||
.../renderer/content_settings_agent_impl.cc | 68 +++
|
||||
.../renderer/content_settings_agent_impl.h | 9 +
|
||||
.../PageInfoPermissionsController.java | 9 +
|
||||
.../PermissionParamsListBuilder.java | 1 +
|
||||
.../android/page_info_controller_android.cc | 18 +
|
||||
components/page_info/page_info.cc | 23 +-
|
||||
components/page_info/page_info_ui.cc | 18 +
|
||||
components/page_info/page_info_ui.cc | 25 ++
|
||||
components/site_settings_strings.grdp | 1 +
|
||||
.../platform/web_content_settings_client.h | 9 +
|
||||
.../execution_context/execution_context.cc | 16 +
|
||||
.../execution_context/execution_context.h | 5 +
|
||||
72 files changed, 1866 insertions(+), 93 deletions(-)
|
||||
72 files changed, 1910 insertions(+), 93 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
|
||||
@@ -1050,7 +1050,20 @@ diff --git a/chrome/browser/ui/views/page_info/permission_toggle_row_view.cc b/c
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -300,6 +396,33 @@ void PermissionToggleRowView::UpdateUiOnPermissionChanged() {
|
||||
@@ -255,6 +351,12 @@ void PermissionToggleRowView::InitForManagedSource(
|
||||
}
|
||||
|
||||
void PermissionToggleRowView::UpdateUiOnPermissionChanged() {
|
||||
+ choose_button_->SetEnabledTextColors(std::nullopt);
|
||||
+ if (permission_.setting == CONTENT_SETTING_DEFAULT) {
|
||||
+ choose_button_->SetTextColorId(views::Button::ButtonState::STATE_NORMAL,
|
||||
+ ui::kColorLabelForeground);
|
||||
+ }
|
||||
+
|
||||
if (blocked_on_system_level_label_) {
|
||||
if (permission_.setting == CONTENT_SETTING_DEFAULT) {
|
||||
permission_blocked_on_system_level_ = false;
|
||||
@@ -300,6 +402,37 @@ void PermissionToggleRowView::UpdateUiOnPermissionChanged() {
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1080,6 +1093,10 @@ diff --git a/chrome/browser/ui/views/page_info/permission_toggle_row_view.cc b/c
|
||||
+ caption = u"Unknown";
|
||||
+ }
|
||||
+ choose_button_->SetText(caption);
|
||||
+ if (permission_.setting == CONTENT_SETTING_DEFAULT) {
|
||||
+ choose_button_->SetTextColorId(views::Button::ButtonState::STATE_NORMAL,
|
||||
+ ui::kColorLabelForeground);
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
|
||||
@@ -3139,7 +3156,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,49 @@ void ContentSettingsAgentImpl::SendRendererContentSettingRules(
|
||||
@@ -200,6 +200,74 @@ void ContentSettingsAgentImpl::SendRendererContentSettingRules(
|
||||
std::move(renderer_settings));
|
||||
}
|
||||
|
||||
@@ -3185,6 +3202,31 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc
|
||||
+ }
|
||||
+ return default_value;
|
||||
+}
|
||||
+
|
||||
+bool ContentSettingsAgentImpl::IsAllowlistedForContentSettings() const {
|
||||
+ const WebDocument& document = render_frame()->GetWebFrame()->GetDocument();
|
||||
+ WebSecurityOrigin origin = document.GetSecurityOrigin();
|
||||
+ WebURL document_url = document.Url();
|
||||
+
|
||||
+ if (origin.IsNull() || origin.IsOpaque())
|
||||
+ return false; // Uninitialized document?
|
||||
+
|
||||
+ blink::WebString protocol = origin.Protocol();
|
||||
+
|
||||
+ if (protocol == content::kChromeUIScheme)
|
||||
+ return true; // Browser UI elements should still work.
|
||||
+
|
||||
+ if (protocol == content::kChromeDevToolsScheme)
|
||||
+ return true; // DevTools UI elements should still work.
|
||||
+
|
||||
+ // If the scheme is file:, an empty file name indicates a directory listing,
|
||||
+ // which requires JavaScript to function properly.
|
||||
+ if (protocol == url::kFileScheme &&
|
||||
+ document_url.ProtocolIs(url::kFileScheme)) {
|
||||
+ return GURL(document_url).ExtractFileName().empty();
|
||||
+ }
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
void ContentSettingsAgentImpl::OnContentSettingsAgentRequest(
|
||||
mojo::PendingAssociatedReceiver<mojom::ContentSettingsAgent> receiver) {
|
||||
@@ -3206,6 +3248,15 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.h
|
||||
// blink::WebContentSettingsClient:
|
||||
void AllowStorageAccess(StorageType storage_type,
|
||||
base::OnceCallback<void(bool)> callback) override;
|
||||
@@ -129,6 +136,8 @@ class ContentSettingsAgentImpl
|
||||
// Resets the `content_blocked_` array.
|
||||
void ClearBlockedContentSettings();
|
||||
|
||||
+ bool IsAllowlistedForContentSettings() const;
|
||||
+
|
||||
// A getter for `content_settings_manager_` that ensures it is bound.
|
||||
mojom::ContentSettingsManager& GetContentSettingsManager();
|
||||
|
||||
diff --git a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java
|
||||
--- a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java
|
||||
+++ b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java
|
||||
@@ -3336,7 +3387,21 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
|
||||
#include "components/page_info/core/features.h"
|
||||
#include "components/page_info/page_info.h"
|
||||
#include "components/page_info/page_info_ui_delegate.h"
|
||||
@@ -625,6 +626,12 @@ PageInfoUI::~PageInfoUI() = default;
|
||||
@@ -331,6 +332,13 @@ void CreateOppositeToDefaultSiteException(
|
||||
std::u16string GetPermissionAskStateString(ContentSettingsType type) {
|
||||
int message_id = kInvalidResourceID;
|
||||
|
||||
+ const content_settings::WebsiteSettingsInfo* settingInfo =
|
||||
+ content_settings::WebsiteSettingsRegistry::GetInstance()->Get(type);
|
||||
+ if (settingInfo && settingInfo->show_into_info_page()) {
|
||||
+ if (settingInfo->ask_ui() != 0)
|
||||
+ return l10n_util::GetStringUTF16(settingInfo->ask_ui());
|
||||
+ }
|
||||
+
|
||||
switch (type) {
|
||||
case ContentSettingsType::GEOLOCATION:
|
||||
message_id = IDS_PAGE_INFO_STATE_TEXT_LOCATION_ASK;
|
||||
@@ -625,6 +633,12 @@ PageInfoUI::~PageInfoUI() = default;
|
||||
|
||||
// static
|
||||
std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
|
||||
@@ -3349,7 +3414,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
|
||||
for (const PermissionUIInfo& info : GetContentSettingsUIInfo()) {
|
||||
if (info.type == type)
|
||||
return l10n_util::GetStringUTF16(info.string_id);
|
||||
@@ -636,6 +643,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
|
||||
@@ -636,6 +650,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
|
||||
// static
|
||||
std::u16string PageInfoUI::PermissionTypeToUIStringMidSentence(
|
||||
ContentSettingsType type) {
|
||||
@@ -3362,7 +3427,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
|
||||
for (const PermissionUIInfo& info : GetContentSettingsUIInfo()) {
|
||||
if (info.type == type)
|
||||
return l10n_util::GetStringUTF16(info.string_id_mid_sentence);
|
||||
@@ -1081,6 +1094,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) {
|
||||
@@ -1081,6 +1101,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) {
|
||||
if (info.type == type)
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -4,22 +4,22 @@ Subject: Revert remove AllowScript content settings per secondary url
|
||||
|
||||
https://chromium-review.googlesource.com/c/chromium/src/+/5307559
|
||||
---
|
||||
.../worker_content_settings_client.cc | 35 ++++++++++++++++++
|
||||
.../renderer/worker_content_settings_client.h | 2 ++
|
||||
.../renderer/content_settings_agent_impl.cc | 36 ++++++++++++++++++-
|
||||
.../renderer/content_settings_agent_impl.h | 6 ++++
|
||||
.../platform/web_content_settings_client.h | 12 +++++++
|
||||
.../renderer/core/frame/local_dom_window.cc | 6 +++-
|
||||
.../worker_content_settings_client.cc | 35 +++++++++++++++++
|
||||
.../renderer/worker_content_settings_client.h | 2 +
|
||||
.../renderer/content_settings_agent_impl.cc | 38 ++++++++++++++++++-
|
||||
.../renderer/content_settings_agent_impl.h | 6 +++
|
||||
.../platform/web_content_settings_client.h | 12 ++++++
|
||||
.../renderer/core/frame/local_dom_window.cc | 6 ++-
|
||||
.../blink/renderer/core/frame/local_frame.cc | 13 -------
|
||||
.../blink/renderer/core/frame/local_frame.h | 6 ----
|
||||
.../renderer/core/html/html_meta_element.cc | 4 ++-
|
||||
.../blink/renderer/core/frame/local_frame.h | 6 ---
|
||||
.../renderer/core/html/html_meta_element.cc | 4 +-
|
||||
.../core/loader/base_fetch_context.cc | 2 +-
|
||||
.../renderer/core/loader/base_fetch_context.h | 2 +-
|
||||
.../core/loader/frame_fetch_context.cc | 30 +++++++++++-----
|
||||
.../core/loader/frame_fetch_context.cc | 30 ++++++++++-----
|
||||
.../core/loader/frame_fetch_context.h | 13 ++++++-
|
||||
.../core/loader/worker_fetch_context.cc | 12 ++++---
|
||||
.../core/loader/worker_fetch_context.cc | 12 ++++--
|
||||
.../core/loader/worker_fetch_context.h | 2 +-
|
||||
15 files changed, 142 insertions(+), 39 deletions(-)
|
||||
15 files changed, 144 insertions(+), 39 deletions(-)
|
||||
|
||||
diff --git a/chrome/renderer/worker_content_settings_client.cc b/chrome/renderer/worker_content_settings_client.cc
|
||||
--- a/chrome/renderer/worker_content_settings_client.cc
|
||||
@@ -90,7 +90,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc
|
||||
|
||||
blink::WebLocalFrame* frame = render_frame()->GetWebFrame();
|
||||
if (frame->Parent())
|
||||
@@ -348,6 +348,39 @@ bool ContentSettingsAgentImpl::AllowImage(bool enabled_per_settings,
|
||||
@@ -374,6 +374,41 @@ bool ContentSettingsAgentImpl::AllowImage(bool enabled_per_settings,
|
||||
return allow;
|
||||
}
|
||||
|
||||
@@ -109,6 +109,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc
|
||||
+ bool allow = AllowContentSetting(
|
||||
+ ContentSettingsType::JAVASCRIPT, enabled_per_settings);
|
||||
+
|
||||
+ allow = allow || IsAllowlistedForContentSettings();
|
||||
+ cached_script_permissions_[frame] = allow;
|
||||
+ return allow;
|
||||
+}
|
||||
@@ -124,13 +125,14 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc
|
||||
+ allow = AllowContentSetting(
|
||||
+ ContentSettingsType::JAVASCRIPT, script_url, enabled_per_settings);
|
||||
+ }
|
||||
+ allow = allow || IsAllowlistedForContentSettings();
|
||||
+ return allow;
|
||||
+}
|
||||
+
|
||||
bool ContentSettingsAgentImpl::AllowReadFromClipboard() {
|
||||
return delegate_->AllowReadFromClipboard();
|
||||
}
|
||||
@@ -406,6 +439,7 @@ void ContentSettingsAgentImpl::DidNotAllowImage() {
|
||||
@@ -432,6 +467,7 @@ void ContentSettingsAgentImpl::DidNotAllowImage() {
|
||||
void ContentSettingsAgentImpl::ClearBlockedContentSettings() {
|
||||
content_blocked_.clear();
|
||||
cached_storage_permissions_.clear();
|
||||
@@ -151,7 +153,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.h
|
||||
bool AllowReadFromClipboard() override;
|
||||
bool AllowWriteToClipboard() override;
|
||||
bool AllowMutationEvents(bool default_value) override;
|
||||
@@ -155,6 +158,9 @@ class ContentSettingsAgentImpl
|
||||
@@ -157,6 +160,9 @@ class ContentSettingsAgentImpl
|
||||
using StoragePermissionsKey = std::pair<url::Origin, StorageType>;
|
||||
base::flat_map<StoragePermissionsKey, bool> cached_storage_permissions_;
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ Require: Content-settings-infrastructure.patch
|
||||
.../bromite_content_settings/images.grdp | 23 +++++
|
||||
.../bromite_content_settings/images.inc | 6 ++
|
||||
.../core/browser/content_settings_registry.cc | 2 +-
|
||||
.../renderer/content_settings_agent_impl.cc | 14 +++
|
||||
.../renderer/content_settings_agent_impl.cc | 15 +++
|
||||
.../renderer/content_settings_agent_impl.h | 2 +
|
||||
.../platform/web_content_settings_client.h | 5 +
|
||||
.../blink/renderer/core/frame/local_frame.cc | 13 ---
|
||||
@@ -27,7 +27,7 @@ Require: Content-settings-infrastructure.patch
|
||||
.../platform/loader/fetch/fetch_context.h | 2 +-
|
||||
.../platform/loader/fetch/resource_fetcher.cc | 17 +++-
|
||||
.../platform/loader/fetch/resource_fetcher.h | 2 +
|
||||
21 files changed, 177 insertions(+), 36 deletions(-)
|
||||
21 files changed, 178 insertions(+), 36 deletions(-)
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-hdpi/permission_images.png
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-mdpi/permission_images.png
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-xhdpi/permission_images.png
|
||||
@@ -271,7 +271,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
|
||||
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
|
||||
@@ -334,6 +334,20 @@ bool ContentSettingsAgentImpl::AllowStorageAccessSync(
|
||||
@@ -359,6 +359,21 @@ bool ContentSettingsAgentImpl::AllowStorageAccessSync(
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -279,6 +279,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc
|
||||
+ const WebURL& image_url) {
|
||||
+ bool allow = enabled_per_settings;
|
||||
+ if (enabled_per_settings) {
|
||||
+ allow = allow || IsAllowlistedForContentSettings();
|
||||
+ if (content_setting_rules_) {
|
||||
+ allow = AllowContentSetting(ContentSettingsType::IMAGES,
|
||||
+ image_url, enabled_per_settings);
|
||||
@@ -500,7 +501,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h
|
||||
|
||||
FetchContext& Context() const;
|
||||
void ClearContext();
|
||||
@@ -688,6 +689,7 @@ class PLATFORM_EXPORT ResourceFetcher
|
||||
@@ -690,6 +691,7 @@ class PLATFORM_EXPORT ResourceFetcher
|
||||
|
||||
// 27 bits left
|
||||
bool auto_load_images_ : 1;
|
||||
|
||||
Reference in New Issue
Block a user